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.
253 menu "OS boot interface"
255 config MIPS_BOOT_CMDLINE_LEGACY
256 bool "Hand over legacy command line to Linux kernel"
259 Enable this option if you want U-Boot to hand over the Yamon-style
260 command line to the kernel. All bootargs will be prepared as argc/argv
261 compatible list. The argument count (argc) is stored in register $a0.
262 The address of the argument list (argv) is stored in register $a1.
264 config MIPS_BOOT_ENV_LEGACY
265 bool "Hand over legacy environment to Linux kernel"
268 Enable this option if you want U-Boot to hand over the Yamon-style
269 environment to the kernel. Information like memory size, initrd
270 address and size will be prepared as zero-terminated key/value list.
271 The address of the environment is stored in register $a2.
274 bool "Hand over a flattened device tree to Linux kernel"
277 Enable this option if you want U-Boot to hand over a flattened
278 device tree to the kernel. According to UHI register $a0 will be set
279 to -2 and the FDT address is stored in $a1.
283 config SUPPORTS_BIG_ENDIAN
286 config SUPPORTS_LITTLE_ENDIAN
289 config SUPPORTS_CPU_MIPS32_R1
292 config SUPPORTS_CPU_MIPS32_R2
295 config SUPPORTS_CPU_MIPS32_R6
298 config SUPPORTS_CPU_MIPS64_R1
301 config SUPPORTS_CPU_MIPS64_R2
304 config SUPPORTS_CPU_MIPS64_R6
309 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
313 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
318 config MIPS_TUNE_14KC
321 config MIPS_TUNE_24KC
324 config MIPS_TUNE_34KC
327 config MIPS_TUNE_74KC
339 config SYS_MIPS_CACHE_INIT_RAM_LOAD
342 config MIPS_INIT_STACK_IN_SRAM
346 Select this if the initial stack frame could be setup in SRAM.
347 Normally the initial stack frame is set up in DRAM which is often
348 only available after lowlevel_init. With this option the initial
349 stack frame and the early C environment is set up before
350 lowlevel_init. Thus lowlevel_init does not need to be implemented
353 config SYS_DCACHE_SIZE
357 The total size of the L1 Dcache, if known at compile time.
359 config SYS_DCACHE_LINE_SIZE
363 The size of L1 Dcache lines, if known at compile time.
365 config SYS_ICACHE_SIZE
369 The total size of the L1 ICache, if known at compile time.
371 config SYS_ICACHE_LINE_SIZE
375 The size of L1 Icache lines, if known at compile time.
377 config SYS_CACHE_SIZE_AUTO
378 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
379 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
381 Select this (or let it be auto-selected by not defining any cache
382 sizes) in order to allow U-Boot to automatically detect the sizes
383 of caches at runtime. This has a small cost in code size & runtime
384 so if you know the cache configuration for your system at compile
385 time it would be beneficial to configure it.
387 config MIPS_L1_CACHE_SHIFT_4
390 config MIPS_L1_CACHE_SHIFT_5
393 config MIPS_L1_CACHE_SHIFT_6
396 config MIPS_L1_CACHE_SHIFT_7
399 config MIPS_L1_CACHE_SHIFT
401 default "7" if MIPS_L1_CACHE_SHIFT_7
402 default "6" if MIPS_L1_CACHE_SHIFT_6
403 default "5" if MIPS_L1_CACHE_SHIFT_5
404 default "4" if MIPS_L1_CACHE_SHIFT_4
410 Select this if your system includes an L2 cache and you want U-Boot
411 to initialise & maintain it.
413 config DYNAMIC_IO_PORT_BASE
419 Select this if your system contains a MIPS Coherence Manager and you
420 wish U-Boot to configure it or make use of it to retrieve system
421 information such as cache configuration.
423 config MIPS_INSERT_BOOT_CONFIG
427 Enable this to insert some board-specific boot configuration in
428 the U-Boot binary at offset 0x10.
430 config MIPS_BOOT_CONFIG_WORD0
432 depends on MIPS_INSERT_BOOT_CONFIG
433 default 0x420 if TARGET_MALTA
436 Value which is inserted as boot config word 0.
438 config MIPS_BOOT_CONFIG_WORD1
440 depends on MIPS_INSERT_BOOT_CONFIG
443 Value which is inserted as boot config word 1.