blob: 652e6a993e842a00732cd29c8015df688134c704 [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
Weijie Gao7a4b6962020-04-21 09:28:47 +0200101 select SUPPORT_SPL
Stefan Roese4c835a62018-09-05 15:12:35 +0200102
Paul Burtoncd71b1d2018-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 Mandal32c1a6e2016-01-28 15:30:10 +0530109config MACH_PIC32
110 bool "Support Microchip PIC32"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530111 select DM
Michal Simek5ed063d2018-07-23 15:55:13 +0200112 select OF_CONTROL
Michal Simek08a00cb2018-07-23 15:55:14 +0200113 imply CMD_DM
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530114
Paul Burtonad8783c2016-09-08 07:47:39 +0100115config TARGET_BOSTON
116 bool "Support Boston"
117 select DM
118 select DM_SERIAL
Paul Burtonad8783c2016-09-08 07:47:39 +0100119 select MIPS_CM
120 select MIPS_L1_CACHE_SHIFT_6
121 select MIPS_L2_CACHE
Paul Burtond2b12a52017-04-30 21:22:42 +0200122 select OF_BOARD_SETUP
Michal Simek5ed063d2018-07-23 15:55:13 +0200123 select OF_CONTROL
124 select ROM_EXCEPTION_VECTORS
Paul Burtonad8783c2016-09-08 07:47:39 +0100125 select SUPPORTS_BIG_ENDIAN
Paul Burtonad8783c2016-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 Simek5ed063d2018-07-23 15:55:13 +0200132 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200133 imply CMD_DM
Paul Burtonad8783c2016-09-08 07:47:39 +0100134
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100135config TARGET_XILFPGA
136 bool "Support Imagination Xilfpga"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100137 select DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100138 select DM_ETH
Michal Simek5ed063d2018-07-23 15:55:13 +0200139 select DM_GPIO
140 select DM_SERIAL
141 select MIPS_L1_CACHE_SHIFT_4
142 select OF_CONTROL
143 select ROM_EXCEPTION_VECTORS
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100144 select SUPPORTS_CPU_MIPS32_R1
145 select SUPPORTS_CPU_MIPS32_R2
Michal Simek5ed063d2018-07-23 15:55:13 +0200146 select SUPPORTS_LITTLE_ENDIAN
Michal Simek08a00cb2018-07-23 15:55:14 +0200147 imply CMD_DM
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100148 help
149 This supports IMGTEC MIPSfpga platform
150
Masahiro Yamadadd840582014-07-30 14:08:14 +0900151endchoice
152
Paul Burtonad8783c2016-09-08 07:47:39 +0100153source "board/imgtec/boston/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900154source "board/imgtec/malta/Kconfig"
Zubair Lutfullah Kakakhelebf2b9e2016-07-29 15:11:20 +0100155source "board/imgtec/xilfpga/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900156source "board/qemu-mips/Kconfig"
Wills Wang1d3d0f12016-03-16 16:59:52 +0800157source "arch/mips/mach-ath79/Kconfig"
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +0100158source "arch/mips/mach-mscc/Kconfig"
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +0200159source "arch/mips/mach-bmips/Kconfig"
Paul Burtoncd71b1d2018-12-16 19:25:22 -0300160source "arch/mips/mach-jz47xx/Kconfig"
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +0530161source "arch/mips/mach-pic32/Kconfig"
Weijie Gao16b94902019-04-30 11:13:58 +0800162source "arch/mips/mach-mtmips/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +0900163
Daniel Schwierzeck0e1dc342014-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 Schwierzeck02611cb2014-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 Burtonc52ebea2016-05-16 10:52:12 +0100193 Choose this option to build an U-Boot for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-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 Burtonc52ebea2016-05-16 10:52:12 +0100201 Choose this option to build an U-Boot for release 2 through 5 of the
202 MIPS32 architecture.
203
204config 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
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100210 MIPS32 architecture.
211
212config CPU_MIPS64_R1
213 bool "MIPS64 Release 1"
214 depends on SUPPORTS_CPU_MIPS64_R1
215 select 64BIT
216 help
Paul Burtonc52ebea2016-05-16 10:52:12 +0100217 Choose this option to build a kernel for release 1 through 5 of the
Daniel Schwierzeck02611cb2014-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 Burtonc52ebea2016-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 Schwierzeck02611cb2014-10-26 14:14:07 +0100234 MIPS64 architecture.
235
236endchoice
237
Daniel Schwierzeckaf3971f2016-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 Burton939a2552017-05-12 13:26:11 +0200250config MIPS_CM_BASE
251 hex "MIPS CM GCR Base Address"
252 depends on MIPS_CM
Paul Burtoned048e72017-04-30 21:22:41 +0200253 default 0x16100000 if TARGET_BOSTON
Paul Burton939a2552017-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 Schwierzeck5ef337a2018-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
Stefan Roesede34a612020-06-30 12:33:16 +0200273config MIPS_MACH_EARLY_INIT
274 bool "Enable mach specific very early init code"
275 help
276 Use this to enable the call to mips_mach_early_init() very early
277 from start.S. This function can be used e.g. to do some very early
278 CPU / SoC intitialization or image copying. Its called very early
279 and at this stage the PC might not match the linking address
280 (CONFIG_TEXT_BASE) - no absolute jump done until this call.
281
Daniel Schwierzeck57bfb1a2020-07-12 00:45:57 +0200282config MIPS_CACHE_SETUP
283 bool "Allow generic start code to initialize and setup caches"
284 default n if SKIP_LOWLEVEL_INIT
285 default y
286 help
287 This allows the generic start code to invoke the generic initialization
288 of the CPU caches. Disabling this can be useful for RAM boot scenarios
289 (EJTAG, SPL payload) or for machines which don't need cache initialization
290 or which want to provide their own cache implementation.
291
292 If unsure, say yes.
293
294config MIPS_CACHE_DISABLE
295 bool "Allow generic start code to initially disable caches"
296 default n if SKIP_LOWLEVEL_INIT
297 default y
298 help
299 This allows the generic start code to initially disable the CPU caches
300 and run uncached until the caches are initialized and enabled. Disabling
301 this can be useful on machines which don't need cache initialization or
302 which want to provide their own cache implementation.
303
304 If unsure, say yes.
305
Daniel Schwierzeck96301462018-11-01 02:02:21 +0100306config MIPS_RELOCATION_TABLE_SIZE
307 hex "Relocation table size"
308 range 0x100 0x10000
309 default "0x8000"
310 ---help---
311 A table of relocation data will be appended to the U-Boot binary
312 and parsed in relocate_code() to fix up all offsets in the relocated
313 U-Boot.
314
315 This option allows the amount of space reserved for the table to be
316 adjusted in a range from 256 up to 64k. The default is 32k and should
317 be ok in most cases. Reduce this value to shrink the size of U-Boot
318 binary.
319
320 The build will fail and a valid size suggested if this is too small.
321
322 If unsure, leave at the default value.
323
Weijie Gao71059732020-04-21 09:28:25 +0200324config RESTORE_EXCEPTION_VECTOR_BASE
325 bool "Restore exception vector base before booting linux kernel"
326 default n
327 help
328 In U-Boot the exception vector base will be moved to top of memory,
329 to be used to display register dump when exception occurs.
330 But some old linux kernel does not honor the base set in CP0_EBASE.
331 A modified exception vector base will cause kernel crash.
332
333 This option will restore the exception vector base to its previous
334 value.
335
336 If unsure, say N.
337
338config OVERRIDE_EXCEPTION_VECTOR_BASE
339 bool "Override the exception vector base to be restored"
340 depends on RESTORE_EXCEPTION_VECTOR_BASE
341 default n
342 help
343 Enable this option if you want to use a different exception vector
344 base rather than the previously saved one.
345
346config NEW_EXCEPTION_VECTOR_BASE
347 hex "New exception vector base"
348 depends on OVERRIDE_EXCEPTION_VECTOR_BASE
349 range 0x80000000 0xbffff000
350 default 0x80000000
351 help
352 The exception vector base to be restored before booting linux kernel
353
Weijie Gaoc95c3ec2020-04-21 09:28:33 +0200354config INIT_STACK_WITHOUT_MALLOC_F
355 bool "Do not reserve malloc space on initial stack"
356 default n
357 help
358 Enable this option if you don't want to reserve malloc space on
359 initial stack. This is useful if the initial stack can't hold large
360 malloc space. Platform should set the malloc_base later when DRAM is
361 ready to use.
362
363config SPL_INIT_STACK_WITHOUT_MALLOC_F
364 bool "Do not reserve malloc space on initial stack in SPL"
365 default n
366 help
367 Enable this option if you don't want to reserve malloc space on
368 initial stack. This is useful if the initial stack can't hold large
369 malloc space. Platform should set the malloc_base later when DRAM is
370 ready to use.
371
Weijie Gao814a8912020-04-21 09:28:37 +0200372config SPL_LOADER_SUPPORT
373 bool
374 default n
375 help
376 Enable this option if you want to use SPL loaders without DM enabled.
377
Daniel Schwierzeckaf3971f2016-02-14 18:52:57 +0100378endmenu
379
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100380menu "OS boot interface"
381
382config MIPS_BOOT_CMDLINE_LEGACY
383 bool "Hand over legacy command line to Linux kernel"
384 default y
385 help
386 Enable this option if you want U-Boot to hand over the Yamon-style
387 command line to the kernel. All bootargs will be prepared as argc/argv
388 compatible list. The argument count (argc) is stored in register $a0.
389 The address of the argument list (argv) is stored in register $a1.
390
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100391config MIPS_BOOT_ENV_LEGACY
392 bool "Hand over legacy environment to Linux kernel"
393 default y
394 help
395 Enable this option if you want U-Boot to hand over the Yamon-style
396 environment to the kernel. Information like memory size, initrd
397 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day1cc0a9f2016-05-04 04:47:31 -0400398 The address of the environment is stored in register $a2.
Daniel Schwierzeckca65e582015-01-14 21:44:13 +0100399
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100400config MIPS_BOOT_FDT
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100401 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100402 default n
403 help
404 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeck90b1c9f2015-02-22 16:58:30 +0100405 device tree to the kernel. According to UHI register $a0 will be set
406 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck5002d8c2015-01-14 21:44:13 +0100407
Daniel Schwierzeck25fc6642015-01-14 21:44:13 +0100408endmenu
409
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100410config SUPPORTS_BIG_ENDIAN
411 bool
412
413config SUPPORTS_LITTLE_ENDIAN
414 bool
415
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100416config SUPPORTS_CPU_MIPS32_R1
417 bool
418
419config SUPPORTS_CPU_MIPS32_R2
420 bool
421
Paul Burtonc52ebea2016-05-16 10:52:12 +0100422config SUPPORTS_CPU_MIPS32_R6
423 bool
424
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100425config SUPPORTS_CPU_MIPS64_R1
426 bool
427
428config SUPPORTS_CPU_MIPS64_R2
429 bool
430
Paul Burtonc52ebea2016-05-16 10:52:12 +0100431config SUPPORTS_CPU_MIPS64_R6
432 bool
433
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100434config CPU_MIPS32
435 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100436 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100437
438config CPU_MIPS64
439 bool
Paul Burtonc52ebea2016-05-16 10:52:12 +0100440 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
Daniel Schwierzeckc57dafb2015-01-18 21:59:35 +0100441
Daniel Schwierzeck0315a282015-12-26 19:55:37 +0100442config MIPS_TUNE_4KC
443 bool
444
445config MIPS_TUNE_14KC
446 bool
447
448config MIPS_TUNE_24KC
449 bool
450
Daniel Schwierzeck5f9cc362016-05-27 15:39:39 +0200451config MIPS_TUNE_34KC
452 bool
453
Marek Vasut0a0a9582016-05-06 20:10:33 +0200454config MIPS_TUNE_74KC
455 bool
456
Daniel Schwierzeck02611cb2014-10-26 14:14:07 +0100457config 32BIT
458 bool
459
460config 64BIT
461 bool
462
Daniel Schwierzeck9d638ee2015-01-18 22:00:18 +0100463config SWAP_IO_SPACE
464 bool
465
Paul Burtondd7c7202015-01-29 01:28:02 +0000466config SYS_MIPS_CACHE_INIT_RAM_LOAD
467 bool
468
Daniel Schwierzeck924ad862016-06-04 16:13:21 +0200469config MIPS_INIT_STACK_IN_SRAM
470 bool
471 default n
472 help
473 Select this if the initial stack frame could be setup in SRAM.
474 Normally the initial stack frame is set up in DRAM which is often
475 only available after lowlevel_init. With this option the initial
476 stack frame and the early C environment is set up before
477 lowlevel_init. Thus lowlevel_init does not need to be implemented
478 in assembler.
479
Weijie Gao2434f582020-04-21 09:28:27 +0200480config MIPS_SRAM_INIT
481 bool
482 default n
483 depends on MIPS_INIT_STACK_IN_SRAM
484 help
485 Select this if the SRAM for initial stack needs to be initialized
486 before it can be used. If enabled, a function mips_sram_init() will
487 be called just before setup_stack_gd.
488
Paul Burtonace3be42016-05-27 14:28:04 +0100489config SYS_DCACHE_SIZE
490 int
491 default 0
492 help
493 The total size of the L1 Dcache, if known at compile time.
494
Paul Burton37228622016-05-27 14:28:05 +0100495config SYS_DCACHE_LINE_SIZE
Paul Burton4b7b0a02016-06-09 13:09:52 +0100496 int
Paul Burton37228622016-05-27 14:28:05 +0100497 default 0
498 help
499 The size of L1 Dcache lines, if known at compile time.
500
Paul Burtonace3be42016-05-27 14:28:04 +0100501config SYS_ICACHE_SIZE
502 int
503 default 0
504 help
505 The total size of the L1 ICache, if known at compile time.
506
Paul Burton37228622016-05-27 14:28:05 +0100507config SYS_ICACHE_LINE_SIZE
Paul Burtonace3be42016-05-27 14:28:04 +0100508 int
509 default 0
510 help
Paul Burton37228622016-05-27 14:28:05 +0100511 The size of L1 Icache lines, if known at compile time.
Paul Burtonace3be42016-05-27 14:28:04 +0100512
Ramon Fried22247c62019-06-10 21:05:26 +0300513config SYS_SCACHE_LINE_SIZE
514 int
515 default 0
516 help
517 The size of L2 cache lines, if known at compile time.
518
519
Paul Burtonace3be42016-05-27 14:28:04 +0100520config SYS_CACHE_SIZE_AUTO
521 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
Ramon Fried22247c62019-06-10 21:05:26 +0300522 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \
523 SYS_SCACHE_LINE_SIZE = 0
Paul Burtonace3be42016-05-27 14:28:04 +0100524 help
525 Select this (or let it be auto-selected by not defining any cache
526 sizes) in order to allow U-Boot to automatically detect the sizes
527 of caches at runtime. This has a small cost in code size & runtime
528 so if you know the cache configuration for your system at compile
529 time it would be beneficial to configure it.
530
Daniel Schwierzeckf53830e2016-01-09 17:32:50 +0100531config MIPS_L1_CACHE_SHIFT_4
532 bool
533
534config MIPS_L1_CACHE_SHIFT_5
535 bool
536
537config MIPS_L1_CACHE_SHIFT_6
538 bool
539
540config MIPS_L1_CACHE_SHIFT_7
541 bool
542
543config MIPS_L1_CACHE_SHIFT
544 int
545 default "7" if MIPS_L1_CACHE_SHIFT_7
546 default "6" if MIPS_L1_CACHE_SHIFT_6
547 default "5" if MIPS_L1_CACHE_SHIFT_5
548 default "4" if MIPS_L1_CACHE_SHIFT_4
549 default "5"
550
Paul Burton4baa0ab2016-09-21 11:18:54 +0100551config MIPS_L2_CACHE
552 bool
553 help
554 Select this if your system includes an L2 cache and you want U-Boot
555 to initialise & maintain it.
556
Paul Burton05e34252016-01-29 13:54:52 +0000557config DYNAMIC_IO_PORT_BASE
558 bool
559
Paul Burtonb2b135d2016-09-21 11:18:53 +0100560config MIPS_CM
561 bool
562 help
563 Select this if your system contains a MIPS Coherence Manager and you
564 wish U-Boot to configure it or make use of it to retrieve system
565 information such as cache configuration.
566
Daniel Schwierzeckd1c3d8b2018-09-07 19:18:44 +0200567config MIPS_INSERT_BOOT_CONFIG
568 bool
569 default n
570 help
571 Enable this to insert some board-specific boot configuration in
572 the U-Boot binary at offset 0x10.
573
574config MIPS_BOOT_CONFIG_WORD0
575 hex
576 depends on MIPS_INSERT_BOOT_CONFIG
577 default 0x420 if TARGET_MALTA
578 default 0x0
579 help
580 Value which is inserted as boot config word 0.
581
582config MIPS_BOOT_CONFIG_WORD1
583 hex
584 depends on MIPS_INSERT_BOOT_CONFIG
585 default 0x0
586 help
587 Value which is inserted as boot config word 1.
588
Daniel Schwierzeck0e1dc342014-10-26 14:14:07 +0100589endif
590
Masahiro Yamadadd840582014-07-30 14:08:14 +0900591endmenu