blob: 9af0133f1068646da36771f1c7ea258593d3bd8a [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
Daniel Schwierzeck526ceb42021-07-15 20:54:01 +020022 select DM_ETH
Paul Burton05e34252016-01-29 13:54:52 +000023 select DYNAMIC_IO_PORT_BASE
Paul Burton566ce04d2016-09-21 11:18:56 +010024 select MIPS_CM
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +020025 select MIPS_INSERT_BOOT_CONFIG
Tom Riniab92b382021-08-26 11:47:59 -040026 select SYS_CACHE_SHIFT_6
Paul Burton566ce04d2016-09-21 11:18:56 +010027 select MIPS_L2_CACHE
Paul Burton6242aa12016-05-17 07:43:28 +010028 select OF_CONTROL
29 select OF_ISA_BUS
Daniel Schwierzeck526ceb42021-07-15 20:54:01 +020030 select PCI_MAP_SYSTEM_MEMORY
Michal Simek5ed063d2018-07-23 15:55:13 +020031 select ROM_EXCEPTION_VECTORS
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010032 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010033 select SUPPORTS_CPU_MIPS32_R1
34 select SUPPORTS_CPU_MIPS32_R2
Paul Burton40ba13c2016-05-16 10:52:14 +010035 select SUPPORTS_CPU_MIPS32_R6
Paul Burton0f832b92016-05-26 14:49:36 +010036 select SUPPORTS_CPU_MIPS64_R1
37 select SUPPORTS_CPU_MIPS64_R2
38 select SUPPORTS_CPU_MIPS64_R6
Michal Simek5ed063d2018-07-23 15:55:13 +020039 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +010040 select SWAP_IO_SPACE
Michal Simek08a00cb2018-07-23 15:55:14 +020041 imply CMD_DM
Masahiro Yamadadd840582014-07-30 14:08:14 +090042
Wills Wang1d3d0f12016-03-16 16:59:52 +080043config ARCH_ATH79
44 bool "Support QCA/Atheros ath79"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020045 select HAS_FIXED_TIMER_FREQUENCY
Wills Wang1d3d0f12016-03-16 16:59:52 +080046 select DM
Michal Simek5ed063d2018-07-23 15:55:13 +020047 select OF_CONTROL
Michal Simek08a00cb2018-07-23 15:55:14 +020048 imply CMD_DM
Wills Wang1d3d0f12016-03-16 16:59:52 +080049
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +010050config ARCH_MSCC
51 bool "Support MSCC VCore-III"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020052 select HAS_FIXED_TIMER_FREQUENCY
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +010053 select OF_CONTROL
54 select DM
55
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020056config ARCH_BMIPS
57 bool "Support BMIPS SoCs"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020058 select HAS_FIXED_TIMER_FREQUENCY
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020059 select CLK
60 select CPU
Michal Simek5ed063d2018-07-23 15:55:13 +020061 select DM
62 select OF_CONTROL
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020063 select RAM
64 select SYSRESET
Michal Simek08a00cb2018-07-23 15:55:14 +020065 imply CMD_DM
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020066
Weijie Gao16b94902019-04-30 11:13:58 +080067config ARCH_MTMIPS
68 bool "Support MediaTek MIPS platforms"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020069 select HAS_FIXED_TIMER_FREQUENCY
Weijie Gao3f851c92019-09-25 17:45:43 +080070 select CLK
Stefan Roese4c835a62018-09-05 15:12:35 +020071 imply CMD_DM
72 select DISPLAY_CPUINFO
73 select DM
Stefan Roeseb4a6a1b2018-10-09 08:59:09 +020074 imply DM_ETH
75 imply DM_GPIO
Weijie Gao3f851c92019-09-25 17:45:43 +080076 select DM_RESET
Stefan Roese4c835a62018-09-05 15:12:35 +020077 select DM_SERIAL
Weijie Gao3f851c92019-09-25 17:45:43 +080078 select PINCTRL
79 select PINMUX
80 select PINCONF
81 select RESET_MTMIPS
Stefan Roese4c835a62018-09-05 15:12:35 +020082 imply DM_SPI
83 imply DM_SPI_FLASH
Stefan Roese9814fb22019-05-28 08:11:37 +020084 select LAST_STAGE_INIT
Stefan Roese4c835a62018-09-05 15:12:35 +020085 select MIPS_TUNE_24KC
86 select OF_CONTROL
87 select ROM_EXCEPTION_VECTORS
88 select SUPPORTS_CPU_MIPS32_R1
89 select SUPPORTS_CPU_MIPS32_R2
90 select SUPPORTS_LITTLE_ENDIAN
Weijie Gao7a4b6962020-04-21 09:28:47 +020091 select SUPPORT_SPL
Stefan Roese4c835a62018-09-05 15:12:35 +020092
Paul Burtoncd71b1d2018-12-16 19:25:22 -030093config ARCH_JZ47XX
94 bool "Support Ingenic JZ47xx"
95 select SUPPORT_SPL
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020096 select HAS_FIXED_TIMER_FREQUENCY
Paul Burtoncd71b1d2018-12-16 19:25:22 -030097 select OF_CONTROL
98 select DM
99
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200100config ARCH_OCTEON
101 bool "Support Marvell Octeon CN7xxx platforms"
Stefan Roese787e0d72022-04-07 09:11:46 +0200102 select ARCH_EARLY_INIT_R
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200103 select CPU_CAVIUM_OCTEON
104 select DISPLAY_CPUINFO
105 select DMA_ADDR_T_64BIT
106 select DM
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200107 select DM_ETH
Stefan Roese10155402020-07-30 13:56:21 +0200108 select DM_GPIO
109 select DM_I2C
110 select DM_SERIAL
111 select DM_SPI
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200112 select MIPS_L2_CACHE
Stefan Roesee9609dc2020-06-30 12:33:17 +0200113 select MIPS_MACH_EARLY_INIT
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200114 select MIPS_TUNE_OCTEON3
115 select ROM_EXCEPTION_VECTORS
116 select SUPPORTS_BIG_ENDIAN
117 select SUPPORTS_CPU_MIPS64_OCTEON
118 select PHYS_64BIT
119 select OF_CONTROL
120 select OF_LIVE
121 imply CMD_DM
122
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530123config MACH_PIC32
124 bool "Support Microchip PIC32"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200125 select HAS_FIXED_TIMER_FREQUENCY
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530126 select DM
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
Simon Glass7fe32b32022-03-04 08:43:05 -0700134 imply DM_EVENT
Paul Burtonad8783c2016-09-08 07:47:39 +0100135 select DM_SERIAL
Paul Burtonad8783c2016-09-08 07:47:39 +0100136 select MIPS_CM
Tom Riniab92b382021-08-26 11:47:59 -0400137 select SYS_CACHE_SHIFT_6
Paul Burtonad8783c2016-09-08 07:47:39 +0100138 select MIPS_L2_CACHE
Paul Burtond2b12a52017-04-30 21:22:42 +0200139 select OF_BOARD_SETUP
Michal Simek5ed063d2018-07-23 15:55:13 +0200140 select OF_CONTROL
141 select ROM_EXCEPTION_VECTORS
Paul Burtonad8783c2016-09-08 07:47:39 +0100142 select SUPPORTS_BIG_ENDIAN
Paul Burtonad8783c2016-09-08 07:47:39 +0100143 select SUPPORTS_CPU_MIPS32_R1
144 select SUPPORTS_CPU_MIPS32_R2
145 select SUPPORTS_CPU_MIPS32_R6
146 select SUPPORTS_CPU_MIPS64_R1
147 select SUPPORTS_CPU_MIPS64_R2
148 select SUPPORTS_CPU_MIPS64_R6
Michal Simek5ed063d2018-07-23 15:55:13 +0200149 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200150 imply CMD_DM
Paul Burtonad8783c2016-09-08 07:47:39 +0100151
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100152config TARGET_XILFPGA
153 bool "Support Imagination Xilfpga"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200154 select HAS_FIXED_TIMER_FREQUENCY
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100155 select DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100156 select DM_ETH
Michal Simek5ed063d2018-07-23 15:55:13 +0200157 select DM_GPIO
158 select DM_SERIAL
Tom Riniab92b382021-08-26 11:47:59 -0400159 select SYS_CACHE_SHIFT_4
Michal Simek5ed063d2018-07-23 15:55:13 +0200160 select OF_CONTROL
161 select ROM_EXCEPTION_VECTORS
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100162 select SUPPORTS_CPU_MIPS32_R1
163 select SUPPORTS_CPU_MIPS32_R2
Michal Simek5ed063d2018-07-23 15:55:13 +0200164 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200165 imply CMD_DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100166 help
167 This supports IMGTEC MIPSfpga platform
168
Masahiro Yamadadd840582014-07-30 14:08:14 +0900169endchoice
170
Paul Burtonad8783c2016-09-08 07:47:39 +0100171source "board/imgtec/boston/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900172source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100173source "board/imgtec/xilfpga/Kconfig"
Wills Wang1d3d0f12016-03-16 16:59:52 +0800174source "arch/mips/mach-ath79/Kconfig"
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +0100175source "arch/mips/mach-mscc/Kconfig"
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +0200176source "arch/mips/mach-bmips/Kconfig"
Paul Burtoncd71b1d2018-12-16 19:25:22 -0300177source "arch/mips/mach-jz47xx/Kconfig"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530178source "arch/mips/mach-pic32/Kconfig"
Weijie Gao16b94902019-04-30 11:13:58 +0800179source "arch/mips/mach-mtmips/Kconfig"
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200180source "arch/mips/mach-octeon/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900181
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100182if MIPS
183
184choice
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100185 prompt "CPU selection"
186 default CPU_MIPS32_R2
187
188config CPU_MIPS32_R1
189 bool "MIPS32 Release 1"
190 depends on SUPPORTS_CPU_MIPS32_R1
191 select 32BIT
192 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100193 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100194 MIPS32 architecture.
195
196config CPU_MIPS32_R2
197 bool "MIPS32 Release 2"
198 depends on SUPPORTS_CPU_MIPS32_R2
199 select 32BIT
200 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100201 Choose this option to build an U-Boot for release 2 through 5 of the
202 MIPS32 architecture.
203
204config CPU_MIPS32_R6
205 bool "MIPS32 Release 6"
206 depends on SUPPORTS_CPU_MIPS32_R6
207 select 32BIT
208 help
209 Choose this option to build an U-Boot for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100210 MIPS32 architecture.
211
212config CPU_MIPS64_R1
213 bool "MIPS64 Release 1"
214 depends on SUPPORTS_CPU_MIPS64_R1
215 select 64BIT
216 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100217 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100218 MIPS64 architecture.
219
220config CPU_MIPS64_R2
221 bool "MIPS64 Release 2"
222 depends on SUPPORTS_CPU_MIPS64_R2
223 select 64BIT
224 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100225 Choose this option to build a kernel for release 2 through 5 of the
226 MIPS64 architecture.
227
228config CPU_MIPS64_R6
229 bool "MIPS64 Release 6"
230 depends on SUPPORTS_CPU_MIPS64_R6
231 select 64BIT
232 help
233 Choose this option to build a kernel for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100234 MIPS64 architecture.
235
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200236config CPU_MIPS64_OCTEON
237 bool "Marvell Octeon series of CPUs"
238 depends on SUPPORTS_CPU_MIPS64_OCTEON
239 select 64BIT
240 help
241 Choose this option for Marvell Octeon CPUs. These CPUs are between
242 MIPS64 R5 and R6 with other extensions.
243
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100244endchoice
245
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100246menu "General setup"
247
248config ROM_EXCEPTION_VECTORS
249 bool "Build U-Boot image with exception vectors"
250 help
251 Enable this to include exception vectors in the U-Boot image. This is
252 required if the U-Boot entry point is equal to the address of the
253 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
254 U-Boot booted from parallel NOR flash).
255 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
256 In that case the image size will be reduced by 0x500 bytes.
257
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200258config SYS_MIPS_TIMER_FREQ
259 int "Fixed MIPS CPU timer frequency in Hz"
260 depends on HAS_FIXED_TIMER_FREQUENCY
261 help
262 Configures a fixed CPU timer frequency.
263
Paul Burton939a2552017-05-12 13:26:11 +0200264config MIPS_CM_BASE
265 hex "MIPS CM GCR Base Address"
266 depends on MIPS_CM
Paul Burtoned048e72017-04-30 21:22:41 +0200267 default 0x16100000 if TARGET_BOSTON
Paul Burton939a2552017-05-12 13:26:11 +0200268 default 0x1fbf8000
269 help
270 The physical base address at which to map the MIPS Coherence Manager
271 Global Configuration Registers (GCRs). This should be set such that
272 the GCRs occupy a region of the physical address space which is
273 otherwise unused, or at minimum that software doesn't need to access.
274
Daniel Schwierzeck5ef337a2018-09-07 19:02:05 +0200275config MIPS_CACHE_INDEX_BASE
276 hex "Index base address for cache initialisation"
277 default 0x80000000 if CPU_MIPS32
278 default 0xffffffff80000000 if CPU_MIPS64
279 help
280 This is the base address for a memory block, which is used for
281 initialising the cache lines. This is also the base address of a memory
282 block which is used for loading and filling cache lines when
283 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
284 Normally this is CKSEG0. If the MIPS system needs to move this block
285 to some SRAM or ScratchPad RAM, adapt this option accordingly.
286
Stefan Roesede34a612020-06-30 12:33:16 +0200287config MIPS_MACH_EARLY_INIT
288 bool "Enable mach specific very early init code"
289 help
290 Use this to enable the call to mips_mach_early_init() very early
291 from start.S. This function can be used e.g. to do some very early
292 CPU / SoC intitialization or image copying. Its called very early
293 and at this stage the PC might not match the linking address
294 (CONFIG_TEXT_BASE) - no absolute jump done until this call.
295
Daniel Schwierzeck57bfb1a2020-07-12 00:45:57 +0200296config MIPS_CACHE_SETUP
297 bool "Allow generic start code to initialize and setup caches"
298 default n if SKIP_LOWLEVEL_INIT
299 default y
300 help
301 This allows the generic start code to invoke the generic initialization
302 of the CPU caches. Disabling this can be useful for RAM boot scenarios
303 (EJTAG, SPL payload) or for machines which don't need cache initialization
304 or which want to provide their own cache implementation.
305
306 If unsure, say yes.
307
308config MIPS_CACHE_DISABLE
309 bool "Allow generic start code to initially disable caches"
310 default n if SKIP_LOWLEVEL_INIT
311 default y
312 help
313 This allows the generic start code to initially disable the CPU caches
314 and run uncached until the caches are initialized and enabled. Disabling
315 this can be useful on machines which don't need cache initialization or
316 which want to provide their own cache implementation.
317
318 If unsure, say yes.
319
Daniel Schwierzeck96301462018-11-01 02:02:21 +0100320config MIPS_RELOCATION_TABLE_SIZE
321 hex "Relocation table size"
322 range 0x100 0x10000
323 default "0x8000"
324 ---help---
325 A table of relocation data will be appended to the U-Boot binary
326 and parsed in relocate_code() to fix up all offsets in the relocated
327 U-Boot.
328
329 This option allows the amount of space reserved for the table to be
330 adjusted in a range from 256 up to 64k. The default is 32k and should
331 be ok in most cases. Reduce this value to shrink the size of U-Boot
332 binary.
333
334 The build will fail and a valid size suggested if this is too small.
335
336 If unsure, leave at the default value.
337
Weijie Gao71059732020-04-21 09:28:25 +0200338config RESTORE_EXCEPTION_VECTOR_BASE
339 bool "Restore exception vector base before booting linux kernel"
Weijie Gao71059732020-04-21 09:28:25 +0200340 help
341 In U-Boot the exception vector base will be moved to top of memory,
342 to be used to display register dump when exception occurs.
343 But some old linux kernel does not honor the base set in CP0_EBASE.
344 A modified exception vector base will cause kernel crash.
345
346 This option will restore the exception vector base to its previous
347 value.
348
349 If unsure, say N.
350
351config OVERRIDE_EXCEPTION_VECTOR_BASE
352 bool "Override the exception vector base to be restored"
353 depends on RESTORE_EXCEPTION_VECTOR_BASE
Weijie Gao71059732020-04-21 09:28:25 +0200354 help
355 Enable this option if you want to use a different exception vector
356 base rather than the previously saved one.
357
358config NEW_EXCEPTION_VECTOR_BASE
359 hex "New exception vector base"
360 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
361 range 0x80000000 0xbffff000
362 default 0x80000000
363 help
364 The exception vector base to be restored before booting linux kernel
365
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200366config INIT_STACK_WITHOUT_MALLOC_F
367 bool "Do not reserve malloc space on initial stack"
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200368 help
369 Enable this option if you don't want to reserve malloc space on
370 initial stack. This is useful if the initial stack can't hold large
371 malloc space. Platform should set the malloc_base later when DRAM is
372 ready to use.
373
374config SPL_INIT_STACK_WITHOUT_MALLOC_F
375 bool "Do not reserve malloc space on initial stack in SPL"
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200376 help
377 Enable this option if you don't want to reserve malloc space on
378 initial stack. This is useful if the initial stack can't hold large
379 malloc space. Platform should set the malloc_base later when DRAM is
380 ready to use.
381
Weijie Gao814a8912020-04-21 09:28:37 +0200382config SPL_LOADER_SUPPORT
383 bool
Weijie Gao814a8912020-04-21 09:28:37 +0200384 help
385 Enable this option if you want to use SPL loaders without DM enabled.
386
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100387endmenu
388
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100389menu "OS boot interface"
390
391config MIPS_BOOT_CMDLINE_LEGACY
392 bool "Hand over legacy command line to Linux kernel"
393 default y
394 help
395 Enable this option if you want U-Boot to hand over the Yamon-style
396 command line to the kernel. All bootargs will be prepared as argc/argv
397 compatible list. The argument count (argc) is stored in register $a0.
398 The address of the argument list (argv) is stored in register $a1.
399
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100400config MIPS_BOOT_ENV_LEGACY
401 bool "Hand over legacy environment to Linux kernel"
402 default y
403 help
404 Enable this option if you want U-Boot to hand over the Yamon-style
405 environment to the kernel. Information like memory size, initrd
406 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day1cc0a9f2016-05-04 04:47:31 -0400407 The address of the environment is stored in register $a2.
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100408
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100409config MIPS_BOOT_FDT
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100410 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100411 help
412 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100413 device tree to the kernel. According to UHI register $a0 will be set
414 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100415
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100416endmenu
417
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100418config SUPPORTS_BIG_ENDIAN
419 bool
420
421config SUPPORTS_LITTLE_ENDIAN
422 bool
423
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100424config SUPPORTS_CPU_MIPS32_R1
425 bool
426
427config SUPPORTS_CPU_MIPS32_R2
428 bool
429
Paul Burtonc52ebea2016-05-16 10:52:12 +0100430config SUPPORTS_CPU_MIPS32_R6
431 bool
432
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100433config SUPPORTS_CPU_MIPS64_R1
434 bool
435
436config SUPPORTS_CPU_MIPS64_R2
437 bool
438
Paul Burtonc52ebea2016-05-16 10:52:12 +0100439config SUPPORTS_CPU_MIPS64_R6
440 bool
441
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200442config SUPPORTS_CPU_MIPS64_OCTEON
443 bool
444
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200445config HAS_FIXED_TIMER_FREQUENCY
446 bool
447
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200448config CPU_CAVIUM_OCTEON
449 bool
450
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100451config CPU_MIPS32
452 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100453 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100454
455config CPU_MIPS64
456 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100457 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200458 default y if CPU_MIPS64_OCTEON
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100459
Daniel Schwierzeck0315a282015-12-26 19:55:37 +0100460config MIPS_TUNE_4KC
461 bool
462
463config MIPS_TUNE_14KC
464 bool
465
466config MIPS_TUNE_24KC
467 bool
468
Daniel Schwierzeck5f9cc362016-05-27 15:39:39 +0200469config MIPS_TUNE_34KC
470 bool
471
Marek Vasut0a0a9582016-05-06 20:10:33 +0200472config MIPS_TUNE_74KC
473 bool
474
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200475config MIPS_TUNE_OCTEON3
476 bool
477
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100478config 32BIT
479 bool
480
481config 64BIT
482 bool
483
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +0100484config SWAP_IO_SPACE
485 bool
486
Paul Burtondd7c7202015-01-29 01:28:02 +0000487config SYS_MIPS_CACHE_INIT_RAM_LOAD
488 bool
489
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200490config MIPS_INIT_STACK_IN_SRAM
491 bool
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200492 help
493 Select this if the initial stack frame could be setup in SRAM.
494 Normally the initial stack frame is set up in DRAM which is often
495 only available after lowlevel_init. With this option the initial
496 stack frame and the early C environment is set up before
497 lowlevel_init. Thus lowlevel_init does not need to be implemented
498 in assembler.
499
Weijie Gao2434f582020-04-21 09:28:27 +0200500config MIPS_SRAM_INIT
501 bool
Weijie Gao2434f582020-04-21 09:28:27 +0200502 depends on MIPS_INIT_STACK_IN_SRAM
503 help
504 Select this if the SRAM for initial stack needs to be initialized
505 before it can be used. If enabled, a function mips_sram_init() will
506 be called just before setup_stack_gd.
507
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200508config DMA_ADDR_T_64BIT
509 bool
510 help
511 Select this to enable 64-bit DMA addressing
512
Paul Burtonace3be42016-05-27 14:28:04 +0100513config SYS_DCACHE_SIZE
514 int
515 default 0
516 help
517 The total size of the L1 Dcache, if known at compile time.
518
Paul Burton37228622016-05-27 14:28:05 +0100519config SYS_DCACHE_LINE_SIZE
Paul Burton4b7b0a02016-06-09 13:09:52 +0100520 int
Paul Burton37228622016-05-27 14:28:05 +0100521 default 0
522 help
523 The size of L1 Dcache lines, if known at compile time.
524
Paul Burtonace3be42016-05-27 14:28:04 +0100525config SYS_ICACHE_SIZE
526 int
527 default 0
528 help
529 The total size of the L1 ICache, if known at compile time.
530
Paul Burton37228622016-05-27 14:28:05 +0100531config SYS_ICACHE_LINE_SIZE
Paul Burtonace3be42016-05-27 14:28:04 +0100532 int
533 default 0
534 help
Paul Burton37228622016-05-27 14:28:05 +0100535 The size of L1 Icache lines, if known at compile time.
Paul Burtonace3be42016-05-27 14:28:04 +0100536
Ramon Fried22247c62019-06-10 21:05:26 +0300537config SYS_SCACHE_LINE_SIZE
538 int
539 default 0
540 help
541 The size of L2 cache lines, if known at compile time.
542
543
Paul Burtonace3be42016-05-27 14:28:04 +0100544config SYS_CACHE_SIZE_AUTO
545 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried22247c62019-06-10 21:05:26 +0300546 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
547 SYS_SCACHE_LINE_SIZE = 0
Paul Burtonace3be42016-05-27 14:28:04 +0100548 help
549 Select this (or let it be auto-selected by not defining any cache
550 sizes) in order to allow U-Boot to automatically detect the sizes
551 of caches at runtime. This has a small cost in code size & runtime
552 so if you know the cache configuration for your system at compile
553 time it would be beneficial to configure it.
554
Paul Burton4baa0ab2016-09-21 11:18:54 +0100555config MIPS_L2_CACHE
556 bool
557 help
558 Select this if your system includes an L2 cache and you want U-Boot
559 to initialise & maintain it.
560
Paul Burton05e34252016-01-29 13:54:52 +0000561config DYNAMIC_IO_PORT_BASE
562 bool
563
Paul Burtonb2b135d2016-09-21 11:18:53 +0100564config MIPS_CM
565 bool
566 help
567 Select this if your system contains a MIPS Coherence Manager and you
568 wish U-Boot to configure it or make use of it to retrieve system
569 information such as cache configuration.
570
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200571config MIPS_INSERT_BOOT_CONFIG
572 bool
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200573 help
574 Enable this to insert some board-specific boot configuration in
575 the U-Boot binary at offset 0x10.
576
577config MIPS_BOOT_CONFIG_WORD0
578 hex
579 depends on MIPS_INSERT_BOOT_CONFIG
580 default 0x420 if TARGET_MALTA
581 default 0x0
582 help
583 Value which is inserted as boot config word 0.
584
585config MIPS_BOOT_CONFIG_WORD1
586 hex
587 depends on MIPS_INSERT_BOOT_CONFIG
588 default 0x0
589 help
590 Value which is inserted as boot config word 1.
591
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100592endif
593
Masahiro Yamadadd840582014-07-30 14:08:14 +0900594endmenu