blob: 569f5f48bc6cce95f50d5b8d373f6bd1245ce853 [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
Stefan Roese4c835a62018-09-05 15:12:35 +020080 imply DM_SPI
81 imply DM_SPI_FLASH
Stefan Roese9814fb22019-05-28 08:11:37 +020082 select LAST_STAGE_INIT
Stefan Roese4c835a62018-09-05 15:12:35 +020083 select MIPS_TUNE_24KC
84 select OF_CONTROL
85 select ROM_EXCEPTION_VECTORS
86 select SUPPORTS_CPU_MIPS32_R1
87 select SUPPORTS_CPU_MIPS32_R2
88 select SUPPORTS_LITTLE_ENDIAN
Weijie Gao7a4b6962020-04-21 09:28:47 +020089 select SUPPORT_SPL
Stefan Roese4c835a62018-09-05 15:12:35 +020090
Paul Burtoncd71b1d2018-12-16 19:25:22 -030091config ARCH_JZ47XX
92 bool "Support Ingenic JZ47xx"
93 select SUPPORT_SPL
Daniel Schwierzecka29491a2022-07-10 17:15:14 +020094 select HAS_FIXED_TIMER_FREQUENCY
Paul Burtoncd71b1d2018-12-16 19:25:22 -030095 select OF_CONTROL
96 select DM
97
Aaron Williams0dc4ab92020-06-30 12:08:56 +020098config ARCH_OCTEON
99 bool "Support Marvell Octeon CN7xxx platforms"
Stefan Roese787e0d72022-04-07 09:11:46 +0200100 select ARCH_EARLY_INIT_R
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200101 select CPU_CAVIUM_OCTEON
102 select DISPLAY_CPUINFO
103 select DMA_ADDR_T_64BIT
104 select DM
Stefan Roese10155402020-07-30 13:56:21 +0200105 select DM_GPIO
106 select DM_I2C
107 select DM_SERIAL
108 select DM_SPI
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200109 select MIPS_L2_CACHE
Stefan Roesee9609dc2020-06-30 12:33:17 +0200110 select MIPS_MACH_EARLY_INIT
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200111 select MIPS_TUNE_OCTEON3
112 select ROM_EXCEPTION_VECTORS
113 select SUPPORTS_BIG_ENDIAN
114 select SUPPORTS_CPU_MIPS64_OCTEON
115 select PHYS_64BIT
116 select OF_CONTROL
117 select OF_LIVE
118 imply CMD_DM
119
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530120config MACH_PIC32
121 bool "Support Microchip PIC32"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200122 select HAS_FIXED_TIMER_FREQUENCY
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530123 select DM
Tom Rini448e2b62023-01-16 15:46:49 -0500124 select DM_EVENT
Michal Simek5ed063d2018-07-23 15:55:13 +0200125 select OF_CONTROL
Michal Simek08a00cb2018-07-23 15:55:14 +0200126 imply CMD_DM
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530127
Paul Burtonad8783c2016-09-08 07:47:39 +0100128config TARGET_BOSTON
129 bool "Support Boston"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200130 select HAS_FIXED_TIMER_FREQUENCY
Paul Burtonad8783c2016-09-08 07:47:39 +0100131 select DM
132 select DM_SERIAL
Paul Burtonad8783c2016-09-08 07:47:39 +0100133 select MIPS_CM
Tom Riniab92b382021-08-26 11:47:59 -0400134 select SYS_CACHE_SHIFT_6
Paul Burtonad8783c2016-09-08 07:47:39 +0100135 select MIPS_L2_CACHE
Paul Burtond2b12a52017-04-30 21:22:42 +0200136 select OF_BOARD_SETUP
Michal Simek5ed063d2018-07-23 15:55:13 +0200137 select OF_CONTROL
138 select ROM_EXCEPTION_VECTORS
Paul Burtonad8783c2016-09-08 07:47:39 +0100139 select SUPPORTS_BIG_ENDIAN
Paul Burtonad8783c2016-09-08 07:47:39 +0100140 select SUPPORTS_CPU_MIPS32_R1
141 select SUPPORTS_CPU_MIPS32_R2
142 select SUPPORTS_CPU_MIPS32_R6
143 select SUPPORTS_CPU_MIPS64_R1
144 select SUPPORTS_CPU_MIPS64_R2
145 select SUPPORTS_CPU_MIPS64_R6
Michal Simek5ed063d2018-07-23 15:55:13 +0200146 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200147 imply CMD_DM
Paul Burtonad8783c2016-09-08 07:47:39 +0100148
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100149config TARGET_XILFPGA
150 bool "Support Imagination Xilfpga"
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200151 select HAS_FIXED_TIMER_FREQUENCY
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100152 select DM
Michal Simek5ed063d2018-07-23 15:55:13 +0200153 select DM_GPIO
154 select DM_SERIAL
Tom Riniab92b382021-08-26 11:47:59 -0400155 select SYS_CACHE_SHIFT_4
Michal Simek5ed063d2018-07-23 15:55:13 +0200156 select OF_CONTROL
157 select ROM_EXCEPTION_VECTORS
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100158 select SUPPORTS_CPU_MIPS32_R1
159 select SUPPORTS_CPU_MIPS32_R2
Michal Simek5ed063d2018-07-23 15:55:13 +0200160 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200161 imply CMD_DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100162 help
163 This supports IMGTEC MIPSfpga platform
164
Masahiro Yamadadd840582014-07-30 14:08:14 +0900165endchoice
166
Paul Burtonad8783c2016-09-08 07:47:39 +0100167source "board/imgtec/boston/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900168source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100169source "board/imgtec/xilfpga/Kconfig"
Wills Wang1d3d0f12016-03-16 16:59:52 +0800170source "arch/mips/mach-ath79/Kconfig"
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +0100171source "arch/mips/mach-mscc/Kconfig"
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +0200172source "arch/mips/mach-bmips/Kconfig"
Paul Burtoncd71b1d2018-12-16 19:25:22 -0300173source "arch/mips/mach-jz47xx/Kconfig"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530174source "arch/mips/mach-pic32/Kconfig"
Weijie Gao16b94902019-04-30 11:13:58 +0800175source "arch/mips/mach-mtmips/Kconfig"
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200176source "arch/mips/mach-octeon/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900177
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100178if MIPS
179
180choice
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100181 prompt "CPU selection"
182 default CPU_MIPS32_R2
183
184config CPU_MIPS32_R1
185 bool "MIPS32 Release 1"
186 depends on SUPPORTS_CPU_MIPS32_R1
187 select 32BIT
188 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100189 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100190 MIPS32 architecture.
191
192config CPU_MIPS32_R2
193 bool "MIPS32 Release 2"
194 depends on SUPPORTS_CPU_MIPS32_R2
195 select 32BIT
196 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100197 Choose this option to build an U-Boot for release 2 through 5 of the
198 MIPS32 architecture.
199
200config CPU_MIPS32_R6
201 bool "MIPS32 Release 6"
202 depends on SUPPORTS_CPU_MIPS32_R6
203 select 32BIT
204 help
205 Choose this option to build an U-Boot for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100206 MIPS32 architecture.
207
208config CPU_MIPS64_R1
209 bool "MIPS64 Release 1"
210 depends on SUPPORTS_CPU_MIPS64_R1
211 select 64BIT
212 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100213 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100214 MIPS64 architecture.
215
216config CPU_MIPS64_R2
217 bool "MIPS64 Release 2"
218 depends on SUPPORTS_CPU_MIPS64_R2
219 select 64BIT
220 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100221 Choose this option to build a kernel for release 2 through 5 of the
222 MIPS64 architecture.
223
224config CPU_MIPS64_R6
225 bool "MIPS64 Release 6"
226 depends on SUPPORTS_CPU_MIPS64_R6
227 select 64BIT
228 help
229 Choose this option to build a kernel for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100230 MIPS64 architecture.
231
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200232config CPU_MIPS64_OCTEON
233 bool "Marvell Octeon series of CPUs"
234 depends on SUPPORTS_CPU_MIPS64_OCTEON
235 select 64BIT
236 help
237 Choose this option for Marvell Octeon CPUs. These CPUs are between
238 MIPS64 R5 and R6 with other extensions.
239
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100240endchoice
241
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100242menu "General setup"
243
244config ROM_EXCEPTION_VECTORS
245 bool "Build U-Boot image with exception vectors"
246 help
247 Enable this to include exception vectors in the U-Boot image. This is
248 required if the U-Boot entry point is equal to the address of the
249 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
250 U-Boot booted from parallel NOR flash).
251 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
252 In that case the image size will be reduced by 0x500 bytes.
253
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200254config SYS_MIPS_TIMER_FREQ
255 int "Fixed MIPS CPU timer frequency in Hz"
256 depends on HAS_FIXED_TIMER_FREQUENCY
257 help
258 Configures a fixed CPU timer frequency.
259
Paul Burton939a2552017-05-12 13:26:11 +0200260config MIPS_CM_BASE
261 hex "MIPS CM GCR Base Address"
262 depends on MIPS_CM
Paul Burtoned048e72017-04-30 21:22:41 +0200263 default 0x16100000 if TARGET_BOSTON
Paul Burton939a2552017-05-12 13:26:11 +0200264 default 0x1fbf8000
265 help
266 The physical base address at which to map the MIPS Coherence Manager
267 Global Configuration Registers (GCRs). This should be set such that
268 the GCRs occupy a region of the physical address space which is
269 otherwise unused, or at minimum that software doesn't need to access.
270
Daniel Schwierzeck5ef337a2018-09-07 19:02:05 +0200271config MIPS_CACHE_INDEX_BASE
272 hex "Index base address for cache initialisation"
273 default 0x80000000 if CPU_MIPS32
274 default 0xffffffff80000000 if CPU_MIPS64
275 help
276 This is the base address for a memory block, which is used for
277 initialising the cache lines. This is also the base address of a memory
278 block which is used for loading and filling cache lines when
279 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
280 Normally this is CKSEG0. If the MIPS system needs to move this block
281 to some SRAM or ScratchPad RAM, adapt this option accordingly.
282
Stefan Roesede34a612020-06-30 12:33:16 +0200283config MIPS_MACH_EARLY_INIT
284 bool "Enable mach specific very early init code"
285 help
286 Use this to enable the call to mips_mach_early_init() very early
287 from start.S. This function can be used e.g. to do some very early
288 CPU / SoC intitialization or image copying. Its called very early
289 and at this stage the PC might not match the linking address
290 (CONFIG_TEXT_BASE) - no absolute jump done until this call.
291
Daniel Schwierzeck57bfb1a2020-07-12 00:45:57 +0200292config MIPS_CACHE_SETUP
293 bool "Allow generic start code to initialize and setup caches"
294 default n if SKIP_LOWLEVEL_INIT
295 default y
296 help
297 This allows the generic start code to invoke the generic initialization
298 of the CPU caches. Disabling this can be useful for RAM boot scenarios
299 (EJTAG, SPL payload) or for machines which don't need cache initialization
300 or which want to provide their own cache implementation.
301
302 If unsure, say yes.
303
304config MIPS_CACHE_DISABLE
305 bool "Allow generic start code to initially disable caches"
306 default n if SKIP_LOWLEVEL_INIT
307 default y
308 help
309 This allows the generic start code to initially disable the CPU caches
310 and run uncached until the caches are initialized and enabled. Disabling
311 this can be useful on machines which don't need cache initialization or
312 which want to provide their own cache implementation.
313
314 If unsure, say yes.
315
Daniel Schwierzeck96301462018-11-01 02:02:21 +0100316config MIPS_RELOCATION_TABLE_SIZE
317 hex "Relocation table size"
318 range 0x100 0x10000
319 default "0x8000"
320 ---help---
321 A table of relocation data will be appended to the U-Boot binary
322 and parsed in relocate_code() to fix up all offsets in the relocated
323 U-Boot.
324
325 This option allows the amount of space reserved for the table to be
326 adjusted in a range from 256 up to 64k. The default is 32k and should
327 be ok in most cases. Reduce this value to shrink the size of U-Boot
328 binary.
329
330 The build will fail and a valid size suggested if this is too small.
331
332 If unsure, leave at the default value.
333
Weijie Gao71059732020-04-21 09:28:25 +0200334config RESTORE_EXCEPTION_VECTOR_BASE
335 bool "Restore exception vector base before booting linux kernel"
Weijie Gao71059732020-04-21 09:28:25 +0200336 help
337 In U-Boot the exception vector base will be moved to top of memory,
338 to be used to display register dump when exception occurs.
339 But some old linux kernel does not honor the base set in CP0_EBASE.
340 A modified exception vector base will cause kernel crash.
341
342 This option will restore the exception vector base to its previous
343 value.
344
345 If unsure, say N.
346
347config OVERRIDE_EXCEPTION_VECTOR_BASE
348 bool "Override the exception vector base to be restored"
349 depends on RESTORE_EXCEPTION_VECTOR_BASE
Weijie Gao71059732020-04-21 09:28:25 +0200350 help
351 Enable this option if you want to use a different exception vector
352 base rather than the previously saved one.
353
354config NEW_EXCEPTION_VECTOR_BASE
355 hex "New exception vector base"
356 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
357 range 0x80000000 0xbffff000
358 default 0x80000000
359 help
360 The exception vector base to be restored before booting linux kernel
361
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200362config INIT_STACK_WITHOUT_MALLOC_F
363 bool "Do not reserve malloc space on initial stack"
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200364 help
365 Enable this option if you don't want to reserve malloc space on
366 initial stack. This is useful if the initial stack can't hold large
367 malloc space. Platform should set the malloc_base later when DRAM is
368 ready to use.
369
370config SPL_INIT_STACK_WITHOUT_MALLOC_F
371 bool "Do not reserve malloc space on initial stack in SPL"
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200372 help
373 Enable this option if you don't want to reserve malloc space on
374 initial stack. This is useful if the initial stack can't hold large
375 malloc space. Platform should set the malloc_base later when DRAM is
376 ready to use.
377
Weijie Gao814a8912020-04-21 09:28:37 +0200378config SPL_LOADER_SUPPORT
379 bool
Weijie Gao814a8912020-04-21 09:28:37 +0200380 help
381 Enable this option if you want to use SPL loaders without DM enabled.
382
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100383endmenu
384
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100385menu "OS boot interface"
386
387config MIPS_BOOT_CMDLINE_LEGACY
388 bool "Hand over legacy command line to Linux kernel"
389 default y
390 help
391 Enable this option if you want U-Boot to hand over the Yamon-style
392 command line to the kernel. All bootargs will be prepared as argc/argv
393 compatible list. The argument count (argc) is stored in register $a0.
394 The address of the argument list (argv) is stored in register $a1.
395
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100396config MIPS_BOOT_ENV_LEGACY
397 bool "Hand over legacy environment to Linux kernel"
398 default y
399 help
400 Enable this option if you want U-Boot to hand over the Yamon-style
401 environment to the kernel. Information like memory size, initrd
402 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day1cc0a9f2016-05-04 04:47:31 -0400403 The address of the environment is stored in register $a2.
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100404
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100405config MIPS_BOOT_FDT
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100406 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100407 help
408 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100409 device tree to the kernel. According to UHI register $a0 will be set
410 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100411
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100412endmenu
413
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100414config SUPPORTS_BIG_ENDIAN
415 bool
416
417config SUPPORTS_LITTLE_ENDIAN
418 bool
419
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100420config SUPPORTS_CPU_MIPS32_R1
421 bool
422
423config SUPPORTS_CPU_MIPS32_R2
424 bool
425
Paul Burtonc52ebea2016-05-16 10:52:12 +0100426config SUPPORTS_CPU_MIPS32_R6
427 bool
428
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100429config SUPPORTS_CPU_MIPS64_R1
430 bool
431
432config SUPPORTS_CPU_MIPS64_R2
433 bool
434
Paul Burtonc52ebea2016-05-16 10:52:12 +0100435config SUPPORTS_CPU_MIPS64_R6
436 bool
437
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200438config SUPPORTS_CPU_MIPS64_OCTEON
439 bool
440
Daniel Schwierzecka29491a2022-07-10 17:15:14 +0200441config HAS_FIXED_TIMER_FREQUENCY
442 bool
443
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200444config CPU_CAVIUM_OCTEON
445 bool
446
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100447config CPU_MIPS32
448 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100449 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100450
451config CPU_MIPS64
452 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100453 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200454 default y if CPU_MIPS64_OCTEON
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100455
Daniel Schwierzeck0315a282015-12-26 19:55:37 +0100456config MIPS_TUNE_4KC
457 bool
458
459config MIPS_TUNE_14KC
460 bool
461
462config MIPS_TUNE_24KC
463 bool
464
Daniel Schwierzeck5f9cc362016-05-27 15:39:39 +0200465config MIPS_TUNE_34KC
466 bool
467
Marek Vasut0a0a9582016-05-06 20:10:33 +0200468config MIPS_TUNE_74KC
469 bool
470
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200471config MIPS_TUNE_OCTEON3
472 bool
473
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100474config 32BIT
475 bool
476
477config 64BIT
478 bool
479
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +0100480config SWAP_IO_SPACE
481 bool
482
Paul Burtondd7c7202015-01-29 01:28:02 +0000483config SYS_MIPS_CACHE_INIT_RAM_LOAD
484 bool
485
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200486config MIPS_INIT_STACK_IN_SRAM
487 bool
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200488 help
489 Select this if the initial stack frame could be setup in SRAM.
490 Normally the initial stack frame is set up in DRAM which is often
491 only available after lowlevel_init. With this option the initial
492 stack frame and the early C environment is set up before
493 lowlevel_init. Thus lowlevel_init does not need to be implemented
494 in assembler.
495
Weijie Gao2434f582020-04-21 09:28:27 +0200496config MIPS_SRAM_INIT
497 bool
Weijie Gao2434f582020-04-21 09:28:27 +0200498 depends on MIPS_INIT_STACK_IN_SRAM
499 help
500 Select this if the SRAM for initial stack needs to be initialized
501 before it can be used. If enabled, a function mips_sram_init() will
502 be called just before setup_stack_gd.
503
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200504config DMA_ADDR_T_64BIT
505 bool
506 help
507 Select this to enable 64-bit DMA addressing
508
Paul Burtonace3be42016-05-27 14:28:04 +0100509config SYS_DCACHE_SIZE
510 int
511 default 0
512 help
513 The total size of the L1 Dcache, if known at compile time.
514
Paul Burton37228622016-05-27 14:28:05 +0100515config SYS_DCACHE_LINE_SIZE
Paul Burton4b7b0a02016-06-09 13:09:52 +0100516 int
Paul Burton37228622016-05-27 14:28:05 +0100517 default 0
518 help
519 The size of L1 Dcache lines, if known at compile time.
520
Paul Burtonace3be42016-05-27 14:28:04 +0100521config SYS_ICACHE_SIZE
522 int
523 default 0
524 help
525 The total size of the L1 ICache, if known at compile time.
526
Paul Burton37228622016-05-27 14:28:05 +0100527config SYS_ICACHE_LINE_SIZE
Paul Burtonace3be42016-05-27 14:28:04 +0100528 int
529 default 0
530 help
Paul Burton37228622016-05-27 14:28:05 +0100531 The size of L1 Icache lines, if known at compile time.
Paul Burtonace3be42016-05-27 14:28:04 +0100532
Ramon Fried22247c62019-06-10 21:05:26 +0300533config SYS_SCACHE_LINE_SIZE
534 int
535 default 0
536 help
537 The size of L2 cache lines, if known at compile time.
538
539
Paul Burtonace3be42016-05-27 14:28:04 +0100540config SYS_CACHE_SIZE_AUTO
541 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried22247c62019-06-10 21:05:26 +0300542 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
543 SYS_SCACHE_LINE_SIZE = 0
Paul Burtonace3be42016-05-27 14:28:04 +0100544 help
545 Select this (or let it be auto-selected by not defining any cache
546 sizes) in order to allow U-Boot to automatically detect the sizes
547 of caches at runtime. This has a small cost in code size & runtime
548 so if you know the cache configuration for your system at compile
549 time it would be beneficial to configure it.
550
Paul Burton4baa0ab2016-09-21 11:18:54 +0100551config MIPS_L2_CACHE
552 bool
553 help
554 Select this if your system includes an L2 cache and you want U-Boot
555 to initialise & maintain it.
556
Paul Burton05e34252016-01-29 13:54:52 +0000557config DYNAMIC_IO_PORT_BASE
558 bool
559
Paul Burtonb2b135d2016-09-21 11:18:53 +0100560config MIPS_CM
561 bool
562 help
563 Select this if your system contains a MIPS Coherence Manager and you
564 wish U-Boot to configure it or make use of it to retrieve system
565 information such as cache configuration.
566
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200567config MIPS_INSERT_BOOT_CONFIG
568 bool
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200569 help
570 Enable this to insert some board-specific boot configuration in
571 the U-Boot binary at offset 0x10.
572
573config MIPS_BOOT_CONFIG_WORD0
574 hex
575 depends on MIPS_INSERT_BOOT_CONFIG
576 default 0x420 if TARGET_MALTA
577 default 0x0
578 help
579 Value which is inserted as boot config word 0.
580
581config MIPS_BOOT_CONFIG_WORD1
582 hex
583 depends on MIPS_INSERT_BOOT_CONFIG
584 default 0x0
585 help
586 Value which is inserted as boot config word 1.
587
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100588endif
589
Masahiro Yamadadd840582014-07-30 14:08:14 +0900590endmenu