blob: e54801673b115c8207a06bc67b94e7ad96585cac [file] [log] [blame]
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001menu "MIPS architecture"
2 depends on MIPS
3
4config SYS_ARCH
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09005 default "mips"
6
Daniel Schwierzeck99e7af22014-10-26 14:14:07 +01007config SYS_CPU
Paul Burton32464372016-05-16 10:52:11 +01008 default "mips32" if CPU_MIPS32
9 default "mips64" if CPU_MIPS64
Daniel Schwierzeck99e7af22014-10-26 14:14:07 +010010
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090011choice
12 prompt "Target select"
Joe Hershbergerf0699602015-05-12 14:46:23 -050013 optional
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090014
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090015config TARGET_MALTA
16 bool "Support malta"
Paul Burtona31a3df2016-05-17 07:43:28 +010017 select DM
18 select DM_SERIAL
Paul Burton8d6600b2016-01-29 13:54:52 +000019 select DYNAMIC_IO_PORT_BASE
Paul Burton59a4c8b2016-09-21 11:18:56 +010020 select MIPS_CM
Daniel Schwierzeck2cc9a772018-09-07 19:18:44 +020021 select MIPS_INSERT_BOOT_CONFIG
Michal Simek84f3dec2018-07-23 15:55:13 +020022 select MIPS_L1_CACHE_SHIFT_6
Paul Burton59a4c8b2016-09-21 11:18:56 +010023 select MIPS_L2_CACHE
Paul Burtona31a3df2016-05-17 07:43:28 +010024 select OF_CONTROL
25 select OF_ISA_BUS
Michal Simek84f3dec2018-07-23 15:55:13 +020026 select ROM_EXCEPTION_VECTORS
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010027 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010028 select SUPPORTS_CPU_MIPS32_R1
29 select SUPPORTS_CPU_MIPS32_R2
Paul Burton1c10e0d2016-05-16 10:52:14 +010030 select SUPPORTS_CPU_MIPS32_R6
Paul Burton825cfbd2016-05-26 14:49:36 +010031 select SUPPORTS_CPU_MIPS64_R1
32 select SUPPORTS_CPU_MIPS64_R2
33 select SUPPORTS_CPU_MIPS64_R6
Michal Simek84f3dec2018-07-23 15:55:13 +020034 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +010035 select SWAP_IO_SPACE
Michal Simek2e7c8192018-07-23 15:55:14 +020036 imply CMD_DM
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090037
38config TARGET_VCT
39 bool "Support vct"
Michal Simek84f3dec2018-07-23 15:55:13 +020040 select ROM_EXCEPTION_VECTORS
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010041 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010042 select SUPPORTS_CPU_MIPS32_R1
43 select SUPPORTS_CPU_MIPS32_R2
Paul Burton6832bdc2015-01-29 01:28:02 +000044 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090045
Wills Wang833a1a82016-03-16 16:59:52 +080046config ARCH_ATH79
47 bool "Support QCA/Atheros ath79"
Wills Wang833a1a82016-03-16 16:59:52 +080048 select DM
Michal Simek84f3dec2018-07-23 15:55:13 +020049 select OF_CONTROL
Michal Simek2e7c8192018-07-23 15:55:14 +020050 imply CMD_DM
Wills Wang833a1a82016-03-16 16:59:52 +080051
Gregory CLEMENTaf05ee52018-12-14 16:16:47 +010052config ARCH_MSCC
53 bool "Support MSCC VCore-III"
54 select OF_CONTROL
55 select DM
56
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020057config ARCH_BMIPS
58 bool "Support BMIPS SoCs"
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020059 select CLK
60 select CPU
Michal Simek84f3dec2018-07-23 15:55:13 +020061 select DM
62 select OF_CONTROL
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020063 select RAM
64 select SYSRESET
Michal Simek2e7c8192018-07-23 15:55:14 +020065 imply CMD_DM
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020066
developer89f051b2019-04-30 11:13:58 +080067config ARCH_MTMIPS
68 bool "Support MediaTek MIPS platforms"
developer591826e2019-09-25 17:45:43 +080069 select CLK
Stefan Roese65da15e2018-09-05 15:12:35 +020070 imply CMD_DM
71 select DISPLAY_CPUINFO
72 select DM
Stefan Roese8bbb6bf2018-10-09 08:59:09 +020073 imply DM_ETH
74 imply DM_GPIO
developer591826e2019-09-25 17:45:43 +080075 select DM_RESET
Stefan Roese65da15e2018-09-05 15:12:35 +020076 select DM_SERIAL
developer591826e2019-09-25 17:45:43 +080077 select PINCTRL
78 select PINMUX
79 select PINCONF
80 select RESET_MTMIPS
Stefan Roese65da15e2018-09-05 15:12:35 +020081 imply DM_SPI
82 imply DM_SPI_FLASH
Stefan Roese17679e42019-05-28 08:11:37 +020083 select LAST_STAGE_INIT
Stefan Roese65da15e2018-09-05 15:12:35 +020084 select MIPS_TUNE_24KC
85 select OF_CONTROL
86 select ROM_EXCEPTION_VECTORS
87 select SUPPORTS_CPU_MIPS32_R1
88 select SUPPORTS_CPU_MIPS32_R2
89 select SUPPORTS_LITTLE_ENDIAN
developer19d572e2020-04-21 09:28:47 +020090 select SUPPORT_SPL
Stefan Roese65da15e2018-09-05 15:12:35 +020091
Paul Burton96c68472018-12-16 19:25:22 -030092config ARCH_JZ47XX
93 bool "Support Ingenic JZ47xx"
94 select SUPPORT_SPL
95 select OF_CONTROL
96 select DM
97
Aaron Williamsb2ea8182020-06-30 12:08:56 +020098config ARCH_OCTEON
99 bool "Support Marvell Octeon CN7xxx platforms"
100 select CPU_CAVIUM_OCTEON
101 select DISPLAY_CPUINFO
102 select DMA_ADDR_T_64BIT
103 select DM
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200104 select DM_ETH
Stefan Roese67b9edb2020-07-30 13:56:21 +0200105 select DM_GPIO
106 select DM_I2C
107 select DM_SERIAL
108 select DM_SPI
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200109 select MIPS_L2_CACHE
Stefan Roese15ba8022020-06-30 12:33:17 +0200110 select MIPS_MACH_EARLY_INIT
Aaron Williamsb2ea8182020-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 Mandal825b3212016-01-28 15:30:10 +0530120config MACH_PIC32
121 bool "Support Microchip PIC32"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530122 select DM
Michal Simek84f3dec2018-07-23 15:55:13 +0200123 select OF_CONTROL
Michal Simek2e7c8192018-07-23 15:55:14 +0200124 imply CMD_DM
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530125
Paul Burtonf5de32a2016-09-08 07:47:39 +0100126config TARGET_BOSTON
127 bool "Support Boston"
128 select DM
129 select DM_SERIAL
Paul Burtonf5de32a2016-09-08 07:47:39 +0100130 select MIPS_CM
131 select MIPS_L1_CACHE_SHIFT_6
132 select MIPS_L2_CACHE
Paul Burtona315bcd2017-04-30 21:22:42 +0200133 select OF_BOARD_SETUP
Michal Simek84f3dec2018-07-23 15:55:13 +0200134 select OF_CONTROL
135 select ROM_EXCEPTION_VECTORS
Paul Burtonf5de32a2016-09-08 07:47:39 +0100136 select SUPPORTS_BIG_ENDIAN
Paul Burtonf5de32a2016-09-08 07:47:39 +0100137 select SUPPORTS_CPU_MIPS32_R1
138 select SUPPORTS_CPU_MIPS32_R2
139 select SUPPORTS_CPU_MIPS32_R6
140 select SUPPORTS_CPU_MIPS64_R1
141 select SUPPORTS_CPU_MIPS64_R2
142 select SUPPORTS_CPU_MIPS64_R6
Michal Simek84f3dec2018-07-23 15:55:13 +0200143 select SUPPORTS_LITTLE_ENDIAN
Michal Simek2e7c8192018-07-23 15:55:14 +0200144 imply CMD_DM
Paul Burtonf5de32a2016-09-08 07:47:39 +0100145
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100146config TARGET_XILFPGA
147 bool "Support Imagination Xilfpga"
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100148 select DM
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100149 select DM_ETH
Michal Simek84f3dec2018-07-23 15:55:13 +0200150 select DM_GPIO
151 select DM_SERIAL
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100152 select MIPS_L1_CACHE_SHIFT_4
Michal Simek84f3dec2018-07-23 15:55:13 +0200153 select OF_CONTROL
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100154 select ROM_EXCEPTION_VECTORS
Michal Simek84f3dec2018-07-23 15:55:13 +0200155 select SUPPORTS_CPU_MIPS32_R1
156 select SUPPORTS_CPU_MIPS32_R2
157 select SUPPORTS_LITTLE_ENDIAN
Michal Simek2e7c8192018-07-23 15:55:14 +0200158 imply CMD_DM
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100159 help
160 This supports IMGTEC MIPSfpga platform
161
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900162endchoice
163
Paul Burtonf5de32a2016-09-08 07:47:39 +0100164source "board/imgtec/boston/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900165source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100166source "board/imgtec/xilfpga/Kconfig"
Wills Wang833a1a82016-03-16 16:59:52 +0800167source "arch/mips/mach-ath79/Kconfig"
Gregory CLEMENTaf05ee52018-12-14 16:16:47 +0100168source "arch/mips/mach-mscc/Kconfig"
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +0200169source "arch/mips/mach-bmips/Kconfig"
Paul Burton96c68472018-12-16 19:25:22 -0300170source "arch/mips/mach-jz47xx/Kconfig"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530171source "arch/mips/mach-pic32/Kconfig"
developer89f051b2019-04-30 11:13:58 +0800172source "arch/mips/mach-mtmips/Kconfig"
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200173source "arch/mips/mach-octeon/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900174
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100175if MIPS
176
177choice
178 prompt "Endianness selection"
179 help
180 Some MIPS boards can be configured for either little or big endian
181 byte order. These modes require different U-Boot images. In general there
182 is one preferred byteorder for a particular system but some systems are
183 just as commonly used in the one or the other endianness.
184
185config SYS_BIG_ENDIAN
186 bool "Big endian"
187 depends on SUPPORTS_BIG_ENDIAN
188
189config SYS_LITTLE_ENDIAN
190 bool "Little endian"
191 depends on SUPPORTS_LITTLE_ENDIAN
192
193endchoice
194
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100195choice
196 prompt "CPU selection"
197 default CPU_MIPS32_R2
198
199config CPU_MIPS32_R1
200 bool "MIPS32 Release 1"
201 depends on SUPPORTS_CPU_MIPS32_R1
202 select 32BIT
203 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100204 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100205 MIPS32 architecture.
206
207config CPU_MIPS32_R2
208 bool "MIPS32 Release 2"
209 depends on SUPPORTS_CPU_MIPS32_R2
210 select 32BIT
211 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100212 Choose this option to build an U-Boot for release 2 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100213 MIPS32 architecture.
214
Paul Burton55e29dd2016-05-16 10:52:12 +0100215config CPU_MIPS32_R6
216 bool "MIPS32 Release 6"
217 depends on SUPPORTS_CPU_MIPS32_R6
218 select 32BIT
219 help
220 Choose this option to build an U-Boot for release 6 or later of the
221 MIPS32 architecture.
222
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100223config CPU_MIPS64_R1
224 bool "MIPS64 Release 1"
225 depends on SUPPORTS_CPU_MIPS64_R1
226 select 64BIT
227 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100228 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100229 MIPS64 architecture.
230
231config CPU_MIPS64_R2
232 bool "MIPS64 Release 2"
233 depends on SUPPORTS_CPU_MIPS64_R2
234 select 64BIT
235 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100236 Choose this option to build a kernel for release 2 through 5 of the
237 MIPS64 architecture.
238
239config CPU_MIPS64_R6
240 bool "MIPS64 Release 6"
241 depends on SUPPORTS_CPU_MIPS64_R6
242 select 64BIT
243 help
244 Choose this option to build a kernel for release 6 or later of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100245 MIPS64 architecture.
246
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200247config CPU_MIPS64_OCTEON
248 bool "Marvell Octeon series of CPUs"
249 depends on SUPPORTS_CPU_MIPS64_OCTEON
250 select 64BIT
251 help
252 Choose this option for Marvell Octeon CPUs. These CPUs are between
253 MIPS64 R5 and R6 with other extensions.
254
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100255endchoice
256
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100257menu "General setup"
258
259config ROM_EXCEPTION_VECTORS
260 bool "Build U-Boot image with exception vectors"
261 help
262 Enable this to include exception vectors in the U-Boot image. This is
263 required if the U-Boot entry point is equal to the address of the
264 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
265 U-Boot booted from parallel NOR flash).
266 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
267 In that case the image size will be reduced by 0x500 bytes.
268
Paul Burton3d6864a2017-05-12 13:26:11 +0200269config MIPS_CM_BASE
270 hex "MIPS CM GCR Base Address"
271 depends on MIPS_CM
Paul Burtona6ac9652017-04-30 21:22:41 +0200272 default 0x16100000 if TARGET_BOSTON
Paul Burton3d6864a2017-05-12 13:26:11 +0200273 default 0x1fbf8000
274 help
275 The physical base address at which to map the MIPS Coherence Manager
276 Global Configuration Registers (GCRs). This should be set such that
277 the GCRs occupy a region of the physical address space which is
278 otherwise unused, or at minimum that software doesn't need to access.
279
Daniel Schwierzecke3b432d2018-09-07 19:02:05 +0200280config MIPS_CACHE_INDEX_BASE
281 hex "Index base address for cache initialisation"
282 default 0x80000000 if CPU_MIPS32
283 default 0xffffffff80000000 if CPU_MIPS64
284 help
285 This is the base address for a memory block, which is used for
286 initialising the cache lines. This is also the base address of a memory
287 block which is used for loading and filling cache lines when
288 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
289 Normally this is CKSEG0. If the MIPS system needs to move this block
290 to some SRAM or ScratchPad RAM, adapt this option accordingly.
291
Stefan Roesec6f54b42020-06-30 12:33:16 +0200292config MIPS_MACH_EARLY_INIT
293 bool "Enable mach specific very early init code"
294 help
295 Use this to enable the call to mips_mach_early_init() very early
296 from start.S. This function can be used e.g. to do some very early
297 CPU / SoC intitialization or image copying. Its called very early
298 and at this stage the PC might not match the linking address
299 (CONFIG_TEXT_BASE) - no absolute jump done until this call.
300
Daniel Schwierzeckc95e7f12020-07-12 00:45:57 +0200301config MIPS_CACHE_SETUP
302 bool "Allow generic start code to initialize and setup caches"
303 default n if SKIP_LOWLEVEL_INIT
304 default y
305 help
306 This allows the generic start code to invoke the generic initialization
307 of the CPU caches. Disabling this can be useful for RAM boot scenarios
308 (EJTAG, SPL payload) or for machines which don't need cache initialization
309 or which want to provide their own cache implementation.
310
311 If unsure, say yes.
312
313config MIPS_CACHE_DISABLE
314 bool "Allow generic start code to initially disable caches"
315 default n if SKIP_LOWLEVEL_INIT
316 default y
317 help
318 This allows the generic start code to initially disable the CPU caches
319 and run uncached until the caches are initialized and enabled. Disabling
320 this can be useful on machines which don't need cache initialization or
321 which want to provide their own cache implementation.
322
323 If unsure, say yes.
324
Daniel Schwierzeck80132862018-11-01 02:02:21 +0100325config MIPS_RELOCATION_TABLE_SIZE
326 hex "Relocation table size"
327 range 0x100 0x10000
328 default "0x8000"
329 ---help---
330 A table of relocation data will be appended to the U-Boot binary
331 and parsed in relocate_code() to fix up all offsets in the relocated
332 U-Boot.
333
334 This option allows the amount of space reserved for the table to be
335 adjusted in a range from 256 up to 64k. The default is 32k and should
336 be ok in most cases. Reduce this value to shrink the size of U-Boot
337 binary.
338
339 The build will fail and a valid size suggested if this is too small.
340
341 If unsure, leave at the default value.
342
developer5cbbd712020-04-21 09:28:25 +0200343config RESTORE_EXCEPTION_VECTOR_BASE
344 bool "Restore exception vector base before booting linux kernel"
345 default n
346 help
347 In U-Boot the exception vector base will be moved to top of memory,
348 to be used to display register dump when exception occurs.
349 But some old linux kernel does not honor the base set in CP0_EBASE.
350 A modified exception vector base will cause kernel crash.
351
352 This option will restore the exception vector base to its previous
353 value.
354
355 If unsure, say N.
356
357config OVERRIDE_EXCEPTION_VECTOR_BASE
358 bool "Override the exception vector base to be restored"
359 depends on RESTORE_EXCEPTION_VECTOR_BASE
360 default n
361 help
362 Enable this option if you want to use a different exception vector
363 base rather than the previously saved one.
364
365config NEW_EXCEPTION_VECTOR_BASE
366 hex "New exception vector base"
367 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
368 range 0x80000000 0xbffff000
369 default 0x80000000
370 help
371 The exception vector base to be restored before booting linux kernel
372
developer01a28282020-04-21 09:28:33 +0200373config INIT_STACK_WITHOUT_MALLOC_F
374 bool "Do not reserve malloc space on initial stack"
375 default n
376 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
382config SPL_INIT_STACK_WITHOUT_MALLOC_F
383 bool "Do not reserve malloc space on initial stack in SPL"
384 default n
385 help
386 Enable this option if you don't want to reserve malloc space on
387 initial stack. This is useful if the initial stack can't hold large
388 malloc space. Platform should set the malloc_base later when DRAM is
389 ready to use.
390
developer25678a02020-04-21 09:28:37 +0200391config SPL_LOADER_SUPPORT
392 bool
393 default n
394 help
395 Enable this option if you want to use SPL loaders without DM enabled.
396
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100397endmenu
398
Daniel Schwierzeckf9749fa2015-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 Schwierzeckc07dc602015-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. Day8c60f922016-05-04 04:47:31 -0400417 The address of the environment is stored in register $a2.
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100418
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100419config MIPS_BOOT_FDT
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100420 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100421 default n
422 help
423 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeckd1b29d22015-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 Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100426
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100427endmenu
428
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100429config SUPPORTS_BIG_ENDIAN
430 bool
431
432config SUPPORTS_LITTLE_ENDIAN
433 bool
434
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100435config SUPPORTS_CPU_MIPS32_R1
436 bool
437
438config SUPPORTS_CPU_MIPS32_R2
439 bool
440
Paul Burton55e29dd2016-05-16 10:52:12 +0100441config SUPPORTS_CPU_MIPS32_R6
442 bool
443
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100444config SUPPORTS_CPU_MIPS64_R1
445 bool
446
447config SUPPORTS_CPU_MIPS64_R2
448 bool
449
Paul Burton55e29dd2016-05-16 10:52:12 +0100450config SUPPORTS_CPU_MIPS64_R6
451 bool
452
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200453config SUPPORTS_CPU_MIPS64_OCTEON
454 bool
455
456config CPU_CAVIUM_OCTEON
457 bool
458
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100459config CPU_MIPS32
460 bool
Paul Burton55e29dd2016-05-16 10:52:12 +0100461 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100462
463config CPU_MIPS64
464 bool
Paul Burton55e29dd2016-05-16 10:52:12 +0100465 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200466 default y if CPU_MIPS64_OCTEON
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100467
Daniel Schwierzeckaadd3322015-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 Schwierzeckc7661d52016-05-27 15:39:39 +0200477config MIPS_TUNE_34KC
478 bool
479
Marek Vasuta9c6e8b2016-05-06 20:10:33 +0200480config MIPS_TUNE_74KC
481 bool
482
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200483config MIPS_TUNE_OCTEON3
484 bool
485
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100486config 32BIT
487 bool
488
489config 64BIT
490 bool
491
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +0100492config SWAP_IO_SPACE
493 bool
494
Paul Burton6832bdc2015-01-29 01:28:02 +0000495config SYS_MIPS_CACHE_INIT_RAM_LOAD
496 bool
497
Daniel Schwierzeck41dc35e2016-06-04 16:13:21 +0200498config MIPS_INIT_STACK_IN_SRAM
499 bool
500 default n
501 help
502 Select this if the initial stack frame could be setup in SRAM.
503 Normally the initial stack frame is set up in DRAM which is often
504 only available after lowlevel_init. With this option the initial
505 stack frame and the early C environment is set up before
506 lowlevel_init. Thus lowlevel_init does not need to be implemented
507 in assembler.
508
developereb7d3a22020-04-21 09:28:27 +0200509config MIPS_SRAM_INIT
510 bool
511 default n
512 depends on MIPS_INIT_STACK_IN_SRAM
513 help
514 Select this if the SRAM for initial stack needs to be initialized
515 before it can be used. If enabled, a function mips_sram_init() will
516 be called just before setup_stack_gd.
517
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200518config DMA_ADDR_T_64BIT
519 bool
520 help
521 Select this to enable 64-bit DMA addressing
522
Paul Burton5e511422016-05-27 14:28:04 +0100523config SYS_DCACHE_SIZE
524 int
525 default 0
526 help
527 The total size of the L1 Dcache, if known at compile time.
528
Paul Burton62f13522016-05-27 14:28:05 +0100529config SYS_DCACHE_LINE_SIZE
Paul Burton79e49fd2016-06-09 13:09:52 +0100530 int
Paul Burton62f13522016-05-27 14:28:05 +0100531 default 0
532 help
533 The size of L1 Dcache lines, if known at compile time.
534
Paul Burton5e511422016-05-27 14:28:04 +0100535config SYS_ICACHE_SIZE
536 int
537 default 0
538 help
539 The total size of the L1 ICache, if known at compile time.
540
Paul Burton62f13522016-05-27 14:28:05 +0100541config SYS_ICACHE_LINE_SIZE
Paul Burton5e511422016-05-27 14:28:04 +0100542 int
543 default 0
544 help
Paul Burton62f13522016-05-27 14:28:05 +0100545 The size of L1 Icache lines, if known at compile time.
Paul Burton5e511422016-05-27 14:28:04 +0100546
Ramon Fried7e07e492019-06-10 21:05:26 +0300547config SYS_SCACHE_LINE_SIZE
548 int
549 default 0
550 help
551 The size of L2 cache lines, if known at compile time.
552
553
Paul Burton5e511422016-05-27 14:28:04 +0100554config SYS_CACHE_SIZE_AUTO
555 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried7e07e492019-06-10 21:05:26 +0300556 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
557 SYS_SCACHE_LINE_SIZE = 0
Paul Burton5e511422016-05-27 14:28:04 +0100558 help
559 Select this (or let it be auto-selected by not defining any cache
560 sizes) in order to allow U-Boot to automatically detect the sizes
561 of caches at runtime. This has a small cost in code size & runtime
562 so if you know the cache configuration for your system at compile
563 time it would be beneficial to configure it.
564
Daniel Schwierzeck02ca55e2016-01-09 17:32:50 +0100565config MIPS_L1_CACHE_SHIFT_4
566 bool
567
568config MIPS_L1_CACHE_SHIFT_5
569 bool
570
571config MIPS_L1_CACHE_SHIFT_6
572 bool
573
574config MIPS_L1_CACHE_SHIFT_7
575 bool
576
577config MIPS_L1_CACHE_SHIFT
578 int
579 default "7" if MIPS_L1_CACHE_SHIFT_7
580 default "6" if MIPS_L1_CACHE_SHIFT_6
581 default "5" if MIPS_L1_CACHE_SHIFT_5
582 default "4" if MIPS_L1_CACHE_SHIFT_4
583 default "5"
584
Paul Burton81560782016-09-21 11:18:54 +0100585config MIPS_L2_CACHE
586 bool
587 help
588 Select this if your system includes an L2 cache and you want U-Boot
589 to initialise & maintain it.
590
Paul Burton8d6600b2016-01-29 13:54:52 +0000591config DYNAMIC_IO_PORT_BASE
592 bool
593
Paul Burton79ac1742016-09-21 11:18:53 +0100594config MIPS_CM
595 bool
596 help
597 Select this if your system contains a MIPS Coherence Manager and you
598 wish U-Boot to configure it or make use of it to retrieve system
599 information such as cache configuration.
600
Daniel Schwierzeck2cc9a772018-09-07 19:18:44 +0200601config MIPS_INSERT_BOOT_CONFIG
602 bool
603 default n
604 help
605 Enable this to insert some board-specific boot configuration in
606 the U-Boot binary at offset 0x10.
607
608config MIPS_BOOT_CONFIG_WORD0
609 hex
610 depends on MIPS_INSERT_BOOT_CONFIG
611 default 0x420 if TARGET_MALTA
612 default 0x0
613 help
614 Value which is inserted as boot config word 0.
615
616config MIPS_BOOT_CONFIG_WORD1
617 hex
618 depends on MIPS_INSERT_BOOT_CONFIG
619 default 0x0
620 help
621 Value which is inserted as boot config word 1.
622
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100623endif
624
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900625endmenu