]> git.ipfire.org Git - people/ms/u-boot.git/blame - arch/arm/Kconfig
Convert CONFIG_SPL_BOARD_INIT to Kconfig
[people/ms/u-boot.git] / arch / arm / Kconfig
CommitLineData
dd84058d
MY
1menu "ARM architecture"
2 depends on ARM
3
4config SYS_ARCH
dd84058d
MY
5 default "arm"
6
016a954e
MY
7config ARM64
8 bool
bb6b142f 9 select PHYS_64BIT
067716ba 10 select SYS_CACHE_SHIFT_6
016a954e 11
37217f0e
LV
12config DMA_ADDR_T_64BIT
13 bool
14 default y if ARM64
15
2e07c249 16config HAS_VBAR
e009bfa4 17 bool
2e07c249 18
62e92077 19config HAS_THUMB2
e009bfa4 20 bool
62e92077 21
8dda2e2f
TR
22# If set, the workarounds for these ARM errata are applied early during U-Boot
23# startup. Note that in general these options force the workarounds to be
24# applied; no CPU-type/version detection exists, unlike the similar options in
25# the Linux kernel. Do not set these options unless they apply! Also note that
26# the following can be machine specific errata. These do have ability to
27# provide rudimentary version and machine specific checks, but expect no
28# product checks:
29# CONFIG_ARM_ERRATA_430973
30# CONFIG_ARM_ERRATA_454179
31# CONFIG_ARM_ERRATA_621766
32# CONFIG_ARM_ERRATA_798870
33# CONFIG_ARM_ERRATA_801819
34config ARM_ERRATA_430973
35 bool
36
37config ARM_ERRATA_454179
38 bool
39
40config ARM_ERRATA_621766
41 bool
42
43config ARM_ERRATA_716044
44 bool
45
19a75b8c
SS
46config ARM_ERRATA_725233
47 bool
48
8dda2e2f
TR
49config ARM_ERRATA_742230
50 bool
51
52config ARM_ERRATA_743622
53 bool
54
55config ARM_ERRATA_751472
56 bool
57
58config ARM_ERRATA_761320
59 bool
60
61config ARM_ERRATA_773022
62 bool
63
64config ARM_ERRATA_774769
65 bool
66
67config ARM_ERRATA_794072
68 bool
69
70config ARM_ERRATA_798870
71 bool
72
73config ARM_ERRATA_801819
74 bool
75
76config ARM_ERRATA_826974
77 bool
78
79config ARM_ERRATA_828024
80 bool
81
82config ARM_ERRATA_829520
83 bool
84
85config ARM_ERRATA_833069
86 bool
87
88config ARM_ERRATA_833471
89 bool
90
8776350d
NM
91config ARM_ERRATA_852421
92 bool
93
94config ARM_ERRATA_852423
95 bool
96
2e07c249 97config CPU_ARM720T
e009bfa4 98 bool
067716ba 99 select SYS_CACHE_SHIFT_5
2e07c249
GS
100
101config CPU_ARM920T
e009bfa4 102 bool
067716ba 103 select SYS_CACHE_SHIFT_5
2e07c249
GS
104
105config CPU_ARM926EJS
e009bfa4 106 bool
067716ba 107 select SYS_CACHE_SHIFT_5
2e07c249
GS
108
109config CPU_ARM946ES
e009bfa4 110 bool
067716ba 111 select SYS_CACHE_SHIFT_5
2e07c249
GS
112
113config CPU_ARM1136
e009bfa4 114 bool
067716ba 115 select SYS_CACHE_SHIFT_5
2e07c249
GS
116
117config CPU_ARM1176
e009bfa4
TR
118 bool
119 select HAS_VBAR
067716ba 120 select SYS_CACHE_SHIFT_5
2e07c249
GS
121
122config CPU_V7
e009bfa4
TR
123 bool
124 select HAS_VBAR
125 select HAS_THUMB2
067716ba 126 select SYS_CACHE_SHIFT_6
2e07c249 127
12d8a729 128config CPU_V7M
129 bool
e009bfa4 130 select HAS_THUMB2
067716ba 131 select SYS_CACHE_SHIFT_5
12d8a729 132
2e07c249 133config CPU_PXA
e009bfa4 134 bool
067716ba 135 select SYS_CACHE_SHIFT_5
2e07c249
GS
136
137config CPU_SA1100
e009bfa4 138 bool
067716ba 139 select SYS_CACHE_SHIFT_5
2e07c249
GS
140
141config SYS_CPU
e009bfa4
TR
142 default "arm720t" if CPU_ARM720T
143 default "arm920t" if CPU_ARM920T
144 default "arm926ejs" if CPU_ARM926EJS
145 default "arm946es" if CPU_ARM946ES
146 default "arm1136" if CPU_ARM1136
147 default "arm1176" if CPU_ARM1176
148 default "armv7" if CPU_V7
149 default "armv7m" if CPU_V7M
150 default "pxa" if CPU_PXA
151 default "sa1100" if CPU_SA1100
01541eec 152 default "armv8" if ARM64
2e07c249 153
66020a67
MV
154config SYS_ARM_ARCH
155 int
156 default 4 if CPU_ARM720T
157 default 4 if CPU_ARM920T
158 default 5 if CPU_ARM926EJS
159 default 5 if CPU_ARM946ES
160 default 6 if CPU_ARM1136
161 default 6 if CPU_ARM1176
162 default 7 if CPU_V7
163 default 7 if CPU_V7M
164 default 5 if CPU_PXA
165 default 4 if CPU_SA1100
166 default 8 if ARM64
167
067716ba
TR
168config SYS_CACHE_SHIFT_5
169 bool
170
171config SYS_CACHE_SHIFT_6
172 bool
173
174config SYS_CACHE_SHIFT_7
175 bool
176
177config SYS_CACHELINE_SIZE
178 int
179 default 128 if SYS_CACHE_SHIFT_7
180 default 64 if SYS_CACHE_SHIFT_6
181 default 32 if SYS_CACHE_SHIFT_5
182
c54bcf68
MY
183config ARM_SMCCC
184 bool "Support for ARM SMC Calling Convention (SMCCC)"
185 depends on CPU_V7 || ARM64
573a3811 186 select ARM_PSCI_FW
c54bcf68
MY
187 help
188 Say Y here if you want to enable ARM SMC Calling Convention.
189 This should be enabled if U-Boot needs to communicate with system
190 firmware (for example, PSCI) according to SMCCC.
191
f91afc4d
LW
192config SEMIHOSTING
193 bool "support boot from semihosting"
194 help
195 In emulated environments, semihosting is a way for
196 the hosted environment to call out to the emulator to
197 retrieve files from the host machine.
198
3a649407
TR
199config SYS_THUMB_BUILD
200 bool "Build U-Boot using the Thumb instruction set"
201 depends on !ARM64
202 help
203 Use this flag to build U-Boot using the Thumb instruction set for
204 ARM architectures. Thumb instruction set provides better code
205 density. For ARM architectures that support Thumb2 this flag will
206 result in Thumb2 code generated by GCC.
207
208config SPL_SYS_THUMB_BUILD
209 bool "Build SPL using the Thumb instruction set"
210 default y if SYS_THUMB_BUILD
211 depends on !ARM64
212 help
213 Use this flag to build SPL using the Thumb instruction set for
214 ARM architectures. Thumb instruction set provides better code
215 density. For ARM architectures that support Thumb2 this flag will
216 result in Thumb2 code generated by GCC.
217
f3e9bec8
PF
218config SYS_L2CACHE_OFF
219 bool "L2cache off"
220 help
221 If SoC does not support L2CACHE or one do not want to enable
222 L2CACHE, choose this option.
223
cdaa633f
AP
224config ENABLE_ARM_SOC_BOOT0_HOOK
225 bool "prepare BOOT0 header"
226 help
227 If the SoC's BOOT0 requires a header area filled with (magic)
228 values, then choose this option, and create a define called
229 ARM_SOC_BOOT0_HOOK which contains the required assembler
230 preprocessor code.
231
85db5831
AP
232config ARM_CORTEX_CPU_IS_UP
233 bool
234 default n
235
be72591b
FE
236config USE_ARCH_MEMCPY
237 bool "Use an assembly optimized implementation of memcpy"
40d5534c
TR
238 default y
239 depends on !ARM64
240 help
241 Enable the generation of an optimized version of memcpy.
242 Such implementation may be faster under some conditions
243 but may increase the binary size.
244
245config SPL_USE_ARCH_MEMCPY
246 bool "Use an assembly optimized implementation of memcpy"
247 default y if USE_ARCH_MEMCPY
085be482 248 depends on !ARM64
be72591b
FE
249 help
250 Enable the generation of an optimized version of memcpy.
251 Such implementation may be faster under some conditions
252 but may increase the binary size.
253
254config USE_ARCH_MEMSET
255 bool "Use an assembly optimized implementation of memset"
40d5534c
TR
256 default y
257 depends on !ARM64
258 help
259 Enable the generation of an optimized version of memset.
260 Such implementation may be faster under some conditions
261 but may increase the binary size.
262
263config SPL_USE_ARCH_MEMSET
264 bool "Use an assembly optimized implementation of memset"
265 default y if USE_ARCH_MEMSET
085be482 266 depends on !ARM64
be72591b
FE
267 help
268 Enable the generation of an optimized version of memset.
269 Such implementation may be faster under some conditions
270 but may increase the binary size.
271
ec6617c3
AW
272config ARM64_SUPPORT_AARCH32
273 bool "ARM64 system support AArch32 execution state"
274 default y if ARM64 && !TARGET_THUNDERX_88XX
275 help
276 This ARM64 system supports AArch32 execution state.
277
dd84058d
MY
278choice
279 prompt "Target select"
b928e658 280 default TARGET_HIKEY
dd84058d 281
4614b891
MY
282config ARCH_AT91
283 bool "Atmel AT91"
0680f1b1 284 select SPL_BOARD_INIT if SPL
dd84058d
MY
285
286config TARGET_EDB93XX
287 bool "Support edb93xx"
2e07c249 288 select CPU_ARM920T
dd84058d 289
dd84058d
MY
290config TARGET_ASPENITE
291 bool "Support aspenite"
2e07c249 292 select CPU_ARM926EJS
dd84058d
MY
293
294config TARGET_GPLUGD
295 bool "Support gplugd"
2e07c249 296 select CPU_ARM926EJS
dd84058d 297
3491ba63
MY
298config ARCH_DAVINCI
299 bool "TI DaVinci"
2e07c249 300 select CPU_ARM926EJS
3491ba63
MY
301 help
302 Support for TI's DaVinci platform.
dd84058d 303
47539e23
MY
304config KIRKWOOD
305 bool "Marvell Kirkwood"
2e07c249 306 select CPU_ARM926EJS
a5d67547 307 select BOARD_EARLY_INIT_F
4585601a 308 select ARCH_MISC_INIT
dd84058d 309
c3d89140 310config ARCH_MVEBU
21b29fc6 311 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
9cffb233
SR
312 select OF_CONTROL
313 select OF_SEPARATE
314 select DM
e3b9c98a 315 select DM_ETH
1d51ea19 316 select DM_SERIAL
09a54c00
SR
317 select DM_SPI
318 select DM_SPI_FLASH
a4884831 319
dd84058d
MY
320config TARGET_DEVKIT3250
321 bool "Support devkit3250"
2e07c249 322 select CPU_ARM926EJS
e9b3ce3f 323 select SUPPORT_SPL
dd84058d 324
412ae53a
AA
325config TARGET_WORK_92105
326 bool "Support work_92105"
327 select CPU_ARM926EJS
328 select SUPPORT_SPL
329
dd84058d
MY
330config TARGET_MX25PDK
331 bool "Support mx25pdk"
e5ec4815 332 select BOARD_LATE_INIT
2e07c249 333 select CPU_ARM926EJS
a5d67547 334 select BOARD_EARLY_INIT_F
dd84058d 335
dd84058d
MY
336config TARGET_ZMX25
337 bool "Support zmx25"
e5ec4815 338 select BOARD_LATE_INIT
2e07c249 339 select CPU_ARM926EJS
dd84058d
MY
340
341config TARGET_APF27
342 bool "Support apf27"
2e07c249 343 select CPU_ARM926EJS
02627356 344 select SUPPORT_SPL
dd84058d 345
dd84058d
MY
346config TARGET_APX4DEVKIT
347 bool "Support apx4devkit"
2e07c249 348 select CPU_ARM926EJS
02627356 349 select SUPPORT_SPL
dd84058d
MY
350
351config TARGET_XFI3
352 bool "Support xfi3"
2e07c249 353 select CPU_ARM926EJS
02627356 354 select SUPPORT_SPL
dd84058d
MY
355
356config TARGET_M28EVK
357 bool "Support m28evk"
2e07c249 358 select CPU_ARM926EJS
02627356 359 select SUPPORT_SPL
dd84058d
MY
360
361config TARGET_MX23EVK
362 bool "Support mx23evk"
2e07c249 363 select CPU_ARM926EJS
02627356 364 select SUPPORT_SPL
a5d67547 365 select BOARD_EARLY_INIT_F
dd84058d
MY
366
367config TARGET_MX28EVK
368 bool "Support mx28evk"
2e07c249 369 select CPU_ARM926EJS
02627356 370 select SUPPORT_SPL
a5d67547 371 select BOARD_EARLY_INIT_F
dd84058d
MY
372
373config TARGET_MX23_OLINUXINO
374 bool "Support mx23_olinuxino"
2e07c249 375 select CPU_ARM926EJS
02627356 376 select SUPPORT_SPL
a5d67547 377 select BOARD_EARLY_INIT_F
dd84058d
MY
378
379config TARGET_BG0900
380 bool "Support bg0900"
2e07c249 381 select CPU_ARM926EJS
02627356 382 select SUPPORT_SPL
dd84058d
MY
383
384config TARGET_SANSA_FUZE_PLUS
385 bool "Support sansa_fuze_plus"
2e07c249 386 select CPU_ARM926EJS
02627356 387 select SUPPORT_SPL
dd84058d
MY
388
389config TARGET_SC_SPS_1
390 bool "Support sc_sps_1"
2e07c249 391 select CPU_ARM926EJS
02627356 392 select SUPPORT_SPL
dd84058d 393
22f2be7a
MY
394config ORION5X
395 bool "Marvell Orion"
2e07c249 396 select CPU_ARM926EJS
dd84058d 397
dd84058d
MY
398config TARGET_SPEAR300
399 bool "Support spear300"
2e07c249 400 select CPU_ARM926EJS
a5d67547 401 select BOARD_EARLY_INIT_F
dd84058d
MY
402
403config TARGET_SPEAR310
404 bool "Support spear310"
2e07c249 405 select CPU_ARM926EJS
a5d67547 406 select BOARD_EARLY_INIT_F
dd84058d
MY
407
408config TARGET_SPEAR320
409 bool "Support spear320"
2e07c249 410 select CPU_ARM926EJS
a5d67547 411 select BOARD_EARLY_INIT_F
dd84058d
MY
412
413config TARGET_SPEAR600
414 bool "Support spear600"
2e07c249 415 select CPU_ARM926EJS
a5d67547 416 select BOARD_EARLY_INIT_F
dd84058d 417
9fa32b12
VM
418config TARGET_STV0991
419 bool "Support stv0991"
420 select CPU_V7
cac0ca76
MY
421 select DM
422 select DM_SERIAL
e67abcaa
VM
423 select DM_SPI
424 select DM_SPI_FLASH
425 select SPI_FLASH
9fa32b12 426
dd84058d
MY
427config TARGET_X600
428 bool "Support x600"
e5ec4815 429 select BOARD_LATE_INIT
2e07c249 430 select CPU_ARM926EJS
02627356 431 select SUPPORT_SPL
dd84058d 432
dd84058d 433config TARGET_IMX31_PHYCORE
f428268a
TR
434 bool "Support imx31_phycore_eet"
435 select CPU_ARM1136
a5d67547 436 select BOARD_EARLY_INIT_F
f428268a
TR
437
438config TARGET_IMX31_PHYCORE_EET
439 bool "Support imx31_phycore_eet"
e5ec4815 440 select BOARD_LATE_INIT
2e07c249 441 select CPU_ARM1136
a5d67547 442 select BOARD_EARLY_INIT_F
dd84058d 443
dd84058d
MY
444config TARGET_MX31ADS
445 bool "Support mx31ads"
2e07c249 446 select CPU_ARM1136
a5d67547 447 select BOARD_EARLY_INIT_F
dd84058d
MY
448
449config TARGET_MX31PDK
450 bool "Support mx31pdk"
e5ec4815 451 select BOARD_LATE_INIT
2e07c249 452 select CPU_ARM1136
02627356 453 select SUPPORT_SPL
a5d67547 454 select BOARD_EARLY_INIT_F
dd84058d 455
dd84058d
MY
456config TARGET_WOODBURN
457 bool "Support woodburn"
2e07c249 458 select CPU_ARM1136
dd84058d
MY
459
460config TARGET_WOODBURN_SD
461 bool "Support woodburn_sd"
2e07c249 462 select CPU_ARM1136
02627356 463 select SUPPORT_SPL
dd84058d
MY
464
465config TARGET_FLEA3
466 bool "Support flea3"
2e07c249 467 select CPU_ARM1136
dd84058d
MY
468
469config TARGET_MX35PDK
470 bool "Support mx35pdk"
e5ec4815 471 select BOARD_LATE_INIT
2e07c249 472 select CPU_ARM1136
dd84058d 473
ddf6bd48
MY
474config ARCH_BCM283X
475 bool "Broadcom BCM283X family"
58d423b8
MY
476 select DM
477 select DM_SERIAL
478 select DM_GPIO
76709096 479 select OF_CONTROL
46414296 480
dd84058d
MY
481config TARGET_VEXPRESS_CA15_TC2
482 bool "Support vexpress_ca15_tc2"
2e07c249 483 select CPU_V7
ea624e19
HG
484 select CPU_V7_HAS_NONSEC
485 select CPU_V7_HAS_VIRT
dd84058d
MY
486
487config TARGET_VEXPRESS_CA5X2
488 bool "Support vexpress_ca5x2"
2e07c249 489 select CPU_V7
dd84058d
MY
490
491config TARGET_VEXPRESS_CA9X4
492 bool "Support vexpress_ca9x4"
2e07c249 493 select CPU_V7
dd84058d 494
43486e4c
SR
495config TARGET_BCM23550_W1D
496 bool "Support bcm23550_w1d"
497 select CPU_V7
498
dd84058d
MY
499config TARGET_BCM28155_AP
500 bool "Support bcm28155_ap"
2e07c249 501 select CPU_V7
dd84058d 502
abb1678c
SR
503config TARGET_BCMCYGNUS
504 bool "Support bcmcygnus"
2e07c249 505 select CPU_V7
9dec5270 506
abb1678c
SR
507config TARGET_BCMNSP
508 bool "Support bcmnsp"
2e07c249 509 select CPU_V7
9dec5270 510
274bced8
JM
511config TARGET_BCMNS2
512 bool "Support Broadcom Northstar2"
513 select ARM64
514 help
515 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
516 ARMv8 Cortex-A57 processors targeting a broad range of networking
517 applications
518
72df68cc
MY
519config ARCH_EXYNOS
520 bool "Samsung EXYNOS"
58d423b8 521 select DM
fc47cf9d 522 select DM_I2C
58d423b8
MY
523 select DM_SPI_FLASH
524 select DM_SERIAL
525 select DM_SPI
526 select DM_GPIO
1fa4bfde 527 select DM_KEYBOARD
dd84058d 528
311757be
SG
529config ARCH_S5PC1XX
530 bool "Samsung S5PC1XX"
2e07c249 531 select CPU_V7
58d423b8
MY
532 select DM
533 select DM_SERIAL
534 select DM_GPIO
08848e9c 535 select DM_I2C
311757be 536
ef2b694c
MY
537config ARCH_HIGHBANK
538 bool "Calxeda Highbank"
2e07c249 539 select CPU_V7
dd84058d 540
5cbbd9bd
MY
541config ARCH_INTEGRATOR
542 bool "ARM Ltd. Integrator family"
3f394e70
LW
543 select DM
544 select DM_SERIAL
5cbbd9bd 545
c338f09e
MY
546config ARCH_KEYSTONE
547 bool "TI Keystone"
2e07c249 548 select CPU_V7
02627356 549 select SUPPORT_SPL
3a649407 550 select SYS_THUMB_BUILD
534bc70e 551 select CMD_POWEROFF
46f9ef18 552 imply FIT
dd84058d 553
a93fbf4a
MY
554config ARCH_OMAP2PLUS
555 bool "TI OMAP2+"
556 select CPU_V7
0680f1b1 557 select SPL_BOARD_INIT if SPL
a93fbf4a
MY
558 select SUPPORT_SPL
559 imply FIT
560
bfcef28a
BG
561config ARCH_MESON
562 bool "Amlogic Meson"
563 help
564 Support for the Meson SoC family developed by Amlogic Inc.,
565 targeted at media players and tablet computers. We currently
566 support the S905 (GXBaby) 64-bit SoC.
567
e90a08da
PF
568config ARCH_MX7ULP
569 bool "NXP MX7ULP"
570 select CPU_V7
571 select ROM_UNIFIED_SECTIONS
572
1a8150d4
AA
573config ARCH_MX7
574 bool "Freescale MX7"
575 select CPU_V7
2c2e2c9e
YS
576 select SYS_FSL_HAS_SEC if SECURE_BOOT
577 select SYS_FSL_SEC_COMPAT_4
90b80386 578 select SYS_FSL_SEC_LE
a5d67547 579 select BOARD_EARLY_INIT_F
4585601a 580 select ARCH_MISC_INIT
1a8150d4 581
89ebc821
BB
582config ARCH_MX6
583 bool "Freescale MX6"
584 select CPU_V7
2c2e2c9e
YS
585 select SYS_FSL_HAS_SEC if SECURE_BOOT
586 select SYS_FSL_SEC_COMPAT_4
90b80386 587 select SYS_FSL_SEC_LE
3a649407 588 select SYS_THUMB_BUILD if SPL
89ebc821 589
424ee3d1
AR
590config ARCH_MX5
591 bool "Freescale MX5"
592 select CPU_V7
a5d67547 593 select BOARD_EARLY_INIT_F
424ee3d1 594
1cc95f6e 595config ARCH_RMOBILE
f40b9898 596 bool "Renesas ARM SoCs"
1cc95f6e
NI
597 select DM
598 select DM_SERIAL
a5d67547 599 select BOARD_EARLY_INIT_F
3a649407 600 imply SYS_THUMB_BUILD
dd84058d 601
9702ec00
EP
602config TARGET_S32V234EVB
603 bool "Support s32v234evb"
604 select ARM64
c01e4a1a 605 select SYS_FSL_ERRATUM_ESDHC111
9702ec00 606
08592136
MK
607config ARCH_SNAPDRAGON
608 bool "Qualcomm Snapdragon SoCs"
609 select ARM64
610 select DM
611 select DM_GPIO
612 select DM_SERIAL
613 select SPMI
614 select OF_CONTROL
615 select OF_SEPARATE
616
7865f4b0
MY
617config ARCH_SOCFPGA
618 bool "Altera SOCFPGA family"
2e07c249 619 select CPU_V7
02627356 620 select SUPPORT_SPL
dfd3dff5
MV
621 select OF_CONTROL
622 select SPL_OF_CONTROL
1d9aa3e5
MY
623 select DM
624 select DM_SPI_FLASH
625 select DM_SPI
beee6a30 626 select ENABLE_ARM_SOC_BOOT0_HOOK
a421192f 627 select ARCH_EARLY_INIT_R
4585601a 628 select ARCH_MISC_INIT
949123e3 629 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
3a649407 630 select SYS_THUMB_BUILD
dd84058d 631
2c7e3b90
IC
632config ARCH_SUNXI
633 bool "Support sunxi (Allwinner) SoCs"
88bb800d 634 select CMD_GPIO
0878a8a7 635 select CMD_MMC if MMC
2997ee50 636 select CMD_USB if DISTRO_DEFAULTS
b6006baf 637 select DM
45368827 638 select DM_ETH
211d57a4
HG
639 select DM_GPIO
640 select DM_KEYBOARD
45368827 641 select DM_SERIAL
2997ee50 642 select DM_USB if DISTRO_DEFAULTS
d75111a7 643 select OF_BOARD_SETUP
b6006baf
HG
644 select OF_CONTROL
645 select OF_SEPARATE
8434f035
AG
646 select SPL_STACK_R if SUPPORT_SPL
647 select SPL_SYS_MALLOC_SIMPLE if SUPPORT_SPL
6edf6a21 648 select SYS_NS16550
3a649407 649 select SPL_SYS_THUMB_BUILD if !ARM64
2997ee50
YM
650 select USB if DISTRO_DEFAULTS
651 select USB_STORAGE if DISTRO_DEFAULTS
652 select USB_KEYBOARD if DISTRO_DEFAULTS
8c7d2296 653 select USE_TINY_PRINTF
af83a604
MY
654 imply PRE_CONSOLE_BUFFER
655 imply SPL_GPIO_SUPPORT
656 imply SPL_LIBCOMMON_SUPPORT
657 imply SPL_LIBDISK_SUPPORT
658 imply SPL_LIBGENERIC_SUPPORT
4aa2ba3a 659 imply SPL_MMC_SUPPORT if MMC
af83a604
MY
660 imply SPL_POWER_SUPPORT
661 imply SPL_SERIAL_SUPPORT
8ebe4f42 662
d9e268ed
SB
663config TARGET_TS4600
664 bool "Support TS4600"
665 select CPU_ARM926EJS
666 select SUPPORT_SPL
667
7966b437
SA
668config ARCH_VF610
669 bool "Freescale Vybrid"
e7b860fa 670 select CPU_V7
c01e4a1a 671 select SYS_FSL_ERRATUM_ESDHC111
e7b860fa 672
5ca269a4 673config ARCH_ZYNQ
44dcb403 674 bool "Xilinx Zynq Platform"
e5ec4815 675 select BOARD_LATE_INIT
2e07c249 676 select CPU_V7
02627356 677 select SUPPORT_SPL
d065cfd9 678 select OF_CONTROL
0680f1b1 679 select SPL_BOARD_INIT if SPL
eb04ab34 680 select SPL_OF_CONTROL if SPL
8981f05c 681 select DM
6889ca71 682 select DM_ETH
2978ae23 683 select DM_GPIO
eb04ab34 684 select SPL_DM if SPL
d9ae52c8 685 select DM_MMC
329a449f 686 select DM_MMC_OPS
9f7a4502 687 select DM_SPI
42800ffa 688 select DM_SERIAL
9f7a4502 689 select DM_SPI_FLASH
eb04ab34 690 select SPL_SEPARATE_BSS if SPL
dec49e86 691 select DM_USB if USB
329a449f 692 select BLK
781745bd
SH
693 select CLK
694 select SPL_CLK
695 select CLK_ZYNQ
d315628e 696 imply CMD_CLK
dd84058d 697
0b54a9dd 698config ARCH_ZYNQMP
84c7204b
MS
699 bool "Support Xilinx ZynqMP Platform"
700 select ARM64
e5ec4815 701 select BOARD_LATE_INIT
c2490bf5
MS
702 select DM
703 select OF_CONTROL
704 select DM_SERIAL
e6a9ed04 705 select SUPPORT_SPL
1f29738a 706 select CLK
0680f1b1 707 select SPL_BOARD_INIT if SPL
1f29738a 708 select SPL_CLK
dec49e86 709 select DM_USB if USB
84c7204b 710
ddd960e6
MY
711config TEGRA
712 bool "NVIDIA Tegra"
dd84058d 713
f91afc4d 714config TARGET_VEXPRESS64_AEMV8A
dd84058d 715 bool "Support vexpress_aemv8a"
016a954e 716 select ARM64
dd84058d 717
f91afc4d
LW
718config TARGET_VEXPRESS64_BASE_FVP
719 bool "Support Versatile Express ARMv8a FVP BASE model"
720 select ARM64
721 select SEMIHOSTING
722
fc04b923
RH
723config TARGET_VEXPRESS64_BASE_FVP_DRAM
724 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
725 select ARM64
726 help
727 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
728 the default config to allow the user to load the images directly into
729 DRAM using model parameters rather than by using semi-hosting to load
730 the files from the host filesystem.
731
ffc10373
LW
732config TARGET_VEXPRESS64_JUNO
733 bool "Support Versatile Express Juno Development Platform"
734 select ARM64
735
44937214
PK
736config TARGET_LS2080A_EMU
737 bool "Support ls2080a_emu"
fb2bf8c2 738 select ARCH_LS2080A
016a954e 739 select ARM64
23b5877c 740 select ARMV8_MULTIENTRY
4585601a 741 select ARCH_MISC_INIT
44937214
PK
742 help
743 Support for Freescale LS2080A_EMU platform
744 The LS2080A Development System (EMULATOR) is a pre silicon
745 development platform that supports the QorIQ LS2080A
746 Layerscape Architecture processor.
dd84058d 747
44937214
PK
748config TARGET_LS2080A_SIMU
749 bool "Support ls2080a_simu"
fb2bf8c2 750 select ARCH_LS2080A
016a954e 751 select ARM64
23b5877c 752 select ARMV8_MULTIENTRY
4585601a 753 select ARCH_MISC_INIT
44937214
PK
754 help
755 Support for Freescale LS2080A_SIMU platform
756 The LS2080A Development System (QDS) is a pre silicon
757 development platform that supports the QorIQ LS2080A
758 Layerscape Architecture processor.
dd84058d 759
44937214
PK
760config TARGET_LS2080AQDS
761 bool "Support ls2080aqds"
fb2bf8c2 762 select ARCH_LS2080A
7288c2c2
YS
763 select ARM64
764 select ARMV8_MULTIENTRY
e5ec4815 765 select BOARD_LATE_INIT
b2d5ac59 766 select SUPPORT_SPL
4585601a 767 select ARCH_MISC_INIT
7288c2c2 768 help
44937214
PK
769 Support for Freescale LS2080AQDS platform
770 The LS2080A Development System (QDS) is a high-performance
771 development platform that supports the QorIQ LS2080A
7288c2c2
YS
772 Layerscape Architecture processor.
773
44937214
PK
774config TARGET_LS2080ARDB
775 bool "Support ls2080ardb"
fb2bf8c2 776 select ARCH_LS2080A
e2b65ea9
YS
777 select ARM64
778 select ARMV8_MULTIENTRY
e5ec4815 779 select BOARD_LATE_INIT
32eda7cc 780 select SUPPORT_SPL
4585601a 781 select ARCH_MISC_INIT
e2b65ea9 782 help
44937214
PK
783 Support for Freescale LS2080ARDB platform.
784 The LS2080A Reference design board (RDB) is a high-performance
785 development platform that supports the QorIQ LS2080A
e2b65ea9
YS
786 Layerscape Architecture processor.
787
11ac2363
PG
788config TARGET_HIKEY
789 bool "Support HiKey 96boards Consumer Edition Platform"
790 select ARM64
efd7b60a
PG
791 select DM
792 select DM_GPIO
9c71bcdc 793 select DM_SERIAL
cd593ed6 794 select OF_CONTROL
11ac2363
PG
795 help
796 Support for HiKey 96boards platform. It features a HI6220
797 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
798
9d044fcb
PK
799config TARGET_LS1012AQDS
800 bool "Support ls1012aqds"
9533acf3 801 select ARCH_LS1012A
9d044fcb 802 select ARM64
e5ec4815 803 select BOARD_LATE_INIT
9d044fcb
PK
804 help
805 Support for Freescale LS1012AQDS platform.
806 The LS1012A Development System (QDS) is a high-performance
807 development platform that supports the QorIQ LS1012A
808 Layerscape Architecture processor.
809
3b6e3898
PK
810config TARGET_LS1012ARDB
811 bool "Support ls1012ardb"
9533acf3 812 select ARCH_LS1012A
3b6e3898 813 select ARM64
e5ec4815 814 select BOARD_LATE_INIT
3b6e3898
PK
815 help
816 Support for Freescale LS1012ARDB platform.
817 The LS1012A Reference design board (RDB) is a high-performance
818 development platform that supports the QorIQ LS1012A
819 Layerscape Architecture processor.
820
ff78aa2b
PK
821config TARGET_LS1012AFRDM
822 bool "Support ls1012afrdm"
9533acf3 823 select ARCH_LS1012A
ff78aa2b
PK
824 select ARM64
825 help
826 Support for Freescale LS1012AFRDM platform.
827 The LS1012A Freedom board (FRDM) is a high-performance
828 development platform that supports the QorIQ LS1012A
829 Layerscape Architecture processor.
830
550e3dc0 831config TARGET_LS1021AQDS
0de15707 832 bool "Support ls1021aqds"
e5ec4815 833 select BOARD_LATE_INIT
2e07c249 834 select CPU_V7
adee1d4c
HZ
835 select CPU_V7_HAS_NONSEC
836 select CPU_V7_HAS_VIRT
50f0c663 837 select SUPPORT_SPL
0a37cf8f 838 select ARCH_LS1021A
217f92bb 839 select ARCH_SUPPORT_PSCI
5e8bd7e1 840 select LS1_DEEP_SLEEP
d26e34c4 841 select SYS_FSL_DDR
a5d67547 842 select BOARD_EARLY_INIT_F
217f92bb 843
c8a7d9da 844config TARGET_LS1021ATWR
0de15707 845 bool "Support ls1021atwr"
e5ec4815 846 select BOARD_LATE_INIT
2e07c249 847 select CPU_V7
adee1d4c
HZ
848 select CPU_V7_HAS_NONSEC
849 select CPU_V7_HAS_VIRT
50f0c663 850 select SUPPORT_SPL
0a37cf8f 851 select ARCH_LS1021A
217f92bb 852 select ARCH_SUPPORT_PSCI
5e8bd7e1 853 select LS1_DEEP_SLEEP
a5d67547 854 select BOARD_EARLY_INIT_F
c8a7d9da 855
20c700f8
FL
856config TARGET_LS1021AIOT
857 bool "Support ls1021aiot"
e5ec4815 858 select BOARD_LATE_INIT
20c700f8
FL
859 select CPU_V7
860 select CPU_V7_HAS_NONSEC
861 select CPU_V7_HAS_VIRT
862 select SUPPORT_SPL
863 select ARCH_LS1021A
864 select ARCH_SUPPORT_PSCI
865 help
866 Support for Freescale LS1021AIOT platform.
867 The LS1021A Freescale board (IOT) is a high-performance
868 development platform that supports the QorIQ LS1021A
869 Layerscape Architecture processor.
870
02b5d2ed
SX
871config TARGET_LS1043AQDS
872 bool "Support ls1043aqds"
0a37cf8f 873 select ARCH_LS1043A
02b5d2ed
SX
874 select ARM64
875 select ARMV8_MULTIENTRY
e5ec4815 876 select BOARD_LATE_INIT
02b5d2ed 877 select SUPPORT_SPL
a5d67547 878 select BOARD_EARLY_INIT_F
02b5d2ed
SX
879 help
880 Support for Freescale LS1043AQDS platform.
881
f3a8e2b7
MH
882config TARGET_LS1043ARDB
883 bool "Support ls1043ardb"
0a37cf8f 884 select ARCH_LS1043A
f3a8e2b7 885 select ARM64
831c068f 886 select ARMV8_MULTIENTRY
e5ec4815 887 select BOARD_LATE_INIT
3ad44729 888 select SUPPORT_SPL
a5d67547 889 select BOARD_EARLY_INIT_F
f3a8e2b7
MH
890 help
891 Support for Freescale LS1043ARDB platform.
892
126fe70d
SX
893config TARGET_LS1046AQDS
894 bool "Support ls1046aqds"
da28e58a 895 select ARCH_LS1046A
126fe70d
SX
896 select ARM64
897 select ARMV8_MULTIENTRY
e5ec4815 898 select BOARD_LATE_INIT
126fe70d
SX
899 select SUPPORT_SPL
900 select DM_SPI_FLASH if DM_SPI
a5d67547 901 select BOARD_EARLY_INIT_F
126fe70d
SX
902 help
903 Support for Freescale LS1046AQDS platform.
904 The LS1046A Development System (QDS) is a high-performance
905 development platform that supports the QorIQ LS1046A
906 Layerscape Architecture processor.
907
dd02936f
MH
908config TARGET_LS1046ARDB
909 bool "Support ls1046ardb"
da28e58a 910 select ARCH_LS1046A
dd02936f
MH
911 select ARM64
912 select ARMV8_MULTIENTRY
e5ec4815 913 select BOARD_LATE_INIT
dd02936f
MH
914 select SUPPORT_SPL
915 select DM_SPI_FLASH if DM_SPI
dccef2ec 916 select POWER_MC34VR500
a5d67547 917 select BOARD_EARLY_INIT_F
dd02936f
MH
918 help
919 Support for Freescale LS1046ARDB platform.
920 The LS1046A Reference Design Board (RDB) is a high-performance
921 development platform that supports the QorIQ LS1046A
922 Layerscape Architecture processor.
923
dd84058d
MY
924config TARGET_H2200
925 bool "Support h2200"
2e07c249 926 select CPU_PXA
dd84058d 927
f19eb154
VK
928config TARGET_ZIPITZ2
929 bool "Support zipitz2"
930 select CPU_PXA
931
dd84058d
MY
932config TARGET_COLIBRI_PXA270
933 bool "Support colibri_pxa270"
2e07c249 934 select CPU_PXA
dd84058d 935
66cba041 936config ARCH_UNIPHIER
b6ef3a3f 937 bool "Socionext UniPhier SoCs"
e5ec4815 938 select BOARD_LATE_INIT
48264d9b 939 select CLK_UNIPHIER
4e819950 940 select DM
b800cbde 941 select DM_GPIO
4e819950 942 select DM_I2C
4aceb3f8 943 select DM_MMC
4fb96c48 944 select DM_RESET
b5550e49 945 select DM_SERIAL
47a79f65 946 select DM_USB
b5550e49
MY
947 select OF_CONTROL
948 select OF_LIBFDT
27350c92 949 select PINCTRL
0680f1b1 950 select SPL_BOARD_INIT if SPL
561ca649
MY
951 select SPL_DM if SPL
952 select SPL_LIBCOMMON_SUPPORT if SPL
953 select SPL_LIBGENERIC_SUPPORT if SPL
954 select SPL_OF_CONTROL if SPL
955 select SPL_PINCTRL if SPL
b5550e49 956 select SUPPORT_SPL
b6ef3a3f
MY
957 help
958 Support for UniPhier SoC family developed by Socionext Inc.
959 (formerly, System LSI Business Division of Panasonic Corporation)
66cba041 960
0a61ee88
VM
961config STM32
962 bool "Support STM32"
ed09a554 963 select CPU_V7M
66562414
KL
964 select DM
965 select DM_SERIAL
3a649407 966 select SYS_THUMB_BUILD
ed09a554 967
94e9a4ef
PC
968config ARCH_STI
969 bool "Support STMicrolectronics SoCs"
970 select CPU_V7
214a17e6
PC
971 select DM
972 select DM_SERIAL
eee20f81
PC
973 select BLK
974 select DM_MMC
584861ff 975 select DM_RESET
94e9a4ef
PC
976 help
977 Support for STMicroelectronics STiH407/10 SoC family.
978 This SoC is used on Linaro 96Board STiH410-B2260
979
2444dae5
SG
980config ARCH_ROCKCHIP
981 bool "Support Rockchip SoCs"
2444dae5 982 select OF_CONTROL
aa15038c 983 select BLK
2444dae5 984 select DM
a381bcf5 985 select SPL_DM if SPL
aa15038c 986 select SYS_MALLOC_F
3a649407 987 select SYS_THUMB_BUILD if !ARM64
a381bcf5 988 select SPL_SYS_MALLOC_SIMPLE if SPL
aa15038c
SG
989 select DM_GPIO
990 select DM_I2C
991 select DM_MMC
42b37d8d 992 select DM_MMC_OPS
aa15038c
SG
993 select DM_SERIAL
994 select DM_SPI
995 select DM_SPI_FLASH
892742df 996 select DM_USB if USB
8d29e3a4
KY
997 select DM_PWM
998 select DM_REGULATOR
2444dae5 999
746f985a
ST
1000config TARGET_THUNDERX_88XX
1001 bool "Support ThunderX 88xx"
b4ba1693 1002 select ARM64
746f985a 1003 select OF_CONTROL
067716ba 1004 select SYS_CACHE_SHIFT_7
746f985a 1005
4697abea 1006config ARCH_ASPEED
1007 bool "Support Aspeed SoCs"
1008 select OF_CONTROL
1009 select DM
1010
dd84058d
MY
1011endchoice
1012
4697abea 1013source "arch/arm/mach-aspeed/Kconfig"
1014
4614b891
MY
1015source "arch/arm/mach-at91/Kconfig"
1016
ddf6bd48 1017source "arch/arm/mach-bcm283x/Kconfig"
3491ba63 1018
ddf6bd48 1019source "arch/arm/mach-davinci/Kconfig"
34e609ca 1020
77b55e8c 1021source "arch/arm/mach-exynos/Kconfig"
72df68cc 1022
72a8ff4b 1023source "arch/arm/mach-highbank/Kconfig"
ef2b694c 1024
5cbbd9bd
MY
1025source "arch/arm/mach-integrator/Kconfig"
1026
39a72345 1027source "arch/arm/mach-keystone/Kconfig"
c338f09e 1028
56f86e39 1029source "arch/arm/mach-kirkwood/Kconfig"
47539e23 1030
c3d89140
SR
1031source "arch/arm/mach-mvebu/Kconfig"
1032
0a37cf8f
YS
1033source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1034
e90a08da
PF
1035source "arch/arm/cpu/armv7/mx7ulp/Kconfig"
1036
1a8150d4
AA
1037source "arch/arm/cpu/armv7/mx7/Kconfig"
1038
89ebc821
BB
1039source "arch/arm/cpu/armv7/mx6/Kconfig"
1040
424ee3d1
AR
1041source "arch/arm/cpu/armv7/mx5/Kconfig"
1042
983e3700 1043source "arch/arm/mach-omap2/Kconfig"
6384726d 1044
da28e58a
YS
1045source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1046
3e93b4e6 1047source "arch/arm/mach-orion5x/Kconfig"
22f2be7a 1048
badbb63c 1049source "arch/arm/mach-rmobile/Kconfig"
f40b9898 1050
bfcef28a
BG
1051source "arch/arm/mach-meson/Kconfig"
1052
2444dae5
SG
1053source "arch/arm/mach-rockchip/Kconfig"
1054
225f5eec 1055source "arch/arm/mach-s5pc1xx/Kconfig"
311757be 1056
08592136
MK
1057source "arch/arm/mach-snapdragon/Kconfig"
1058
7865f4b0
MY
1059source "arch/arm/mach-socfpga/Kconfig"
1060
94e9a4ef
PC
1061source "arch/arm/mach-sti/Kconfig"
1062
0a61ee88
VM
1063source "arch/arm/mach-stm32/Kconfig"
1064
3abfd887
MY
1065source "arch/arm/mach-sunxi/Kconfig"
1066
09f455dc 1067source "arch/arm/mach-tegra/Kconfig"
ddd960e6 1068
4c425570 1069source "arch/arm/mach-uniphier/Kconfig"
66cba041 1070
7966b437
SA
1071source "arch/arm/cpu/armv7/vf610/Kconfig"
1072
0107f240 1073source "arch/arm/mach-zynq/Kconfig"
ddd960e6 1074
ea624e19
HG
1075source "arch/arm/cpu/armv7/Kconfig"
1076
75580007
SDPP
1077source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1078
23b5877c
LW
1079source "arch/arm/cpu/armv8/Kconfig"
1080
a05a6045
BB
1081source "arch/arm/imx-common/Kconfig"
1082
fcea480d 1083source "board/aries/m28evk/Kconfig"
d8ccbe93 1084source "board/bosch/shc/Kconfig"
dd84058d 1085source "board/CarMediaLab/flea3/Kconfig"
dd84058d 1086source "board/Marvell/aspenite/Kconfig"
dd84058d 1087source "board/Marvell/gplugd/Kconfig"
dd84058d 1088source "board/armadeus/apf27/Kconfig"
dd84058d
MY
1089source "board/armltd/vexpress/Kconfig"
1090source "board/armltd/vexpress64/Kconfig"
dd84058d 1091source "board/bluegiga/apx4devkit/Kconfig"
43486e4c 1092source "board/broadcom/bcm23550_w1d/Kconfig"
dd84058d 1093source "board/broadcom/bcm28155_ap/Kconfig"
abb1678c
SR
1094source "board/broadcom/bcmcygnus/Kconfig"
1095source "board/broadcom/bcmnsp/Kconfig"
274bced8 1096source "board/broadcom/bcmns2/Kconfig"
746f985a 1097source "board/cavium/thunderx/Kconfig"
dd84058d 1098source "board/cirrus/edb93xx/Kconfig"
dd84058d 1099source "board/creative/xfi3/Kconfig"
44937214
PK
1100source "board/freescale/ls2080a/Kconfig"
1101source "board/freescale/ls2080aqds/Kconfig"
1102source "board/freescale/ls2080ardb/Kconfig"
550e3dc0 1103source "board/freescale/ls1021aqds/Kconfig"
02b5d2ed 1104source "board/freescale/ls1043aqds/Kconfig"
c8a7d9da 1105source "board/freescale/ls1021atwr/Kconfig"
20c700f8 1106source "board/freescale/ls1021aiot/Kconfig"
126fe70d 1107source "board/freescale/ls1046aqds/Kconfig"
f3a8e2b7 1108source "board/freescale/ls1043ardb/Kconfig"
dd02936f 1109source "board/freescale/ls1046ardb/Kconfig"
9d044fcb 1110source "board/freescale/ls1012aqds/Kconfig"
3b6e3898 1111source "board/freescale/ls1012ardb/Kconfig"
ff78aa2b 1112source "board/freescale/ls1012afrdm/Kconfig"
dd84058d
MY
1113source "board/freescale/mx23evk/Kconfig"
1114source "board/freescale/mx25pdk/Kconfig"
1115source "board/freescale/mx28evk/Kconfig"
1116source "board/freescale/mx31ads/Kconfig"
1117source "board/freescale/mx31pdk/Kconfig"
1118source "board/freescale/mx35pdk/Kconfig"
9702ec00 1119source "board/freescale/s32v234evb/Kconfig"
60083261 1120source "board/gdsys/a38x/Kconfig"
ab38bf6a 1121source "board/grinn/chiliboard/Kconfig"
dd84058d
MY
1122source "board/gumstix/pepper/Kconfig"
1123source "board/h2200/Kconfig"
345243ed 1124source "board/hisilicon/hikey/Kconfig"
dd84058d 1125source "board/imx31_phycore/Kconfig"
a96c08f5 1126source "board/isee/igep003x/Kconfig"
dd84058d 1127source "board/olimex/mx23_olinuxino/Kconfig"
dd84058d
MY
1128source "board/phytec/pcm051/Kconfig"
1129source "board/ppcag/bg0900/Kconfig"
dd84058d 1130source "board/sandisk/sansa_fuze_plus/Kconfig"
dd84058d 1131source "board/schulercontrol/sc_sps_1/Kconfig"
dd84058d 1132source "board/silica/pengwyn/Kconfig"
dd84058d
MY
1133source "board/spear/spear300/Kconfig"
1134source "board/spear/spear310/Kconfig"
1135source "board/spear/spear320/Kconfig"
1136source "board/spear/spear600/Kconfig"
1137source "board/spear/x600/Kconfig"
9fa32b12 1138source "board/st/stv0991/Kconfig"
dd84058d 1139source "board/syteco/zmx25/Kconfig"
9d1b2987 1140source "board/tcl/sl50/Kconfig"
a2bc4321 1141source "board/birdland/bav335x/Kconfig"
dd84058d 1142source "board/timll/devkit3250/Kconfig"
dd84058d 1143source "board/toradex/colibri_pxa270/Kconfig"
d9e268ed 1144source "board/technologic/ts4600/Kconfig"
6ce89324 1145source "board/vscom/baltos/Kconfig"
dd84058d 1146source "board/woodburn/Kconfig"
412ae53a 1147source "board/work-microwave/work_92105/Kconfig"
f19eb154 1148source "board/zipitz2/Kconfig"
dd84058d 1149
51b17d49
MY
1150source "arch/arm/Kconfig.debug"
1151
dd84058d 1152endmenu