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 ROM_EXCEPTION_VECTORS
83 select SUPPORTS_CPU_MIPS32_R1
84 select SUPPORTS_CPU_MIPS32_R2
85 select SUPPORTS_LITTLE_ENDIAN
89 bool "Support Microchip PIC32"
99 select MIPS_L1_CACHE_SHIFT_6
101 select OF_BOARD_SETUP
103 select ROM_EXCEPTION_VECTORS
104 select SUPPORTS_BIG_ENDIAN
105 select SUPPORTS_CPU_MIPS32_R1
106 select SUPPORTS_CPU_MIPS32_R2
107 select SUPPORTS_CPU_MIPS32_R6
108 select SUPPORTS_CPU_MIPS64_R1
109 select SUPPORTS_CPU_MIPS64_R2
110 select SUPPORTS_CPU_MIPS64_R6
111 select SUPPORTS_LITTLE_ENDIAN
114 config TARGET_XILFPGA
115 bool "Support Imagination Xilfpga"
120 select MIPS_L1_CACHE_SHIFT_4
122 select ROM_EXCEPTION_VECTORS
123 select SUPPORTS_CPU_MIPS32_R1
124 select SUPPORTS_CPU_MIPS32_R2
125 select SUPPORTS_LITTLE_ENDIAN
128 This supports IMGTEC MIPSfpga platform
132 source "board/imgtec/boston/Kconfig"
133 source "board/imgtec/malta/Kconfig"
134 source "board/imgtec/xilfpga/Kconfig"
135 source "board/micronas/vct/Kconfig"
136 source "board/qemu-mips/Kconfig"
137 source "arch/mips/mach-ath79/Kconfig"
138 source "arch/mips/mach-bmips/Kconfig"
139 source "arch/mips/mach-pic32/Kconfig"
140 source "arch/mips/mach-mt7620/Kconfig"
145 prompt "Endianness selection"
147 Some MIPS boards can be configured for either little or big endian
148 byte order. These modes require different U-Boot images. In general there
149 is one preferred byteorder for a particular system but some systems are
150 just as commonly used in the one or the other endianness.
152 config SYS_BIG_ENDIAN
154 depends on SUPPORTS_BIG_ENDIAN
156 config SYS_LITTLE_ENDIAN
158 depends on SUPPORTS_LITTLE_ENDIAN
163 prompt "CPU selection"
164 default CPU_MIPS32_R2
167 bool "MIPS32 Release 1"
168 depends on SUPPORTS_CPU_MIPS32_R1
171 Choose this option to build an U-Boot for release 1 through 5 of the
175 bool "MIPS32 Release 2"
176 depends on SUPPORTS_CPU_MIPS32_R2
179 Choose this option to build an U-Boot for release 2 through 5 of the
183 bool "MIPS32 Release 6"
184 depends on SUPPORTS_CPU_MIPS32_R6
187 Choose this option to build an U-Boot for release 6 or later of the
191 bool "MIPS64 Release 1"
192 depends on SUPPORTS_CPU_MIPS64_R1
195 Choose this option to build a kernel for release 1 through 5 of the
199 bool "MIPS64 Release 2"
200 depends on SUPPORTS_CPU_MIPS64_R2
203 Choose this option to build a kernel for release 2 through 5 of the
207 bool "MIPS64 Release 6"
208 depends on SUPPORTS_CPU_MIPS64_R6
211 Choose this option to build a kernel for release 6 or later of the
218 config ROM_EXCEPTION_VECTORS
219 bool "Build U-Boot image with exception vectors"
221 Enable this to include exception vectors in the U-Boot image. This is
222 required if the U-Boot entry point is equal to the address of the
223 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
224 U-Boot booted from parallel NOR flash).
225 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
226 In that case the image size will be reduced by 0x500 bytes.
229 hex "MIPS CM GCR Base Address"
231 default 0x16100000 if TARGET_BOSTON
234 The physical base address at which to map the MIPS Coherence Manager
235 Global Configuration Registers (GCRs). This should be set such that
236 the GCRs occupy a region of the physical address space which is
237 otherwise unused, or at minimum that software doesn't need to access.
239 config MIPS_CACHE_INDEX_BASE
240 hex "Index base address for cache initialisation"
241 default 0x80000000 if CPU_MIPS32
242 default 0xffffffff80000000 if CPU_MIPS64
244 This is the base address for a memory block, which is used for
245 initialising the cache lines. This is also the base address of a memory
246 block which is used for loading and filling cache lines when
247 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
248 Normally this is CKSEG0. If the MIPS system needs to move this block
249 to some SRAM or ScratchPad RAM, adapt this option accordingly.
251 config MIPS_RELOCATION_TABLE_SIZE
252 hex "Relocation table size"
256 A table of relocation data will be appended to the U-Boot binary
257 and parsed in relocate_code() to fix up all offsets in the relocated
260 This option allows the amount of space reserved for the table to be
261 adjusted in a range from 256 up to 64k. The default is 32k and should
262 be ok in most cases. Reduce this value to shrink the size of U-Boot
265 The build will fail and a valid size suggested if this is too small.
267 If unsure, leave at the default value.
271 menu "OS boot interface"
273 config MIPS_BOOT_CMDLINE_LEGACY
274 bool "Hand over legacy command line to Linux kernel"
277 Enable this option if you want U-Boot to hand over the Yamon-style
278 command line to the kernel. All bootargs will be prepared as argc/argv
279 compatible list. The argument count (argc) is stored in register $a0.
280 The address of the argument list (argv) is stored in register $a1.
282 config MIPS_BOOT_ENV_LEGACY
283 bool "Hand over legacy environment to Linux kernel"
286 Enable this option if you want U-Boot to hand over the Yamon-style
287 environment to the kernel. Information like memory size, initrd
288 address and size will be prepared as zero-terminated key/value list.
289 The address of the environment is stored in register $a2.
292 bool "Hand over a flattened device tree to Linux kernel"
295 Enable this option if you want U-Boot to hand over a flattened
296 device tree to the kernel. According to UHI register $a0 will be set
297 to -2 and the FDT address is stored in $a1.
301 config SUPPORTS_BIG_ENDIAN
304 config SUPPORTS_LITTLE_ENDIAN
307 config SUPPORTS_CPU_MIPS32_R1
310 config SUPPORTS_CPU_MIPS32_R2
313 config SUPPORTS_CPU_MIPS32_R6
316 config SUPPORTS_CPU_MIPS64_R1
319 config SUPPORTS_CPU_MIPS64_R2
322 config SUPPORTS_CPU_MIPS64_R6
327 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
331 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
336 config MIPS_TUNE_14KC
339 config MIPS_TUNE_24KC
342 config MIPS_TUNE_34KC
345 config MIPS_TUNE_74KC
357 config SYS_MIPS_CACHE_INIT_RAM_LOAD
360 config MIPS_INIT_STACK_IN_SRAM
364 Select this if the initial stack frame could be setup in SRAM.
365 Normally the initial stack frame is set up in DRAM which is often
366 only available after lowlevel_init. With this option the initial
367 stack frame and the early C environment is set up before
368 lowlevel_init. Thus lowlevel_init does not need to be implemented
371 config SYS_DCACHE_SIZE
375 The total size of the L1 Dcache, if known at compile time.
377 config SYS_DCACHE_LINE_SIZE
381 The size of L1 Dcache lines, if known at compile time.
383 config SYS_ICACHE_SIZE
387 The total size of the L1 ICache, if known at compile time.
389 config SYS_ICACHE_LINE_SIZE
393 The size of L1 Icache lines, if known at compile time.
395 config SYS_CACHE_SIZE_AUTO
396 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
397 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
399 Select this (or let it be auto-selected by not defining any cache
400 sizes) in order to allow U-Boot to automatically detect the sizes
401 of caches at runtime. This has a small cost in code size & runtime
402 so if you know the cache configuration for your system at compile
403 time it would be beneficial to configure it.
405 config MIPS_L1_CACHE_SHIFT_4
408 config MIPS_L1_CACHE_SHIFT_5
411 config MIPS_L1_CACHE_SHIFT_6
414 config MIPS_L1_CACHE_SHIFT_7
417 config MIPS_L1_CACHE_SHIFT
419 default "7" if MIPS_L1_CACHE_SHIFT_7
420 default "6" if MIPS_L1_CACHE_SHIFT_6
421 default "5" if MIPS_L1_CACHE_SHIFT_5
422 default "4" if MIPS_L1_CACHE_SHIFT_4
428 Select this if your system includes an L2 cache and you want U-Boot
429 to initialise & maintain it.
431 config DYNAMIC_IO_PORT_BASE
437 Select this if your system contains a MIPS Coherence Manager and you
438 wish U-Boot to configure it or make use of it to retrieve system
439 information such as cache configuration.
441 config MIPS_INSERT_BOOT_CONFIG
445 Enable this to insert some board-specific boot configuration in
446 the U-Boot binary at offset 0x10.
448 config MIPS_BOOT_CONFIG_WORD0
450 depends on MIPS_INSERT_BOOT_CONFIG
451 default 0x420 if TARGET_MALTA
454 Value which is inserted as boot config word 0.
456 config MIPS_BOOT_CONFIG_WORD1
458 depends on MIPS_INSERT_BOOT_CONFIG
461 Value which is inserted as boot config word 1.