blob: 2e0793a7a7b8eab92cf28f150e607a3c5f5b0e76 [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"
Daniel Schwierzeck45f78be2021-07-15 20:54:01 +020017 select BOARD_EARLY_INIT_R
Paul Burtona31a3df2016-05-17 07:43:28 +010018 select DM
19 select DM_SERIAL
Simon Glass3933d292021-08-01 18:54:44 -060020 select PCI
Daniel Schwierzeck45f78be2021-07-15 20:54:01 +020021 select DM_ETH
Paul Burton8d6600b2016-01-29 13:54:52 +000022 select DYNAMIC_IO_PORT_BASE
Paul Burton59a4c8b2016-09-21 11:18:56 +010023 select MIPS_CM
Daniel Schwierzeck2cc9a772018-09-07 19:18:44 +020024 select MIPS_INSERT_BOOT_CONFIG
Tom Rini3ef67ae2021-08-26 11:47:59 -040025 select SYS_CACHE_SHIFT_6
Paul Burton59a4c8b2016-09-21 11:18:56 +010026 select MIPS_L2_CACHE
Paul Burtona31a3df2016-05-17 07:43:28 +010027 select OF_CONTROL
28 select OF_ISA_BUS
Daniel Schwierzeck45f78be2021-07-15 20:54:01 +020029 select PCI_MAP_SYSTEM_MEMORY
Michal Simek84f3dec2018-07-23 15:55:13 +020030 select ROM_EXCEPTION_VECTORS
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010031 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010032 select SUPPORTS_CPU_MIPS32_R1
33 select SUPPORTS_CPU_MIPS32_R2
Paul Burton1c10e0d2016-05-16 10:52:14 +010034 select SUPPORTS_CPU_MIPS32_R6
Paul Burton825cfbd2016-05-26 14:49:36 +010035 select SUPPORTS_CPU_MIPS64_R1
36 select SUPPORTS_CPU_MIPS64_R2
37 select SUPPORTS_CPU_MIPS64_R6
Michal Simek84f3dec2018-07-23 15:55:13 +020038 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +010039 select SWAP_IO_SPACE
Michal Simek2e7c8192018-07-23 15:55:14 +020040 imply CMD_DM
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090041
42config TARGET_VCT
43 bool "Support vct"
Michal Simek84f3dec2018-07-23 15:55:13 +020044 select ROM_EXCEPTION_VECTORS
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010045 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010046 select SUPPORTS_CPU_MIPS32_R1
47 select SUPPORTS_CPU_MIPS32_R2
Paul Burton6832bdc2015-01-29 01:28:02 +000048 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090049
Wills Wang833a1a82016-03-16 16:59:52 +080050config ARCH_ATH79
51 bool "Support QCA/Atheros ath79"
Wills Wang833a1a82016-03-16 16:59:52 +080052 select DM
Michal Simek84f3dec2018-07-23 15:55:13 +020053 select OF_CONTROL
Michal Simek2e7c8192018-07-23 15:55:14 +020054 imply CMD_DM
Wills Wang833a1a82016-03-16 16:59:52 +080055
Gregory CLEMENTaf05ee52018-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 Rojas98a97a82017-04-25 00:39:20 +020061config ARCH_BMIPS
62 bool "Support BMIPS SoCs"
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020063 select CLK
64 select CPU
Michal Simek84f3dec2018-07-23 15:55:13 +020065 select DM
66 select OF_CONTROL
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020067 select RAM
68 select SYSRESET
Michal Simek2e7c8192018-07-23 15:55:14 +020069 imply CMD_DM
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020070
developer89f051b2019-04-30 11:13:58 +080071config ARCH_MTMIPS
72 bool "Support MediaTek MIPS platforms"
developer591826e2019-09-25 17:45:43 +080073 select CLK
Stefan Roese65da15e2018-09-05 15:12:35 +020074 imply CMD_DM
75 select DISPLAY_CPUINFO
76 select DM
Stefan Roese8bbb6bf2018-10-09 08:59:09 +020077 imply DM_ETH
78 imply DM_GPIO
developer591826e2019-09-25 17:45:43 +080079 select DM_RESET
Stefan Roese65da15e2018-09-05 15:12:35 +020080 select DM_SERIAL
developer591826e2019-09-25 17:45:43 +080081 select PINCTRL
82 select PINMUX
83 select PINCONF
84 select RESET_MTMIPS
Stefan Roese65da15e2018-09-05 15:12:35 +020085 imply DM_SPI
86 imply DM_SPI_FLASH
Stefan Roese17679e42019-05-28 08:11:37 +020087 select LAST_STAGE_INIT
Stefan Roese65da15e2018-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
developer19d572e2020-04-21 09:28:47 +020094 select SUPPORT_SPL
Stefan Roese65da15e2018-09-05 15:12:35 +020095
Paul Burton96c68472018-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 Williamsb2ea8182020-06-30 12:08:56 +0200102config ARCH_OCTEON
103 bool "Support Marvell Octeon CN7xxx platforms"
Stefan Roese59735ef2022-04-07 09:11:46 +0200104 select ARCH_EARLY_INIT_R
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200105 select CPU_CAVIUM_OCTEON
106 select DISPLAY_CPUINFO
107 select DMA_ADDR_T_64BIT
108 select DM
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200109 select DM_ETH
Stefan Roese67b9edb2020-07-30 13:56:21 +0200110 select DM_GPIO
111 select DM_I2C
112 select DM_SERIAL
113 select DM_SPI
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200114 select MIPS_L2_CACHE
Stefan Roese15ba8022020-06-30 12:33:17 +0200115 select MIPS_MACH_EARLY_INIT
Aaron Williamsb2ea8182020-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 Mandal825b3212016-01-28 15:30:10 +0530125config MACH_PIC32
126 bool "Support Microchip PIC32"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530127 select DM
Michal Simek84f3dec2018-07-23 15:55:13 +0200128 select OF_CONTROL
Michal Simek2e7c8192018-07-23 15:55:14 +0200129 imply CMD_DM
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530130
Paul Burtonf5de32a2016-09-08 07:47:39 +0100131config TARGET_BOSTON
132 bool "Support Boston"
133 select DM
Simon Glassfc557362022-03-04 08:43:05 -0700134 imply DM_EVENT
Paul Burtonf5de32a2016-09-08 07:47:39 +0100135 select DM_SERIAL
Paul Burtonf5de32a2016-09-08 07:47:39 +0100136 select MIPS_CM
Tom Rini3ef67ae2021-08-26 11:47:59 -0400137 select SYS_CACHE_SHIFT_6
Paul Burtonf5de32a2016-09-08 07:47:39 +0100138 select MIPS_L2_CACHE
Paul Burtona315bcd2017-04-30 21:22:42 +0200139 select OF_BOARD_SETUP
Michal Simek84f3dec2018-07-23 15:55:13 +0200140 select OF_CONTROL
141 select ROM_EXCEPTION_VECTORS
Paul Burtonf5de32a2016-09-08 07:47:39 +0100142 select SUPPORTS_BIG_ENDIAN
Paul Burtonf5de32a2016-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 Simek84f3dec2018-07-23 15:55:13 +0200149 select SUPPORTS_LITTLE_ENDIAN
Michal Simek2e7c8192018-07-23 15:55:14 +0200150 imply CMD_DM
Paul Burtonf5de32a2016-09-08 07:47:39 +0100151
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100152config TARGET_XILFPGA
153 bool "Support Imagination Xilfpga"
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100154 select DM
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100155 select DM_ETH
Michal Simek84f3dec2018-07-23 15:55:13 +0200156 select DM_GPIO
157 select DM_SERIAL
Tom Rini3ef67ae2021-08-26 11:47:59 -0400158 select SYS_CACHE_SHIFT_4
Michal Simek84f3dec2018-07-23 15:55:13 +0200159 select OF_CONTROL
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100160 select ROM_EXCEPTION_VECTORS
Michal Simek84f3dec2018-07-23 15:55:13 +0200161 select SUPPORTS_CPU_MIPS32_R1
162 select SUPPORTS_CPU_MIPS32_R2
163 select SUPPORTS_LITTLE_ENDIAN
Michal Simek2e7c8192018-07-23 15:55:14 +0200164 imply CMD_DM
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100165 help
166 This supports IMGTEC MIPSfpga platform
167
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900168endchoice
169
Paul Burtonf5de32a2016-09-08 07:47:39 +0100170source "board/imgtec/boston/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900171source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100172source "board/imgtec/xilfpga/Kconfig"
Wills Wang833a1a82016-03-16 16:59:52 +0800173source "arch/mips/mach-ath79/Kconfig"
Gregory CLEMENTaf05ee52018-12-14 16:16:47 +0100174source "arch/mips/mach-mscc/Kconfig"
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +0200175source "arch/mips/mach-bmips/Kconfig"
Paul Burton96c68472018-12-16 19:25:22 -0300176source "arch/mips/mach-jz47xx/Kconfig"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530177source "arch/mips/mach-pic32/Kconfig"
developer89f051b2019-04-30 11:13:58 +0800178source "arch/mips/mach-mtmips/Kconfig"
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200179source "arch/mips/mach-octeon/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900180
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100181if MIPS
182
183choice
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100184 prompt "CPU selection"
185 default CPU_MIPS32_R2
186
187config CPU_MIPS32_R1
188 bool "MIPS32 Release 1"
189 depends on SUPPORTS_CPU_MIPS32_R1
190 select 32BIT
191 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100192 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100193 MIPS32 architecture.
194
195config CPU_MIPS32_R2
196 bool "MIPS32 Release 2"
197 depends on SUPPORTS_CPU_MIPS32_R2
198 select 32BIT
199 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100200 Choose this option to build an U-Boot for release 2 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100201 MIPS32 architecture.
202
Paul Burton55e29dd2016-05-16 10:52:12 +0100203config CPU_MIPS32_R6
204 bool "MIPS32 Release 6"
205 depends on SUPPORTS_CPU_MIPS32_R6
206 select 32BIT
207 help
208 Choose this option to build an U-Boot for release 6 or later of the
209 MIPS32 architecture.
210
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100211config CPU_MIPS64_R1
212 bool "MIPS64 Release 1"
213 depends on SUPPORTS_CPU_MIPS64_R1
214 select 64BIT
215 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100216 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100217 MIPS64 architecture.
218
219config CPU_MIPS64_R2
220 bool "MIPS64 Release 2"
221 depends on SUPPORTS_CPU_MIPS64_R2
222 select 64BIT
223 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100224 Choose this option to build a kernel for release 2 through 5 of the
225 MIPS64 architecture.
226
227config CPU_MIPS64_R6
228 bool "MIPS64 Release 6"
229 depends on SUPPORTS_CPU_MIPS64_R6
230 select 64BIT
231 help
232 Choose this option to build a kernel for release 6 or later of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100233 MIPS64 architecture.
234
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200235config CPU_MIPS64_OCTEON
236 bool "Marvell Octeon series of CPUs"
237 depends on SUPPORTS_CPU_MIPS64_OCTEON
238 select 64BIT
239 help
240 Choose this option for Marvell Octeon CPUs. These CPUs are between
241 MIPS64 R5 and R6 with other extensions.
242
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100243endchoice
244
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100245menu "General setup"
246
247config ROM_EXCEPTION_VECTORS
248 bool "Build U-Boot image with exception vectors"
249 help
250 Enable this to include exception vectors in the U-Boot image. This is
251 required if the U-Boot entry point is equal to the address of the
252 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
253 U-Boot booted from parallel NOR flash).
254 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
255 In that case the image size will be reduced by 0x500 bytes.
256
Paul Burton3d6864a2017-05-12 13:26:11 +0200257config MIPS_CM_BASE
258 hex "MIPS CM GCR Base Address"
259 depends on MIPS_CM
Paul Burtona6ac9652017-04-30 21:22:41 +0200260 default 0x16100000 if TARGET_BOSTON
Paul Burton3d6864a2017-05-12 13:26:11 +0200261 default 0x1fbf8000
262 help
263 The physical base address at which to map the MIPS Coherence Manager
264 Global Configuration Registers (GCRs). This should be set such that
265 the GCRs occupy a region of the physical address space which is
266 otherwise unused, or at minimum that software doesn't need to access.
267
Daniel Schwierzecke3b432d2018-09-07 19:02:05 +0200268config MIPS_CACHE_INDEX_BASE
269 hex "Index base address for cache initialisation"
270 default 0x80000000 if CPU_MIPS32
271 default 0xffffffff80000000 if CPU_MIPS64
272 help
273 This is the base address for a memory block, which is used for
274 initialising the cache lines. This is also the base address of a memory
275 block which is used for loading and filling cache lines when
276 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
277 Normally this is CKSEG0. If the MIPS system needs to move this block
278 to some SRAM or ScratchPad RAM, adapt this option accordingly.
279
Stefan Roesec6f54b42020-06-30 12:33:16 +0200280config MIPS_MACH_EARLY_INIT
281 bool "Enable mach specific very early init code"
282 help
283 Use this to enable the call to mips_mach_early_init() very early
284 from start.S. This function can be used e.g. to do some very early
285 CPU / SoC intitialization or image copying. Its called very early
286 and at this stage the PC might not match the linking address
287 (CONFIG_TEXT_BASE) - no absolute jump done until this call.
288
Daniel Schwierzeckc95e7f12020-07-12 00:45:57 +0200289config MIPS_CACHE_SETUP
290 bool "Allow generic start code to initialize and setup caches"
291 default n if SKIP_LOWLEVEL_INIT
292 default y
293 help
294 This allows the generic start code to invoke the generic initialization
295 of the CPU caches. Disabling this can be useful for RAM boot scenarios
296 (EJTAG, SPL payload) or for machines which don't need cache initialization
297 or which want to provide their own cache implementation.
298
299 If unsure, say yes.
300
301config MIPS_CACHE_DISABLE
302 bool "Allow generic start code to initially disable caches"
303 default n if SKIP_LOWLEVEL_INIT
304 default y
305 help
306 This allows the generic start code to initially disable the CPU caches
307 and run uncached until the caches are initialized and enabled. Disabling
308 this can be useful on machines which don't need cache initialization or
309 which want to provide their own cache implementation.
310
311 If unsure, say yes.
312
Daniel Schwierzeck80132862018-11-01 02:02:21 +0100313config MIPS_RELOCATION_TABLE_SIZE
314 hex "Relocation table size"
315 range 0x100 0x10000
316 default "0x8000"
317 ---help---
318 A table of relocation data will be appended to the U-Boot binary
319 and parsed in relocate_code() to fix up all offsets in the relocated
320 U-Boot.
321
322 This option allows the amount of space reserved for the table to be
323 adjusted in a range from 256 up to 64k. The default is 32k and should
324 be ok in most cases. Reduce this value to shrink the size of U-Boot
325 binary.
326
327 The build will fail and a valid size suggested if this is too small.
328
329 If unsure, leave at the default value.
330
developer5cbbd712020-04-21 09:28:25 +0200331config RESTORE_EXCEPTION_VECTOR_BASE
332 bool "Restore exception vector base before booting linux kernel"
developer5cbbd712020-04-21 09:28:25 +0200333 help
334 In U-Boot the exception vector base will be moved to top of memory,
335 to be used to display register dump when exception occurs.
336 But some old linux kernel does not honor the base set in CP0_EBASE.
337 A modified exception vector base will cause kernel crash.
338
339 This option will restore the exception vector base to its previous
340 value.
341
342 If unsure, say N.
343
344config OVERRIDE_EXCEPTION_VECTOR_BASE
345 bool "Override the exception vector base to be restored"
346 depends on RESTORE_EXCEPTION_VECTOR_BASE
developer5cbbd712020-04-21 09:28:25 +0200347 help
348 Enable this option if you want to use a different exception vector
349 base rather than the previously saved one.
350
351config NEW_EXCEPTION_VECTOR_BASE
352 hex "New exception vector base"
353 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
354 range 0x80000000 0xbffff000
355 default 0x80000000
356 help
357 The exception vector base to be restored before booting linux kernel
358
developer01a28282020-04-21 09:28:33 +0200359config INIT_STACK_WITHOUT_MALLOC_F
360 bool "Do not reserve malloc space on initial stack"
developer01a28282020-04-21 09:28:33 +0200361 help
362 Enable this option if you don't want to reserve malloc space on
363 initial stack. This is useful if the initial stack can't hold large
364 malloc space. Platform should set the malloc_base later when DRAM is
365 ready to use.
366
367config SPL_INIT_STACK_WITHOUT_MALLOC_F
368 bool "Do not reserve malloc space on initial stack in SPL"
developer01a28282020-04-21 09:28:33 +0200369 help
370 Enable this option if you don't want to reserve malloc space on
371 initial stack. This is useful if the initial stack can't hold large
372 malloc space. Platform should set the malloc_base later when DRAM is
373 ready to use.
374
developer25678a02020-04-21 09:28:37 +0200375config SPL_LOADER_SUPPORT
376 bool
developer25678a02020-04-21 09:28:37 +0200377 help
378 Enable this option if you want to use SPL loaders without DM enabled.
379
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100380endmenu
381
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100382menu "OS boot interface"
383
384config MIPS_BOOT_CMDLINE_LEGACY
385 bool "Hand over legacy command line to Linux kernel"
386 default y
387 help
388 Enable this option if you want U-Boot to hand over the Yamon-style
389 command line to the kernel. All bootargs will be prepared as argc/argv
390 compatible list. The argument count (argc) is stored in register $a0.
391 The address of the argument list (argv) is stored in register $a1.
392
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100393config MIPS_BOOT_ENV_LEGACY
394 bool "Hand over legacy environment to Linux kernel"
395 default y
396 help
397 Enable this option if you want U-Boot to hand over the Yamon-style
398 environment to the kernel. Information like memory size, initrd
399 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day8c60f922016-05-04 04:47:31 -0400400 The address of the environment is stored in register $a2.
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100401
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100402config MIPS_BOOT_FDT
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100403 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100404 help
405 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100406 device tree to the kernel. According to UHI register $a0 will be set
407 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100408
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100409endmenu
410
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100411config SUPPORTS_BIG_ENDIAN
412 bool
413
414config SUPPORTS_LITTLE_ENDIAN
415 bool
416
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100417config SUPPORTS_CPU_MIPS32_R1
418 bool
419
420config SUPPORTS_CPU_MIPS32_R2
421 bool
422
Paul Burton55e29dd2016-05-16 10:52:12 +0100423config SUPPORTS_CPU_MIPS32_R6
424 bool
425
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100426config SUPPORTS_CPU_MIPS64_R1
427 bool
428
429config SUPPORTS_CPU_MIPS64_R2
430 bool
431
Paul Burton55e29dd2016-05-16 10:52:12 +0100432config SUPPORTS_CPU_MIPS64_R6
433 bool
434
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200435config SUPPORTS_CPU_MIPS64_OCTEON
436 bool
437
438config CPU_CAVIUM_OCTEON
439 bool
440
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100441config CPU_MIPS32
442 bool
Paul Burton55e29dd2016-05-16 10:52:12 +0100443 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100444
445config CPU_MIPS64
446 bool
Paul Burton55e29dd2016-05-16 10:52:12 +0100447 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200448 default y if CPU_MIPS64_OCTEON
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100449
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +0100450config MIPS_TUNE_4KC
451 bool
452
453config MIPS_TUNE_14KC
454 bool
455
456config MIPS_TUNE_24KC
457 bool
458
Daniel Schwierzeckc7661d52016-05-27 15:39:39 +0200459config MIPS_TUNE_34KC
460 bool
461
Marek Vasuta9c6e8b2016-05-06 20:10:33 +0200462config MIPS_TUNE_74KC
463 bool
464
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200465config MIPS_TUNE_OCTEON3
466 bool
467
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100468config 32BIT
469 bool
470
471config 64BIT
472 bool
473
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +0100474config SWAP_IO_SPACE
475 bool
476
Paul Burton6832bdc2015-01-29 01:28:02 +0000477config SYS_MIPS_CACHE_INIT_RAM_LOAD
478 bool
479
Daniel Schwierzeck41dc35e2016-06-04 16:13:21 +0200480config MIPS_INIT_STACK_IN_SRAM
481 bool
Daniel Schwierzeck41dc35e2016-06-04 16:13:21 +0200482 help
483 Select this if the initial stack frame could be setup in SRAM.
484 Normally the initial stack frame is set up in DRAM which is often
485 only available after lowlevel_init. With this option the initial
486 stack frame and the early C environment is set up before
487 lowlevel_init. Thus lowlevel_init does not need to be implemented
488 in assembler.
489
developereb7d3a22020-04-21 09:28:27 +0200490config MIPS_SRAM_INIT
491 bool
developereb7d3a22020-04-21 09:28:27 +0200492 depends on MIPS_INIT_STACK_IN_SRAM
493 help
494 Select this if the SRAM for initial stack needs to be initialized
495 before it can be used. If enabled, a function mips_sram_init() will
496 be called just before setup_stack_gd.
497
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200498config DMA_ADDR_T_64BIT
499 bool
500 help
501 Select this to enable 64-bit DMA addressing
502
Paul Burton5e511422016-05-27 14:28:04 +0100503config SYS_DCACHE_SIZE
504 int
505 default 0
506 help
507 The total size of the L1 Dcache, if known at compile time.
508
Paul Burton62f13522016-05-27 14:28:05 +0100509config SYS_DCACHE_LINE_SIZE
Paul Burton79e49fd2016-06-09 13:09:52 +0100510 int
Paul Burton62f13522016-05-27 14:28:05 +0100511 default 0
512 help
513 The size of L1 Dcache lines, if known at compile time.
514
Paul Burton5e511422016-05-27 14:28:04 +0100515config SYS_ICACHE_SIZE
516 int
517 default 0
518 help
519 The total size of the L1 ICache, if known at compile time.
520
Paul Burton62f13522016-05-27 14:28:05 +0100521config SYS_ICACHE_LINE_SIZE
Paul Burton5e511422016-05-27 14:28:04 +0100522 int
523 default 0
524 help
Paul Burton62f13522016-05-27 14:28:05 +0100525 The size of L1 Icache lines, if known at compile time.
Paul Burton5e511422016-05-27 14:28:04 +0100526
Ramon Fried7e07e492019-06-10 21:05:26 +0300527config SYS_SCACHE_LINE_SIZE
528 int
529 default 0
530 help
531 The size of L2 cache lines, if known at compile time.
532
533
Paul Burton5e511422016-05-27 14:28:04 +0100534config SYS_CACHE_SIZE_AUTO
535 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried7e07e492019-06-10 21:05:26 +0300536 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
537 SYS_SCACHE_LINE_SIZE = 0
Paul Burton5e511422016-05-27 14:28:04 +0100538 help
539 Select this (or let it be auto-selected by not defining any cache
540 sizes) in order to allow U-Boot to automatically detect the sizes
541 of caches at runtime. This has a small cost in code size & runtime
542 so if you know the cache configuration for your system at compile
543 time it would be beneficial to configure it.
544
Paul Burton81560782016-09-21 11:18:54 +0100545config MIPS_L2_CACHE
546 bool
547 help
548 Select this if your system includes an L2 cache and you want U-Boot
549 to initialise & maintain it.
550
Paul Burton8d6600b2016-01-29 13:54:52 +0000551config DYNAMIC_IO_PORT_BASE
552 bool
553
Paul Burton79ac1742016-09-21 11:18:53 +0100554config MIPS_CM
555 bool
556 help
557 Select this if your system contains a MIPS Coherence Manager and you
558 wish U-Boot to configure it or make use of it to retrieve system
559 information such as cache configuration.
560
Daniel Schwierzeck2cc9a772018-09-07 19:18:44 +0200561config MIPS_INSERT_BOOT_CONFIG
562 bool
Daniel Schwierzeck2cc9a772018-09-07 19:18:44 +0200563 help
564 Enable this to insert some board-specific boot configuration in
565 the U-Boot binary at offset 0x10.
566
567config MIPS_BOOT_CONFIG_WORD0
568 hex
569 depends on MIPS_INSERT_BOOT_CONFIG
570 default 0x420 if TARGET_MALTA
571 default 0x0
572 help
573 Value which is inserted as boot config word 0.
574
575config MIPS_BOOT_CONFIG_WORD1
576 hex
577 depends on MIPS_INSERT_BOOT_CONFIG
578 default 0x0
579 help
580 Value which is inserted as boot config word 1.
581
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100582endif
583
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900584endmenu