]> git.ipfire.org Git - people/ms/u-boot.git/blame - arch/mips/Kconfig
MIPS: make inclusion of ROM exception vectors configurable
[people/ms/u-boot.git] / arch / mips / Kconfig
CommitLineData
dd84058d
MY
1menu "MIPS architecture"
2 depends on MIPS
3
4config SYS_ARCH
dd84058d
MY
5 default "mips"
6
b9863b6d 7config SYS_CPU
20286cdf
PB
8 default "mips32" if CPU_MIPS32
9 default "mips64" if CPU_MIPS64
b9863b6d 10
dd84058d
MY
11choice
12 prompt "Target select"
a26cd049 13 optional
dd84058d
MY
14
15config TARGET_QEMU_MIPS
16 bool "Support qemu-mips"
0e1dc345
DS
17 select SUPPORTS_BIG_ENDIAN
18 select SUPPORTS_LITTLE_ENDIAN
02611cbb
DS
19 select SUPPORTS_CPU_MIPS32_R1
20 select SUPPORTS_CPU_MIPS32_R2
aa45f75e
DS
21 select SUPPORTS_CPU_MIPS64_R1
22 select SUPPORTS_CPU_MIPS64_R2
af3971f8 23 select ROM_EXCEPTION_VECTORS
dd84058d
MY
24
25config TARGET_MALTA
26 bool "Support malta"
6242aa13
PB
27 select DM
28 select DM_SERIAL
05e34255 29 select DYNAMIC_IO_PORT_BASE
566ce04d
PB
30 select MIPS_CM
31 select MIPS_L2_CACHE
6242aa13
PB
32 select OF_CONTROL
33 select OF_ISA_BUS
0e1dc345
DS
34 select SUPPORTS_BIG_ENDIAN
35 select SUPPORTS_LITTLE_ENDIAN
02611cbb
DS
36 select SUPPORTS_CPU_MIPS32_R1
37 select SUPPORTS_CPU_MIPS32_R2
40ba13c9 38 select SUPPORTS_CPU_MIPS32_R6
0f832b9c
PB
39 select SUPPORTS_CPU_MIPS64_R1
40 select SUPPORTS_CPU_MIPS64_R2
41 select SUPPORTS_CPU_MIPS64_R6
9d638eea 42 select SWAP_IO_SPACE
f53830e7 43 select MIPS_L1_CACHE_SHIFT_6
af3971f8 44 select ROM_EXCEPTION_VECTORS
dd84058d
MY
45
46config TARGET_VCT
47 bool "Support vct"
0e1dc345 48 select SUPPORTS_BIG_ENDIAN
02611cbb
DS
49 select SUPPORTS_CPU_MIPS32_R1
50 select SUPPORTS_CPU_MIPS32_R2
dd7c7200 51 select SYS_MIPS_CACHE_INIT_RAM_LOAD
af3971f8 52 select ROM_EXCEPTION_VECTORS
dd84058d
MY
53
54config TARGET_DBAU1X00
55 bool "Support dbau1x00"
0e1dc345
DS
56 select SUPPORTS_BIG_ENDIAN
57 select SUPPORTS_LITTLE_ENDIAN
02611cbb
DS
58 select SUPPORTS_CPU_MIPS32_R1
59 select SUPPORTS_CPU_MIPS32_R2
dd7c7200 60 select SYS_MIPS_CACHE_INIT_RAM_LOAD
af3971f8 61 select ROM_EXCEPTION_VECTORS
0315a289 62 select MIPS_TUNE_4KC
dd84058d
MY
63
64config TARGET_PB1X00
65 bool "Support pb1x00"
0e1dc345 66 select SUPPORTS_LITTLE_ENDIAN
02611cbb
DS
67 select SUPPORTS_CPU_MIPS32_R1
68 select SUPPORTS_CPU_MIPS32_R2
dd7c7200 69 select SYS_MIPS_CACHE_INIT_RAM_LOAD
af3971f8 70 select ROM_EXCEPTION_VECTORS
0315a289 71 select MIPS_TUNE_4KC
dd84058d 72
1d3d0f1f
WW
73config ARCH_ATH79
74 bool "Support QCA/Atheros ath79"
75 select OF_CONTROL
76 select DM
77
32c1a6ee
PCM
78config MACH_PIC32
79 bool "Support Microchip PIC32"
80 select OF_CONTROL
81 select DM
82
ad8783cb
PB
83config TARGET_BOSTON
84 bool "Support Boston"
85 select DM
86 select DM_SERIAL
87 select OF_CONTROL
88 select MIPS_CM
89 select MIPS_L1_CACHE_SHIFT_6
90 select MIPS_L2_CACHE
91 select SUPPORTS_BIG_ENDIAN
92 select SUPPORTS_LITTLE_ENDIAN
93 select SUPPORTS_CPU_MIPS32_R1
94 select SUPPORTS_CPU_MIPS32_R2
95 select SUPPORTS_CPU_MIPS32_R6
96 select SUPPORTS_CPU_MIPS64_R1
97 select SUPPORTS_CPU_MIPS64_R2
98 select SUPPORTS_CPU_MIPS64_R6
af3971f8 99 select ROM_EXCEPTION_VECTORS
ad8783cb 100
ebf2b9e3
ZLK
101config TARGET_XILFPGA
102 bool "Support Imagination Xilfpga"
103 select OF_CONTROL
104 select DM
105 select DM_SERIAL
106 select DM_GPIO
107 select DM_ETH
108 select SUPPORTS_LITTLE_ENDIAN
109 select SUPPORTS_CPU_MIPS32_R1
110 select SUPPORTS_CPU_MIPS32_R2
111 select MIPS_L1_CACHE_SHIFT_4
af3971f8 112 select ROM_EXCEPTION_VECTORS
ebf2b9e3
ZLK
113 help
114 This supports IMGTEC MIPSfpga platform
115
dd84058d
MY
116endchoice
117
118source "board/dbau1x00/Kconfig"
ad8783cb 119source "board/imgtec/boston/Kconfig"
dd84058d 120source "board/imgtec/malta/Kconfig"
ebf2b9e3 121source "board/imgtec/xilfpga/Kconfig"
dd84058d
MY
122source "board/micronas/vct/Kconfig"
123source "board/pb1x00/Kconfig"
124source "board/qemu-mips/Kconfig"
1d3d0f1f 125source "arch/mips/mach-ath79/Kconfig"
32c1a6ee 126source "arch/mips/mach-pic32/Kconfig"
dd84058d 127
0e1dc345
DS
128if MIPS
129
130choice
131 prompt "Endianness selection"
132 help
133 Some MIPS boards can be configured for either little or big endian
134 byte order. These modes require different U-Boot images. In general there
135 is one preferred byteorder for a particular system but some systems are
136 just as commonly used in the one or the other endianness.
137
138config SYS_BIG_ENDIAN
139 bool "Big endian"
140 depends on SUPPORTS_BIG_ENDIAN
141
142config SYS_LITTLE_ENDIAN
143 bool "Little endian"
144 depends on SUPPORTS_LITTLE_ENDIAN
145
146endchoice
147
02611cbb
DS
148choice
149 prompt "CPU selection"
150 default CPU_MIPS32_R2
151
152config CPU_MIPS32_R1
153 bool "MIPS32 Release 1"
154 depends on SUPPORTS_CPU_MIPS32_R1
155 select 32BIT
156 help
c52ebea1 157 Choose this option to build an U-Boot for release 1 through 5 of the
02611cbb
DS
158 MIPS32 architecture.
159
160config CPU_MIPS32_R2
161 bool "MIPS32 Release 2"
162 depends on SUPPORTS_CPU_MIPS32_R2
163 select 32BIT
164 help
c52ebea1
PB
165 Choose this option to build an U-Boot for release 2 through 5 of the
166 MIPS32 architecture.
167
168config CPU_MIPS32_R6
169 bool "MIPS32 Release 6"
170 depends on SUPPORTS_CPU_MIPS32_R6
171 select 32BIT
172 help
173 Choose this option to build an U-Boot for release 6 or later of the
02611cbb
DS
174 MIPS32 architecture.
175
176config CPU_MIPS64_R1
177 bool "MIPS64 Release 1"
178 depends on SUPPORTS_CPU_MIPS64_R1
179 select 64BIT
180 help
c52ebea1 181 Choose this option to build a kernel for release 1 through 5 of the
02611cbb
DS
182 MIPS64 architecture.
183
184config CPU_MIPS64_R2
185 bool "MIPS64 Release 2"
186 depends on SUPPORTS_CPU_MIPS64_R2
187 select 64BIT
188 help
c52ebea1
PB
189 Choose this option to build a kernel for release 2 through 5 of the
190 MIPS64 architecture.
191
192config CPU_MIPS64_R6
193 bool "MIPS64 Release 6"
194 depends on SUPPORTS_CPU_MIPS64_R6
195 select 64BIT
196 help
197 Choose this option to build a kernel for release 6 or later of the
02611cbb
DS
198 MIPS64 architecture.
199
200endchoice
201
af3971f8
DS
202menu "General setup"
203
204config ROM_EXCEPTION_VECTORS
205 bool "Build U-Boot image with exception vectors"
206 help
207 Enable this to include exception vectors in the U-Boot image. This is
208 required if the U-Boot entry point is equal to the address of the
209 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
210 U-Boot booted from parallel NOR flash).
211 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
212 In that case the image size will be reduced by 0x500 bytes.
213
214endmenu
215
25fc664f
DS
216menu "OS boot interface"
217
218config MIPS_BOOT_CMDLINE_LEGACY
219 bool "Hand over legacy command line to Linux kernel"
220 default y
221 help
222 Enable this option if you want U-Boot to hand over the Yamon-style
223 command line to the kernel. All bootargs will be prepared as argc/argv
224 compatible list. The argument count (argc) is stored in register $a0.
225 The address of the argument list (argv) is stored in register $a1.
226
ca65e585
DS
227config MIPS_BOOT_ENV_LEGACY
228 bool "Hand over legacy environment to Linux kernel"
229 default y
230 help
231 Enable this option if you want U-Boot to hand over the Yamon-style
232 environment to the kernel. Information like memory size, initrd
233 address and size will be prepared as zero-terminated key/value list.
1cc0a9f4 234 The address of the environment is stored in register $a2.
ca65e585 235
5002d8cc 236config MIPS_BOOT_FDT
90b1c9fa 237 bool "Hand over a flattened device tree to Linux kernel"
5002d8cc
DS
238 default n
239 help
240 Enable this option if you want U-Boot to hand over a flattened
90b1c9fa
DS
241 device tree to the kernel. According to UHI register $a0 will be set
242 to -2 and the FDT address is stored in $a1.
5002d8cc 243
25fc664f
DS
244endmenu
245
0e1dc345
DS
246config SUPPORTS_BIG_ENDIAN
247 bool
248
249config SUPPORTS_LITTLE_ENDIAN
250 bool
251
02611cbb
DS
252config SUPPORTS_CPU_MIPS32_R1
253 bool
254
255config SUPPORTS_CPU_MIPS32_R2
256 bool
257
c52ebea1
PB
258config SUPPORTS_CPU_MIPS32_R6
259 bool
260
02611cbb
DS
261config SUPPORTS_CPU_MIPS64_R1
262 bool
263
264config SUPPORTS_CPU_MIPS64_R2
265 bool
266
c52ebea1
PB
267config SUPPORTS_CPU_MIPS64_R6
268 bool
269
c57dafb5
DS
270config CPU_MIPS32
271 bool
c52ebea1 272 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
c57dafb5
DS
273
274config CPU_MIPS64
275 bool
c52ebea1 276 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
c57dafb5 277
0315a289
DS
278config MIPS_TUNE_4KC
279 bool
280
281config MIPS_TUNE_14KC
282 bool
283
284config MIPS_TUNE_24KC
285 bool
286
5f9cc363
DS
287config MIPS_TUNE_34KC
288 bool
289
0a0a958b
MV
290config MIPS_TUNE_74KC
291 bool
292
02611cbb
DS
293config 32BIT
294 bool
295
296config 64BIT
297 bool
298
9d638eea
DS
299config SWAP_IO_SPACE
300 bool
301
dd7c7200
PB
302config SYS_MIPS_CACHE_INIT_RAM_LOAD
303 bool
304
ace3be4f
PB
305config SYS_DCACHE_SIZE
306 int
307 default 0
308 help
309 The total size of the L1 Dcache, if known at compile time.
310
37228621 311config SYS_DCACHE_LINE_SIZE
4b7b0a0f 312 int
37228621
PB
313 default 0
314 help
315 The size of L1 Dcache lines, if known at compile time.
316
ace3be4f
PB
317config SYS_ICACHE_SIZE
318 int
319 default 0
320 help
321 The total size of the L1 ICache, if known at compile time.
322
37228621 323config SYS_ICACHE_LINE_SIZE
ace3be4f
PB
324 int
325 default 0
326 help
37228621 327 The size of L1 Icache lines, if known at compile time.
ace3be4f
PB
328
329config SYS_CACHE_SIZE_AUTO
330 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
37228621 331 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
ace3be4f
PB
332 help
333 Select this (or let it be auto-selected by not defining any cache
334 sizes) in order to allow U-Boot to automatically detect the sizes
335 of caches at runtime. This has a small cost in code size & runtime
336 so if you know the cache configuration for your system at compile
337 time it would be beneficial to configure it.
338
f53830e7
DS
339config MIPS_L1_CACHE_SHIFT_4
340 bool
341
342config MIPS_L1_CACHE_SHIFT_5
343 bool
344
345config MIPS_L1_CACHE_SHIFT_6
346 bool
347
348config MIPS_L1_CACHE_SHIFT_7
349 bool
350
351config MIPS_L1_CACHE_SHIFT
352 int
353 default "7" if MIPS_L1_CACHE_SHIFT_7
354 default "6" if MIPS_L1_CACHE_SHIFT_6
355 default "5" if MIPS_L1_CACHE_SHIFT_5
356 default "4" if MIPS_L1_CACHE_SHIFT_4
357 default "5"
358
4baa0ab6
PB
359config MIPS_L2_CACHE
360 bool
361 help
362 Select this if your system includes an L2 cache and you want U-Boot
363 to initialise & maintain it.
364
05e34255
PB
365config DYNAMIC_IO_PORT_BASE
366 bool
367
b2b135d9
PB
368config MIPS_CM
369 bool
370 help
371 Select this if your system contains a MIPS Coherence Manager and you
372 wish U-Boot to configure it or make use of it to retrieve system
373 information such as cache configuration.
374
375config MIPS_CM_BASE
376 hex
377 default 0x1fbf8000
378 help
379 The physical base address at which to map the MIPS Coherence Manager
380 Global Configuration Registers (GCRs). This should be set such that
381 the GCRs occupy a region of the physical address space which is
382 otherwise unused, or at minimum that software doesn't need to access.
383
0e1dc345
DS
384endif
385
dd84058d 386endmenu