blob: 28234aa0bb6c4f02a22e5fe3695080e94f19d8de [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"
104 select CPU_CAVIUM_OCTEON
105 select DISPLAY_CPUINFO
106 select DMA_ADDR_T_64BIT
107 select DM
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200108 select DM_ETH
Stefan Roese67b9edb2020-07-30 13:56:21 +0200109 select DM_GPIO
110 select DM_I2C
111 select DM_SERIAL
112 select DM_SPI
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200113 select MIPS_L2_CACHE
Stefan Roese15ba8022020-06-30 12:33:17 +0200114 select MIPS_MACH_EARLY_INIT
Aaron Williamsb2ea8182020-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 Mandal825b3212016-01-28 15:30:10 +0530124config MACH_PIC32
125 bool "Support Microchip PIC32"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530126 select DM
Michal Simek84f3dec2018-07-23 15:55:13 +0200127 select OF_CONTROL
Michal Simek2e7c8192018-07-23 15:55:14 +0200128 imply CMD_DM
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530129
Paul Burtonf5de32a2016-09-08 07:47:39 +0100130config TARGET_BOSTON
131 bool "Support Boston"
132 select DM
133 select DM_SERIAL
Paul Burtonf5de32a2016-09-08 07:47:39 +0100134 select MIPS_CM
Tom Rini3ef67ae2021-08-26 11:47:59 -0400135 select SYS_CACHE_SHIFT_6
Paul Burtonf5de32a2016-09-08 07:47:39 +0100136 select MIPS_L2_CACHE
Paul Burtona315bcd2017-04-30 21:22:42 +0200137 select OF_BOARD_SETUP
Michal Simek84f3dec2018-07-23 15:55:13 +0200138 select OF_CONTROL
139 select ROM_EXCEPTION_VECTORS
Paul Burtonf5de32a2016-09-08 07:47:39 +0100140 select SUPPORTS_BIG_ENDIAN
Paul Burtonf5de32a2016-09-08 07:47:39 +0100141 select SUPPORTS_CPU_MIPS32_R1
142 select SUPPORTS_CPU_MIPS32_R2
143 select SUPPORTS_CPU_MIPS32_R6
144 select SUPPORTS_CPU_MIPS64_R1
145 select SUPPORTS_CPU_MIPS64_R2
146 select SUPPORTS_CPU_MIPS64_R6
Michal Simek84f3dec2018-07-23 15:55:13 +0200147 select SUPPORTS_LITTLE_ENDIAN
Michal Simek2e7c8192018-07-23 15:55:14 +0200148 imply CMD_DM
Paul Burtonf5de32a2016-09-08 07:47:39 +0100149
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100150config TARGET_XILFPGA
151 bool "Support Imagination Xilfpga"
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100152 select DM
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100153 select DM_ETH
Michal Simek84f3dec2018-07-23 15:55:13 +0200154 select DM_GPIO
155 select DM_SERIAL
Tom Rini3ef67ae2021-08-26 11:47:59 -0400156 select SYS_CACHE_SHIFT_4
Michal Simek84f3dec2018-07-23 15:55:13 +0200157 select OF_CONTROL
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100158 select ROM_EXCEPTION_VECTORS
Michal Simek84f3dec2018-07-23 15:55:13 +0200159 select SUPPORTS_CPU_MIPS32_R1
160 select SUPPORTS_CPU_MIPS32_R2
161 select SUPPORTS_LITTLE_ENDIAN
Michal Simek2e7c8192018-07-23 15:55:14 +0200162 imply CMD_DM
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100163 help
164 This supports IMGTEC MIPSfpga platform
165
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900166endchoice
167
Paul Burtonf5de32a2016-09-08 07:47:39 +0100168source "board/imgtec/boston/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900169source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100170source "board/imgtec/xilfpga/Kconfig"
Wills Wang833a1a82016-03-16 16:59:52 +0800171source "arch/mips/mach-ath79/Kconfig"
Gregory CLEMENTaf05ee52018-12-14 16:16:47 +0100172source "arch/mips/mach-mscc/Kconfig"
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +0200173source "arch/mips/mach-bmips/Kconfig"
Paul Burton96c68472018-12-16 19:25:22 -0300174source "arch/mips/mach-jz47xx/Kconfig"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530175source "arch/mips/mach-pic32/Kconfig"
developer89f051b2019-04-30 11:13:58 +0800176source "arch/mips/mach-mtmips/Kconfig"
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200177source "arch/mips/mach-octeon/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900178
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100179if MIPS
180
181choice
182 prompt "Endianness selection"
183 help
184 Some MIPS boards can be configured for either little or big endian
185 byte order. These modes require different U-Boot images. In general there
186 is one preferred byteorder for a particular system but some systems are
187 just as commonly used in the one or the other endianness.
188
189config SYS_BIG_ENDIAN
190 bool "Big endian"
191 depends on SUPPORTS_BIG_ENDIAN
192
193config SYS_LITTLE_ENDIAN
194 bool "Little endian"
195 depends on SUPPORTS_LITTLE_ENDIAN
196
197endchoice
198
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100199choice
200 prompt "CPU selection"
201 default CPU_MIPS32_R2
202
203config CPU_MIPS32_R1
204 bool "MIPS32 Release 1"
205 depends on SUPPORTS_CPU_MIPS32_R1
206 select 32BIT
207 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100208 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100209 MIPS32 architecture.
210
211config CPU_MIPS32_R2
212 bool "MIPS32 Release 2"
213 depends on SUPPORTS_CPU_MIPS32_R2
214 select 32BIT
215 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100216 Choose this option to build an U-Boot for release 2 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100217 MIPS32 architecture.
218
Paul Burton55e29dd2016-05-16 10:52:12 +0100219config CPU_MIPS32_R6
220 bool "MIPS32 Release 6"
221 depends on SUPPORTS_CPU_MIPS32_R6
222 select 32BIT
223 help
224 Choose this option to build an U-Boot for release 6 or later of the
225 MIPS32 architecture.
226
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100227config CPU_MIPS64_R1
228 bool "MIPS64 Release 1"
229 depends on SUPPORTS_CPU_MIPS64_R1
230 select 64BIT
231 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100232 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100233 MIPS64 architecture.
234
235config CPU_MIPS64_R2
236 bool "MIPS64 Release 2"
237 depends on SUPPORTS_CPU_MIPS64_R2
238 select 64BIT
239 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100240 Choose this option to build a kernel for release 2 through 5 of the
241 MIPS64 architecture.
242
243config CPU_MIPS64_R6
244 bool "MIPS64 Release 6"
245 depends on SUPPORTS_CPU_MIPS64_R6
246 select 64BIT
247 help
248 Choose this option to build a kernel for release 6 or later of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100249 MIPS64 architecture.
250
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200251config CPU_MIPS64_OCTEON
252 bool "Marvell Octeon series of CPUs"
253 depends on SUPPORTS_CPU_MIPS64_OCTEON
254 select 64BIT
255 help
256 Choose this option for Marvell Octeon CPUs. These CPUs are between
257 MIPS64 R5 and R6 with other extensions.
258
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100259endchoice
260
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100261menu "General setup"
262
263config ROM_EXCEPTION_VECTORS
264 bool "Build U-Boot image with exception vectors"
265 help
266 Enable this to include exception vectors in the U-Boot image. This is
267 required if the U-Boot entry point is equal to the address of the
268 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
269 U-Boot booted from parallel NOR flash).
270 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
271 In that case the image size will be reduced by 0x500 bytes.
272
Paul Burton3d6864a2017-05-12 13:26:11 +0200273config MIPS_CM_BASE
274 hex "MIPS CM GCR Base Address"
275 depends on MIPS_CM
Paul Burtona6ac9652017-04-30 21:22:41 +0200276 default 0x16100000 if TARGET_BOSTON
Paul Burton3d6864a2017-05-12 13:26:11 +0200277 default 0x1fbf8000
278 help
279 The physical base address at which to map the MIPS Coherence Manager
280 Global Configuration Registers (GCRs). This should be set such that
281 the GCRs occupy a region of the physical address space which is
282 otherwise unused, or at minimum that software doesn't need to access.
283
Daniel Schwierzecke3b432d2018-09-07 19:02:05 +0200284config MIPS_CACHE_INDEX_BASE
285 hex "Index base address for cache initialisation"
286 default 0x80000000 if CPU_MIPS32
287 default 0xffffffff80000000 if CPU_MIPS64
288 help
289 This is the base address for a memory block, which is used for
290 initialising the cache lines. This is also the base address of a memory
291 block which is used for loading and filling cache lines when
292 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
293 Normally this is CKSEG0. If the MIPS system needs to move this block
294 to some SRAM or ScratchPad RAM, adapt this option accordingly.
295
Stefan Roesec6f54b42020-06-30 12:33:16 +0200296config MIPS_MACH_EARLY_INIT
297 bool "Enable mach specific very early init code"
298 help
299 Use this to enable the call to mips_mach_early_init() very early
300 from start.S. This function can be used e.g. to do some very early
301 CPU / SoC intitialization or image copying. Its called very early
302 and at this stage the PC might not match the linking address
303 (CONFIG_TEXT_BASE) - no absolute jump done until this call.
304
Daniel Schwierzeckc95e7f12020-07-12 00:45:57 +0200305config MIPS_CACHE_SETUP
306 bool "Allow generic start code to initialize and setup caches"
307 default n if SKIP_LOWLEVEL_INIT
308 default y
309 help
310 This allows the generic start code to invoke the generic initialization
311 of the CPU caches. Disabling this can be useful for RAM boot scenarios
312 (EJTAG, SPL payload) or for machines which don't need cache initialization
313 or which want to provide their own cache implementation.
314
315 If unsure, say yes.
316
317config MIPS_CACHE_DISABLE
318 bool "Allow generic start code to initially disable caches"
319 default n if SKIP_LOWLEVEL_INIT
320 default y
321 help
322 This allows the generic start code to initially disable the CPU caches
323 and run uncached until the caches are initialized and enabled. Disabling
324 this can be useful on machines which don't need cache initialization or
325 which want to provide their own cache implementation.
326
327 If unsure, say yes.
328
Daniel Schwierzeck80132862018-11-01 02:02:21 +0100329config MIPS_RELOCATION_TABLE_SIZE
330 hex "Relocation table size"
331 range 0x100 0x10000
332 default "0x8000"
333 ---help---
334 A table of relocation data will be appended to the U-Boot binary
335 and parsed in relocate_code() to fix up all offsets in the relocated
336 U-Boot.
337
338 This option allows the amount of space reserved for the table to be
339 adjusted in a range from 256 up to 64k. The default is 32k and should
340 be ok in most cases. Reduce this value to shrink the size of U-Boot
341 binary.
342
343 The build will fail and a valid size suggested if this is too small.
344
345 If unsure, leave at the default value.
346
developer5cbbd712020-04-21 09:28:25 +0200347config RESTORE_EXCEPTION_VECTOR_BASE
348 bool "Restore exception vector base before booting linux kernel"
developer5cbbd712020-04-21 09:28:25 +0200349 help
350 In U-Boot the exception vector base will be moved to top of memory,
351 to be used to display register dump when exception occurs.
352 But some old linux kernel does not honor the base set in CP0_EBASE.
353 A modified exception vector base will cause kernel crash.
354
355 This option will restore the exception vector base to its previous
356 value.
357
358 If unsure, say N.
359
360config OVERRIDE_EXCEPTION_VECTOR_BASE
361 bool "Override the exception vector base to be restored"
362 depends on RESTORE_EXCEPTION_VECTOR_BASE
developer5cbbd712020-04-21 09:28:25 +0200363 help
364 Enable this option if you want to use a different exception vector
365 base rather than the previously saved one.
366
367config NEW_EXCEPTION_VECTOR_BASE
368 hex "New exception vector base"
369 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
370 range 0x80000000 0xbffff000
371 default 0x80000000
372 help
373 The exception vector base to be restored before booting linux kernel
374
developer01a28282020-04-21 09:28:33 +0200375config INIT_STACK_WITHOUT_MALLOC_F
376 bool "Do not reserve malloc space on initial stack"
developer01a28282020-04-21 09:28:33 +0200377 help
378 Enable this option if you don't want to reserve malloc space on
379 initial stack. This is useful if the initial stack can't hold large
380 malloc space. Platform should set the malloc_base later when DRAM is
381 ready to use.
382
383config SPL_INIT_STACK_WITHOUT_MALLOC_F
384 bool "Do not reserve malloc space on initial stack in SPL"
developer01a28282020-04-21 09:28:33 +0200385 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
developer25678a02020-04-21 09:28:37 +0200393 help
394 Enable this option if you want to use SPL loaders without DM enabled.
395
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100396endmenu
397
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100398menu "OS boot interface"
399
400config MIPS_BOOT_CMDLINE_LEGACY
401 bool "Hand over legacy command line to Linux kernel"
402 default y
403 help
404 Enable this option if you want U-Boot to hand over the Yamon-style
405 command line to the kernel. All bootargs will be prepared as argc/argv
406 compatible list. The argument count (argc) is stored in register $a0.
407 The address of the argument list (argv) is stored in register $a1.
408
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100409config MIPS_BOOT_ENV_LEGACY
410 bool "Hand over legacy environment to Linux kernel"
411 default y
412 help
413 Enable this option if you want U-Boot to hand over the Yamon-style
414 environment to the kernel. Information like memory size, initrd
415 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day8c60f922016-05-04 04:47:31 -0400416 The address of the environment is stored in register $a2.
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100417
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100418config MIPS_BOOT_FDT
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100419 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100420 help
421 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100422 device tree to the kernel. According to UHI register $a0 will be set
423 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100424
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100425endmenu
426
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100427config SUPPORTS_BIG_ENDIAN
428 bool
429
430config SUPPORTS_LITTLE_ENDIAN
431 bool
432
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100433config SUPPORTS_CPU_MIPS32_R1
434 bool
435
436config SUPPORTS_CPU_MIPS32_R2
437 bool
438
Paul Burton55e29dd2016-05-16 10:52:12 +0100439config SUPPORTS_CPU_MIPS32_R6
440 bool
441
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100442config SUPPORTS_CPU_MIPS64_R1
443 bool
444
445config SUPPORTS_CPU_MIPS64_R2
446 bool
447
Paul Burton55e29dd2016-05-16 10:52:12 +0100448config SUPPORTS_CPU_MIPS64_R6
449 bool
450
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200451config SUPPORTS_CPU_MIPS64_OCTEON
452 bool
453
454config CPU_CAVIUM_OCTEON
455 bool
456
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100457config CPU_MIPS32
458 bool
Paul Burton55e29dd2016-05-16 10:52:12 +0100459 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100460
461config CPU_MIPS64
462 bool
Paul Burton55e29dd2016-05-16 10:52:12 +0100463 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200464 default y if CPU_MIPS64_OCTEON
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100465
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +0100466config MIPS_TUNE_4KC
467 bool
468
469config MIPS_TUNE_14KC
470 bool
471
472config MIPS_TUNE_24KC
473 bool
474
Daniel Schwierzeckc7661d52016-05-27 15:39:39 +0200475config MIPS_TUNE_34KC
476 bool
477
Marek Vasuta9c6e8b2016-05-06 20:10:33 +0200478config MIPS_TUNE_74KC
479 bool
480
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200481config MIPS_TUNE_OCTEON3
482 bool
483
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100484config 32BIT
485 bool
486
487config 64BIT
488 bool
489
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +0100490config SWAP_IO_SPACE
491 bool
492
Paul Burton6832bdc2015-01-29 01:28:02 +0000493config SYS_MIPS_CACHE_INIT_RAM_LOAD
494 bool
495
Daniel Schwierzeck41dc35e2016-06-04 16:13:21 +0200496config MIPS_INIT_STACK_IN_SRAM
497 bool
Daniel Schwierzeck41dc35e2016-06-04 16:13:21 +0200498 help
499 Select this if the initial stack frame could be setup in SRAM.
500 Normally the initial stack frame is set up in DRAM which is often
501 only available after lowlevel_init. With this option the initial
502 stack frame and the early C environment is set up before
503 lowlevel_init. Thus lowlevel_init does not need to be implemented
504 in assembler.
505
developereb7d3a22020-04-21 09:28:27 +0200506config MIPS_SRAM_INIT
507 bool
developereb7d3a22020-04-21 09:28:27 +0200508 depends on MIPS_INIT_STACK_IN_SRAM
509 help
510 Select this if the SRAM for initial stack needs to be initialized
511 before it can be used. If enabled, a function mips_sram_init() will
512 be called just before setup_stack_gd.
513
Aaron Williamsb2ea8182020-06-30 12:08:56 +0200514config DMA_ADDR_T_64BIT
515 bool
516 help
517 Select this to enable 64-bit DMA addressing
518
Paul Burton5e511422016-05-27 14:28:04 +0100519config SYS_DCACHE_SIZE
520 int
521 default 0
522 help
523 The total size of the L1 Dcache, if known at compile time.
524
Paul Burton62f13522016-05-27 14:28:05 +0100525config SYS_DCACHE_LINE_SIZE
Paul Burton79e49fd2016-06-09 13:09:52 +0100526 int
Paul Burton62f13522016-05-27 14:28:05 +0100527 default 0
528 help
529 The size of L1 Dcache lines, if known at compile time.
530
Paul Burton5e511422016-05-27 14:28:04 +0100531config SYS_ICACHE_SIZE
532 int
533 default 0
534 help
535 The total size of the L1 ICache, if known at compile time.
536
Paul Burton62f13522016-05-27 14:28:05 +0100537config SYS_ICACHE_LINE_SIZE
Paul Burton5e511422016-05-27 14:28:04 +0100538 int
539 default 0
540 help
Paul Burton62f13522016-05-27 14:28:05 +0100541 The size of L1 Icache lines, if known at compile time.
Paul Burton5e511422016-05-27 14:28:04 +0100542
Ramon Fried7e07e492019-06-10 21:05:26 +0300543config SYS_SCACHE_LINE_SIZE
544 int
545 default 0
546 help
547 The size of L2 cache lines, if known at compile time.
548
549
Paul Burton5e511422016-05-27 14:28:04 +0100550config SYS_CACHE_SIZE_AUTO
551 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried7e07e492019-06-10 21:05:26 +0300552 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
553 SYS_SCACHE_LINE_SIZE = 0
Paul Burton5e511422016-05-27 14:28:04 +0100554 help
555 Select this (or let it be auto-selected by not defining any cache
556 sizes) in order to allow U-Boot to automatically detect the sizes
557 of caches at runtime. This has a small cost in code size & runtime
558 so if you know the cache configuration for your system at compile
559 time it would be beneficial to configure it.
560
Paul Burton81560782016-09-21 11:18:54 +0100561config MIPS_L2_CACHE
562 bool
563 help
564 Select this if your system includes an L2 cache and you want U-Boot
565 to initialise & maintain it.
566
Paul Burton8d6600b2016-01-29 13:54:52 +0000567config DYNAMIC_IO_PORT_BASE
568 bool
569
Paul Burton79ac1742016-09-21 11:18:53 +0100570config MIPS_CM
571 bool
572 help
573 Select this if your system contains a MIPS Coherence Manager and you
574 wish U-Boot to configure it or make use of it to retrieve system
575 information such as cache configuration.
576
Daniel Schwierzeck2cc9a772018-09-07 19:18:44 +0200577config MIPS_INSERT_BOOT_CONFIG
578 bool
Daniel Schwierzeck2cc9a772018-09-07 19:18:44 +0200579 help
580 Enable this to insert some board-specific boot configuration in
581 the U-Boot binary at offset 0x10.
582
583config MIPS_BOOT_CONFIG_WORD0
584 hex
585 depends on MIPS_INSERT_BOOT_CONFIG
586 default 0x420 if TARGET_MALTA
587 default 0x0
588 help
589 Value which is inserted as boot config word 0.
590
591config MIPS_BOOT_CONFIG_WORD1
592 hex
593 depends on MIPS_INSERT_BOOT_CONFIG
594 default 0x0
595 help
596 Value which is inserted as boot config word 1.
597
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100598endif
599
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900600endmenu