blob: 48e754cc46cec922bd13aa7f1e3ab5714765b278 [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
15config TARGET_QEMU_MIPS
16 bool "Support qemu-mips"
Michal Simek84f3dec2018-07-23 15:55:13 +020017 select ROM_EXCEPTION_VECTORS
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010018 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010019 select SUPPORTS_CPU_MIPS32_R1
20 select SUPPORTS_CPU_MIPS32_R2
Daniel Schwierzeck94384d12014-10-26 14:14:07 +010021 select SUPPORTS_CPU_MIPS64_R1
22 select SUPPORTS_CPU_MIPS64_R2
Michal Simek84f3dec2018-07-23 15:55:13 +020023 select SUPPORTS_LITTLE_ENDIAN
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090024
25config TARGET_MALTA
26 bool "Support malta"
Paul Burtona31a3df2016-05-17 07:43:28 +010027 select DM
28 select DM_SERIAL
Paul Burton8d6600b2016-01-29 13:54:52 +000029 select DYNAMIC_IO_PORT_BASE
Paul Burton59a4c8b2016-09-21 11:18:56 +010030 select MIPS_CM
Daniel Schwierzeck2cc9a772018-09-07 19:18:44 +020031 select MIPS_INSERT_BOOT_CONFIG
Michal Simek84f3dec2018-07-23 15:55:13 +020032 select MIPS_L1_CACHE_SHIFT_6
Paul Burton59a4c8b2016-09-21 11:18:56 +010033 select MIPS_L2_CACHE
Paul Burtona31a3df2016-05-17 07:43:28 +010034 select OF_CONTROL
35 select OF_ISA_BUS
Michal Simek84f3dec2018-07-23 15:55:13 +020036 select ROM_EXCEPTION_VECTORS
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010037 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010038 select SUPPORTS_CPU_MIPS32_R1
39 select SUPPORTS_CPU_MIPS32_R2
Paul Burton1c10e0d2016-05-16 10:52:14 +010040 select SUPPORTS_CPU_MIPS32_R6
Paul Burton825cfbd2016-05-26 14:49:36 +010041 select SUPPORTS_CPU_MIPS64_R1
42 select SUPPORTS_CPU_MIPS64_R2
43 select SUPPORTS_CPU_MIPS64_R6
Michal Simek84f3dec2018-07-23 15:55:13 +020044 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +010045 select SWAP_IO_SPACE
Michal Simek2e7c8192018-07-23 15:55:14 +020046 imply CMD_DM
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090047
48config TARGET_VCT
49 bool "Support vct"
Michal Simek84f3dec2018-07-23 15:55:13 +020050 select ROM_EXCEPTION_VECTORS
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010051 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010052 select SUPPORTS_CPU_MIPS32_R1
53 select SUPPORTS_CPU_MIPS32_R2
Paul Burton6832bdc2015-01-29 01:28:02 +000054 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090055
Wills Wang833a1a82016-03-16 16:59:52 +080056config ARCH_ATH79
57 bool "Support QCA/Atheros ath79"
Wills Wang833a1a82016-03-16 16:59:52 +080058 select DM
Michal Simek84f3dec2018-07-23 15:55:13 +020059 select OF_CONTROL
Michal Simek2e7c8192018-07-23 15:55:14 +020060 imply CMD_DM
Wills Wang833a1a82016-03-16 16:59:52 +080061
Gregory CLEMENTaf05ee52018-12-14 16:16:47 +010062config ARCH_MSCC
63 bool "Support MSCC VCore-III"
64 select OF_CONTROL
65 select DM
66
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020067config ARCH_BMIPS
68 bool "Support BMIPS SoCs"
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020069 select CLK
70 select CPU
Michal Simek84f3dec2018-07-23 15:55:13 +020071 select DM
72 select OF_CONTROL
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020073 select RAM
74 select SYSRESET
Michal Simek2e7c8192018-07-23 15:55:14 +020075 imply CMD_DM
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020076
developer89f051b2019-04-30 11:13:58 +080077config ARCH_MTMIPS
78 bool "Support MediaTek MIPS platforms"
developer591826e2019-09-25 17:45:43 +080079 select CLK
Stefan Roese65da15e2018-09-05 15:12:35 +020080 imply CMD_DM
81 select DISPLAY_CPUINFO
82 select DM
Stefan Roese8bbb6bf2018-10-09 08:59:09 +020083 imply DM_ETH
84 imply DM_GPIO
developer591826e2019-09-25 17:45:43 +080085 select DM_RESET
Stefan Roese65da15e2018-09-05 15:12:35 +020086 select DM_SERIAL
developer591826e2019-09-25 17:45:43 +080087 select PINCTRL
88 select PINMUX
89 select PINCONF
90 select RESET_MTMIPS
Stefan Roese65da15e2018-09-05 15:12:35 +020091 imply DM_SPI
92 imply DM_SPI_FLASH
Stefan Roese17679e42019-05-28 08:11:37 +020093 select LAST_STAGE_INIT
Stefan Roese65da15e2018-09-05 15:12:35 +020094 select MIPS_TUNE_24KC
95 select OF_CONTROL
96 select ROM_EXCEPTION_VECTORS
97 select SUPPORTS_CPU_MIPS32_R1
98 select SUPPORTS_CPU_MIPS32_R2
99 select SUPPORTS_LITTLE_ENDIAN
Stefan Roese845e0fd2018-08-16 15:27:32 +0200100 select SYSRESET
developer19d572e2020-04-21 09:28:47 +0200101 select SUPPORT_SPL
Stefan Roese65da15e2018-09-05 15:12:35 +0200102
Paul Burton96c68472018-12-16 19:25:22 -0300103config ARCH_JZ47XX
104 bool "Support Ingenic JZ47xx"
105 select SUPPORT_SPL
106 select OF_CONTROL
107 select DM
108
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530109config MACH_PIC32
110 bool "Support Microchip PIC32"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530111 select DM
Michal Simek84f3dec2018-07-23 15:55:13 +0200112 select OF_CONTROL
Michal Simek2e7c8192018-07-23 15:55:14 +0200113 imply CMD_DM
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530114
Paul Burtonf5de32a2016-09-08 07:47:39 +0100115config TARGET_BOSTON
116 bool "Support Boston"
117 select DM
118 select DM_SERIAL
Paul Burtonf5de32a2016-09-08 07:47:39 +0100119 select MIPS_CM
120 select MIPS_L1_CACHE_SHIFT_6
121 select MIPS_L2_CACHE
Paul Burtona315bcd2017-04-30 21:22:42 +0200122 select OF_BOARD_SETUP
Michal Simek84f3dec2018-07-23 15:55:13 +0200123 select OF_CONTROL
124 select ROM_EXCEPTION_VECTORS
Paul Burtonf5de32a2016-09-08 07:47:39 +0100125 select SUPPORTS_BIG_ENDIAN
Paul Burtonf5de32a2016-09-08 07:47:39 +0100126 select SUPPORTS_CPU_MIPS32_R1
127 select SUPPORTS_CPU_MIPS32_R2
128 select SUPPORTS_CPU_MIPS32_R6
129 select SUPPORTS_CPU_MIPS64_R1
130 select SUPPORTS_CPU_MIPS64_R2
131 select SUPPORTS_CPU_MIPS64_R6
Michal Simek84f3dec2018-07-23 15:55:13 +0200132 select SUPPORTS_LITTLE_ENDIAN
Michal Simek2e7c8192018-07-23 15:55:14 +0200133 imply CMD_DM
Paul Burtonf5de32a2016-09-08 07:47:39 +0100134
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100135config TARGET_XILFPGA
136 bool "Support Imagination Xilfpga"
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100137 select DM
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100138 select DM_ETH
Michal Simek84f3dec2018-07-23 15:55:13 +0200139 select DM_GPIO
140 select DM_SERIAL
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100141 select MIPS_L1_CACHE_SHIFT_4
Michal Simek84f3dec2018-07-23 15:55:13 +0200142 select OF_CONTROL
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100143 select ROM_EXCEPTION_VECTORS
Michal Simek84f3dec2018-07-23 15:55:13 +0200144 select SUPPORTS_CPU_MIPS32_R1
145 select SUPPORTS_CPU_MIPS32_R2
146 select SUPPORTS_LITTLE_ENDIAN
Michal Simek2e7c8192018-07-23 15:55:14 +0200147 imply CMD_DM
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100148 help
149 This supports IMGTEC MIPSfpga platform
150
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900151endchoice
152
Paul Burtonf5de32a2016-09-08 07:47:39 +0100153source "board/imgtec/boston/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900154source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhel1d153b32016-07-29 15:11:20 +0100155source "board/imgtec/xilfpga/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900156source "board/qemu-mips/Kconfig"
Wills Wang833a1a82016-03-16 16:59:52 +0800157source "arch/mips/mach-ath79/Kconfig"
Gregory CLEMENTaf05ee52018-12-14 16:16:47 +0100158source "arch/mips/mach-mscc/Kconfig"
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +0200159source "arch/mips/mach-bmips/Kconfig"
Paul Burton96c68472018-12-16 19:25:22 -0300160source "arch/mips/mach-jz47xx/Kconfig"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +0530161source "arch/mips/mach-pic32/Kconfig"
developer89f051b2019-04-30 11:13:58 +0800162source "arch/mips/mach-mtmips/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900163
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100164if MIPS
165
166choice
167 prompt "Endianness selection"
168 help
169 Some MIPS boards can be configured for either little or big endian
170 byte order. These modes require different U-Boot images. In general there
171 is one preferred byteorder for a particular system but some systems are
172 just as commonly used in the one or the other endianness.
173
174config SYS_BIG_ENDIAN
175 bool "Big endian"
176 depends on SUPPORTS_BIG_ENDIAN
177
178config SYS_LITTLE_ENDIAN
179 bool "Little endian"
180 depends on SUPPORTS_LITTLE_ENDIAN
181
182endchoice
183
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100184choice
185 prompt "CPU selection"
186 default CPU_MIPS32_R2
187
188config CPU_MIPS32_R1
189 bool "MIPS32 Release 1"
190 depends on SUPPORTS_CPU_MIPS32_R1
191 select 32BIT
192 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100193 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100194 MIPS32 architecture.
195
196config CPU_MIPS32_R2
197 bool "MIPS32 Release 2"
198 depends on SUPPORTS_CPU_MIPS32_R2
199 select 32BIT
200 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100201 Choose this option to build an U-Boot for release 2 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100202 MIPS32 architecture.
203
Paul Burton55e29dd2016-05-16 10:52:12 +0100204config CPU_MIPS32_R6
205 bool "MIPS32 Release 6"
206 depends on SUPPORTS_CPU_MIPS32_R6
207 select 32BIT
208 help
209 Choose this option to build an U-Boot for release 6 or later of the
210 MIPS32 architecture.
211
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100212config CPU_MIPS64_R1
213 bool "MIPS64 Release 1"
214 depends on SUPPORTS_CPU_MIPS64_R1
215 select 64BIT
216 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100217 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100218 MIPS64 architecture.
219
220config CPU_MIPS64_R2
221 bool "MIPS64 Release 2"
222 depends on SUPPORTS_CPU_MIPS64_R2
223 select 64BIT
224 help
Paul Burton55e29dd2016-05-16 10:52:12 +0100225 Choose this option to build a kernel for release 2 through 5 of the
226 MIPS64 architecture.
227
228config CPU_MIPS64_R6
229 bool "MIPS64 Release 6"
230 depends on SUPPORTS_CPU_MIPS64_R6
231 select 64BIT
232 help
233 Choose this option to build a kernel for release 6 or later of the
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100234 MIPS64 architecture.
235
236endchoice
237
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100238menu "General setup"
239
240config ROM_EXCEPTION_VECTORS
241 bool "Build U-Boot image with exception vectors"
242 help
243 Enable this to include exception vectors in the U-Boot image. This is
244 required if the U-Boot entry point is equal to the address of the
245 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
246 U-Boot booted from parallel NOR flash).
247 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
248 In that case the image size will be reduced by 0x500 bytes.
249
Paul Burton3d6864a2017-05-12 13:26:11 +0200250config MIPS_CM_BASE
251 hex "MIPS CM GCR Base Address"
252 depends on MIPS_CM
Paul Burtona6ac9652017-04-30 21:22:41 +0200253 default 0x16100000 if TARGET_BOSTON
Paul Burton3d6864a2017-05-12 13:26:11 +0200254 default 0x1fbf8000
255 help
256 The physical base address at which to map the MIPS Coherence Manager
257 Global Configuration Registers (GCRs). This should be set such that
258 the GCRs occupy a region of the physical address space which is
259 otherwise unused, or at minimum that software doesn't need to access.
260
Daniel Schwierzecke3b432d2018-09-07 19:02:05 +0200261config MIPS_CACHE_INDEX_BASE
262 hex "Index base address for cache initialisation"
263 default 0x80000000 if CPU_MIPS32
264 default 0xffffffff80000000 if CPU_MIPS64
265 help
266 This is the base address for a memory block, which is used for
267 initialising the cache lines. This is also the base address of a memory
268 block which is used for loading and filling cache lines when
269 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
270 Normally this is CKSEG0. If the MIPS system needs to move this block
271 to some SRAM or ScratchPad RAM, adapt this option accordingly.
272
Daniel Schwierzeck80132862018-11-01 02:02:21 +0100273config MIPS_RELOCATION_TABLE_SIZE
274 hex "Relocation table size"
275 range 0x100 0x10000
276 default "0x8000"
277 ---help---
278 A table of relocation data will be appended to the U-Boot binary
279 and parsed in relocate_code() to fix up all offsets in the relocated
280 U-Boot.
281
282 This option allows the amount of space reserved for the table to be
283 adjusted in a range from 256 up to 64k. The default is 32k and should
284 be ok in most cases. Reduce this value to shrink the size of U-Boot
285 binary.
286
287 The build will fail and a valid size suggested if this is too small.
288
289 If unsure, leave at the default value.
290
developer5cbbd712020-04-21 09:28:25 +0200291config RESTORE_EXCEPTION_VECTOR_BASE
292 bool "Restore exception vector base before booting linux kernel"
293 default n
294 help
295 In U-Boot the exception vector base will be moved to top of memory,
296 to be used to display register dump when exception occurs.
297 But some old linux kernel does not honor the base set in CP0_EBASE.
298 A modified exception vector base will cause kernel crash.
299
300 This option will restore the exception vector base to its previous
301 value.
302
303 If unsure, say N.
304
305config OVERRIDE_EXCEPTION_VECTOR_BASE
306 bool "Override the exception vector base to be restored"
307 depends on RESTORE_EXCEPTION_VECTOR_BASE
308 default n
309 help
310 Enable this option if you want to use a different exception vector
311 base rather than the previously saved one.
312
313config NEW_EXCEPTION_VECTOR_BASE
314 hex "New exception vector base"
315 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
316 range 0x80000000 0xbffff000
317 default 0x80000000
318 help
319 The exception vector base to be restored before booting linux kernel
320
developer01a28282020-04-21 09:28:33 +0200321config INIT_STACK_WITHOUT_MALLOC_F
322 bool "Do not reserve malloc space on initial stack"
323 default n
324 help
325 Enable this option if you don't want to reserve malloc space on
326 initial stack. This is useful if the initial stack can't hold large
327 malloc space. Platform should set the malloc_base later when DRAM is
328 ready to use.
329
330config SPL_INIT_STACK_WITHOUT_MALLOC_F
331 bool "Do not reserve malloc space on initial stack in SPL"
332 default n
333 help
334 Enable this option if you don't want to reserve malloc space on
335 initial stack. This is useful if the initial stack can't hold large
336 malloc space. Platform should set the malloc_base later when DRAM is
337 ready to use.
338
developer25678a02020-04-21 09:28:37 +0200339config SPL_LOADER_SUPPORT
340 bool
341 default n
342 help
343 Enable this option if you want to use SPL loaders without DM enabled.
344
Daniel Schwierzeck754cd052016-02-14 18:52:57 +0100345endmenu
346
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100347menu "OS boot interface"
348
349config MIPS_BOOT_CMDLINE_LEGACY
350 bool "Hand over legacy command line to Linux kernel"
351 default y
352 help
353 Enable this option if you want U-Boot to hand over the Yamon-style
354 command line to the kernel. All bootargs will be prepared as argc/argv
355 compatible list. The argument count (argc) is stored in register $a0.
356 The address of the argument list (argv) is stored in register $a1.
357
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100358config MIPS_BOOT_ENV_LEGACY
359 bool "Hand over legacy environment to Linux kernel"
360 default y
361 help
362 Enable this option if you want U-Boot to hand over the Yamon-style
363 environment to the kernel. Information like memory size, initrd
364 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day8c60f922016-05-04 04:47:31 -0400365 The address of the environment is stored in register $a2.
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100366
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100367config MIPS_BOOT_FDT
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100368 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100369 default n
370 help
371 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100372 device tree to the kernel. According to UHI register $a0 will be set
373 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100374
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100375endmenu
376
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100377config SUPPORTS_BIG_ENDIAN
378 bool
379
380config SUPPORTS_LITTLE_ENDIAN
381 bool
382
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100383config SUPPORTS_CPU_MIPS32_R1
384 bool
385
386config SUPPORTS_CPU_MIPS32_R2
387 bool
388
Paul Burton55e29dd2016-05-16 10:52:12 +0100389config SUPPORTS_CPU_MIPS32_R6
390 bool
391
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100392config SUPPORTS_CPU_MIPS64_R1
393 bool
394
395config SUPPORTS_CPU_MIPS64_R2
396 bool
397
Paul Burton55e29dd2016-05-16 10:52:12 +0100398config SUPPORTS_CPU_MIPS64_R6
399 bool
400
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100401config CPU_MIPS32
402 bool
Paul Burton55e29dd2016-05-16 10:52:12 +0100403 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100404
405config CPU_MIPS64
406 bool
Paul Burton55e29dd2016-05-16 10:52:12 +0100407 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100408
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +0100409config MIPS_TUNE_4KC
410 bool
411
412config MIPS_TUNE_14KC
413 bool
414
415config MIPS_TUNE_24KC
416 bool
417
Daniel Schwierzeckc7661d52016-05-27 15:39:39 +0200418config MIPS_TUNE_34KC
419 bool
420
Marek Vasuta9c6e8b2016-05-06 20:10:33 +0200421config MIPS_TUNE_74KC
422 bool
423
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100424config 32BIT
425 bool
426
427config 64BIT
428 bool
429
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +0100430config SWAP_IO_SPACE
431 bool
432
Paul Burton6832bdc2015-01-29 01:28:02 +0000433config SYS_MIPS_CACHE_INIT_RAM_LOAD
434 bool
435
Daniel Schwierzeck41dc35e2016-06-04 16:13:21 +0200436config MIPS_INIT_STACK_IN_SRAM
437 bool
438 default n
439 help
440 Select this if the initial stack frame could be setup in SRAM.
441 Normally the initial stack frame is set up in DRAM which is often
442 only available after lowlevel_init. With this option the initial
443 stack frame and the early C environment is set up before
444 lowlevel_init. Thus lowlevel_init does not need to be implemented
445 in assembler.
446
developereb7d3a22020-04-21 09:28:27 +0200447config MIPS_SRAM_INIT
448 bool
449 default n
450 depends on MIPS_INIT_STACK_IN_SRAM
451 help
452 Select this if the SRAM for initial stack needs to be initialized
453 before it can be used. If enabled, a function mips_sram_init() will
454 be called just before setup_stack_gd.
455
Paul Burton5e511422016-05-27 14:28:04 +0100456config SYS_DCACHE_SIZE
457 int
458 default 0
459 help
460 The total size of the L1 Dcache, if known at compile time.
461
Paul Burton62f13522016-05-27 14:28:05 +0100462config SYS_DCACHE_LINE_SIZE
Paul Burton79e49fd2016-06-09 13:09:52 +0100463 int
Paul Burton62f13522016-05-27 14:28:05 +0100464 default 0
465 help
466 The size of L1 Dcache lines, if known at compile time.
467
Paul Burton5e511422016-05-27 14:28:04 +0100468config SYS_ICACHE_SIZE
469 int
470 default 0
471 help
472 The total size of the L1 ICache, if known at compile time.
473
Paul Burton62f13522016-05-27 14:28:05 +0100474config SYS_ICACHE_LINE_SIZE
Paul Burton5e511422016-05-27 14:28:04 +0100475 int
476 default 0
477 help
Paul Burton62f13522016-05-27 14:28:05 +0100478 The size of L1 Icache lines, if known at compile time.
Paul Burton5e511422016-05-27 14:28:04 +0100479
Ramon Fried7e07e492019-06-10 21:05:26 +0300480config SYS_SCACHE_LINE_SIZE
481 int
482 default 0
483 help
484 The size of L2 cache lines, if known at compile time.
485
486
Paul Burton5e511422016-05-27 14:28:04 +0100487config SYS_CACHE_SIZE_AUTO
488 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried7e07e492019-06-10 21:05:26 +0300489 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
490 SYS_SCACHE_LINE_SIZE = 0
Paul Burton5e511422016-05-27 14:28:04 +0100491 help
492 Select this (or let it be auto-selected by not defining any cache
493 sizes) in order to allow U-Boot to automatically detect the sizes
494 of caches at runtime. This has a small cost in code size & runtime
495 so if you know the cache configuration for your system at compile
496 time it would be beneficial to configure it.
497
Daniel Schwierzeck02ca55e2016-01-09 17:32:50 +0100498config MIPS_L1_CACHE_SHIFT_4
499 bool
500
501config MIPS_L1_CACHE_SHIFT_5
502 bool
503
504config MIPS_L1_CACHE_SHIFT_6
505 bool
506
507config MIPS_L1_CACHE_SHIFT_7
508 bool
509
510config MIPS_L1_CACHE_SHIFT
511 int
512 default "7" if MIPS_L1_CACHE_SHIFT_7
513 default "6" if MIPS_L1_CACHE_SHIFT_6
514 default "5" if MIPS_L1_CACHE_SHIFT_5
515 default "4" if MIPS_L1_CACHE_SHIFT_4
516 default "5"
517
Paul Burton81560782016-09-21 11:18:54 +0100518config MIPS_L2_CACHE
519 bool
520 help
521 Select this if your system includes an L2 cache and you want U-Boot
522 to initialise & maintain it.
523
Paul Burton8d6600b2016-01-29 13:54:52 +0000524config DYNAMIC_IO_PORT_BASE
525 bool
526
Paul Burton79ac1742016-09-21 11:18:53 +0100527config MIPS_CM
528 bool
529 help
530 Select this if your system contains a MIPS Coherence Manager and you
531 wish U-Boot to configure it or make use of it to retrieve system
532 information such as cache configuration.
533
Daniel Schwierzeck2cc9a772018-09-07 19:18:44 +0200534config MIPS_INSERT_BOOT_CONFIG
535 bool
536 default n
537 help
538 Enable this to insert some board-specific boot configuration in
539 the U-Boot binary at offset 0x10.
540
541config MIPS_BOOT_CONFIG_WORD0
542 hex
543 depends on MIPS_INSERT_BOOT_CONFIG
544 default 0x420 if TARGET_MALTA
545 default 0x0
546 help
547 Value which is inserted as boot config word 0.
548
549config MIPS_BOOT_CONFIG_WORD1
550 hex
551 depends on MIPS_INSERT_BOOT_CONFIG
552 default 0x0
553 help
554 Value which is inserted as boot config word 1.
555
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100556endif
557
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900558endmenu