blob: e0f6b6c4b3c7e6edf20242b7cc34d10247b60707 [file] [log] [blame]
Masahiro Yamadadd840582014-07-30 14:08:14 +09001menu "MIPS architecture"
2 depends on MIPS
3
4config SYS_ARCH
Masahiro Yamadadd840582014-07-30 14:08:14 +09005 default "mips"
6
Daniel Schwierzeckb9863b62014-10-26 14:14:07 +01007config SYS_CPU
Paul Burton20286cd2016-05-16 10:52:11 +01008 default "mips32" if CPU_MIPS32
9 default "mips64" if CPU_MIPS64
Daniel Schwierzeckb9863b62014-10-26 14:14:07 +010010
Masahiro Yamadadd840582014-07-30 14:08:14 +090011choice
12 prompt "Target select"
Joe Hershbergera26cd042015-05-12 14:46:23 -050013 optional
Masahiro Yamadadd840582014-07-30 14:08:14 +090014
15config TARGET_QEMU_MIPS
16 bool "Support qemu-mips"
Michal Simek5ed063d2018-07-23 15:55:13 +020017 select ROM_EXCEPTION_VECTORS
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010018 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010019 select SUPPORTS_CPU_MIPS32_R1
20 select SUPPORTS_CPU_MIPS32_R2
Daniel Schwierzeckaa45f752014-10-26 14:14:07 +010021 select SUPPORTS_CPU_MIPS64_R1
22 select SUPPORTS_CPU_MIPS64_R2
Michal Simek5ed063d2018-07-23 15:55:13 +020023 select SUPPORTS_LITTLE_ENDIAN
Masahiro Yamadadd840582014-07-30 14:08:14 +090024
25config TARGET_MALTA
26 bool "Support malta"
Paul Burton6242aa12016-05-17 07:43:28 +010027 select DM
28 select DM_SERIAL
Paul Burton05e34252016-01-29 13:54:52 +000029 select DYNAMIC_IO_PORT_BASE
Paul Burton566ce04d2016-09-21 11:18:56 +010030 select MIPS_CM
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +020031 select MIPS_INSERT_BOOT_CONFIG
Michal Simek5ed063d2018-07-23 15:55:13 +020032 select MIPS_L1_CACHE_SHIFT_6
Paul Burton566ce04d2016-09-21 11:18:56 +010033 select MIPS_L2_CACHE
Paul Burton6242aa12016-05-17 07:43:28 +010034 select OF_CONTROL
35 select OF_ISA_BUS
Michal Simek5ed063d2018-07-23 15:55:13 +020036 select ROM_EXCEPTION_VECTORS
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010037 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010038 select SUPPORTS_CPU_MIPS32_R1
39 select SUPPORTS_CPU_MIPS32_R2
Paul Burton40ba13c2016-05-16 10:52:14 +010040 select SUPPORTS_CPU_MIPS32_R6
Paul Burton0f832b92016-05-26 14:49:36 +010041 select SUPPORTS_CPU_MIPS64_R1
42 select SUPPORTS_CPU_MIPS64_R2
43 select SUPPORTS_CPU_MIPS64_R6
Michal Simek5ed063d2018-07-23 15:55:13 +020044 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +010045 select SWAP_IO_SPACE
Michal Simek08a00cb2018-07-23 15:55:14 +020046 imply CMD_DM
Masahiro Yamadadd840582014-07-30 14:08:14 +090047
48config TARGET_VCT
49 bool "Support vct"
Michal Simek5ed063d2018-07-23 15:55:13 +020050 select ROM_EXCEPTION_VECTORS
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010051 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010052 select SUPPORTS_CPU_MIPS32_R1
53 select SUPPORTS_CPU_MIPS32_R2
Paul Burtondd7c7202015-01-29 01:28:02 +000054 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Masahiro Yamadadd840582014-07-30 14:08:14 +090055
Wills Wang1d3d0f12016-03-16 16:59:52 +080056config ARCH_ATH79
57 bool "Support QCA/Atheros ath79"
Wills Wang1d3d0f12016-03-16 16:59:52 +080058 select DM
Michal Simek5ed063d2018-07-23 15:55:13 +020059 select OF_CONTROL
Michal Simek08a00cb2018-07-23 15:55:14 +020060 imply CMD_DM
Wills Wang1d3d0f12016-03-16 16:59:52 +080061
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +010062config ARCH_MSCC
63 bool "Support MSCC VCore-III"
64 select OF_CONTROL
65 select DM
66
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020067config ARCH_BMIPS
68 bool "Support BMIPS SoCs"
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020069 select CLK
70 select CPU
Michal Simek5ed063d2018-07-23 15:55:13 +020071 select DM
72 select OF_CONTROL
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020073 select RAM
74 select SYSRESET
Michal Simek08a00cb2018-07-23 15:55:14 +020075 imply CMD_DM
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020076
Weijie Gao16b94902019-04-30 11:13:58 +080077config ARCH_MTMIPS
78 bool "Support MediaTek MIPS platforms"
Weijie Gao3f851c92019-09-25 17:45:43 +080079 select CLK
Stefan Roese4c835a62018-09-05 15:12:35 +020080 imply CMD_DM
81 select DISPLAY_CPUINFO
82 select DM
Stefan Roeseb4a6a1b2018-10-09 08:59:09 +020083 imply DM_ETH
84 imply DM_GPIO
Weijie Gao3f851c92019-09-25 17:45:43 +080085 select DM_RESET
Stefan Roese4c835a62018-09-05 15:12:35 +020086 select DM_SERIAL
Weijie Gao3f851c92019-09-25 17:45:43 +080087 select PINCTRL
88 select PINMUX
89 select PINCONF
90 select RESET_MTMIPS
Stefan Roese4c835a62018-09-05 15:12:35 +020091 imply DM_SPI
92 imply DM_SPI_FLASH
Stefan Roese9814fb22019-05-28 08:11:37 +020093 select LAST_STAGE_INIT
Stefan Roese4c835a62018-09-05 15:12:35 +020094 select MIPS_TUNE_24KC
95 select OF_CONTROL
96 select ROM_EXCEPTION_VECTORS
97 select SUPPORTS_CPU_MIPS32_R1
98 select SUPPORTS_CPU_MIPS32_R2
99 select SUPPORTS_LITTLE_ENDIAN
Stefan Roese41f6e6e2018-08-16 15:27:32 +0200100 select SYSRESET
Weijie Gao7a4b6962020-04-21 09:28:47 +0200101 select SUPPORT_SPL
Stefan Roese4c835a62018-09-05 15:12:35 +0200102
Paul Burtoncd71b1d2018-12-16 19:25:22 -0300103config ARCH_JZ47XX
104 bool "Support Ingenic JZ47xx"
105 select SUPPORT_SPL
106 select OF_CONTROL
107 select DM
108
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200109config ARCH_OCTEON
110 bool "Support Marvell Octeon CN7xxx platforms"
111 select CPU_CAVIUM_OCTEON
112 select DISPLAY_CPUINFO
113 select DMA_ADDR_T_64BIT
114 select DM
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200115 select DM_ETH
Stefan Roese10155402020-07-30 13:56:21 +0200116 select DM_GPIO
117 select DM_I2C
118 select DM_SERIAL
119 select DM_SPI
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200120 select MIPS_L2_CACHE
Stefan Roesee9609dc2020-06-30 12:33:17 +0200121 select MIPS_MACH_EARLY_INIT
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200122 select MIPS_TUNE_OCTEON3
123 select ROM_EXCEPTION_VECTORS
124 select SUPPORTS_BIG_ENDIAN
125 select SUPPORTS_CPU_MIPS64_OCTEON
126 select PHYS_64BIT
127 select OF_CONTROL
128 select OF_LIVE
129 imply CMD_DM
130
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530131config MACH_PIC32
132 bool "Support Microchip PIC32"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530133 select DM
Michal Simek5ed063d2018-07-23 15:55:13 +0200134 select OF_CONTROL
Michal Simek08a00cb2018-07-23 15:55:14 +0200135 imply CMD_DM
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530136
Paul Burtonad8783c2016-09-08 07:47:39 +0100137config TARGET_BOSTON
138 bool "Support Boston"
139 select DM
140 select DM_SERIAL
Paul Burtonad8783c2016-09-08 07:47:39 +0100141 select MIPS_CM
142 select MIPS_L1_CACHE_SHIFT_6
143 select MIPS_L2_CACHE
Paul Burtond2b12a52017-04-30 21:22:42 +0200144 select OF_BOARD_SETUP
Michal Simek5ed063d2018-07-23 15:55:13 +0200145 select OF_CONTROL
146 select ROM_EXCEPTION_VECTORS
Paul Burtonad8783c2016-09-08 07:47:39 +0100147 select SUPPORTS_BIG_ENDIAN
Paul Burtonad8783c2016-09-08 07:47:39 +0100148 select SUPPORTS_CPU_MIPS32_R1
149 select SUPPORTS_CPU_MIPS32_R2
150 select SUPPORTS_CPU_MIPS32_R6
151 select SUPPORTS_CPU_MIPS64_R1
152 select SUPPORTS_CPU_MIPS64_R2
153 select SUPPORTS_CPU_MIPS64_R6
Michal Simek5ed063d2018-07-23 15:55:13 +0200154 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200155 imply CMD_DM
Paul Burtonad8783c2016-09-08 07:47:39 +0100156
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100157config TARGET_XILFPGA
158 bool "Support Imagination Xilfpga"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100159 select DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100160 select DM_ETH
Michal Simek5ed063d2018-07-23 15:55:13 +0200161 select DM_GPIO
162 select DM_SERIAL
163 select MIPS_L1_CACHE_SHIFT_4
164 select OF_CONTROL
165 select ROM_EXCEPTION_VECTORS
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100166 select SUPPORTS_CPU_MIPS32_R1
167 select SUPPORTS_CPU_MIPS32_R2
Michal Simek5ed063d2018-07-23 15:55:13 +0200168 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200169 imply CMD_DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100170 help
171 This supports IMGTEC MIPSfpga platform
172
Masahiro Yamadadd840582014-07-30 14:08:14 +0900173endchoice
174
Paul Burtonad8783c2016-09-08 07:47:39 +0100175source "board/imgtec/boston/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900176source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100177source "board/imgtec/xilfpga/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900178source "board/qemu-mips/Kconfig"
Wills Wang1d3d0f12016-03-16 16:59:52 +0800179source "arch/mips/mach-ath79/Kconfig"
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +0100180source "arch/mips/mach-mscc/Kconfig"
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +0200181source "arch/mips/mach-bmips/Kconfig"
Paul Burtoncd71b1d2018-12-16 19:25:22 -0300182source "arch/mips/mach-jz47xx/Kconfig"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530183source "arch/mips/mach-pic32/Kconfig"
Weijie Gao16b94902019-04-30 11:13:58 +0800184source "arch/mips/mach-mtmips/Kconfig"
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200185source "arch/mips/mach-octeon/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900186
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100187if MIPS
188
189choice
190 prompt "Endianness selection"
191 help
192 Some MIPS boards can be configured for either little or big endian
193 byte order. These modes require different U-Boot images. In general there
194 is one preferred byteorder for a particular system but some systems are
195 just as commonly used in the one or the other endianness.
196
197config SYS_BIG_ENDIAN
198 bool "Big endian"
199 depends on SUPPORTS_BIG_ENDIAN
200
201config SYS_LITTLE_ENDIAN
202 bool "Little endian"
203 depends on SUPPORTS_LITTLE_ENDIAN
204
205endchoice
206
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100207choice
208 prompt "CPU selection"
209 default CPU_MIPS32_R2
210
211config CPU_MIPS32_R1
212 bool "MIPS32 Release 1"
213 depends on SUPPORTS_CPU_MIPS32_R1
214 select 32BIT
215 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100216 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100217 MIPS32 architecture.
218
219config CPU_MIPS32_R2
220 bool "MIPS32 Release 2"
221 depends on SUPPORTS_CPU_MIPS32_R2
222 select 32BIT
223 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100224 Choose this option to build an U-Boot for release 2 through 5 of the
225 MIPS32 architecture.
226
227config CPU_MIPS32_R6
228 bool "MIPS32 Release 6"
229 depends on SUPPORTS_CPU_MIPS32_R6
230 select 32BIT
231 help
232 Choose this option to build an U-Boot for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100233 MIPS32 architecture.
234
235config CPU_MIPS64_R1
236 bool "MIPS64 Release 1"
237 depends on SUPPORTS_CPU_MIPS64_R1
238 select 64BIT
239 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100240 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100241 MIPS64 architecture.
242
243config CPU_MIPS64_R2
244 bool "MIPS64 Release 2"
245 depends on SUPPORTS_CPU_MIPS64_R2
246 select 64BIT
247 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100248 Choose this option to build a kernel for release 2 through 5 of the
249 MIPS64 architecture.
250
251config CPU_MIPS64_R6
252 bool "MIPS64 Release 6"
253 depends on SUPPORTS_CPU_MIPS64_R6
254 select 64BIT
255 help
256 Choose this option to build a kernel for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100257 MIPS64 architecture.
258
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200259config CPU_MIPS64_OCTEON
260 bool "Marvell Octeon series of CPUs"
261 depends on SUPPORTS_CPU_MIPS64_OCTEON
262 select 64BIT
263 help
264 Choose this option for Marvell Octeon CPUs. These CPUs are between
265 MIPS64 R5 and R6 with other extensions.
266
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100267endchoice
268
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100269menu "General setup"
270
271config ROM_EXCEPTION_VECTORS
272 bool "Build U-Boot image with exception vectors"
273 help
274 Enable this to include exception vectors in the U-Boot image. This is
275 required if the U-Boot entry point is equal to the address of the
276 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
277 U-Boot booted from parallel NOR flash).
278 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
279 In that case the image size will be reduced by 0x500 bytes.
280
Paul Burton939a2552017-05-12 13:26:11 +0200281config MIPS_CM_BASE
282 hex "MIPS CM GCR Base Address"
283 depends on MIPS_CM
Paul Burtoned048e72017-04-30 21:22:41 +0200284 default 0x16100000 if TARGET_BOSTON
Paul Burton939a2552017-05-12 13:26:11 +0200285 default 0x1fbf8000
286 help
287 The physical base address at which to map the MIPS Coherence Manager
288 Global Configuration Registers (GCRs). This should be set such that
289 the GCRs occupy a region of the physical address space which is
290 otherwise unused, or at minimum that software doesn't need to access.
291
Daniel Schwierzeck5ef337a2018-09-07 19:02:05 +0200292config MIPS_CACHE_INDEX_BASE
293 hex "Index base address for cache initialisation"
294 default 0x80000000 if CPU_MIPS32
295 default 0xffffffff80000000 if CPU_MIPS64
296 help
297 This is the base address for a memory block, which is used for
298 initialising the cache lines. This is also the base address of a memory
299 block which is used for loading and filling cache lines when
300 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
301 Normally this is CKSEG0. If the MIPS system needs to move this block
302 to some SRAM or ScratchPad RAM, adapt this option accordingly.
303
Stefan Roesede34a612020-06-30 12:33:16 +0200304config MIPS_MACH_EARLY_INIT
305 bool "Enable mach specific very early init code"
306 help
307 Use this to enable the call to mips_mach_early_init() very early
308 from start.S. This function can be used e.g. to do some very early
309 CPU / SoC intitialization or image copying. Its called very early
310 and at this stage the PC might not match the linking address
311 (CONFIG_TEXT_BASE) - no absolute jump done until this call.
312
Daniel Schwierzeck57bfb1a2020-07-12 00:45:57 +0200313config MIPS_CACHE_SETUP
314 bool "Allow generic start code to initialize and setup caches"
315 default n if SKIP_LOWLEVEL_INIT
316 default y
317 help
318 This allows the generic start code to invoke the generic initialization
319 of the CPU caches. Disabling this can be useful for RAM boot scenarios
320 (EJTAG, SPL payload) or for machines which don't need cache initialization
321 or which want to provide their own cache implementation.
322
323 If unsure, say yes.
324
325config MIPS_CACHE_DISABLE
326 bool "Allow generic start code to initially disable caches"
327 default n if SKIP_LOWLEVEL_INIT
328 default y
329 help
330 This allows the generic start code to initially disable the CPU caches
331 and run uncached until the caches are initialized and enabled. Disabling
332 this can be useful on machines which don't need cache initialization or
333 which want to provide their own cache implementation.
334
335 If unsure, say yes.
336
Daniel Schwierzeck96301462018-11-01 02:02:21 +0100337config MIPS_RELOCATION_TABLE_SIZE
338 hex "Relocation table size"
339 range 0x100 0x10000
340 default "0x8000"
341 ---help---
342 A table of relocation data will be appended to the U-Boot binary
343 and parsed in relocate_code() to fix up all offsets in the relocated
344 U-Boot.
345
346 This option allows the amount of space reserved for the table to be
347 adjusted in a range from 256 up to 64k. The default is 32k and should
348 be ok in most cases. Reduce this value to shrink the size of U-Boot
349 binary.
350
351 The build will fail and a valid size suggested if this is too small.
352
353 If unsure, leave at the default value.
354
Weijie Gao71059732020-04-21 09:28:25 +0200355config RESTORE_EXCEPTION_VECTOR_BASE
356 bool "Restore exception vector base before booting linux kernel"
357 default n
358 help
359 In U-Boot the exception vector base will be moved to top of memory,
360 to be used to display register dump when exception occurs.
361 But some old linux kernel does not honor the base set in CP0_EBASE.
362 A modified exception vector base will cause kernel crash.
363
364 This option will restore the exception vector base to its previous
365 value.
366
367 If unsure, say N.
368
369config OVERRIDE_EXCEPTION_VECTOR_BASE
370 bool "Override the exception vector base to be restored"
371 depends on RESTORE_EXCEPTION_VECTOR_BASE
372 default n
373 help
374 Enable this option if you want to use a different exception vector
375 base rather than the previously saved one.
376
377config NEW_EXCEPTION_VECTOR_BASE
378 hex "New exception vector base"
379 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
380 range 0x80000000 0xbffff000
381 default 0x80000000
382 help
383 The exception vector base to be restored before booting linux kernel
384
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200385config INIT_STACK_WITHOUT_MALLOC_F
386 bool "Do not reserve malloc space on initial stack"
387 default n
388 help
389 Enable this option if you don't want to reserve malloc space on
390 initial stack. This is useful if the initial stack can't hold large
391 malloc space. Platform should set the malloc_base later when DRAM is
392 ready to use.
393
394config SPL_INIT_STACK_WITHOUT_MALLOC_F
395 bool "Do not reserve malloc space on initial stack in SPL"
396 default n
397 help
398 Enable this option if you don't want to reserve malloc space on
399 initial stack. This is useful if the initial stack can't hold large
400 malloc space. Platform should set the malloc_base later when DRAM is
401 ready to use.
402
Weijie Gao814a8912020-04-21 09:28:37 +0200403config SPL_LOADER_SUPPORT
404 bool
405 default n
406 help
407 Enable this option if you want to use SPL loaders without DM enabled.
408
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100409endmenu
410
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100411menu "OS boot interface"
412
413config MIPS_BOOT_CMDLINE_LEGACY
414 bool "Hand over legacy command line to Linux kernel"
415 default y
416 help
417 Enable this option if you want U-Boot to hand over the Yamon-style
418 command line to the kernel. All bootargs will be prepared as argc/argv
419 compatible list. The argument count (argc) is stored in register $a0.
420 The address of the argument list (argv) is stored in register $a1.
421
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100422config MIPS_BOOT_ENV_LEGACY
423 bool "Hand over legacy environment to Linux kernel"
424 default y
425 help
426 Enable this option if you want U-Boot to hand over the Yamon-style
427 environment to the kernel. Information like memory size, initrd
428 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day1cc0a9f2016-05-04 04:47:31 -0400429 The address of the environment is stored in register $a2.
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100430
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100431config MIPS_BOOT_FDT
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100432 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100433 default n
434 help
435 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100436 device tree to the kernel. According to UHI register $a0 will be set
437 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100438
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100439endmenu
440
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100441config SUPPORTS_BIG_ENDIAN
442 bool
443
444config SUPPORTS_LITTLE_ENDIAN
445 bool
446
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100447config SUPPORTS_CPU_MIPS32_R1
448 bool
449
450config SUPPORTS_CPU_MIPS32_R2
451 bool
452
Paul Burtonc52ebea2016-05-16 10:52:12 +0100453config SUPPORTS_CPU_MIPS32_R6
454 bool
455
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100456config SUPPORTS_CPU_MIPS64_R1
457 bool
458
459config SUPPORTS_CPU_MIPS64_R2
460 bool
461
Paul Burtonc52ebea2016-05-16 10:52:12 +0100462config SUPPORTS_CPU_MIPS64_R6
463 bool
464
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200465config SUPPORTS_CPU_MIPS64_OCTEON
466 bool
467
468config CPU_CAVIUM_OCTEON
469 bool
470
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100471config CPU_MIPS32
472 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100473 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100474
475config CPU_MIPS64
476 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100477 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200478 default y if CPU_MIPS64_OCTEON
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100479
Daniel Schwierzeck0315a282015-12-26 19:55:37 +0100480config MIPS_TUNE_4KC
481 bool
482
483config MIPS_TUNE_14KC
484 bool
485
486config MIPS_TUNE_24KC
487 bool
488
Daniel Schwierzeck5f9cc362016-05-27 15:39:39 +0200489config MIPS_TUNE_34KC
490 bool
491
Marek Vasut0a0a9582016-05-06 20:10:33 +0200492config MIPS_TUNE_74KC
493 bool
494
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200495config MIPS_TUNE_OCTEON3
496 bool
497
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100498config 32BIT
499 bool
500
501config 64BIT
502 bool
503
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +0100504config SWAP_IO_SPACE
505 bool
506
Paul Burtondd7c7202015-01-29 01:28:02 +0000507config SYS_MIPS_CACHE_INIT_RAM_LOAD
508 bool
509
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200510config MIPS_INIT_STACK_IN_SRAM
511 bool
512 default n
513 help
514 Select this if the initial stack frame could be setup in SRAM.
515 Normally the initial stack frame is set up in DRAM which is often
516 only available after lowlevel_init. With this option the initial
517 stack frame and the early C environment is set up before
518 lowlevel_init. Thus lowlevel_init does not need to be implemented
519 in assembler.
520
Weijie Gao2434f582020-04-21 09:28:27 +0200521config MIPS_SRAM_INIT
522 bool
523 default n
524 depends on MIPS_INIT_STACK_IN_SRAM
525 help
526 Select this if the SRAM for initial stack needs to be initialized
527 before it can be used. If enabled, a function mips_sram_init() will
528 be called just before setup_stack_gd.
529
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200530config DMA_ADDR_T_64BIT
531 bool
532 help
533 Select this to enable 64-bit DMA addressing
534
Paul Burtonace3be42016-05-27 14:28:04 +0100535config SYS_DCACHE_SIZE
536 int
537 default 0
538 help
539 The total size of the L1 Dcache, if known at compile time.
540
Paul Burton37228622016-05-27 14:28:05 +0100541config SYS_DCACHE_LINE_SIZE
Paul Burton4b7b0a02016-06-09 13:09:52 +0100542 int
Paul Burton37228622016-05-27 14:28:05 +0100543 default 0
544 help
545 The size of L1 Dcache lines, if known at compile time.
546
Paul Burtonace3be42016-05-27 14:28:04 +0100547config SYS_ICACHE_SIZE
548 int
549 default 0
550 help
551 The total size of the L1 ICache, if known at compile time.
552
Paul Burton37228622016-05-27 14:28:05 +0100553config SYS_ICACHE_LINE_SIZE
Paul Burtonace3be42016-05-27 14:28:04 +0100554 int
555 default 0
556 help
Paul Burton37228622016-05-27 14:28:05 +0100557 The size of L1 Icache lines, if known at compile time.
Paul Burtonace3be42016-05-27 14:28:04 +0100558
Ramon Fried22247c62019-06-10 21:05:26 +0300559config SYS_SCACHE_LINE_SIZE
560 int
561 default 0
562 help
563 The size of L2 cache lines, if known at compile time.
564
565
Paul Burtonace3be42016-05-27 14:28:04 +0100566config SYS_CACHE_SIZE_AUTO
567 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried22247c62019-06-10 21:05:26 +0300568 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
569 SYS_SCACHE_LINE_SIZE = 0
Paul Burtonace3be42016-05-27 14:28:04 +0100570 help
571 Select this (or let it be auto-selected by not defining any cache
572 sizes) in order to allow U-Boot to automatically detect the sizes
573 of caches at runtime. This has a small cost in code size & runtime
574 so if you know the cache configuration for your system at compile
575 time it would be beneficial to configure it.
576
Daniel Schwierzeckf53830e2016-01-09 17:32:50 +0100577config MIPS_L1_CACHE_SHIFT_4
578 bool
579
580config MIPS_L1_CACHE_SHIFT_5
581 bool
582
583config MIPS_L1_CACHE_SHIFT_6
584 bool
585
586config MIPS_L1_CACHE_SHIFT_7
587 bool
588
589config MIPS_L1_CACHE_SHIFT
590 int
591 default "7" if MIPS_L1_CACHE_SHIFT_7
592 default "6" if MIPS_L1_CACHE_SHIFT_6
593 default "5" if MIPS_L1_CACHE_SHIFT_5
594 default "4" if MIPS_L1_CACHE_SHIFT_4
595 default "5"
596
Paul Burton4baa0ab2016-09-21 11:18:54 +0100597config MIPS_L2_CACHE
598 bool
599 help
600 Select this if your system includes an L2 cache and you want U-Boot
601 to initialise & maintain it.
602
Paul Burton05e34252016-01-29 13:54:52 +0000603config DYNAMIC_IO_PORT_BASE
604 bool
605
Paul Burtonb2b135d2016-09-21 11:18:53 +0100606config MIPS_CM
607 bool
608 help
609 Select this if your system contains a MIPS Coherence Manager and you
610 wish U-Boot to configure it or make use of it to retrieve system
611 information such as cache configuration.
612
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200613config MIPS_INSERT_BOOT_CONFIG
614 bool
615 default n
616 help
617 Enable this to insert some board-specific boot configuration in
618 the U-Boot binary at offset 0x10.
619
620config MIPS_BOOT_CONFIG_WORD0
621 hex
622 depends on MIPS_INSERT_BOOT_CONFIG
623 default 0x420 if TARGET_MALTA
624 default 0x0
625 help
626 Value which is inserted as boot config word 0.
627
628config MIPS_BOOT_CONFIG_WORD1
629 hex
630 depends on MIPS_INSERT_BOOT_CONFIG
631 default 0x0
632 help
633 Value which is inserted as boot config word 1.
634
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100635endif
636
Masahiro Yamadadd840582014-07-30 14:08:14 +0900637endmenu