blob: 7b9d0072ebb2242c43c1ba88c05a757b44c0c88f [file] [log] [blame]
Masahiro Yamadadd840582014-07-30 14:08:14 +09001menu "MIPS architecture"
2 depends on MIPS
3
4config SYS_ARCH
Masahiro Yamadadd840582014-07-30 14:08:14 +09005 default "mips"
6
Daniel Schwierzeckb9863b62014-10-26 14:14:07 +01007config SYS_CPU
Paul Burton20286cd2016-05-16 10:52:11 +01008 default "mips32" if CPU_MIPS32
9 default "mips64" if CPU_MIPS64
Daniel Schwierzeckb9863b62014-10-26 14:14:07 +010010
Masahiro Yamadadd840582014-07-30 14:08:14 +090011choice
12 prompt "Target select"
Joe Hershbergera26cd042015-05-12 14:46:23 -050013 optional
Masahiro Yamadadd840582014-07-30 14:08:14 +090014
15config TARGET_QEMU_MIPS
16 bool "Support qemu-mips"
Michal Simek5ed063d2018-07-23 15:55:13 +020017 select ROM_EXCEPTION_VECTORS
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010018 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010019 select SUPPORTS_CPU_MIPS32_R1
20 select SUPPORTS_CPU_MIPS32_R2
Daniel Schwierzeckaa45f752014-10-26 14:14:07 +010021 select SUPPORTS_CPU_MIPS64_R1
22 select SUPPORTS_CPU_MIPS64_R2
Michal Simek5ed063d2018-07-23 15:55:13 +020023 select SUPPORTS_LITTLE_ENDIAN
Masahiro Yamadadd840582014-07-30 14:08:14 +090024
25config TARGET_MALTA
26 bool "Support malta"
Paul Burton6242aa12016-05-17 07:43:28 +010027 select DM
28 select DM_SERIAL
Paul Burton05e34252016-01-29 13:54:52 +000029 select DYNAMIC_IO_PORT_BASE
Paul Burton566ce04d2016-09-21 11:18:56 +010030 select MIPS_CM
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +020031 select MIPS_INSERT_BOOT_CONFIG
Michal Simek5ed063d2018-07-23 15:55:13 +020032 select MIPS_L1_CACHE_SHIFT_6
Paul Burton566ce04d2016-09-21 11:18:56 +010033 select MIPS_L2_CACHE
Paul Burton6242aa12016-05-17 07:43:28 +010034 select OF_CONTROL
35 select OF_ISA_BUS
Michal Simek5ed063d2018-07-23 15:55:13 +020036 select ROM_EXCEPTION_VECTORS
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010037 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010038 select SUPPORTS_CPU_MIPS32_R1
39 select SUPPORTS_CPU_MIPS32_R2
Paul Burton40ba13c2016-05-16 10:52:14 +010040 select SUPPORTS_CPU_MIPS32_R6
Paul Burton0f832b92016-05-26 14:49:36 +010041 select SUPPORTS_CPU_MIPS64_R1
42 select SUPPORTS_CPU_MIPS64_R2
43 select SUPPORTS_CPU_MIPS64_R6
Michal Simek5ed063d2018-07-23 15:55:13 +020044 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +010045 select SWAP_IO_SPACE
Michal Simek08a00cb2018-07-23 15:55:14 +020046 imply CMD_DM
Masahiro Yamadadd840582014-07-30 14:08:14 +090047
48config TARGET_VCT
49 bool "Support vct"
Michal Simek5ed063d2018-07-23 15:55:13 +020050 select ROM_EXCEPTION_VECTORS
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +010051 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +010052 select SUPPORTS_CPU_MIPS32_R1
53 select SUPPORTS_CPU_MIPS32_R2
Paul Burtondd7c7202015-01-29 01:28:02 +000054 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Masahiro Yamadadd840582014-07-30 14:08:14 +090055
Wills Wang1d3d0f12016-03-16 16:59:52 +080056config ARCH_ATH79
57 bool "Support QCA/Atheros ath79"
Wills Wang1d3d0f12016-03-16 16:59:52 +080058 select DM
Michal Simek5ed063d2018-07-23 15:55:13 +020059 select OF_CONTROL
Michal Simek08a00cb2018-07-23 15:55:14 +020060 imply CMD_DM
Wills Wang1d3d0f12016-03-16 16:59:52 +080061
Gregory CLEMENTdd1033e2018-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 Rojasee422142017-04-25 00:39:20 +020067config ARCH_BMIPS
68 bool "Support BMIPS SoCs"
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020069 select CLK
70 select CPU
Michal Simek5ed063d2018-07-23 15:55:13 +020071 select DM
72 select OF_CONTROL
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020073 select RAM
74 select SYSRESET
Michal Simek08a00cb2018-07-23 15:55:14 +020075 imply CMD_DM
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020076
Weijie Gao16b94902019-04-30 11:13:58 +080077config ARCH_MTMIPS
78 bool "Support MediaTek MIPS platforms"
Weijie Gao3f851c92019-09-25 17:45:43 +080079 select CLK
Stefan Roese4c835a62018-09-05 15:12:35 +020080 imply CMD_DM
81 select DISPLAY_CPUINFO
82 select DM
Stefan Roeseb4a6a1b2018-10-09 08:59:09 +020083 imply DM_ETH
84 imply DM_GPIO
Weijie Gao3f851c92019-09-25 17:45:43 +080085 select DM_RESET
Stefan Roese4c835a62018-09-05 15:12:35 +020086 select DM_SERIAL
Weijie Gao3f851c92019-09-25 17:45:43 +080087 select PINCTRL
88 select PINMUX
89 select PINCONF
90 select RESET_MTMIPS
Stefan Roese4c835a62018-09-05 15:12:35 +020091 imply DM_SPI
92 imply DM_SPI_FLASH
Stefan Roese9814fb22019-05-28 08:11:37 +020093 select LAST_STAGE_INIT
Stefan Roese4c835a62018-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 Roese41f6e6e2018-08-16 15:27:32 +0200100 select SYSRESET
Stefan Roese4c835a62018-09-05 15:12:35 +0200101
Paul Burtoncd71b1d2018-12-16 19:25:22 -0300102config ARCH_JZ47XX
103 bool "Support Ingenic JZ47xx"
104 select SUPPORT_SPL
105 select OF_CONTROL
106 select DM
107
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530108config MACH_PIC32
109 bool "Support Microchip PIC32"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530110 select DM
Michal Simek5ed063d2018-07-23 15:55:13 +0200111 select OF_CONTROL
Michal Simek08a00cb2018-07-23 15:55:14 +0200112 imply CMD_DM
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530113
Paul Burtonad8783c2016-09-08 07:47:39 +0100114config TARGET_BOSTON
115 bool "Support Boston"
116 select DM
117 select DM_SERIAL
Paul Burtonad8783c2016-09-08 07:47:39 +0100118 select MIPS_CM
119 select MIPS_L1_CACHE_SHIFT_6
120 select MIPS_L2_CACHE
Paul Burtond2b12a52017-04-30 21:22:42 +0200121 select OF_BOARD_SETUP
Michal Simek5ed063d2018-07-23 15:55:13 +0200122 select OF_CONTROL
123 select ROM_EXCEPTION_VECTORS
Paul Burtonad8783c2016-09-08 07:47:39 +0100124 select SUPPORTS_BIG_ENDIAN
Paul Burtonad8783c2016-09-08 07:47:39 +0100125 select SUPPORTS_CPU_MIPS32_R1
126 select SUPPORTS_CPU_MIPS32_R2
127 select SUPPORTS_CPU_MIPS32_R6
128 select SUPPORTS_CPU_MIPS64_R1
129 select SUPPORTS_CPU_MIPS64_R2
130 select SUPPORTS_CPU_MIPS64_R6
Michal Simek5ed063d2018-07-23 15:55:13 +0200131 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200132 imply CMD_DM
Paul Burtonad8783c2016-09-08 07:47:39 +0100133
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100134config TARGET_XILFPGA
135 bool "Support Imagination Xilfpga"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100136 select DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100137 select DM_ETH
Michal Simek5ed063d2018-07-23 15:55:13 +0200138 select DM_GPIO
139 select DM_SERIAL
140 select MIPS_L1_CACHE_SHIFT_4
141 select OF_CONTROL
142 select ROM_EXCEPTION_VECTORS
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100143 select SUPPORTS_CPU_MIPS32_R1
144 select SUPPORTS_CPU_MIPS32_R2
Michal Simek5ed063d2018-07-23 15:55:13 +0200145 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200146 imply CMD_DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100147 help
148 This supports IMGTEC MIPSfpga platform
149
Masahiro Yamadadd840582014-07-30 14:08:14 +0900150endchoice
151
Paul Burtonad8783c2016-09-08 07:47:39 +0100152source "board/imgtec/boston/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900153source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100154source "board/imgtec/xilfpga/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900155source "board/qemu-mips/Kconfig"
Wills Wang1d3d0f12016-03-16 16:59:52 +0800156source "arch/mips/mach-ath79/Kconfig"
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +0100157source "arch/mips/mach-mscc/Kconfig"
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +0200158source "arch/mips/mach-bmips/Kconfig"
Paul Burtoncd71b1d2018-12-16 19:25:22 -0300159source "arch/mips/mach-jz47xx/Kconfig"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530160source "arch/mips/mach-pic32/Kconfig"
Weijie Gao16b94902019-04-30 11:13:58 +0800161source "arch/mips/mach-mtmips/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900162
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100163if MIPS
164
165choice
166 prompt "Endianness selection"
167 help
168 Some MIPS boards can be configured for either little or big endian
169 byte order. These modes require different U-Boot images. In general there
170 is one preferred byteorder for a particular system but some systems are
171 just as commonly used in the one or the other endianness.
172
173config SYS_BIG_ENDIAN
174 bool "Big endian"
175 depends on SUPPORTS_BIG_ENDIAN
176
177config SYS_LITTLE_ENDIAN
178 bool "Little endian"
179 depends on SUPPORTS_LITTLE_ENDIAN
180
181endchoice
182
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100183choice
184 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 Burtonc52ebea2016-05-16 10:52:12 +0100192 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-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 Burtonc52ebea2016-05-16 10:52:12 +0100200 Choose this option to build an U-Boot for release 2 through 5 of the
201 MIPS32 architecture.
202
203config 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
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100209 MIPS32 architecture.
210
211config CPU_MIPS64_R1
212 bool "MIPS64 Release 1"
213 depends on SUPPORTS_CPU_MIPS64_R1
214 select 64BIT
215 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100216 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-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 Burtonc52ebea2016-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 Schwierzeck02611cb2014-10-26 14:14:07 +0100233 MIPS64 architecture.
234
235endchoice
236
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100237menu "General setup"
238
239config ROM_EXCEPTION_VECTORS
240 bool "Build U-Boot image with exception vectors"
241 help
242 Enable this to include exception vectors in the U-Boot image. This is
243 required if the U-Boot entry point is equal to the address of the
244 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
245 U-Boot booted from parallel NOR flash).
246 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
247 In that case the image size will be reduced by 0x500 bytes.
248
Paul Burton939a2552017-05-12 13:26:11 +0200249config MIPS_CM_BASE
250 hex "MIPS CM GCR Base Address"
251 depends on MIPS_CM
Paul Burtoned048e72017-04-30 21:22:41 +0200252 default 0x16100000 if TARGET_BOSTON
Paul Burton939a2552017-05-12 13:26:11 +0200253 default 0x1fbf8000
254 help
255 The physical base address at which to map the MIPS Coherence Manager
256 Global Configuration Registers (GCRs). This should be set such that
257 the GCRs occupy a region of the physical address space which is
258 otherwise unused, or at minimum that software doesn't need to access.
259
Daniel Schwierzeck5ef337a2018-09-07 19:02:05 +0200260config MIPS_CACHE_INDEX_BASE
261 hex "Index base address for cache initialisation"
262 default 0x80000000 if CPU_MIPS32
263 default 0xffffffff80000000 if CPU_MIPS64
264 help
265 This is the base address for a memory block, which is used for
266 initialising the cache lines. This is also the base address of a memory
267 block which is used for loading and filling cache lines when
268 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
269 Normally this is CKSEG0. If the MIPS system needs to move this block
270 to some SRAM or ScratchPad RAM, adapt this option accordingly.
271
Daniel Schwierzeck96301462018-11-01 02:02:21 +0100272config MIPS_RELOCATION_TABLE_SIZE
273 hex "Relocation table size"
274 range 0x100 0x10000
275 default "0x8000"
276 ---help---
277 A table of relocation data will be appended to the U-Boot binary
278 and parsed in relocate_code() to fix up all offsets in the relocated
279 U-Boot.
280
281 This option allows the amount of space reserved for the table to be
282 adjusted in a range from 256 up to 64k. The default is 32k and should
283 be ok in most cases. Reduce this value to shrink the size of U-Boot
284 binary.
285
286 The build will fail and a valid size suggested if this is too small.
287
288 If unsure, leave at the default value.
289
Weijie Gao71059732020-04-21 09:28:25 +0200290config RESTORE_EXCEPTION_VECTOR_BASE
291 bool "Restore exception vector base before booting linux kernel"
292 default n
293 help
294 In U-Boot the exception vector base will be moved to top of memory,
295 to be used to display register dump when exception occurs.
296 But some old linux kernel does not honor the base set in CP0_EBASE.
297 A modified exception vector base will cause kernel crash.
298
299 This option will restore the exception vector base to its previous
300 value.
301
302 If unsure, say N.
303
304config OVERRIDE_EXCEPTION_VECTOR_BASE
305 bool "Override the exception vector base to be restored"
306 depends on RESTORE_EXCEPTION_VECTOR_BASE
307 default n
308 help
309 Enable this option if you want to use a different exception vector
310 base rather than the previously saved one.
311
312config NEW_EXCEPTION_VECTOR_BASE
313 hex "New exception vector base"
314 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
315 range 0x80000000 0xbffff000
316 default 0x80000000
317 help
318 The exception vector base to be restored before booting linux kernel
319
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200320config INIT_STACK_WITHOUT_MALLOC_F
321 bool "Do not reserve malloc space on initial stack"
322 default n
323 help
324 Enable this option if you don't want to reserve malloc space on
325 initial stack. This is useful if the initial stack can't hold large
326 malloc space. Platform should set the malloc_base later when DRAM is
327 ready to use.
328
329config SPL_INIT_STACK_WITHOUT_MALLOC_F
330 bool "Do not reserve malloc space on initial stack in SPL"
331 default n
332 help
333 Enable this option if you don't want to reserve malloc space on
334 initial stack. This is useful if the initial stack can't hold large
335 malloc space. Platform should set the malloc_base later when DRAM is
336 ready to use.
337
Weijie Gao814a8912020-04-21 09:28:37 +0200338config SPL_LOADER_SUPPORT
339 bool
340 default n
341 help
342 Enable this option if you want to use SPL loaders without DM enabled.
343
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100344endmenu
345
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100346menu "OS boot interface"
347
348config MIPS_BOOT_CMDLINE_LEGACY
349 bool "Hand over legacy command line to Linux kernel"
350 default y
351 help
352 Enable this option if you want U-Boot to hand over the Yamon-style
353 command line to the kernel. All bootargs will be prepared as argc/argv
354 compatible list. The argument count (argc) is stored in register $a0.
355 The address of the argument list (argv) is stored in register $a1.
356
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100357config MIPS_BOOT_ENV_LEGACY
358 bool "Hand over legacy environment to Linux kernel"
359 default y
360 help
361 Enable this option if you want U-Boot to hand over the Yamon-style
362 environment to the kernel. Information like memory size, initrd
363 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day1cc0a9f2016-05-04 04:47:31 -0400364 The address of the environment is stored in register $a2.
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100365
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100366config MIPS_BOOT_FDT
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100367 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100368 default n
369 help
370 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100371 device tree to the kernel. According to UHI register $a0 will be set
372 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100373
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100374endmenu
375
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100376config SUPPORTS_BIG_ENDIAN
377 bool
378
379config SUPPORTS_LITTLE_ENDIAN
380 bool
381
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100382config SUPPORTS_CPU_MIPS32_R1
383 bool
384
385config SUPPORTS_CPU_MIPS32_R2
386 bool
387
Paul Burtonc52ebea2016-05-16 10:52:12 +0100388config SUPPORTS_CPU_MIPS32_R6
389 bool
390
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100391config SUPPORTS_CPU_MIPS64_R1
392 bool
393
394config SUPPORTS_CPU_MIPS64_R2
395 bool
396
Paul Burtonc52ebea2016-05-16 10:52:12 +0100397config SUPPORTS_CPU_MIPS64_R6
398 bool
399
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100400config CPU_MIPS32
401 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100402 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100403
404config CPU_MIPS64
405 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100406 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100407
Daniel Schwierzeck0315a282015-12-26 19:55:37 +0100408config MIPS_TUNE_4KC
409 bool
410
411config MIPS_TUNE_14KC
412 bool
413
414config MIPS_TUNE_24KC
415 bool
416
Daniel Schwierzeck5f9cc362016-05-27 15:39:39 +0200417config MIPS_TUNE_34KC
418 bool
419
Marek Vasut0a0a9582016-05-06 20:10:33 +0200420config MIPS_TUNE_74KC
421 bool
422
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100423config 32BIT
424 bool
425
426config 64BIT
427 bool
428
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +0100429config SWAP_IO_SPACE
430 bool
431
Paul Burtondd7c7202015-01-29 01:28:02 +0000432config SYS_MIPS_CACHE_INIT_RAM_LOAD
433 bool
434
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200435config MIPS_INIT_STACK_IN_SRAM
436 bool
437 default n
438 help
439 Select this if the initial stack frame could be setup in SRAM.
440 Normally the initial stack frame is set up in DRAM which is often
441 only available after lowlevel_init. With this option the initial
442 stack frame and the early C environment is set up before
443 lowlevel_init. Thus lowlevel_init does not need to be implemented
444 in assembler.
445
Weijie Gao2434f582020-04-21 09:28:27 +0200446config MIPS_SRAM_INIT
447 bool
448 default n
449 depends on MIPS_INIT_STACK_IN_SRAM
450 help
451 Select this if the SRAM for initial stack needs to be initialized
452 before it can be used. If enabled, a function mips_sram_init() will
453 be called just before setup_stack_gd.
454
Paul Burtonace3be42016-05-27 14:28:04 +0100455config SYS_DCACHE_SIZE
456 int
457 default 0
458 help
459 The total size of the L1 Dcache, if known at compile time.
460
Paul Burton37228622016-05-27 14:28:05 +0100461config SYS_DCACHE_LINE_SIZE
Paul Burton4b7b0a02016-06-09 13:09:52 +0100462 int
Paul Burton37228622016-05-27 14:28:05 +0100463 default 0
464 help
465 The size of L1 Dcache lines, if known at compile time.
466
Paul Burtonace3be42016-05-27 14:28:04 +0100467config SYS_ICACHE_SIZE
468 int
469 default 0
470 help
471 The total size of the L1 ICache, if known at compile time.
472
Paul Burton37228622016-05-27 14:28:05 +0100473config SYS_ICACHE_LINE_SIZE
Paul Burtonace3be42016-05-27 14:28:04 +0100474 int
475 default 0
476 help
Paul Burton37228622016-05-27 14:28:05 +0100477 The size of L1 Icache lines, if known at compile time.
Paul Burtonace3be42016-05-27 14:28:04 +0100478
Ramon Fried22247c62019-06-10 21:05:26 +0300479config SYS_SCACHE_LINE_SIZE
480 int
481 default 0
482 help
483 The size of L2 cache lines, if known at compile time.
484
485
Paul Burtonace3be42016-05-27 14:28:04 +0100486config SYS_CACHE_SIZE_AUTO
487 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried22247c62019-06-10 21:05:26 +0300488 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
489 SYS_SCACHE_LINE_SIZE = 0
Paul Burtonace3be42016-05-27 14:28:04 +0100490 help
491 Select this (or let it be auto-selected by not defining any cache
492 sizes) in order to allow U-Boot to automatically detect the sizes
493 of caches at runtime. This has a small cost in code size & runtime
494 so if you know the cache configuration for your system at compile
495 time it would be beneficial to configure it.
496
Daniel Schwierzeckf53830e2016-01-09 17:32:50 +0100497config MIPS_L1_CACHE_SHIFT_4
498 bool
499
500config MIPS_L1_CACHE_SHIFT_5
501 bool
502
503config MIPS_L1_CACHE_SHIFT_6
504 bool
505
506config MIPS_L1_CACHE_SHIFT_7
507 bool
508
509config MIPS_L1_CACHE_SHIFT
510 int
511 default "7" if MIPS_L1_CACHE_SHIFT_7
512 default "6" if MIPS_L1_CACHE_SHIFT_6
513 default "5" if MIPS_L1_CACHE_SHIFT_5
514 default "4" if MIPS_L1_CACHE_SHIFT_4
515 default "5"
516
Paul Burton4baa0ab2016-09-21 11:18:54 +0100517config MIPS_L2_CACHE
518 bool
519 help
520 Select this if your system includes an L2 cache and you want U-Boot
521 to initialise & maintain it.
522
Paul Burton05e34252016-01-29 13:54:52 +0000523config DYNAMIC_IO_PORT_BASE
524 bool
525
Paul Burtonb2b135d2016-09-21 11:18:53 +0100526config MIPS_CM
527 bool
528 help
529 Select this if your system contains a MIPS Coherence Manager and you
530 wish U-Boot to configure it or make use of it to retrieve system
531 information such as cache configuration.
532
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200533config MIPS_INSERT_BOOT_CONFIG
534 bool
535 default n
536 help
537 Enable this to insert some board-specific boot configuration in
538 the U-Boot binary at offset 0x10.
539
540config MIPS_BOOT_CONFIG_WORD0
541 hex
542 depends on MIPS_INSERT_BOOT_CONFIG
543 default 0x420 if TARGET_MALTA
544 default 0x0
545 help
546 Value which is inserted as boot config word 0.
547
548config MIPS_BOOT_CONFIG_WORD1
549 hex
550 depends on MIPS_INSERT_BOOT_CONFIG
551 default 0x0
552 help
553 Value which is inserted as boot config word 1.
554
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100555endif
556
Masahiro Yamadadd840582014-07-30 14:08:14 +0900557endmenu