blob: 06cae68ee57668de90f5469861463af646288c3a [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"
104 select CPU_CAVIUM_OCTEON
105 select DISPLAY_CPUINFO
106 select DMA_ADDR_T_64BIT
107 select DM
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200108 select DM_ETH
Stefan Roese10155402020-07-30 13:56:21 +0200109 select DM_GPIO
110 select DM_I2C
111 select DM_SERIAL
112 select DM_SPI
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200113 select MIPS_L2_CACHE
Stefan Roesee9609dc2020-06-30 12:33:17 +0200114 select MIPS_MACH_EARLY_INIT
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200115 select MIPS_TUNE_OCTEON3
116 select ROM_EXCEPTION_VECTORS
117 select SUPPORTS_BIG_ENDIAN
118 select SUPPORTS_CPU_MIPS64_OCTEON
119 select PHYS_64BIT
120 select OF_CONTROL
121 select OF_LIVE
122 imply CMD_DM
123
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530124config MACH_PIC32
125 bool "Support Microchip PIC32"
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"
132 select DM
Simon Glass7fe32b32022-03-04 08:43:05 -0700133 imply DM_EVENT
Paul Burtonad8783c2016-09-08 07:47:39 +0100134 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"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100153 select DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100154 select DM_ETH
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
183 prompt "Endianness selection"
184 help
185 Some MIPS boards can be configured for either little or big endian
186 byte order. These modes require different U-Boot images. In general there
187 is one preferred byteorder for a particular system but some systems are
188 just as commonly used in the one or the other endianness.
189
190config SYS_BIG_ENDIAN
191 bool "Big endian"
192 depends on SUPPORTS_BIG_ENDIAN
193
194config SYS_LITTLE_ENDIAN
195 bool "Little endian"
196 depends on SUPPORTS_LITTLE_ENDIAN
197
198endchoice
199
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100200choice
201 prompt "CPU selection"
202 default CPU_MIPS32_R2
203
204config CPU_MIPS32_R1
205 bool "MIPS32 Release 1"
206 depends on SUPPORTS_CPU_MIPS32_R1
207 select 32BIT
208 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100209 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100210 MIPS32 architecture.
211
212config CPU_MIPS32_R2
213 bool "MIPS32 Release 2"
214 depends on SUPPORTS_CPU_MIPS32_R2
215 select 32BIT
216 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100217 Choose this option to build an U-Boot for release 2 through 5 of the
218 MIPS32 architecture.
219
220config CPU_MIPS32_R6
221 bool "MIPS32 Release 6"
222 depends on SUPPORTS_CPU_MIPS32_R6
223 select 32BIT
224 help
225 Choose this option to build an U-Boot for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100226 MIPS32 architecture.
227
228config CPU_MIPS64_R1
229 bool "MIPS64 Release 1"
230 depends on SUPPORTS_CPU_MIPS64_R1
231 select 64BIT
232 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100233 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100234 MIPS64 architecture.
235
236config CPU_MIPS64_R2
237 bool "MIPS64 Release 2"
238 depends on SUPPORTS_CPU_MIPS64_R2
239 select 64BIT
240 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100241 Choose this option to build a kernel for release 2 through 5 of the
242 MIPS64 architecture.
243
244config CPU_MIPS64_R6
245 bool "MIPS64 Release 6"
246 depends on SUPPORTS_CPU_MIPS64_R6
247 select 64BIT
248 help
249 Choose this option to build a kernel for release 6 or later of the
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100250 MIPS64 architecture.
251
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200252config CPU_MIPS64_OCTEON
253 bool "Marvell Octeon series of CPUs"
254 depends on SUPPORTS_CPU_MIPS64_OCTEON
255 select 64BIT
256 help
257 Choose this option for Marvell Octeon CPUs. These CPUs are between
258 MIPS64 R5 and R6 with other extensions.
259
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100260endchoice
261
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100262menu "General setup"
263
264config ROM_EXCEPTION_VECTORS
265 bool "Build U-Boot image with exception vectors"
266 help
267 Enable this to include exception vectors in the U-Boot image. This is
268 required if the U-Boot entry point is equal to the address of the
269 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
270 U-Boot booted from parallel NOR flash).
271 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
272 In that case the image size will be reduced by 0x500 bytes.
273
Paul Burton939a2552017-05-12 13:26:11 +0200274config MIPS_CM_BASE
275 hex "MIPS CM GCR Base Address"
276 depends on MIPS_CM
Paul Burtoned048e72017-04-30 21:22:41 +0200277 default 0x16100000 if TARGET_BOSTON
Paul Burton939a2552017-05-12 13:26:11 +0200278 default 0x1fbf8000
279 help
280 The physical base address at which to map the MIPS Coherence Manager
281 Global Configuration Registers (GCRs). This should be set such that
282 the GCRs occupy a region of the physical address space which is
283 otherwise unused, or at minimum that software doesn't need to access.
284
Daniel Schwierzeck5ef337a2018-09-07 19:02:05 +0200285config MIPS_CACHE_INDEX_BASE
286 hex "Index base address for cache initialisation"
287 default 0x80000000 if CPU_MIPS32
288 default 0xffffffff80000000 if CPU_MIPS64
289 help
290 This is the base address for a memory block, which is used for
291 initialising the cache lines. This is also the base address of a memory
292 block which is used for loading and filling cache lines when
293 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
294 Normally this is CKSEG0. If the MIPS system needs to move this block
295 to some SRAM or ScratchPad RAM, adapt this option accordingly.
296
Stefan Roesede34a612020-06-30 12:33:16 +0200297config MIPS_MACH_EARLY_INIT
298 bool "Enable mach specific very early init code"
299 help
300 Use this to enable the call to mips_mach_early_init() very early
301 from start.S. This function can be used e.g. to do some very early
302 CPU / SoC intitialization or image copying. Its called very early
303 and at this stage the PC might not match the linking address
304 (CONFIG_TEXT_BASE) - no absolute jump done until this call.
305
Daniel Schwierzeck57bfb1a2020-07-12 00:45:57 +0200306config MIPS_CACHE_SETUP
307 bool "Allow generic start code to initialize and setup caches"
308 default n if SKIP_LOWLEVEL_INIT
309 default y
310 help
311 This allows the generic start code to invoke the generic initialization
312 of the CPU caches. Disabling this can be useful for RAM boot scenarios
313 (EJTAG, SPL payload) or for machines which don't need cache initialization
314 or which want to provide their own cache implementation.
315
316 If unsure, say yes.
317
318config MIPS_CACHE_DISABLE
319 bool "Allow generic start code to initially disable caches"
320 default n if SKIP_LOWLEVEL_INIT
321 default y
322 help
323 This allows the generic start code to initially disable the CPU caches
324 and run uncached until the caches are initialized and enabled. Disabling
325 this can be useful on machines which don't need cache initialization or
326 which want to provide their own cache implementation.
327
328 If unsure, say yes.
329
Daniel Schwierzeck96301462018-11-01 02:02:21 +0100330config MIPS_RELOCATION_TABLE_SIZE
331 hex "Relocation table size"
332 range 0x100 0x10000
333 default "0x8000"
334 ---help---
335 A table of relocation data will be appended to the U-Boot binary
336 and parsed in relocate_code() to fix up all offsets in the relocated
337 U-Boot.
338
339 This option allows the amount of space reserved for the table to be
340 adjusted in a range from 256 up to 64k. The default is 32k and should
341 be ok in most cases. Reduce this value to shrink the size of U-Boot
342 binary.
343
344 The build will fail and a valid size suggested if this is too small.
345
346 If unsure, leave at the default value.
347
Weijie Gao71059732020-04-21 09:28:25 +0200348config RESTORE_EXCEPTION_VECTOR_BASE
349 bool "Restore exception vector base before booting linux kernel"
Weijie Gao71059732020-04-21 09:28:25 +0200350 help
351 In U-Boot the exception vector base will be moved to top of memory,
352 to be used to display register dump when exception occurs.
353 But some old linux kernel does not honor the base set in CP0_EBASE.
354 A modified exception vector base will cause kernel crash.
355
356 This option will restore the exception vector base to its previous
357 value.
358
359 If unsure, say N.
360
361config OVERRIDE_EXCEPTION_VECTOR_BASE
362 bool "Override the exception vector base to be restored"
363 depends on RESTORE_EXCEPTION_VECTOR_BASE
Weijie Gao71059732020-04-21 09:28:25 +0200364 help
365 Enable this option if you want to use a different exception vector
366 base rather than the previously saved one.
367
368config NEW_EXCEPTION_VECTOR_BASE
369 hex "New exception vector base"
370 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
371 range 0x80000000 0xbffff000
372 default 0x80000000
373 help
374 The exception vector base to be restored before booting linux kernel
375
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200376config INIT_STACK_WITHOUT_MALLOC_F
377 bool "Do not reserve malloc space on initial stack"
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200378 help
379 Enable this option if you don't want to reserve malloc space on
380 initial stack. This is useful if the initial stack can't hold large
381 malloc space. Platform should set the malloc_base later when DRAM is
382 ready to use.
383
384config SPL_INIT_STACK_WITHOUT_MALLOC_F
385 bool "Do not reserve malloc space on initial stack in SPL"
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200386 help
387 Enable this option if you don't want to reserve malloc space on
388 initial stack. This is useful if the initial stack can't hold large
389 malloc space. Platform should set the malloc_base later when DRAM is
390 ready to use.
391
Weijie Gao814a8912020-04-21 09:28:37 +0200392config SPL_LOADER_SUPPORT
393 bool
Weijie Gao814a8912020-04-21 09:28:37 +0200394 help
395 Enable this option if you want to use SPL loaders without DM enabled.
396
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100397endmenu
398
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100399menu "OS boot interface"
400
401config MIPS_BOOT_CMDLINE_LEGACY
402 bool "Hand over legacy command line to Linux kernel"
403 default y
404 help
405 Enable this option if you want U-Boot to hand over the Yamon-style
406 command line to the kernel. All bootargs will be prepared as argc/argv
407 compatible list. The argument count (argc) is stored in register $a0.
408 The address of the argument list (argv) is stored in register $a1.
409
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100410config MIPS_BOOT_ENV_LEGACY
411 bool "Hand over legacy environment to Linux kernel"
412 default y
413 help
414 Enable this option if you want U-Boot to hand over the Yamon-style
415 environment to the kernel. Information like memory size, initrd
416 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day1cc0a9f2016-05-04 04:47:31 -0400417 The address of the environment is stored in register $a2.
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100418
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100419config MIPS_BOOT_FDT
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100420 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100421 help
422 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100423 device tree to the kernel. According to UHI register $a0 will be set
424 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100425
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100426endmenu
427
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100428config SUPPORTS_BIG_ENDIAN
429 bool
430
431config SUPPORTS_LITTLE_ENDIAN
432 bool
433
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100434config SUPPORTS_CPU_MIPS32_R1
435 bool
436
437config SUPPORTS_CPU_MIPS32_R2
438 bool
439
Paul Burtonc52ebea2016-05-16 10:52:12 +0100440config SUPPORTS_CPU_MIPS32_R6
441 bool
442
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100443config SUPPORTS_CPU_MIPS64_R1
444 bool
445
446config SUPPORTS_CPU_MIPS64_R2
447 bool
448
Paul Burtonc52ebea2016-05-16 10:52:12 +0100449config SUPPORTS_CPU_MIPS64_R6
450 bool
451
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200452config SUPPORTS_CPU_MIPS64_OCTEON
453 bool
454
455config CPU_CAVIUM_OCTEON
456 bool
457
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100458config CPU_MIPS32
459 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100460 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100461
462config CPU_MIPS64
463 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100464 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200465 default y if CPU_MIPS64_OCTEON
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100466
Daniel Schwierzeck0315a282015-12-26 19:55:37 +0100467config MIPS_TUNE_4KC
468 bool
469
470config MIPS_TUNE_14KC
471 bool
472
473config MIPS_TUNE_24KC
474 bool
475
Daniel Schwierzeck5f9cc362016-05-27 15:39:39 +0200476config MIPS_TUNE_34KC
477 bool
478
Marek Vasut0a0a9582016-05-06 20:10:33 +0200479config MIPS_TUNE_74KC
480 bool
481
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200482config MIPS_TUNE_OCTEON3
483 bool
484
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100485config 32BIT
486 bool
487
488config 64BIT
489 bool
490
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +0100491config SWAP_IO_SPACE
492 bool
493
Paul Burtondd7c7202015-01-29 01:28:02 +0000494config SYS_MIPS_CACHE_INIT_RAM_LOAD
495 bool
496
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200497config MIPS_INIT_STACK_IN_SRAM
498 bool
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200499 help
500 Select this if the initial stack frame could be setup in SRAM.
501 Normally the initial stack frame is set up in DRAM which is often
502 only available after lowlevel_init. With this option the initial
503 stack frame and the early C environment is set up before
504 lowlevel_init. Thus lowlevel_init does not need to be implemented
505 in assembler.
506
Weijie Gao2434f582020-04-21 09:28:27 +0200507config MIPS_SRAM_INIT
508 bool
Weijie Gao2434f582020-04-21 09:28:27 +0200509 depends on MIPS_INIT_STACK_IN_SRAM
510 help
511 Select this if the SRAM for initial stack needs to be initialized
512 before it can be used. If enabled, a function mips_sram_init() will
513 be called just before setup_stack_gd.
514
Aaron Williams0dc4ab92020-06-30 12:08:56 +0200515config DMA_ADDR_T_64BIT
516 bool
517 help
518 Select this to enable 64-bit DMA addressing
519
Paul Burtonace3be42016-05-27 14:28:04 +0100520config SYS_DCACHE_SIZE
521 int
522 default 0
523 help
524 The total size of the L1 Dcache, if known at compile time.
525
Paul Burton37228622016-05-27 14:28:05 +0100526config SYS_DCACHE_LINE_SIZE
Paul Burton4b7b0a02016-06-09 13:09:52 +0100527 int
Paul Burton37228622016-05-27 14:28:05 +0100528 default 0
529 help
530 The size of L1 Dcache lines, if known at compile time.
531
Paul Burtonace3be42016-05-27 14:28:04 +0100532config SYS_ICACHE_SIZE
533 int
534 default 0
535 help
536 The total size of the L1 ICache, if known at compile time.
537
Paul Burton37228622016-05-27 14:28:05 +0100538config SYS_ICACHE_LINE_SIZE
Paul Burtonace3be42016-05-27 14:28:04 +0100539 int
540 default 0
541 help
Paul Burton37228622016-05-27 14:28:05 +0100542 The size of L1 Icache lines, if known at compile time.
Paul Burtonace3be42016-05-27 14:28:04 +0100543
Ramon Fried22247c62019-06-10 21:05:26 +0300544config SYS_SCACHE_LINE_SIZE
545 int
546 default 0
547 help
548 The size of L2 cache lines, if known at compile time.
549
550
Paul Burtonace3be42016-05-27 14:28:04 +0100551config SYS_CACHE_SIZE_AUTO
552 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried22247c62019-06-10 21:05:26 +0300553 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
554 SYS_SCACHE_LINE_SIZE = 0
Paul Burtonace3be42016-05-27 14:28:04 +0100555 help
556 Select this (or let it be auto-selected by not defining any cache
557 sizes) in order to allow U-Boot to automatically detect the sizes
558 of caches at runtime. This has a small cost in code size & runtime
559 so if you know the cache configuration for your system at compile
560 time it would be beneficial to configure it.
561
Paul Burton4baa0ab2016-09-21 11:18:54 +0100562config MIPS_L2_CACHE
563 bool
564 help
565 Select this if your system includes an L2 cache and you want U-Boot
566 to initialise & maintain it.
567
Paul Burton05e34252016-01-29 13:54:52 +0000568config DYNAMIC_IO_PORT_BASE
569 bool
570
Paul Burtonb2b135d2016-09-21 11:18:53 +0100571config MIPS_CM
572 bool
573 help
574 Select this if your system contains a MIPS Coherence Manager and you
575 wish U-Boot to configure it or make use of it to retrieve system
576 information such as cache configuration.
577
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200578config MIPS_INSERT_BOOT_CONFIG
579 bool
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200580 help
581 Enable this to insert some board-specific boot configuration in
582 the U-Boot binary at offset 0x10.
583
584config MIPS_BOOT_CONFIG_WORD0
585 hex
586 depends on MIPS_INSERT_BOOT_CONFIG
587 default 0x420 if TARGET_MALTA
588 default 0x0
589 help
590 Value which is inserted as boot config word 0.
591
592config MIPS_BOOT_CONFIG_WORD1
593 hex
594 depends on MIPS_INSERT_BOOT_CONFIG
595 default 0x0
596 help
597 Value which is inserted as boot config word 1.
598
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100599endif
600
Masahiro Yamadadd840582014-07-30 14:08:14 +0900601endmenu