]> Git Repo - J-u-boot.git/blame - arch/mips/Kconfig
Merge tag 'for-master-20181130' of git://git.denx.de/u-boot-rockchip
[J-u-boot.git] / arch / mips / Kconfig
CommitLineData
dd84058d
MY
1menu "MIPS architecture"
2 depends on MIPS
3
4config SYS_ARCH
dd84058d
MY
5 default "mips"
6
b9863b6d 7config SYS_CPU
20286cdf
PB
8 default "mips32" if CPU_MIPS32
9 default "mips64" if CPU_MIPS64
b9863b6d 10
dd84058d
MY
11choice
12 prompt "Target select"
a26cd049 13 optional
dd84058d
MY
14
15config TARGET_QEMU_MIPS
16 bool "Support qemu-mips"
5ed063d1 17 select ROM_EXCEPTION_VECTORS
0e1dc345 18 select SUPPORTS_BIG_ENDIAN
02611cbb
DS
19 select SUPPORTS_CPU_MIPS32_R1
20 select SUPPORTS_CPU_MIPS32_R2
aa45f75e
DS
21 select SUPPORTS_CPU_MIPS64_R1
22 select SUPPORTS_CPU_MIPS64_R2
5ed063d1 23 select SUPPORTS_LITTLE_ENDIAN
dd84058d
MY
24
25config TARGET_MALTA
26 bool "Support malta"
6242aa13
PB
27 select DM
28 select DM_SERIAL
05e34255 29 select DYNAMIC_IO_PORT_BASE
566ce04d 30 select MIPS_CM
d1c3d8bd 31 select MIPS_INSERT_BOOT_CONFIG
5ed063d1 32 select MIPS_L1_CACHE_SHIFT_6
566ce04d 33 select MIPS_L2_CACHE
6242aa13
PB
34 select OF_CONTROL
35 select OF_ISA_BUS
5ed063d1 36 select ROM_EXCEPTION_VECTORS
0e1dc345 37 select SUPPORTS_BIG_ENDIAN
02611cbb
DS
38 select SUPPORTS_CPU_MIPS32_R1
39 select SUPPORTS_CPU_MIPS32_R2
40ba13c9 40 select SUPPORTS_CPU_MIPS32_R6
0f832b9c
PB
41 select SUPPORTS_CPU_MIPS64_R1
42 select SUPPORTS_CPU_MIPS64_R2
43 select SUPPORTS_CPU_MIPS64_R6
5ed063d1 44 select SUPPORTS_LITTLE_ENDIAN
9d638eea 45 select SWAP_IO_SPACE
08a00cba 46 imply CMD_DM
dd84058d
MY
47
48config TARGET_VCT
49 bool "Support vct"
5ed063d1 50 select ROM_EXCEPTION_VECTORS
0e1dc345 51 select SUPPORTS_BIG_ENDIAN
02611cbb
DS
52 select SUPPORTS_CPU_MIPS32_R1
53 select SUPPORTS_CPU_MIPS32_R2
dd7c7200 54 select SYS_MIPS_CACHE_INIT_RAM_LOAD
dd84058d 55
1d3d0f1f
WW
56config ARCH_ATH79
57 bool "Support QCA/Atheros ath79"
1d3d0f1f 58 select DM
5ed063d1 59 select OF_CONTROL
08a00cba 60 imply CMD_DM
1d3d0f1f 61
ee422142
ÁFR
62config ARCH_BMIPS
63 bool "Support BMIPS SoCs"
ee422142
ÁFR
64 select CLK
65 select CPU
5ed063d1
MS
66 select DM
67 select OF_CONTROL
ee422142
ÁFR
68 select RAM
69 select SYSRESET
08a00cba 70 imply CMD_DM
ee422142 71
4c835a60
SR
72config ARCH_MT7620
73 bool "Support MT7620/7688 SoCs"
74 imply CMD_DM
75 select DISPLAY_CPUINFO
76 select DM
b4a6a1bb
SR
77 imply DM_ETH
78 imply DM_GPIO
4c835a60
SR
79 select DM_SERIAL
80 imply DM_SPI
81 imply DM_SPI_FLASH
4ff942b0 82 select ARCH_MISC_INIT if WATCHDOG
4c835a60
SR
83 select MIPS_TUNE_24KC
84 select OF_CONTROL
85 select ROM_EXCEPTION_VECTORS
86 select SUPPORTS_CPU_MIPS32_R1
87 select SUPPORTS_CPU_MIPS32_R2
88 select SUPPORTS_LITTLE_ENDIAN
41f6e6eb 89 select SYSRESET
4c835a60 90
32c1a6ee
PCM
91config MACH_PIC32
92 bool "Support Microchip PIC32"
32c1a6ee 93 select DM
5ed063d1 94 select OF_CONTROL
08a00cba 95 imply CMD_DM
32c1a6ee 96
ad8783cb
PB
97config TARGET_BOSTON
98 bool "Support Boston"
99 select DM
100 select DM_SERIAL
ad8783cb
PB
101 select MIPS_CM
102 select MIPS_L1_CACHE_SHIFT_6
103 select MIPS_L2_CACHE
d2b12a57 104 select OF_BOARD_SETUP
5ed063d1
MS
105 select OF_CONTROL
106 select ROM_EXCEPTION_VECTORS
ad8783cb 107 select SUPPORTS_BIG_ENDIAN
ad8783cb
PB
108 select SUPPORTS_CPU_MIPS32_R1
109 select SUPPORTS_CPU_MIPS32_R2
110 select SUPPORTS_CPU_MIPS32_R6
111 select SUPPORTS_CPU_MIPS64_R1
112 select SUPPORTS_CPU_MIPS64_R2
113 select SUPPORTS_CPU_MIPS64_R6
5ed063d1 114 select SUPPORTS_LITTLE_ENDIAN
08a00cba 115 imply CMD_DM
ad8783cb 116
ebf2b9e3
ZLK
117config TARGET_XILFPGA
118 bool "Support Imagination Xilfpga"
ebf2b9e3 119 select DM
ebf2b9e3 120 select DM_ETH
5ed063d1
MS
121 select DM_GPIO
122 select DM_SERIAL
ebf2b9e3 123 select MIPS_L1_CACHE_SHIFT_4
5ed063d1 124 select OF_CONTROL
af3971f8 125 select ROM_EXCEPTION_VECTORS
5ed063d1
MS
126 select SUPPORTS_CPU_MIPS32_R1
127 select SUPPORTS_CPU_MIPS32_R2
128 select SUPPORTS_LITTLE_ENDIAN
08a00cba 129 imply CMD_DM
ebf2b9e3
ZLK
130 help
131 This supports IMGTEC MIPSfpga platform
132
dd84058d
MY
133endchoice
134
ad8783cb 135source "board/imgtec/boston/Kconfig"
dd84058d 136source "board/imgtec/malta/Kconfig"
ebf2b9e3 137source "board/imgtec/xilfpga/Kconfig"
dd84058d 138source "board/micronas/vct/Kconfig"
dd84058d 139source "board/qemu-mips/Kconfig"
1d3d0f1f 140source "arch/mips/mach-ath79/Kconfig"
ee422142 141source "arch/mips/mach-bmips/Kconfig"
32c1a6ee 142source "arch/mips/mach-pic32/Kconfig"
4c835a60 143source "arch/mips/mach-mt7620/Kconfig"
dd84058d 144
0e1dc345
DS
145if MIPS
146
147choice
148 prompt "Endianness selection"
149 help
150 Some MIPS boards can be configured for either little or big endian
151 byte order. These modes require different U-Boot images. In general there
152 is one preferred byteorder for a particular system but some systems are
153 just as commonly used in the one or the other endianness.
154
155config SYS_BIG_ENDIAN
156 bool "Big endian"
157 depends on SUPPORTS_BIG_ENDIAN
158
159config SYS_LITTLE_ENDIAN
160 bool "Little endian"
161 depends on SUPPORTS_LITTLE_ENDIAN
162
163endchoice
164
02611cbb
DS
165choice
166 prompt "CPU selection"
167 default CPU_MIPS32_R2
168
169config CPU_MIPS32_R1
170 bool "MIPS32 Release 1"
171 depends on SUPPORTS_CPU_MIPS32_R1
172 select 32BIT
173 help
c52ebea1 174 Choose this option to build an U-Boot for release 1 through 5 of the
02611cbb
DS
175 MIPS32 architecture.
176
177config CPU_MIPS32_R2
178 bool "MIPS32 Release 2"
179 depends on SUPPORTS_CPU_MIPS32_R2
180 select 32BIT
181 help
c52ebea1
PB
182 Choose this option to build an U-Boot for release 2 through 5 of the
183 MIPS32 architecture.
184
185config CPU_MIPS32_R6
186 bool "MIPS32 Release 6"
187 depends on SUPPORTS_CPU_MIPS32_R6
188 select 32BIT
189 help
190 Choose this option to build an U-Boot for release 6 or later of the
02611cbb
DS
191 MIPS32 architecture.
192
193config CPU_MIPS64_R1
194 bool "MIPS64 Release 1"
195 depends on SUPPORTS_CPU_MIPS64_R1
196 select 64BIT
197 help
c52ebea1 198 Choose this option to build a kernel for release 1 through 5 of the
02611cbb
DS
199 MIPS64 architecture.
200
201config CPU_MIPS64_R2
202 bool "MIPS64 Release 2"
203 depends on SUPPORTS_CPU_MIPS64_R2
204 select 64BIT
205 help
c52ebea1
PB
206 Choose this option to build a kernel for release 2 through 5 of the
207 MIPS64 architecture.
208
209config CPU_MIPS64_R6
210 bool "MIPS64 Release 6"
211 depends on SUPPORTS_CPU_MIPS64_R6
212 select 64BIT
213 help
214 Choose this option to build a kernel for release 6 or later of the
02611cbb
DS
215 MIPS64 architecture.
216
217endchoice
218
af3971f8
DS
219menu "General setup"
220
221config ROM_EXCEPTION_VECTORS
222 bool "Build U-Boot image with exception vectors"
223 help
224 Enable this to include exception vectors in the U-Boot image. This is
225 required if the U-Boot entry point is equal to the address of the
226 CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
227 U-Boot booted from parallel NOR flash).
228 Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
229 In that case the image size will be reduced by 0x500 bytes.
230
939a255a
PB
231config MIPS_CM_BASE
232 hex "MIPS CM GCR Base Address"
233 depends on MIPS_CM
ed048e7c 234 default 0x16100000 if TARGET_BOSTON
939a255a
PB
235 default 0x1fbf8000
236 help
237 The physical base address at which to map the MIPS Coherence Manager
238 Global Configuration Registers (GCRs). This should be set such that
239 the GCRs occupy a region of the physical address space which is
240 otherwise unused, or at minimum that software doesn't need to access.
241
5ef337a0
DS
242config MIPS_CACHE_INDEX_BASE
243 hex "Index base address for cache initialisation"
244 default 0x80000000 if CPU_MIPS32
245 default 0xffffffff80000000 if CPU_MIPS64
246 help
247 This is the base address for a memory block, which is used for
248 initialising the cache lines. This is also the base address of a memory
249 block which is used for loading and filling cache lines when
250 SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
251 Normally this is CKSEG0. If the MIPS system needs to move this block
252 to some SRAM or ScratchPad RAM, adapt this option accordingly.
253
96301464
DS
254config MIPS_RELOCATION_TABLE_SIZE
255 hex "Relocation table size"
256 range 0x100 0x10000
257 default "0x8000"
258 ---help---
259 A table of relocation data will be appended to the U-Boot binary
260 and parsed in relocate_code() to fix up all offsets in the relocated
261 U-Boot.
262
263 This option allows the amount of space reserved for the table to be
264 adjusted in a range from 256 up to 64k. The default is 32k and should
265 be ok in most cases. Reduce this value to shrink the size of U-Boot
266 binary.
267
268 The build will fail and a valid size suggested if this is too small.
269
270 If unsure, leave at the default value.
271
af3971f8
DS
272endmenu
273
25fc664f
DS
274menu "OS boot interface"
275
276config MIPS_BOOT_CMDLINE_LEGACY
277 bool "Hand over legacy command line to Linux kernel"
278 default y
279 help
280 Enable this option if you want U-Boot to hand over the Yamon-style
281 command line to the kernel. All bootargs will be prepared as argc/argv
282 compatible list. The argument count (argc) is stored in register $a0.
283 The address of the argument list (argv) is stored in register $a1.
284
ca65e585
DS
285config MIPS_BOOT_ENV_LEGACY
286 bool "Hand over legacy environment to Linux kernel"
287 default y
288 help
289 Enable this option if you want U-Boot to hand over the Yamon-style
290 environment to the kernel. Information like memory size, initrd
291 address and size will be prepared as zero-terminated key/value list.
1cc0a9f4 292 The address of the environment is stored in register $a2.
ca65e585 293
5002d8cc 294config MIPS_BOOT_FDT
90b1c9fa 295 bool "Hand over a flattened device tree to Linux kernel"
5002d8cc
DS
296 default n
297 help
298 Enable this option if you want U-Boot to hand over a flattened
90b1c9fa
DS
299 device tree to the kernel. According to UHI register $a0 will be set
300 to -2 and the FDT address is stored in $a1.
5002d8cc 301
25fc664f
DS
302endmenu
303
0e1dc345
DS
304config SUPPORTS_BIG_ENDIAN
305 bool
306
307config SUPPORTS_LITTLE_ENDIAN
308 bool
309
02611cbb
DS
310config SUPPORTS_CPU_MIPS32_R1
311 bool
312
313config SUPPORTS_CPU_MIPS32_R2
314 bool
315
c52ebea1
PB
316config SUPPORTS_CPU_MIPS32_R6
317 bool
318
02611cbb
DS
319config SUPPORTS_CPU_MIPS64_R1
320 bool
321
322config SUPPORTS_CPU_MIPS64_R2
323 bool
324
c52ebea1
PB
325config SUPPORTS_CPU_MIPS64_R6
326 bool
327
c57dafb5
DS
328config CPU_MIPS32
329 bool
c52ebea1 330 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
c57dafb5
DS
331
332config CPU_MIPS64
333 bool
c52ebea1 334 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
c57dafb5 335
0315a289
DS
336config MIPS_TUNE_4KC
337 bool
338
339config MIPS_TUNE_14KC
340 bool
341
342config MIPS_TUNE_24KC
343 bool
344
5f9cc363
DS
345config MIPS_TUNE_34KC
346 bool
347
0a0a958b
MV
348config MIPS_TUNE_74KC
349 bool
350
02611cbb
DS
351config 32BIT
352 bool
353
354config 64BIT
355 bool
356
9d638eea
DS
357config SWAP_IO_SPACE
358 bool
359
dd7c7200
PB
360config SYS_MIPS_CACHE_INIT_RAM_LOAD
361 bool
362
924ad866
DS
363config MIPS_INIT_STACK_IN_SRAM
364 bool
365 default n
366 help
367 Select this if the initial stack frame could be setup in SRAM.
368 Normally the initial stack frame is set up in DRAM which is often
369 only available after lowlevel_init. With this option the initial
370 stack frame and the early C environment is set up before
371 lowlevel_init. Thus lowlevel_init does not need to be implemented
372 in assembler.
373
ace3be4f
PB
374config SYS_DCACHE_SIZE
375 int
376 default 0
377 help
378 The total size of the L1 Dcache, if known at compile time.
379
37228621 380config SYS_DCACHE_LINE_SIZE
4b7b0a0f 381 int
37228621
PB
382 default 0
383 help
384 The size of L1 Dcache lines, if known at compile time.
385
ace3be4f
PB
386config SYS_ICACHE_SIZE
387 int
388 default 0
389 help
390 The total size of the L1 ICache, if known at compile time.
391
37228621 392config SYS_ICACHE_LINE_SIZE
ace3be4f
PB
393 int
394 default 0
395 help
37228621 396 The size of L1 Icache lines, if known at compile time.
ace3be4f
PB
397
398config SYS_CACHE_SIZE_AUTO
399 def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
37228621 400 SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
ace3be4f
PB
401 help
402 Select this (or let it be auto-selected by not defining any cache
403 sizes) in order to allow U-Boot to automatically detect the sizes
404 of caches at runtime. This has a small cost in code size & runtime
405 so if you know the cache configuration for your system at compile
406 time it would be beneficial to configure it.
407
f53830e7
DS
408config MIPS_L1_CACHE_SHIFT_4
409 bool
410
411config MIPS_L1_CACHE_SHIFT_5
412 bool
413
414config MIPS_L1_CACHE_SHIFT_6
415 bool
416
417config MIPS_L1_CACHE_SHIFT_7
418 bool
419
420config MIPS_L1_CACHE_SHIFT
421 int
422 default "7" if MIPS_L1_CACHE_SHIFT_7
423 default "6" if MIPS_L1_CACHE_SHIFT_6
424 default "5" if MIPS_L1_CACHE_SHIFT_5
425 default "4" if MIPS_L1_CACHE_SHIFT_4
426 default "5"
427
4baa0ab6
PB
428config MIPS_L2_CACHE
429 bool
430 help
431 Select this if your system includes an L2 cache and you want U-Boot
432 to initialise & maintain it.
433
05e34255
PB
434config DYNAMIC_IO_PORT_BASE
435 bool
436
b2b135d9
PB
437config MIPS_CM
438 bool
439 help
440 Select this if your system contains a MIPS Coherence Manager and you
441 wish U-Boot to configure it or make use of it to retrieve system
442 information such as cache configuration.
443
d1c3d8bd
DS
444config MIPS_INSERT_BOOT_CONFIG
445 bool
446 default n
447 help
448 Enable this to insert some board-specific boot configuration in
449 the U-Boot binary at offset 0x10.
450
451config MIPS_BOOT_CONFIG_WORD0
452 hex
453 depends on MIPS_INSERT_BOOT_CONFIG
454 default 0x420 if TARGET_MALTA
455 default 0x0
456 help
457 Value which is inserted as boot config word 0.
458
459config MIPS_BOOT_CONFIG_WORD1
460 hex
461 depends on MIPS_INSERT_BOOT_CONFIG
462 default 0x0
463 help
464 Value which is inserted as boot config word 1.
465
0e1dc345
DS
466endif
467
dd84058d 468endmenu
This page took 0.385212 seconds and 4 git commands to generate.