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 ROM_EXCEPTION_VECTORS
18 select SUPPORTS_BIG_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 SUPPORTS_LITTLE_ENDIAN
29 select DYNAMIC_IO_PORT_BASE
31 select MIPS_INSERT_BOOT_CONFIG
32 select MIPS_L1_CACHE_SHIFT_6
36 select ROM_EXCEPTION_VECTORS
37 select SUPPORTS_BIG_ENDIAN
38 select SUPPORTS_CPU_MIPS32_R1
39 select SUPPORTS_CPU_MIPS32_R2
40 select SUPPORTS_CPU_MIPS32_R6
41 select SUPPORTS_CPU_MIPS64_R1
42 select SUPPORTS_CPU_MIPS64_R2
43 select SUPPORTS_CPU_MIPS64_R6
44 select SUPPORTS_LITTLE_ENDIAN
50 select ROM_EXCEPTION_VECTORS
51 select SUPPORTS_BIG_ENDIAN
52 select SUPPORTS_CPU_MIPS32_R1
53 select SUPPORTS_CPU_MIPS32_R2
54 select SYS_MIPS_CACHE_INIT_RAM_LOAD
57 bool "Support QCA/Atheros ath79"
63 bool "Support BMIPS SoCs"
73 bool "Support MT7620/7688 SoCs"
75 select DISPLAY_CPUINFO
82 select ARCH_MISC_INIT if WATCHDOG
85 select ROM_EXCEPTION_VECTORS
86 select SUPPORTS_CPU_MIPS32_R1
87 select SUPPORTS_CPU_MIPS32_R2
88 select SUPPORTS_LITTLE_ENDIAN
92 bool "Support Microchip PIC32"
102 select MIPS_L1_CACHE_SHIFT_6
104 select OF_BOARD_SETUP
106 select ROM_EXCEPTION_VECTORS
107 select SUPPORTS_BIG_ENDIAN
108 select SUPPORTS_CPU_MIPS32_R1
109 select SUPPORTS_CPU_MIPS32_R2
110 select SUPPORTS_CPU_MIPS32_R6
111 select SUPPORTS_CPU_MIPS64_R1
112 select SUPPORTS_CPU_MIPS64_R2
113 select SUPPORTS_CPU_MIPS64_R6
114 select SUPPORTS_LITTLE_ENDIAN
117 config TARGET_XILFPGA
118 bool "Support Imagination Xilfpga"
123 select MIPS_L1_CACHE_SHIFT_4
125 select ROM_EXCEPTION_VECTORS
126 select SUPPORTS_CPU_MIPS32_R1
127 select SUPPORTS_CPU_MIPS32_R2
128 select SUPPORTS_LITTLE_ENDIAN
131 This supports IMGTEC MIPSfpga platform
135 source "board/imgtec/boston/Kconfig"
136 source "board/imgtec/malta/Kconfig"
137 source "board/imgtec/xilfpga/Kconfig"
138 source "board/micronas/vct/Kconfig"
139 source "board/qemu-mips/Kconfig"
140 source "arch/mips/mach-ath79/Kconfig"
141 source "arch/mips/mach-bmips/Kconfig"
142 source "arch/mips/mach-pic32/Kconfig"
143 source "arch/mips/mach-mt7620/Kconfig"
148 prompt "Endianness selection"
150 Some MIPS boards can be configured for either little or big endian
151 byte order. These modes require different U-Boot images. In general there
152 is one preferred byteorder for a particular system but some systems are
153 just as commonly used in the one or the other endianness.
155 config SYS_BIG_ENDIAN
157 depends on SUPPORTS_BIG_ENDIAN
159 config SYS_LITTLE_ENDIAN
161 depends on SUPPORTS_LITTLE_ENDIAN
166 prompt "CPU selection"
167 default CPU_MIPS32_R2
170 bool "MIPS32 Release 1"
171 depends on SUPPORTS_CPU_MIPS32_R1
174 Choose this option to build an U-Boot for release 1 through 5 of the
178 bool "MIPS32 Release 2"
179 depends on SUPPORTS_CPU_MIPS32_R2
182 Choose this option to build an U-Boot for release 2 through 5 of the
186 bool "MIPS32 Release 6"
187 depends on SUPPORTS_CPU_MIPS32_R6
190 Choose this option to build an U-Boot for release 6 or later of the
194 bool "MIPS64 Release 1"
195 depends on SUPPORTS_CPU_MIPS64_R1
198 Choose this option to build a kernel for release 1 through 5 of the
202 bool "MIPS64 Release 2"
203 depends on SUPPORTS_CPU_MIPS64_R2
206 Choose this option to build a kernel for release 2 through 5 of the
210 bool "MIPS64 Release 6"
211 depends on SUPPORTS_CPU_MIPS64_R6
214 Choose this option to build a kernel for release 6 or later of the
221 config ROM_EXCEPTION_VECTORS
222 bool "Build U-Boot image with exception vectors"
224 Enable this to include exception vectors in the U-Boot image. This is
225 required if the U-Boot entry point is equal to the address of the
226 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
227 U-Boot booted from parallel NOR flash).
228 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
229 In that case the image size will be reduced by 0x500 bytes.
232 hex "MIPS CM GCR Base Address"
234 default 0x16100000 if TARGET_BOSTON
237 The physical base address at which to map the MIPS Coherence Manager
238 Global Configuration Registers (GCRs). This should be set such that
239 the GCRs occupy a region of the physical address space which is
240 otherwise unused, or at minimum that software doesn't need to access.
242 config MIPS_CACHE_INDEX_BASE
243 hex "Index base address for cache initialisation"
244 default 0x80000000 if CPU_MIPS32
245 default 0xffffffff80000000 if CPU_MIPS64
247 This is the base address for a memory block, which is used for
248 initialising the cache lines. This is also the base address of a memory
249 block which is used for loading and filling cache lines when
250 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
251 Normally this is CKSEG0. If the MIPS system needs to move this block
252 to some SRAM or ScratchPad RAM, adapt this option accordingly.
254 config MIPS_RELOCATION_TABLE_SIZE
255 hex "Relocation table size"
259 A table of relocation data will be appended to the U-Boot binary
260 and parsed in relocate_code() to fix up all offsets in the relocated
263 This option allows the amount of space reserved for the table to be
264 adjusted in a range from 256 up to 64k. The default is 32k and should
265 be ok in most cases. Reduce this value to shrink the size of U-Boot
268 The build will fail and a valid size suggested if this is too small.
270 If unsure, leave at the default value.
274 menu "OS boot interface"
276 config MIPS_BOOT_CMDLINE_LEGACY
277 bool "Hand over legacy command line to Linux kernel"
280 Enable this option if you want U-Boot to hand over the Yamon-style
281 command line to the kernel. All bootargs will be prepared as argc/argv
282 compatible list. The argument count (argc) is stored in register $a0.
283 The address of the argument list (argv) is stored in register $a1.
285 config MIPS_BOOT_ENV_LEGACY
286 bool "Hand over legacy environment to Linux kernel"
289 Enable this option if you want U-Boot to hand over the Yamon-style
290 environment to the kernel. Information like memory size, initrd
291 address and size will be prepared as zero-terminated key/value list.
292 The address of the environment is stored in register $a2.
295 bool "Hand over a flattened device tree to Linux kernel"
298 Enable this option if you want U-Boot to hand over a flattened
299 device tree to the kernel. According to UHI register $a0 will be set
300 to -2 and the FDT address is stored in $a1.
304 config SUPPORTS_BIG_ENDIAN
307 config SUPPORTS_LITTLE_ENDIAN
310 config SUPPORTS_CPU_MIPS32_R1
313 config SUPPORTS_CPU_MIPS32_R2
316 config SUPPORTS_CPU_MIPS32_R6
319 config SUPPORTS_CPU_MIPS64_R1
322 config SUPPORTS_CPU_MIPS64_R2
325 config SUPPORTS_CPU_MIPS64_R6
330 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
334 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
339 config MIPS_TUNE_14KC
342 config MIPS_TUNE_24KC
345 config MIPS_TUNE_34KC
348 config MIPS_TUNE_74KC
360 config SYS_MIPS_CACHE_INIT_RAM_LOAD
363 config MIPS_INIT_STACK_IN_SRAM
367 Select this if the initial stack frame could be setup in SRAM.
368 Normally the initial stack frame is set up in DRAM which is often
369 only available after lowlevel_init. With this option the initial
370 stack frame and the early C environment is set up before
371 lowlevel_init. Thus lowlevel_init does not need to be implemented
374 config SYS_DCACHE_SIZE
378 The total size of the L1 Dcache, if known at compile time.
380 config SYS_DCACHE_LINE_SIZE
384 The size of L1 Dcache lines, if known at compile time.
386 config SYS_ICACHE_SIZE
390 The total size of the L1 ICache, if known at compile time.
392 config SYS_ICACHE_LINE_SIZE
396 The size of L1 Icache lines, if known at compile time.
398 config SYS_CACHE_SIZE_AUTO
399 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
400 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
402 Select this (or let it be auto-selected by not defining any cache
403 sizes) in order to allow U-Boot to automatically detect the sizes
404 of caches at runtime. This has a small cost in code size & runtime
405 so if you know the cache configuration for your system at compile
406 time it would be beneficial to configure it.
408 config MIPS_L1_CACHE_SHIFT_4
411 config MIPS_L1_CACHE_SHIFT_5
414 config MIPS_L1_CACHE_SHIFT_6
417 config MIPS_L1_CACHE_SHIFT_7
420 config MIPS_L1_CACHE_SHIFT
422 default "7" if MIPS_L1_CACHE_SHIFT_7
423 default "6" if MIPS_L1_CACHE_SHIFT_6
424 default "5" if MIPS_L1_CACHE_SHIFT_5
425 default "4" if MIPS_L1_CACHE_SHIFT_4
431 Select this if your system includes an L2 cache and you want U-Boot
432 to initialise & maintain it.
434 config DYNAMIC_IO_PORT_BASE
440 Select this if your system contains a MIPS Coherence Manager and you
441 wish U-Boot to configure it or make use of it to retrieve system
442 information such as cache configuration.
444 config MIPS_INSERT_BOOT_CONFIG
448 Enable this to insert some board-specific boot configuration in
449 the U-Boot binary at offset 0x10.
451 config MIPS_BOOT_CONFIG_WORD0
453 depends on MIPS_INSERT_BOOT_CONFIG
454 default 0x420 if TARGET_MALTA
457 Value which is inserted as boot config word 0.
459 config MIPS_BOOT_CONFIG_WORD1
461 depends on MIPS_INSERT_BOOT_CONFIG
464 Value which is inserted as boot config word 1.