blob: eb7f3ad23762e55d90134e9f88bed18be51ae8a1 [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
Masahiro Yamadadd840582014-07-30 14:08:14 +090015config TARGET_MALTA
16 bool "Support malta"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020017 select HAS_FIXED_TIMER_FREQUENCY
Daniel Schwierzeck526ceb42021-07-15 20:54:01 +020018 select BOARD_EARLY_INIT_R
Paul Burton6242aa12016-05-17 07:43:28 +010019 select DM
20 select DM_SERIAL
Simon Glass3232bdf2021-08-01 18:54:44 -060021 select PCI
Paul Burton05e34252016-01-29 13:54:52 +000022 select DYNAMIC_IO_PORT_BASE
Paul Burton566ce04d2016-09-21 11:18:56 +010023 select MIPS_CM
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +020024 select MIPS_INSERT_BOOT_CONFIG
Tom Riniab92b382021-08-26 11:47:59 -040025 select SYS_CACHE_SHIFT_6
Paul Burton566ce04d2016-09-21 11:18:56 +010026 select MIPS_L2_CACHE
Paul Burton6242aa12016-05-17 07:43:28 +010027 select OF_CONTROL
28 select OF_ISA_BUS
Daniel Schwierzeck526ceb42021-07-15 20:54:01 +020029 select PCI_MAP_SYSTEM_MEMORY
Michal Simek5ed063d2018-07-23 15:55:13 +020030 select ROM_EXCEPTION_VECTORS
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010031 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010032 select SUPPORTS_CPU_MIPS32_R1
33 select SUPPORTS_CPU_MIPS32_R2
Paul Burton40ba13c2016-05-16 10:52:14 +010034 select SUPPORTS_CPU_MIPS32_R6
Paul Burton0f832b92016-05-26 14:49:36 +010035 select SUPPORTS_CPU_MIPS64_R1
36 select SUPPORTS_CPU_MIPS64_R2
37 select SUPPORTS_CPU_MIPS64_R6
Michal Simek5ed063d2018-07-23 15:55:13 +020038 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +010039 select SWAP_IO_SPACE
Michal Simek08a00cb2018-07-23 15:55:14 +020040 imply CMD_DM
Masahiro Yamadadd840582014-07-30 14:08:14 +090041
Wills Wang1d3d0f12016-03-16 16:59:52 +080042config ARCH_ATH79
43 bool "Support QCA/Atheros ath79"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020044 select HAS_FIXED_TIMER_FREQUENCY
Wills Wang1d3d0f12016-03-16 16:59:52 +080045 select DM
Michal Simek5ed063d2018-07-23 15:55:13 +020046 select OF_CONTROL
Michal Simek08a00cb2018-07-23 15:55:14 +020047 imply CMD_DM
Wills Wang1d3d0f12016-03-16 16:59:52 +080048
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +010049config ARCH_MSCC
50 bool "Support MSCC VCore-III"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020051 select HAS_FIXED_TIMER_FREQUENCY
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +010052 select OF_CONTROL
53 select DM
54
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020055config ARCH_BMIPS
56 bool "Support BMIPS SoCs"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020057 select HAS_FIXED_TIMER_FREQUENCY
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020058 select CLK
59 select CPU
Michal Simek5ed063d2018-07-23 15:55:13 +020060 select DM
61 select OF_CONTROL
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020062 select RAM
63 select SYSRESET
Michal Simek08a00cb2018-07-23 15:55:14 +020064 imply CMD_DM
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020065
Weijie Gao16b94902019-04-30 11:13:58 +080066config ARCH_MTMIPS
67 bool "Support MediaTek MIPS platforms"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020068 select HAS_FIXED_TIMER_FREQUENCY
Weijie Gao3f851c92019-09-25 17:45:43 +080069 select CLK
Stefan Roese4c835a62018-09-05 15:12:35 +020070 imply CMD_DM
71 select DISPLAY_CPUINFO
72 select DM
Stefan Roeseb4a6a1b2018-10-09 08:59:09 +020073 imply DM_GPIO
Weijie Gao3f851c92019-09-25 17:45:43 +080074 select DM_RESET
Stefan Roese4c835a62018-09-05 15:12:35 +020075 select DM_SERIAL
Weijie Gao3f851c92019-09-25 17:45:43 +080076 select PINCTRL
77 select PINMUX
78 select PINCONF
79 select RESET_MTMIPS
Tom Rinidb04ff42024-01-10 13:46:10 -050080 imply MTD
Stefan Roese4c835a62018-09-05 15:12:35 +020081 imply DM_SPI
82 imply DM_SPI_FLASH
Stefan Roese9814fb22019-05-28 08:11:37 +020083 select LAST_STAGE_INIT
Stefan Roese4c835a62018-09-05 15:12:35 +020084 select MIPS_TUNE_24KC
85 select OF_CONTROL
86 select ROM_EXCEPTION_VECTORS
87 select SUPPORTS_CPU_MIPS32_R1
88 select SUPPORTS_CPU_MIPS32_R2
89 select SUPPORTS_LITTLE_ENDIAN
Weijie Gao7a4b6962020-04-21 09:28:47 +020090 select SUPPORT_SPL
Stefan Roese4c835a62018-09-05 15:12:35 +020091
Paul Burtoncd71b1d2018-12-16 19:25:22 -030092config ARCH_JZ47XX
93 bool "Support Ingenic JZ47xx"
94 select SUPPORT_SPL
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020095 select HAS_FIXED_TIMER_FREQUENCY
Paul Burtoncd71b1d2018-12-16 19:25:22 -030096 select OF_CONTROL
97 select DM
98
Aaron Williams0dc4ab92020-06-30 12:08:56 +020099config ARCH_OCTEON
100 bool "Support Marvell Octeon CN7xxx platforms"
Stefan Roese787e0d72022-04-07 09:11:46 +0200101 select ARCH_EARLY_INIT_R
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200102 select CPU_CAVIUM_OCTEON
103 select DISPLAY_CPUINFO
104 select DMA_ADDR_T_64BIT
105 select DM
Stefan Roese10155402020-07-30 13:56:21 +0200106 select DM_GPIO
107 select DM_I2C
108 select DM_SERIAL
109 select DM_SPI
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200110 select MIPS_L2_CACHE
Stefan Roesee9609dc2020-06-30 12:33:17 +0200111 select MIPS_MACH_EARLY_INIT
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200112 select MIPS_TUNE_OCTEON3
Tom Rinidb04ff42024-01-10 13:46:10 -0500113 select MTD
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200114 select ROM_EXCEPTION_VECTORS
115 select SUPPORTS_BIG_ENDIAN
116 select SUPPORTS_CPU_MIPS64_OCTEON
117 select PHYS_64BIT
118 select OF_CONTROL
119 select OF_LIVE
120 imply CMD_DM
121
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530122config MACH_PIC32
123 bool "Support Microchip PIC32"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200124 select HAS_FIXED_TIMER_FREQUENCY
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530125 select DM
Tom Rini448e2b62023-01-16 15:46:49 -0500126 select DM_EVENT
Michal Simek5ed063d2018-07-23 15:55:13 +0200127 select OF_CONTROL
Michal Simek08a00cb2018-07-23 15:55:14 +0200128 imply CMD_DM
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530129
Paul Burtonad8783c2016-09-08 07:47:39 +0100130config TARGET_BOSTON
131 bool "Support Boston"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200132 select HAS_FIXED_TIMER_FREQUENCY
Paul Burtonad8783c2016-09-08 07:47:39 +0100133 select DM
134 select DM_SERIAL
Paul Burtonad8783c2016-09-08 07:47:39 +0100135 select MIPS_CM
Tom Riniab92b382021-08-26 11:47:59 -0400136 select SYS_CACHE_SHIFT_6
Paul Burtonad8783c2016-09-08 07:47:39 +0100137 select MIPS_L2_CACHE
Paul Burtond2b12a52017-04-30 21:22:42 +0200138 select OF_BOARD_SETUP
Michal Simek5ed063d2018-07-23 15:55:13 +0200139 select OF_CONTROL
140 select ROM_EXCEPTION_VECTORS
Paul Burtonad8783c2016-09-08 07:47:39 +0100141 select SUPPORTS_BIG_ENDIAN
Paul Burtonad8783c2016-09-08 07:47:39 +0100142 select SUPPORTS_CPU_MIPS32_R1
143 select SUPPORTS_CPU_MIPS32_R2
144 select SUPPORTS_CPU_MIPS32_R6
145 select SUPPORTS_CPU_MIPS64_R1
146 select SUPPORTS_CPU_MIPS64_R2
147 select SUPPORTS_CPU_MIPS64_R6
Michal Simek5ed063d2018-07-23 15:55:13 +0200148 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200149 imply CMD_DM
Paul Burtonad8783c2016-09-08 07:47:39 +0100150
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100151config TARGET_XILFPGA
152 bool "Support Imagination Xilfpga"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200153 select HAS_FIXED_TIMER_FREQUENCY
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100154 select DM
Michal Simek5ed063d2018-07-23 15:55:13 +0200155 select DM_GPIO
156 select DM_SERIAL
Tom Riniab92b382021-08-26 11:47:59 -0400157 select SYS_CACHE_SHIFT_4
Michal Simek5ed063d2018-07-23 15:55:13 +0200158 select OF_CONTROL
159 select ROM_EXCEPTION_VECTORS
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100160 select SUPPORTS_CPU_MIPS32_R1
161 select SUPPORTS_CPU_MIPS32_R2
Michal Simek5ed063d2018-07-23 15:55:13 +0200162 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200163 imply CMD_DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100164 help
165 This supports IMGTEC MIPSfpga platform
166
Masahiro Yamadadd840582014-07-30 14:08:14 +0900167endchoice
168
Paul Burtonad8783c2016-09-08 07:47:39 +0100169source "board/imgtec/boston/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900170source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100171source "board/imgtec/xilfpga/Kconfig"
Wills Wang1d3d0f12016-03-16 16:59:52 +0800172source "arch/mips/mach-ath79/Kconfig"
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +0100173source "arch/mips/mach-mscc/Kconfig"
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +0200174source "arch/mips/mach-bmips/Kconfig"
Paul Burtoncd71b1d2018-12-16 19:25:22 -0300175source "arch/mips/mach-jz47xx/Kconfig"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530176source "arch/mips/mach-pic32/Kconfig"
Weijie Gao16b94902019-04-30 11:13:58 +0800177source "arch/mips/mach-mtmips/Kconfig"
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200178source "arch/mips/mach-octeon/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900179
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100180if MIPS
181
182choice
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100183 prompt "CPU selection"
184 default CPU_MIPS32_R2
185
186config CPU_MIPS32_R1
187 bool "MIPS32 Release 1"
188 depends on SUPPORTS_CPU_MIPS32_R1
189 select 32BIT
190 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100191 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100192 MIPS32 architecture.
193
194config CPU_MIPS32_R2
195 bool "MIPS32 Release 2"
196 depends on SUPPORTS_CPU_MIPS32_R2
197 select 32BIT
198 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100199 Choose this option to build an U-Boot for release 2 through 5 of the
200 MIPS32 architecture.
201
202config CPU_MIPS32_R6
203 bool "MIPS32 Release 6"
204 depends on SUPPORTS_CPU_MIPS32_R6
205 select 32BIT
206 help
207 Choose this option to build an U-Boot for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100208 MIPS32 architecture.
209
210config CPU_MIPS64_R1
211 bool "MIPS64 Release 1"
212 depends on SUPPORTS_CPU_MIPS64_R1
213 select 64BIT
214 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100215 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100216 MIPS64 architecture.
217
218config CPU_MIPS64_R2
219 bool "MIPS64 Release 2"
220 depends on SUPPORTS_CPU_MIPS64_R2
221 select 64BIT
222 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100223 Choose this option to build a kernel for release 2 through 5 of the
224 MIPS64 architecture.
225
226config CPU_MIPS64_R6
227 bool "MIPS64 Release 6"
228 depends on SUPPORTS_CPU_MIPS64_R6
229 select 64BIT
230 help
231 Choose this option to build a kernel for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100232 MIPS64 architecture.
233
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200234config CPU_MIPS64_OCTEON
235 bool "Marvell Octeon series of CPUs"
236 depends on SUPPORTS_CPU_MIPS64_OCTEON
237 select 64BIT
238 help
239 Choose this option for Marvell Octeon CPUs. These CPUs are between
240 MIPS64 R5 and R6 with other extensions.
241
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100242endchoice
243
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100244menu "General setup"
245
246config ROM_EXCEPTION_VECTORS
247 bool "Build U-Boot image with exception vectors"
248 help
249 Enable this to include exception vectors in the U-Boot image. This is
250 required if the U-Boot entry point is equal to the address of the
251 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
252 U-Boot booted from parallel NOR flash).
253 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
254 In that case the image size will be reduced by 0x500 bytes.
255
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200256config SYS_MIPS_TIMER_FREQ
257 int "Fixed MIPS CPU timer frequency in Hz"
258 depends on HAS_FIXED_TIMER_FREQUENCY
259 help
260 Configures a fixed CPU timer frequency.
261
Paul Burton939a2552017-05-12 13:26:11 +0200262config MIPS_CM_BASE
263 hex "MIPS CM GCR Base Address"
264 depends on MIPS_CM
Paul Burtoned048e72017-04-30 21:22:41 +0200265 default 0x16100000 if TARGET_BOSTON
Paul Burton939a2552017-05-12 13:26:11 +0200266 default 0x1fbf8000
267 help
268 The physical base address at which to map the MIPS Coherence Manager
269 Global Configuration Registers (GCRs). This should be set such that
270 the GCRs occupy a region of the physical address space which is
271 otherwise unused, or at minimum that software doesn't need to access.
272
Daniel Schwierzeck5ef337a2018-09-07 19:02:05 +0200273config MIPS_CACHE_INDEX_BASE
274 hex "Index base address for cache initialisation"
275 default 0x80000000 if CPU_MIPS32
276 default 0xffffffff80000000 if CPU_MIPS64
277 help
278 This is the base address for a memory block, which is used for
279 initialising the cache lines. This is also the base address of a memory
280 block which is used for loading and filling cache lines when
281 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
282 Normally this is CKSEG0. If the MIPS system needs to move this block
283 to some SRAM or ScratchPad RAM, adapt this option accordingly.
284
Stefan Roesede34a612020-06-30 12:33:16 +0200285config MIPS_MACH_EARLY_INIT
286 bool "Enable mach specific very early init code"
287 help
288 Use this to enable the call to mips_mach_early_init() very early
289 from start.S. This function can be used e.g. to do some very early
290 CPU / SoC intitialization or image copying. Its called very early
291 and at this stage the PC might not match the linking address
292 (CONFIG_TEXT_BASE) - no absolute jump done until this call.
293
Daniel Schwierzeck57bfb1a2020-07-12 00:45:57 +0200294config MIPS_CACHE_SETUP
295 bool "Allow generic start code to initialize and setup caches"
296 default n if SKIP_LOWLEVEL_INIT
297 default y
298 help
299 This allows the generic start code to invoke the generic initialization
300 of the CPU caches. Disabling this can be useful for RAM boot scenarios
301 (EJTAG, SPL payload) or for machines which don't need cache initialization
302 or which want to provide their own cache implementation.
303
304 If unsure, say yes.
305
306config MIPS_CACHE_DISABLE
307 bool "Allow generic start code to initially disable caches"
308 default n if SKIP_LOWLEVEL_INIT
309 default y
310 help
311 This allows the generic start code to initially disable the CPU caches
312 and run uncached until the caches are initialized and enabled. Disabling
313 this can be useful on machines which don't need cache initialization or
314 which want to provide their own cache implementation.
315
316 If unsure, say yes.
317
Daniel Schwierzeck96301462018-11-01 02:02:21 +0100318config MIPS_RELOCATION_TABLE_SIZE
319 hex "Relocation table size"
320 range 0x100 0x10000
321 default "0x8000"
322 ---help---
323 A table of relocation data will be appended to the U-Boot binary
324 and parsed in relocate_code() to fix up all offsets in the relocated
325 U-Boot.
326
327 This option allows the amount of space reserved for the table to be
328 adjusted in a range from 256 up to 64k. The default is 32k and should
329 be ok in most cases. Reduce this value to shrink the size of U-Boot
330 binary.
331
332 The build will fail and a valid size suggested if this is too small.
333
334 If unsure, leave at the default value.
335
Weijie Gao71059732020-04-21 09:28:25 +0200336config RESTORE_EXCEPTION_VECTOR_BASE
337 bool "Restore exception vector base before booting linux kernel"
Weijie Gao71059732020-04-21 09:28:25 +0200338 help
339 In U-Boot the exception vector base will be moved to top of memory,
340 to be used to display register dump when exception occurs.
341 But some old linux kernel does not honor the base set in CP0_EBASE.
342 A modified exception vector base will cause kernel crash.
343
344 This option will restore the exception vector base to its previous
345 value.
346
347 If unsure, say N.
348
349config OVERRIDE_EXCEPTION_VECTOR_BASE
350 bool "Override the exception vector base to be restored"
351 depends on RESTORE_EXCEPTION_VECTOR_BASE
Weijie Gao71059732020-04-21 09:28:25 +0200352 help
353 Enable this option if you want to use a different exception vector
354 base rather than the previously saved one.
355
356config NEW_EXCEPTION_VECTOR_BASE
357 hex "New exception vector base"
358 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
359 range 0x80000000 0xbffff000
360 default 0x80000000
361 help
362 The exception vector base to be restored before booting linux kernel
363
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200364config INIT_STACK_WITHOUT_MALLOC_F
365 bool "Do not reserve malloc space on initial stack"
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200366 help
367 Enable this option if you don't want to reserve malloc space on
368 initial stack. This is useful if the initial stack can't hold large
369 malloc space. Platform should set the malloc_base later when DRAM is
370 ready to use.
371
372config SPL_INIT_STACK_WITHOUT_MALLOC_F
373 bool "Do not reserve malloc space on initial stack in SPL"
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200374 help
375 Enable this option if you don't want to reserve malloc space on
376 initial stack. This is useful if the initial stack can't hold large
377 malloc space. Platform should set the malloc_base later when DRAM is
378 ready to use.
379
Weijie Gao814a8912020-04-21 09:28:37 +0200380config SPL_LOADER_SUPPORT
381 bool
Weijie Gao814a8912020-04-21 09:28:37 +0200382 help
383 Enable this option if you want to use SPL loaders without DM enabled.
384
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100385endmenu
386
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100387menu "OS boot interface"
388
389config MIPS_BOOT_CMDLINE_LEGACY
390 bool "Hand over legacy command line to Linux kernel"
391 default y
392 help
393 Enable this option if you want U-Boot to hand over the Yamon-style
394 command line to the kernel. All bootargs will be prepared as argc/argv
395 compatible list. The argument count (argc) is stored in register $a0.
396 The address of the argument list (argv) is stored in register $a1.
397
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100398config MIPS_BOOT_ENV_LEGACY
399 bool "Hand over legacy environment to Linux kernel"
400 default y
401 help
402 Enable this option if you want U-Boot to hand over the Yamon-style
403 environment to the kernel. Information like memory size, initrd
404 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day1cc0a9f2016-05-04 04:47:31 -0400405 The address of the environment is stored in register $a2.
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100406
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100407config MIPS_BOOT_FDT
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100408 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100409 help
410 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100411 device tree to the kernel. According to UHI register $a0 will be set
412 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100413
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100414endmenu
415
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100416config SUPPORTS_BIG_ENDIAN
417 bool
418
419config SUPPORTS_LITTLE_ENDIAN
420 bool
421
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100422config SUPPORTS_CPU_MIPS32_R1
423 bool
424
425config SUPPORTS_CPU_MIPS32_R2
426 bool
427
Paul Burtonc52ebea2016-05-16 10:52:12 +0100428config SUPPORTS_CPU_MIPS32_R6
429 bool
430
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100431config SUPPORTS_CPU_MIPS64_R1
432 bool
433
434config SUPPORTS_CPU_MIPS64_R2
435 bool
436
Paul Burtonc52ebea2016-05-16 10:52:12 +0100437config SUPPORTS_CPU_MIPS64_R6
438 bool
439
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200440config SUPPORTS_CPU_MIPS64_OCTEON
441 bool
442
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200443config HAS_FIXED_TIMER_FREQUENCY
444 bool
445
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200446config CPU_CAVIUM_OCTEON
447 bool
448
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100449config CPU_MIPS32
450 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100451 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100452
453config CPU_MIPS64
454 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100455 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200456 default y if CPU_MIPS64_OCTEON
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100457
Daniel Schwierzeck0315a282015-12-26 19:55:37 +0100458config MIPS_TUNE_4KC
459 bool
460
461config MIPS_TUNE_14KC
462 bool
463
464config MIPS_TUNE_24KC
465 bool
466
Daniel Schwierzeck5f9cc362016-05-27 15:39:39 +0200467config MIPS_TUNE_34KC
468 bool
469
Marek Vasut0a0a9582016-05-06 20:10:33 +0200470config MIPS_TUNE_74KC
471 bool
472
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200473config MIPS_TUNE_OCTEON3
474 bool
475
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +0100476config SWAP_IO_SPACE
477 bool
478
Paul Burtondd7c7202015-01-29 01:28:02 +0000479config SYS_MIPS_CACHE_INIT_RAM_LOAD
480 bool
481
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200482config MIPS_INIT_STACK_IN_SRAM
483 bool
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200484 help
485 Select this if the initial stack frame could be setup in SRAM.
486 Normally the initial stack frame is set up in DRAM which is often
487 only available after lowlevel_init. With this option the initial
488 stack frame and the early C environment is set up before
489 lowlevel_init. Thus lowlevel_init does not need to be implemented
490 in assembler.
491
Weijie Gao2434f582020-04-21 09:28:27 +0200492config MIPS_SRAM_INIT
493 bool
Weijie Gao2434f582020-04-21 09:28:27 +0200494 depends on MIPS_INIT_STACK_IN_SRAM
495 help
496 Select this if the SRAM for initial stack needs to be initialized
497 before it can be used. If enabled, a function mips_sram_init() will
498 be called just before setup_stack_gd.
499
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200500config DMA_ADDR_T_64BIT
501 bool
502 help
503 Select this to enable 64-bit DMA addressing
504
Paul Burtonace3be42016-05-27 14:28:04 +0100505config SYS_DCACHE_SIZE
506 int
507 default 0
508 help
509 The total size of the L1 Dcache, if known at compile time.
510
Paul Burton37228622016-05-27 14:28:05 +0100511config SYS_DCACHE_LINE_SIZE
Paul Burton4b7b0a02016-06-09 13:09:52 +0100512 int
Paul Burton37228622016-05-27 14:28:05 +0100513 default 0
514 help
515 The size of L1 Dcache lines, if known at compile time.
516
Paul Burtonace3be42016-05-27 14:28:04 +0100517config SYS_ICACHE_SIZE
518 int
519 default 0
520 help
521 The total size of the L1 ICache, if known at compile time.
522
Paul Burton37228622016-05-27 14:28:05 +0100523config SYS_ICACHE_LINE_SIZE
Paul Burtonace3be42016-05-27 14:28:04 +0100524 int
525 default 0
526 help
Paul Burton37228622016-05-27 14:28:05 +0100527 The size of L1 Icache lines, if known at compile time.
Paul Burtonace3be42016-05-27 14:28:04 +0100528
Ramon Fried22247c62019-06-10 21:05:26 +0300529config SYS_SCACHE_LINE_SIZE
530 int
531 default 0
532 help
533 The size of L2 cache lines, if known at compile time.
534
535
Paul Burtonace3be42016-05-27 14:28:04 +0100536config SYS_CACHE_SIZE_AUTO
537 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried22247c62019-06-10 21:05:26 +0300538 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
539 SYS_SCACHE_LINE_SIZE = 0
Paul Burtonace3be42016-05-27 14:28:04 +0100540 help
541 Select this (or let it be auto-selected by not defining any cache
542 sizes) in order to allow U-Boot to automatically detect the sizes
543 of caches at runtime. This has a small cost in code size & runtime
544 so if you know the cache configuration for your system at compile
545 time it would be beneficial to configure it.
546
Paul Burton4baa0ab2016-09-21 11:18:54 +0100547config MIPS_L2_CACHE
548 bool
549 help
550 Select this if your system includes an L2 cache and you want U-Boot
551 to initialise & maintain it.
552
Paul Burton05e34252016-01-29 13:54:52 +0000553config DYNAMIC_IO_PORT_BASE
554 bool
555
Paul Burtonb2b135d2016-09-21 11:18:53 +0100556config MIPS_CM
557 bool
558 help
559 Select this if your system contains a MIPS Coherence Manager and you
560 wish U-Boot to configure it or make use of it to retrieve system
561 information such as cache configuration.
562
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200563config MIPS_INSERT_BOOT_CONFIG
564 bool
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200565 help
566 Enable this to insert some board-specific boot configuration in
567 the U-Boot binary at offset 0x10.
568
569config MIPS_BOOT_CONFIG_WORD0
570 hex
571 depends on MIPS_INSERT_BOOT_CONFIG
572 default 0x420 if TARGET_MALTA
573 default 0x0
574 help
575 Value which is inserted as boot config word 0.
576
577config MIPS_BOOT_CONFIG_WORD1
578 hex
579 depends on MIPS_INSERT_BOOT_CONFIG
580 default 0x0
581 help
582 Value which is inserted as boot config word 1.
583
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100584endif
585
Masahiro Yamadadd840582014-07-30 14:08:14 +0900586endmenu