blob: 9b62764f4fe684c411f08d7fb7c3a0434c733cf1 [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 Schwierzeck526ceb42021-07-15 20:54:01 +020017 select BOARD_EARLY_INIT_R
Paul Burton6242aa12016-05-17 07:43:28 +010018 select DM
19 select DM_SERIAL
Simon Glass3232bdf2021-08-01 18:54:44 -060020 select PCI
Daniel Schwierzeck526ceb42021-07-15 20:54:01 +020021 select DM_ETH
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
42config TARGET_VCT
43 bool "Support vct"
Michal Simek5ed063d2018-07-23 15:55:13 +020044 select ROM_EXCEPTION_VECTORS
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010045 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010046 select SUPPORTS_CPU_MIPS32_R1
47 select SUPPORTS_CPU_MIPS32_R2
Paul Burtondd7c7202015-01-29 01:28:02 +000048 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Masahiro Yamadadd840582014-07-30 14:08:14 +090049
Wills Wang1d3d0f12016-03-16 16:59:52 +080050config ARCH_ATH79
51 bool "Support QCA/Atheros ath79"
Wills Wang1d3d0f12016-03-16 16:59:52 +080052 select DM
Michal Simek5ed063d2018-07-23 15:55:13 +020053 select OF_CONTROL
Michal Simek08a00cb2018-07-23 15:55:14 +020054 imply CMD_DM
Wills Wang1d3d0f12016-03-16 16:59:52 +080055
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +010056config ARCH_MSCC
57 bool "Support MSCC VCore-III"
58 select OF_CONTROL
59 select DM
60
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020061config ARCH_BMIPS
62 bool "Support BMIPS SoCs"
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020063 select CLK
64 select CPU
Michal Simek5ed063d2018-07-23 15:55:13 +020065 select DM
66 select OF_CONTROL
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020067 select RAM
68 select SYSRESET
Michal Simek08a00cb2018-07-23 15:55:14 +020069 imply CMD_DM
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020070
Weijie Gao16b94902019-04-30 11:13:58 +080071config ARCH_MTMIPS
72 bool "Support MediaTek MIPS platforms"
Weijie Gao3f851c92019-09-25 17:45:43 +080073 select CLK
Stefan Roese4c835a62018-09-05 15:12:35 +020074 imply CMD_DM
75 select DISPLAY_CPUINFO
76 select DM
Stefan Roeseb4a6a1b2018-10-09 08:59:09 +020077 imply DM_ETH
78 imply DM_GPIO
Weijie Gao3f851c92019-09-25 17:45:43 +080079 select DM_RESET
Stefan Roese4c835a62018-09-05 15:12:35 +020080 select DM_SERIAL
Weijie Gao3f851c92019-09-25 17:45:43 +080081 select PINCTRL
82 select PINMUX
83 select PINCONF
84 select RESET_MTMIPS
Stefan Roese4c835a62018-09-05 15:12:35 +020085 imply DM_SPI
86 imply DM_SPI_FLASH
Stefan Roese9814fb22019-05-28 08:11:37 +020087 select LAST_STAGE_INIT
Stefan Roese4c835a62018-09-05 15:12:35 +020088 select MIPS_TUNE_24KC
89 select OF_CONTROL
90 select ROM_EXCEPTION_VECTORS
91 select SUPPORTS_CPU_MIPS32_R1
92 select SUPPORTS_CPU_MIPS32_R2
93 select SUPPORTS_LITTLE_ENDIAN
Weijie Gao7a4b6962020-04-21 09:28:47 +020094 select SUPPORT_SPL
Stefan Roese4c835a62018-09-05 15:12:35 +020095
Paul Burtoncd71b1d2018-12-16 19:25:22 -030096config ARCH_JZ47XX
97 bool "Support Ingenic JZ47xx"
98 select SUPPORT_SPL
99 select OF_CONTROL
100 select DM
101
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200102config ARCH_OCTEON
103 bool "Support Marvell Octeon CN7xxx platforms"
Stefan Roese787e0d72022-04-07 09:11:46 +0200104 select ARCH_EARLY_INIT_R
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200105 select CPU_CAVIUM_OCTEON
106 select DISPLAY_CPUINFO
107 select DMA_ADDR_T_64BIT
108 select DM
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200109 select DM_ETH
Stefan Roese10155402020-07-30 13:56:21 +0200110 select DM_GPIO
111 select DM_I2C
112 select DM_SERIAL
113 select DM_SPI
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200114 select MIPS_L2_CACHE
Stefan Roesee9609dc2020-06-30 12:33:17 +0200115 select MIPS_MACH_EARLY_INIT
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200116 select MIPS_TUNE_OCTEON3
117 select ROM_EXCEPTION_VECTORS
118 select SUPPORTS_BIG_ENDIAN
119 select SUPPORTS_CPU_MIPS64_OCTEON
120 select PHYS_64BIT
121 select OF_CONTROL
122 select OF_LIVE
123 imply CMD_DM
124
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530125config MACH_PIC32
126 bool "Support Microchip PIC32"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530127 select DM
Michal Simek5ed063d2018-07-23 15:55:13 +0200128 select OF_CONTROL
Michal Simek08a00cb2018-07-23 15:55:14 +0200129 imply CMD_DM
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530130
Paul Burtonad8783c2016-09-08 07:47:39 +0100131config TARGET_BOSTON
132 bool "Support Boston"
133 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"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100154 select DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100155 select DM_ETH
Michal Simek5ed063d2018-07-23 15:55:13 +0200156 select DM_GPIO
157 select DM_SERIAL
Tom Riniab92b382021-08-26 11:47:59 -0400158 select SYS_CACHE_SHIFT_4
Michal Simek5ed063d2018-07-23 15:55:13 +0200159 select OF_CONTROL
160 select ROM_EXCEPTION_VECTORS
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100161 select SUPPORTS_CPU_MIPS32_R1
162 select SUPPORTS_CPU_MIPS32_R2
Michal Simek5ed063d2018-07-23 15:55:13 +0200163 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200164 imply CMD_DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100165 help
166 This supports IMGTEC MIPSfpga platform
167
Masahiro Yamadadd840582014-07-30 14:08:14 +0900168endchoice
169
Paul Burtonad8783c2016-09-08 07:47:39 +0100170source "board/imgtec/boston/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900171source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100172source "board/imgtec/xilfpga/Kconfig"
Wills Wang1d3d0f12016-03-16 16:59:52 +0800173source "arch/mips/mach-ath79/Kconfig"
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +0100174source "arch/mips/mach-mscc/Kconfig"
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +0200175source "arch/mips/mach-bmips/Kconfig"
Paul Burtoncd71b1d2018-12-16 19:25:22 -0300176source "arch/mips/mach-jz47xx/Kconfig"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530177source "arch/mips/mach-pic32/Kconfig"
Weijie Gao16b94902019-04-30 11:13:58 +0800178source "arch/mips/mach-mtmips/Kconfig"
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200179source "arch/mips/mach-octeon/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900180
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100181if MIPS
182
183choice
184 prompt "Endianness selection"
185 help
186 Some MIPS boards can be configured for either little or big endian
187 byte order. These modes require different U-Boot images. In general there
188 is one preferred byteorder for a particular system but some systems are
189 just as commonly used in the one or the other endianness.
190
191config SYS_BIG_ENDIAN
192 bool "Big endian"
193 depends on SUPPORTS_BIG_ENDIAN
194
195config SYS_LITTLE_ENDIAN
196 bool "Little endian"
197 depends on SUPPORTS_LITTLE_ENDIAN
198
199endchoice
200
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100201choice
202 prompt "CPU selection"
203 default CPU_MIPS32_R2
204
205config CPU_MIPS32_R1
206 bool "MIPS32 Release 1"
207 depends on SUPPORTS_CPU_MIPS32_R1
208 select 32BIT
209 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100210 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100211 MIPS32 architecture.
212
213config CPU_MIPS32_R2
214 bool "MIPS32 Release 2"
215 depends on SUPPORTS_CPU_MIPS32_R2
216 select 32BIT
217 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100218 Choose this option to build an U-Boot for release 2 through 5 of the
219 MIPS32 architecture.
220
221config CPU_MIPS32_R6
222 bool "MIPS32 Release 6"
223 depends on SUPPORTS_CPU_MIPS32_R6
224 select 32BIT
225 help
226 Choose this option to build an U-Boot for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100227 MIPS32 architecture.
228
229config CPU_MIPS64_R1
230 bool "MIPS64 Release 1"
231 depends on SUPPORTS_CPU_MIPS64_R1
232 select 64BIT
233 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100234 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100235 MIPS64 architecture.
236
237config CPU_MIPS64_R2
238 bool "MIPS64 Release 2"
239 depends on SUPPORTS_CPU_MIPS64_R2
240 select 64BIT
241 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100242 Choose this option to build a kernel for release 2 through 5 of the
243 MIPS64 architecture.
244
245config CPU_MIPS64_R6
246 bool "MIPS64 Release 6"
247 depends on SUPPORTS_CPU_MIPS64_R6
248 select 64BIT
249 help
250 Choose this option to build a kernel for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100251 MIPS64 architecture.
252
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200253config CPU_MIPS64_OCTEON
254 bool "Marvell Octeon series of CPUs"
255 depends on SUPPORTS_CPU_MIPS64_OCTEON
256 select 64BIT
257 help
258 Choose this option for Marvell Octeon CPUs. These CPUs are between
259 MIPS64 R5 and R6 with other extensions.
260
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100261endchoice
262
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100263menu "General setup"
264
265config ROM_EXCEPTION_VECTORS
266 bool "Build U-Boot image with exception vectors"
267 help
268 Enable this to include exception vectors in the U-Boot image. This is
269 required if the U-Boot entry point is equal to the address of the
270 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
271 U-Boot booted from parallel NOR flash).
272 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
273 In that case the image size will be reduced by 0x500 bytes.
274
Paul Burton939a2552017-05-12 13:26:11 +0200275config MIPS_CM_BASE
276 hex "MIPS CM GCR Base Address"
277 depends on MIPS_CM
Paul Burtoned048e72017-04-30 21:22:41 +0200278 default 0x16100000 if TARGET_BOSTON
Paul Burton939a2552017-05-12 13:26:11 +0200279 default 0x1fbf8000
280 help
281 The physical base address at which to map the MIPS Coherence Manager
282 Global Configuration Registers (GCRs). This should be set such that
283 the GCRs occupy a region of the physical address space which is
284 otherwise unused, or at minimum that software doesn't need to access.
285
Daniel Schwierzeck5ef337a2018-09-07 19:02:05 +0200286config MIPS_CACHE_INDEX_BASE
287 hex "Index base address for cache initialisation"
288 default 0x80000000 if CPU_MIPS32
289 default 0xffffffff80000000 if CPU_MIPS64
290 help
291 This is the base address for a memory block, which is used for
292 initialising the cache lines. This is also the base address of a memory
293 block which is used for loading and filling cache lines when
294 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
295 Normally this is CKSEG0. If the MIPS system needs to move this block
296 to some SRAM or ScratchPad RAM, adapt this option accordingly.
297
Stefan Roesede34a612020-06-30 12:33:16 +0200298config MIPS_MACH_EARLY_INIT
299 bool "Enable mach specific very early init code"
300 help
301 Use this to enable the call to mips_mach_early_init() very early
302 from start.S. This function can be used e.g. to do some very early
303 CPU / SoC intitialization or image copying. Its called very early
304 and at this stage the PC might not match the linking address
305 (CONFIG_TEXT_BASE) - no absolute jump done until this call.
306
Daniel Schwierzeck57bfb1a2020-07-12 00:45:57 +0200307config MIPS_CACHE_SETUP
308 bool "Allow generic start code to initialize and setup caches"
309 default n if SKIP_LOWLEVEL_INIT
310 default y
311 help
312 This allows the generic start code to invoke the generic initialization
313 of the CPU caches. Disabling this can be useful for RAM boot scenarios
314 (EJTAG, SPL payload) or for machines which don't need cache initialization
315 or which want to provide their own cache implementation.
316
317 If unsure, say yes.
318
319config MIPS_CACHE_DISABLE
320 bool "Allow generic start code to initially disable caches"
321 default n if SKIP_LOWLEVEL_INIT
322 default y
323 help
324 This allows the generic start code to initially disable the CPU caches
325 and run uncached until the caches are initialized and enabled. Disabling
326 this can be useful on machines which don't need cache initialization or
327 which want to provide their own cache implementation.
328
329 If unsure, say yes.
330
Daniel Schwierzeck96301462018-11-01 02:02:21 +0100331config MIPS_RELOCATION_TABLE_SIZE
332 hex "Relocation table size"
333 range 0x100 0x10000
334 default "0x8000"
335 ---help---
336 A table of relocation data will be appended to the U-Boot binary
337 and parsed in relocate_code() to fix up all offsets in the relocated
338 U-Boot.
339
340 This option allows the amount of space reserved for the table to be
341 adjusted in a range from 256 up to 64k. The default is 32k and should
342 be ok in most cases. Reduce this value to shrink the size of U-Boot
343 binary.
344
345 The build will fail and a valid size suggested if this is too small.
346
347 If unsure, leave at the default value.
348
Weijie Gao71059732020-04-21 09:28:25 +0200349config RESTORE_EXCEPTION_VECTOR_BASE
350 bool "Restore exception vector base before booting linux kernel"
Weijie Gao71059732020-04-21 09:28:25 +0200351 help
352 In U-Boot the exception vector base will be moved to top of memory,
353 to be used to display register dump when exception occurs.
354 But some old linux kernel does not honor the base set in CP0_EBASE.
355 A modified exception vector base will cause kernel crash.
356
357 This option will restore the exception vector base to its previous
358 value.
359
360 If unsure, say N.
361
362config OVERRIDE_EXCEPTION_VECTOR_BASE
363 bool "Override the exception vector base to be restored"
364 depends on RESTORE_EXCEPTION_VECTOR_BASE
Weijie Gao71059732020-04-21 09:28:25 +0200365 help
366 Enable this option if you want to use a different exception vector
367 base rather than the previously saved one.
368
369config NEW_EXCEPTION_VECTOR_BASE
370 hex "New exception vector base"
371 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
372 range 0x80000000 0xbffff000
373 default 0x80000000
374 help
375 The exception vector base to be restored before booting linux kernel
376
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200377config INIT_STACK_WITHOUT_MALLOC_F
378 bool "Do not reserve malloc space on initial stack"
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200379 help
380 Enable this option if you don't want to reserve malloc space on
381 initial stack. This is useful if the initial stack can't hold large
382 malloc space. Platform should set the malloc_base later when DRAM is
383 ready to use.
384
385config SPL_INIT_STACK_WITHOUT_MALLOC_F
386 bool "Do not reserve malloc space on initial stack in SPL"
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200387 help
388 Enable this option if you don't want to reserve malloc space on
389 initial stack. This is useful if the initial stack can't hold large
390 malloc space. Platform should set the malloc_base later when DRAM is
391 ready to use.
392
Weijie Gao814a8912020-04-21 09:28:37 +0200393config SPL_LOADER_SUPPORT
394 bool
Weijie Gao814a8912020-04-21 09:28:37 +0200395 help
396 Enable this option if you want to use SPL loaders without DM enabled.
397
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100398endmenu
399
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100400menu "OS boot interface"
401
402config MIPS_BOOT_CMDLINE_LEGACY
403 bool "Hand over legacy command line to Linux kernel"
404 default y
405 help
406 Enable this option if you want U-Boot to hand over the Yamon-style
407 command line to the kernel. All bootargs will be prepared as argc/argv
408 compatible list. The argument count (argc) is stored in register $a0.
409 The address of the argument list (argv) is stored in register $a1.
410
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100411config MIPS_BOOT_ENV_LEGACY
412 bool "Hand over legacy environment to Linux kernel"
413 default y
414 help
415 Enable this option if you want U-Boot to hand over the Yamon-style
416 environment to the kernel. Information like memory size, initrd
417 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day1cc0a9f2016-05-04 04:47:31 -0400418 The address of the environment is stored in register $a2.
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100419
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100420config MIPS_BOOT_FDT
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100421 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100422 help
423 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100424 device tree to the kernel. According to UHI register $a0 will be set
425 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100426
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100427endmenu
428
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100429config SUPPORTS_BIG_ENDIAN
430 bool
431
432config SUPPORTS_LITTLE_ENDIAN
433 bool
434
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100435config SUPPORTS_CPU_MIPS32_R1
436 bool
437
438config SUPPORTS_CPU_MIPS32_R2
439 bool
440
Paul Burtonc52ebea2016-05-16 10:52:12 +0100441config SUPPORTS_CPU_MIPS32_R6
442 bool
443
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100444config SUPPORTS_CPU_MIPS64_R1
445 bool
446
447config SUPPORTS_CPU_MIPS64_R2
448 bool
449
Paul Burtonc52ebea2016-05-16 10:52:12 +0100450config SUPPORTS_CPU_MIPS64_R6
451 bool
452
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200453config SUPPORTS_CPU_MIPS64_OCTEON
454 bool
455
456config CPU_CAVIUM_OCTEON
457 bool
458
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100459config CPU_MIPS32
460 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100461 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100462
463config CPU_MIPS64
464 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100465 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200466 default y if CPU_MIPS64_OCTEON
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100467
Daniel Schwierzeck0315a282015-12-26 19:55:37 +0100468config MIPS_TUNE_4KC
469 bool
470
471config MIPS_TUNE_14KC
472 bool
473
474config MIPS_TUNE_24KC
475 bool
476
Daniel Schwierzeck5f9cc362016-05-27 15:39:39 +0200477config MIPS_TUNE_34KC
478 bool
479
Marek Vasut0a0a9582016-05-06 20:10:33 +0200480config MIPS_TUNE_74KC
481 bool
482
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200483config MIPS_TUNE_OCTEON3
484 bool
485
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100486config 32BIT
487 bool
488
489config 64BIT
490 bool
491
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +0100492config SWAP_IO_SPACE
493 bool
494
Paul Burtondd7c7202015-01-29 01:28:02 +0000495config SYS_MIPS_CACHE_INIT_RAM_LOAD
496 bool
497
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200498config MIPS_INIT_STACK_IN_SRAM
499 bool
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200500 help
501 Select this if the initial stack frame could be setup in SRAM.
502 Normally the initial stack frame is set up in DRAM which is often
503 only available after lowlevel_init. With this option the initial
504 stack frame and the early C environment is set up before
505 lowlevel_init. Thus lowlevel_init does not need to be implemented
506 in assembler.
507
Weijie Gao2434f582020-04-21 09:28:27 +0200508config MIPS_SRAM_INIT
509 bool
Weijie Gao2434f582020-04-21 09:28:27 +0200510 depends on MIPS_INIT_STACK_IN_SRAM
511 help
512 Select this if the SRAM for initial stack needs to be initialized
513 before it can be used. If enabled, a function mips_sram_init() will
514 be called just before setup_stack_gd.
515
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200516config DMA_ADDR_T_64BIT
517 bool
518 help
519 Select this to enable 64-bit DMA addressing
520
Paul Burtonace3be42016-05-27 14:28:04 +0100521config SYS_DCACHE_SIZE
522 int
523 default 0
524 help
525 The total size of the L1 Dcache, if known at compile time.
526
Paul Burton37228622016-05-27 14:28:05 +0100527config SYS_DCACHE_LINE_SIZE
Paul Burton4b7b0a02016-06-09 13:09:52 +0100528 int
Paul Burton37228622016-05-27 14:28:05 +0100529 default 0
530 help
531 The size of L1 Dcache lines, if known at compile time.
532
Paul Burtonace3be42016-05-27 14:28:04 +0100533config SYS_ICACHE_SIZE
534 int
535 default 0
536 help
537 The total size of the L1 ICache, if known at compile time.
538
Paul Burton37228622016-05-27 14:28:05 +0100539config SYS_ICACHE_LINE_SIZE
Paul Burtonace3be42016-05-27 14:28:04 +0100540 int
541 default 0
542 help
Paul Burton37228622016-05-27 14:28:05 +0100543 The size of L1 Icache lines, if known at compile time.
Paul Burtonace3be42016-05-27 14:28:04 +0100544
Ramon Fried22247c62019-06-10 21:05:26 +0300545config SYS_SCACHE_LINE_SIZE
546 int
547 default 0
548 help
549 The size of L2 cache lines, if known at compile time.
550
551
Paul Burtonace3be42016-05-27 14:28:04 +0100552config SYS_CACHE_SIZE_AUTO
553 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried22247c62019-06-10 21:05:26 +0300554 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
555 SYS_SCACHE_LINE_SIZE = 0
Paul Burtonace3be42016-05-27 14:28:04 +0100556 help
557 Select this (or let it be auto-selected by not defining any cache
558 sizes) in order to allow U-Boot to automatically detect the sizes
559 of caches at runtime. This has a small cost in code size & runtime
560 so if you know the cache configuration for your system at compile
561 time it would be beneficial to configure it.
562
Paul Burton4baa0ab2016-09-21 11:18:54 +0100563config MIPS_L2_CACHE
564 bool
565 help
566 Select this if your system includes an L2 cache and you want U-Boot
567 to initialise & maintain it.
568
Paul Burton05e34252016-01-29 13:54:52 +0000569config DYNAMIC_IO_PORT_BASE
570 bool
571
Paul Burtonb2b135d2016-09-21 11:18:53 +0100572config MIPS_CM
573 bool
574 help
575 Select this if your system contains a MIPS Coherence Manager and you
576 wish U-Boot to configure it or make use of it to retrieve system
577 information such as cache configuration.
578
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200579config MIPS_INSERT_BOOT_CONFIG
580 bool
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200581 help
582 Enable this to insert some board-specific boot configuration in
583 the U-Boot binary at offset 0x10.
584
585config MIPS_BOOT_CONFIG_WORD0
586 hex
587 depends on MIPS_INSERT_BOOT_CONFIG
588 default 0x420 if TARGET_MALTA
589 default 0x0
590 help
591 Value which is inserted as boot config word 0.
592
593config MIPS_BOOT_CONFIG_WORD1
594 hex
595 depends on MIPS_INSERT_BOOT_CONFIG
596 default 0x0
597 help
598 Value which is inserted as boot config word 1.
599
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100600endif
601
Masahiro Yamadadd840582014-07-30 14:08:14 +0900602endmenu