blob: 7162f3c1ec115294b3fc1df07042d0db24bd99e7 [file] [log] [blame]
Masahiro Yamadadd840582014-07-30 14:08:14 +09001menu "MIPS architecture"
2 depends on MIPS
3
4config SYS_ARCH
Masahiro Yamadadd840582014-07-30 14:08:14 +09005 default "mips"
6
Daniel Schwierzeckb9863b62014-10-26 14:14:07 +01007config SYS_CPU
8 default "mips32" if CPU_MIPS32_R1 || CPU_MIPS32_R2
9 default "mips64" if CPU_MIPS64_R1 || CPU_MIPS64_R2
10
Masahiro Yamadadd840582014-07-30 14:08:14 +090011choice
12 prompt "Target select"
Joe Hershbergera26cd042015-05-12 14:46:23 -050013 optional
Masahiro Yamadadd840582014-07-30 14:08:14 +090014
15config TARGET_QEMU_MIPS
16 bool "Support qemu-mips"
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010017 select SUPPORTS_BIG_ENDIAN
18 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010019 select SUPPORTS_CPU_MIPS32_R1
20 select SUPPORTS_CPU_MIPS32_R2
Daniel Schwierzeckaa45f752014-10-26 14:14:07 +010021 select SUPPORTS_CPU_MIPS64_R1
22 select SUPPORTS_CPU_MIPS64_R2
Masahiro Yamadadd840582014-07-30 14:08:14 +090023
24config TARGET_MALTA
25 bool "Support malta"
Paul Burton05e34252016-01-29 13:54:52 +000026 select DYNAMIC_IO_PORT_BASE
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010027 select SUPPORTS_BIG_ENDIAN
28 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010029 select SUPPORTS_CPU_MIPS32_R1
30 select SUPPORTS_CPU_MIPS32_R2
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +010031 select SWAP_IO_SPACE
Daniel Schwierzeckf53830e2016-01-09 17:32:50 +010032 select MIPS_L1_CACHE_SHIFT_6
Masahiro Yamadadd840582014-07-30 14:08:14 +090033
34config TARGET_VCT
35 bool "Support vct"
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010036 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010037 select SUPPORTS_CPU_MIPS32_R1
38 select SUPPORTS_CPU_MIPS32_R2
Paul Burtondd7c7202015-01-29 01:28:02 +000039 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Masahiro Yamadadd840582014-07-30 14:08:14 +090040
41config TARGET_DBAU1X00
42 bool "Support dbau1x00"
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010043 select SUPPORTS_BIG_ENDIAN
44 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010045 select SUPPORTS_CPU_MIPS32_R1
46 select SUPPORTS_CPU_MIPS32_R2
Paul Burtondd7c7202015-01-29 01:28:02 +000047 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Daniel Schwierzeck0315a282015-12-26 19:55:37 +010048 select MIPS_TUNE_4KC
Masahiro Yamadadd840582014-07-30 14:08:14 +090049
50config TARGET_PB1X00
51 bool "Support pb1x00"
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010052 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010053 select SUPPORTS_CPU_MIPS32_R1
54 select SUPPORTS_CPU_MIPS32_R2
Paul Burtondd7c7202015-01-29 01:28:02 +000055 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Daniel Schwierzeck0315a282015-12-26 19:55:37 +010056 select MIPS_TUNE_4KC
Masahiro Yamadadd840582014-07-30 14:08:14 +090057
Wills Wang1d3d0f12016-03-16 16:59:52 +080058config ARCH_ATH79
59 bool "Support QCA/Atheros ath79"
60 select OF_CONTROL
61 select DM
62
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +053063config MACH_PIC32
64 bool "Support Microchip PIC32"
65 select OF_CONTROL
66 select DM
67
Masahiro Yamadadd840582014-07-30 14:08:14 +090068endchoice
69
70source "board/dbau1x00/Kconfig"
71source "board/imgtec/malta/Kconfig"
72source "board/micronas/vct/Kconfig"
73source "board/pb1x00/Kconfig"
74source "board/qemu-mips/Kconfig"
Wills Wang1d3d0f12016-03-16 16:59:52 +080075source "arch/mips/mach-ath79/Kconfig"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +053076source "arch/mips/mach-pic32/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +090077
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010078if MIPS
79
80choice
81 prompt "Endianness selection"
82 help
83 Some MIPS boards can be configured for either little or big endian
84 byte order. These modes require different U-Boot images. In general there
85 is one preferred byteorder for a particular system but some systems are
86 just as commonly used in the one or the other endianness.
87
88config SYS_BIG_ENDIAN
89 bool "Big endian"
90 depends on SUPPORTS_BIG_ENDIAN
91
92config SYS_LITTLE_ENDIAN
93 bool "Little endian"
94 depends on SUPPORTS_LITTLE_ENDIAN
95
96endchoice
97
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010098choice
99 prompt "CPU selection"
100 default CPU_MIPS32_R2
101
102config CPU_MIPS32_R1
103 bool "MIPS32 Release 1"
104 depends on SUPPORTS_CPU_MIPS32_R1
105 select 32BIT
106 help
107 Choose this option to build an U-Boot for release 1 or later of the
108 MIPS32 architecture.
109
110config CPU_MIPS32_R2
111 bool "MIPS32 Release 2"
112 depends on SUPPORTS_CPU_MIPS32_R2
113 select 32BIT
114 help
115 Choose this option to build an U-Boot for release 2 or later of the
116 MIPS32 architecture.
117
118config CPU_MIPS64_R1
119 bool "MIPS64 Release 1"
120 depends on SUPPORTS_CPU_MIPS64_R1
121 select 64BIT
122 help
123 Choose this option to build a kernel for release 1 or later of the
124 MIPS64 architecture.
125
126config CPU_MIPS64_R2
127 bool "MIPS64 Release 2"
128 depends on SUPPORTS_CPU_MIPS64_R2
129 select 64BIT
130 help
131 Choose this option to build a kernel for release 2 or later of the
132 MIPS64 architecture.
133
134endchoice
135
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100136menu "OS boot interface"
137
138config MIPS_BOOT_CMDLINE_LEGACY
139 bool "Hand over legacy command line to Linux kernel"
140 default y
141 help
142 Enable this option if you want U-Boot to hand over the Yamon-style
143 command line to the kernel. All bootargs will be prepared as argc/argv
144 compatible list. The argument count (argc) is stored in register $a0.
145 The address of the argument list (argv) is stored in register $a1.
146
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100147config MIPS_BOOT_ENV_LEGACY
148 bool "Hand over legacy environment to Linux kernel"
149 default y
150 help
151 Enable this option if you want U-Boot to hand over the Yamon-style
152 environment to the kernel. Information like memory size, initrd
153 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day1cc0a9f2016-05-04 04:47:31 -0400154 The address of the environment is stored in register $a2.
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100155
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100156config MIPS_BOOT_FDT
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100157 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100158 default n
159 help
160 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100161 device tree to the kernel. According to UHI register $a0 will be set
162 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100163
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100164endmenu
165
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100166config SUPPORTS_BIG_ENDIAN
167 bool
168
169config SUPPORTS_LITTLE_ENDIAN
170 bool
171
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100172config SUPPORTS_CPU_MIPS32_R1
173 bool
174
175config SUPPORTS_CPU_MIPS32_R2
176 bool
177
178config SUPPORTS_CPU_MIPS64_R1
179 bool
180
181config SUPPORTS_CPU_MIPS64_R2
182 bool
183
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100184config CPU_MIPS32
185 bool
186 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
187
188config CPU_MIPS64
189 bool
190 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
191
Daniel Schwierzeck0315a282015-12-26 19:55:37 +0100192config MIPS_TUNE_4KC
193 bool
194
195config MIPS_TUNE_14KC
196 bool
197
198config MIPS_TUNE_24KC
199 bool
200
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100201config 32BIT
202 bool
203
204config 64BIT
205 bool
206
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +0100207config SWAP_IO_SPACE
208 bool
209
Paul Burtondd7c7202015-01-29 01:28:02 +0000210config SYS_MIPS_CACHE_INIT_RAM_LOAD
211 bool
212
Daniel Schwierzeckf53830e2016-01-09 17:32:50 +0100213config MIPS_L1_CACHE_SHIFT_4
214 bool
215
216config MIPS_L1_CACHE_SHIFT_5
217 bool
218
219config MIPS_L1_CACHE_SHIFT_6
220 bool
221
222config MIPS_L1_CACHE_SHIFT_7
223 bool
224
225config MIPS_L1_CACHE_SHIFT
226 int
227 default "7" if MIPS_L1_CACHE_SHIFT_7
228 default "6" if MIPS_L1_CACHE_SHIFT_6
229 default "5" if MIPS_L1_CACHE_SHIFT_5
230 default "4" if MIPS_L1_CACHE_SHIFT_4
231 default "5"
232
Paul Burton05e34252016-01-29 13:54:52 +0000233config DYNAMIC_IO_PORT_BASE
234 bool
235
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100236endif
237
Masahiro Yamadadd840582014-07-30 14:08:14 +0900238endmenu