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 MSCC VCore-III"
68 bool "Support BMIPS SoCs"
78 bool "Support MT7620/7688 SoCs"
80 select DISPLAY_CPUINFO
90 select ROM_EXCEPTION_VECTORS
91 select SUPPORTS_CPU_MIPS32_R1
92 select SUPPORTS_CPU_MIPS32_R2
93 select SUPPORTS_LITTLE_ENDIAN
97 bool "Support Ingenic JZ47xx"
103 bool "Support Microchip PIC32"
109 bool "Support Boston"
113 select MIPS_L1_CACHE_SHIFT_6
115 select OF_BOARD_SETUP
117 select ROM_EXCEPTION_VECTORS
118 select SUPPORTS_BIG_ENDIAN
119 select SUPPORTS_CPU_MIPS32_R1
120 select SUPPORTS_CPU_MIPS32_R2
121 select SUPPORTS_CPU_MIPS32_R6
122 select SUPPORTS_CPU_MIPS64_R1
123 select SUPPORTS_CPU_MIPS64_R2
124 select SUPPORTS_CPU_MIPS64_R6
125 select SUPPORTS_LITTLE_ENDIAN
128 config TARGET_XILFPGA
129 bool "Support Imagination Xilfpga"
134 select MIPS_L1_CACHE_SHIFT_4
136 select ROM_EXCEPTION_VECTORS
137 select SUPPORTS_CPU_MIPS32_R1
138 select SUPPORTS_CPU_MIPS32_R2
139 select SUPPORTS_LITTLE_ENDIAN
142 This supports IMGTEC MIPSfpga platform
146 source "board/imgtec/boston/Kconfig"
147 source "board/imgtec/malta/Kconfig"
148 source "board/imgtec/xilfpga/Kconfig"
149 source "board/micronas/vct/Kconfig"
150 source "board/qemu-mips/Kconfig"
151 source "arch/mips/mach-ath79/Kconfig"
152 source "arch/mips/mach-mscc/Kconfig"
153 source "arch/mips/mach-bmips/Kconfig"
154 source "arch/mips/mach-jz47xx/Kconfig"
155 source "arch/mips/mach-pic32/Kconfig"
156 source "arch/mips/mach-mt7620/Kconfig"
161 prompt "Endianness selection"
163 Some MIPS boards can be configured for either little or big endian
164 byte order. These modes require different U-Boot images. In general there
165 is one preferred byteorder for a particular system but some systems are
166 just as commonly used in the one or the other endianness.
168 config SYS_BIG_ENDIAN
170 depends on SUPPORTS_BIG_ENDIAN
172 config SYS_LITTLE_ENDIAN
174 depends on SUPPORTS_LITTLE_ENDIAN
179 prompt "CPU selection"
180 default CPU_MIPS32_R2
183 bool "MIPS32 Release 1"
184 depends on SUPPORTS_CPU_MIPS32_R1
187 Choose this option to build an U-Boot for release 1 through 5 of the
191 bool "MIPS32 Release 2"
192 depends on SUPPORTS_CPU_MIPS32_R2
195 Choose this option to build an U-Boot for release 2 through 5 of the
199 bool "MIPS32 Release 6"
200 depends on SUPPORTS_CPU_MIPS32_R6
203 Choose this option to build an U-Boot for release 6 or later of the
207 bool "MIPS64 Release 1"
208 depends on SUPPORTS_CPU_MIPS64_R1
211 Choose this option to build a kernel for release 1 through 5 of the
215 bool "MIPS64 Release 2"
216 depends on SUPPORTS_CPU_MIPS64_R2
219 Choose this option to build a kernel for release 2 through 5 of the
223 bool "MIPS64 Release 6"
224 depends on SUPPORTS_CPU_MIPS64_R6
227 Choose this option to build a kernel for release 6 or later of the
234 config ROM_EXCEPTION_VECTORS
235 bool "Build U-Boot image with exception vectors"
237 Enable this to include exception vectors in the U-Boot image. This is
238 required if the U-Boot entry point is equal to the address of the
239 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
240 U-Boot booted from parallel NOR flash).
241 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
242 In that case the image size will be reduced by 0x500 bytes.
245 hex "MIPS CM GCR Base Address"
247 default 0x16100000 if TARGET_BOSTON
250 The physical base address at which to map the MIPS Coherence Manager
251 Global Configuration Registers (GCRs). This should be set such that
252 the GCRs occupy a region of the physical address space which is
253 otherwise unused, or at minimum that software doesn't need to access.
255 config MIPS_CACHE_INDEX_BASE
256 hex "Index base address for cache initialisation"
257 default 0x80000000 if CPU_MIPS32
258 default 0xffffffff80000000 if CPU_MIPS64
260 This is the base address for a memory block, which is used for
261 initialising the cache lines. This is also the base address of a memory
262 block which is used for loading and filling cache lines when
263 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
264 Normally this is CKSEG0. If the MIPS system needs to move this block
265 to some SRAM or ScratchPad RAM, adapt this option accordingly.
267 config MIPS_RELOCATION_TABLE_SIZE
268 hex "Relocation table size"
272 A table of relocation data will be appended to the U-Boot binary
273 and parsed in relocate_code() to fix up all offsets in the relocated
276 This option allows the amount of space reserved for the table to be
277 adjusted in a range from 256 up to 64k. The default is 32k and should
278 be ok in most cases. Reduce this value to shrink the size of U-Boot
281 The build will fail and a valid size suggested if this is too small.
283 If unsure, leave at the default value.
287 menu "OS boot interface"
289 config MIPS_BOOT_CMDLINE_LEGACY
290 bool "Hand over legacy command line to Linux kernel"
293 Enable this option if you want U-Boot to hand over the Yamon-style
294 command line to the kernel. All bootargs will be prepared as argc/argv
295 compatible list. The argument count (argc) is stored in register $a0.
296 The address of the argument list (argv) is stored in register $a1.
298 config MIPS_BOOT_ENV_LEGACY
299 bool "Hand over legacy environment to Linux kernel"
302 Enable this option if you want U-Boot to hand over the Yamon-style
303 environment to the kernel. Information like memory size, initrd
304 address and size will be prepared as zero-terminated key/value list.
305 The address of the environment is stored in register $a2.
308 bool "Hand over a flattened device tree to Linux kernel"
311 Enable this option if you want U-Boot to hand over a flattened
312 device tree to the kernel. According to UHI register $a0 will be set
313 to -2 and the FDT address is stored in $a1.
317 config SUPPORTS_BIG_ENDIAN
320 config SUPPORTS_LITTLE_ENDIAN
323 config SUPPORTS_CPU_MIPS32_R1
326 config SUPPORTS_CPU_MIPS32_R2
329 config SUPPORTS_CPU_MIPS32_R6
332 config SUPPORTS_CPU_MIPS64_R1
335 config SUPPORTS_CPU_MIPS64_R2
338 config SUPPORTS_CPU_MIPS64_R6
343 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
347 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
352 config MIPS_TUNE_14KC
355 config MIPS_TUNE_24KC
358 config MIPS_TUNE_34KC
361 config MIPS_TUNE_74KC
373 config SYS_MIPS_CACHE_INIT_RAM_LOAD
376 config MIPS_INIT_STACK_IN_SRAM
380 Select this if the initial stack frame could be setup in SRAM.
381 Normally the initial stack frame is set up in DRAM which is often
382 only available after lowlevel_init. With this option the initial
383 stack frame and the early C environment is set up before
384 lowlevel_init. Thus lowlevel_init does not need to be implemented
387 config SYS_DCACHE_SIZE
391 The total size of the L1 Dcache, if known at compile time.
393 config SYS_DCACHE_LINE_SIZE
397 The size of L1 Dcache lines, if known at compile time.
399 config SYS_ICACHE_SIZE
403 The total size of the L1 ICache, if known at compile time.
405 config SYS_ICACHE_LINE_SIZE
409 The size of L1 Icache lines, if known at compile time.
411 config SYS_CACHE_SIZE_AUTO
412 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
413 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
415 Select this (or let it be auto-selected by not defining any cache
416 sizes) in order to allow U-Boot to automatically detect the sizes
417 of caches at runtime. This has a small cost in code size & runtime
418 so if you know the cache configuration for your system at compile
419 time it would be beneficial to configure it.
421 config MIPS_L1_CACHE_SHIFT_4
424 config MIPS_L1_CACHE_SHIFT_5
427 config MIPS_L1_CACHE_SHIFT_6
430 config MIPS_L1_CACHE_SHIFT_7
433 config MIPS_L1_CACHE_SHIFT
435 default "7" if MIPS_L1_CACHE_SHIFT_7
436 default "6" if MIPS_L1_CACHE_SHIFT_6
437 default "5" if MIPS_L1_CACHE_SHIFT_5
438 default "4" if MIPS_L1_CACHE_SHIFT_4
444 Select this if your system includes an L2 cache and you want U-Boot
445 to initialise & maintain it.
447 config DYNAMIC_IO_PORT_BASE
453 Select this if your system contains a MIPS Coherence Manager and you
454 wish U-Boot to configure it or make use of it to retrieve system
455 information such as cache configuration.
457 config MIPS_INSERT_BOOT_CONFIG
461 Enable this to insert some board-specific boot configuration in
462 the U-Boot binary at offset 0x10.
464 config MIPS_BOOT_CONFIG_WORD0
466 depends on MIPS_INSERT_BOOT_CONFIG
467 default 0x420 if TARGET_MALTA
470 Value which is inserted as boot config word 0.
472 config MIPS_BOOT_CONFIG_WORD1
474 depends on MIPS_INSERT_BOOT_CONFIG
477 Value which is inserted as boot config word 1.