1 menu "MIPS architecture"
8 default "mips32" if CPU_MIPS32
9 default "mips64" if CPU_MIPS64
12 prompt "Target select"
15 config TARGET_QEMU_MIPS
16 bool "Support qemu-mips"
17 select SUPPORTS_BIG_ENDIAN
18 select SUPPORTS_LITTLE_ENDIAN
19 select SUPPORTS_CPU_MIPS32_R1
20 select SUPPORTS_CPU_MIPS32_R2
21 select SUPPORTS_CPU_MIPS64_R1
22 select SUPPORTS_CPU_MIPS64_R2
23 select ROM_EXCEPTION_VECTORS
29 select DYNAMIC_IO_PORT_BASE
34 select SUPPORTS_BIG_ENDIAN
35 select SUPPORTS_LITTLE_ENDIAN
36 select SUPPORTS_CPU_MIPS32_R1
37 select SUPPORTS_CPU_MIPS32_R2
38 select SUPPORTS_CPU_MIPS32_R6
39 select SUPPORTS_CPU_MIPS64_R1
40 select SUPPORTS_CPU_MIPS64_R2
41 select SUPPORTS_CPU_MIPS64_R6
43 select MIPS_L1_CACHE_SHIFT_6
44 select ROM_EXCEPTION_VECTORS
48 select SUPPORTS_BIG_ENDIAN
49 select SUPPORTS_CPU_MIPS32_R1
50 select SUPPORTS_CPU_MIPS32_R2
51 select SYS_MIPS_CACHE_INIT_RAM_LOAD
52 select ROM_EXCEPTION_VECTORS
54 config TARGET_DBAU1X00
55 bool "Support dbau1x00"
56 select SUPPORTS_BIG_ENDIAN
57 select SUPPORTS_LITTLE_ENDIAN
58 select SUPPORTS_CPU_MIPS32_R1
59 select SUPPORTS_CPU_MIPS32_R2
60 select SYS_MIPS_CACHE_INIT_RAM_LOAD
61 select ROM_EXCEPTION_VECTORS
66 select SUPPORTS_LITTLE_ENDIAN
67 select SUPPORTS_CPU_MIPS32_R1
68 select SUPPORTS_CPU_MIPS32_R2
69 select SYS_MIPS_CACHE_INIT_RAM_LOAD
70 select ROM_EXCEPTION_VECTORS
74 bool "Support QCA/Atheros ath79"
79 bool "Support Microchip PIC32"
89 select MIPS_L1_CACHE_SHIFT_6
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
99 select ROM_EXCEPTION_VECTORS
101 config TARGET_XILFPGA
102 bool "Support Imagination Xilfpga"
108 select SUPPORTS_LITTLE_ENDIAN
109 select SUPPORTS_CPU_MIPS32_R1
110 select SUPPORTS_CPU_MIPS32_R2
111 select MIPS_L1_CACHE_SHIFT_4
112 select ROM_EXCEPTION_VECTORS
114 This supports IMGTEC MIPSfpga platform
118 source "board/dbau1x00/Kconfig"
119 source "board/imgtec/boston/Kconfig"
120 source "board/imgtec/malta/Kconfig"
121 source "board/imgtec/xilfpga/Kconfig"
122 source "board/micronas/vct/Kconfig"
123 source "board/pb1x00/Kconfig"
124 source "board/qemu-mips/Kconfig"
125 source "arch/mips/mach-ath79/Kconfig"
126 source "arch/mips/mach-pic32/Kconfig"
131 prompt "Endianness selection"
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.
138 config SYS_BIG_ENDIAN
140 depends on SUPPORTS_BIG_ENDIAN
142 config SYS_LITTLE_ENDIAN
144 depends on SUPPORTS_LITTLE_ENDIAN
149 prompt "CPU selection"
150 default CPU_MIPS32_R2
153 bool "MIPS32 Release 1"
154 depends on SUPPORTS_CPU_MIPS32_R1
157 Choose this option to build an U-Boot for release 1 through 5 of the
161 bool "MIPS32 Release 2"
162 depends on SUPPORTS_CPU_MIPS32_R2
165 Choose this option to build an U-Boot for release 2 through 5 of the
169 bool "MIPS32 Release 6"
170 depends on SUPPORTS_CPU_MIPS32_R6
173 Choose this option to build an U-Boot for release 6 or later of the
177 bool "MIPS64 Release 1"
178 depends on SUPPORTS_CPU_MIPS64_R1
181 Choose this option to build a kernel for release 1 through 5 of the
185 bool "MIPS64 Release 2"
186 depends on SUPPORTS_CPU_MIPS64_R2
189 Choose this option to build a kernel for release 2 through 5 of the
193 bool "MIPS64 Release 6"
194 depends on SUPPORTS_CPU_MIPS64_R6
197 Choose this option to build a kernel for release 6 or later of the
204 config ROM_EXCEPTION_VECTORS
205 bool "Build U-Boot image with exception vectors"
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.
216 menu "OS boot interface"
218 config MIPS_BOOT_CMDLINE_LEGACY
219 bool "Hand over legacy command line to Linux kernel"
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.
227 config MIPS_BOOT_ENV_LEGACY
228 bool "Hand over legacy environment to Linux kernel"
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.
234 The address of the environment is stored in register $a2.
237 bool "Hand over a flattened device tree to Linux kernel"
240 Enable this option if you want U-Boot to hand over a flattened
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.
246 config SUPPORTS_BIG_ENDIAN
249 config SUPPORTS_LITTLE_ENDIAN
252 config SUPPORTS_CPU_MIPS32_R1
255 config SUPPORTS_CPU_MIPS32_R2
258 config SUPPORTS_CPU_MIPS32_R6
261 config SUPPORTS_CPU_MIPS64_R1
264 config SUPPORTS_CPU_MIPS64_R2
267 config SUPPORTS_CPU_MIPS64_R6
272 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
276 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
281 config MIPS_TUNE_14KC
284 config MIPS_TUNE_24KC
287 config MIPS_TUNE_34KC
290 config MIPS_TUNE_74KC
302 config SYS_MIPS_CACHE_INIT_RAM_LOAD
305 config MIPS_INIT_STACK_IN_SRAM
309 Select this if the initial stack frame could be setup in SRAM.
310 Normally the initial stack frame is set up in DRAM which is often
311 only available after lowlevel_init. With this option the initial
312 stack frame and the early C environment is set up before
313 lowlevel_init. Thus lowlevel_init does not need to be implemented
316 config SYS_DCACHE_SIZE
320 The total size of the L1 Dcache, if known at compile time.
322 config SYS_DCACHE_LINE_SIZE
326 The size of L1 Dcache lines, if known at compile time.
328 config SYS_ICACHE_SIZE
332 The total size of the L1 ICache, if known at compile time.
334 config SYS_ICACHE_LINE_SIZE
338 The size of L1 Icache lines, if known at compile time.
340 config SYS_CACHE_SIZE_AUTO
341 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
342 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
344 Select this (or let it be auto-selected by not defining any cache
345 sizes) in order to allow U-Boot to automatically detect the sizes
346 of caches at runtime. This has a small cost in code size & runtime
347 so if you know the cache configuration for your system at compile
348 time it would be beneficial to configure it.
350 config MIPS_L1_CACHE_SHIFT_4
353 config MIPS_L1_CACHE_SHIFT_5
356 config MIPS_L1_CACHE_SHIFT_6
359 config MIPS_L1_CACHE_SHIFT_7
362 config MIPS_L1_CACHE_SHIFT
364 default "7" if MIPS_L1_CACHE_SHIFT_7
365 default "6" if MIPS_L1_CACHE_SHIFT_6
366 default "5" if MIPS_L1_CACHE_SHIFT_5
367 default "4" if MIPS_L1_CACHE_SHIFT_4
373 Select this if your system includes an L2 cache and you want U-Boot
374 to initialise & maintain it.
376 config DYNAMIC_IO_PORT_BASE
382 Select this if your system contains a MIPS Coherence Manager and you
383 wish U-Boot to configure it or make use of it to retrieve system
384 information such as cache configuration.
390 The physical base address at which to map the MIPS Coherence Manager
391 Global Configuration Registers (GCRs). This should be set such that
392 the GCRs occupy a region of the physical address space which is
393 otherwise unused, or at minimum that software doesn't need to access.