]> git.ipfire.org Git - thirdparty/u-boot.git/blame - arch/arm/Kconfig
arm64: gic: Do gicv3 secure initialization based on EL level
[thirdparty/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
49e93875
SW
12if ARM64
13config POSITION_INDEPENDENT
14 bool "Generate position-independent pre-relocation code"
15 help
16 U-Boot expects to be linked to a specific hard-coded address, and to
17 be loaded to and run from that address. This option lifts that
18 restriction, thus allowing the code to be loaded to and executed
19 from almost any address. This logic relies on the relocation
20 information that is embedded into the binary to support U-Boot
21 relocating itself to the top-of-RAM later during execution.
e6c90448
SW
22
23config SYS_INIT_SP_BSS_OFFSET
24 int
25 help
26 U-Boot typically uses a hard-coded value for the stack pointer
27 before relocation. Define this option to instead calculate the
28 initial SP at run-time. This is useful to avoid hard-coding addresses
29 into U-Boot, so that can be loaded and executed at arbitrary
30 addresses and thus avoid using arbitrary addresses at runtime. This
31 option's value is the offset added to &_bss_start in order to
32 calculate the stack pointer. This offset should be large enough so
33 that the early malloc region, global data (gd), and early stack usage
34 do not overlap any appended DTB.
8163faf9
SW
35
36config LINUX_KERNEL_IMAGE_HEADER
37 bool
38 help
39 Place a Linux kernel image header at the start of the U-Boot binary.
40 The format of the header is described in the Linux kernel source at
41 Documentation/arm64/booting.txt. This feature is useful since the
42 image header reports the amount of memory (BSS and similar) that
43 U-Boot needs to use, but which isn't part of the binary.
44
45if LINUX_KERNEL_IMAGE_HEADER
46config LNX_KRNL_IMG_TEXT_OFFSET_BASE
47 hex
48 help
49 The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the
50 TEXT_OFFSET value written in to the Linux kernel image header.
51endif
49e93875
SW
52endif
53
54config STATIC_RELA
55 bool
56 default y if ARM64 && !POSITION_INDEPENDENT
57
37217f0e
LV
58config DMA_ADDR_T_64BIT
59 bool
60 default y if ARM64
61
2e07c249 62config HAS_VBAR
e009bfa4 63 bool
2e07c249 64
62e92077 65config HAS_THUMB2
e009bfa4 66 bool
62e92077 67
111a6af9
PE
68# Used for compatibility with asm files copied from the kernel
69config ARM_ASM_UNIFIED
70 bool
71 default y
72
73# Used for compatibility with asm files copied from the kernel
74config THUMB2_KERNEL
75 bool
76
f4bcd767
LV
77config SYS_ARM_CACHE_CP15
78 bool "CP15 based cache enabling support"
79 help
80 Select this if your processor suports enabling caches by using
81 CP15 registers.
82
7240b80e
LV
83config SYS_ARM_MMU
84 bool "MMU-based Paged Memory Management Support"
f4bcd767 85 select SYS_ARM_CACHE_CP15
7240b80e
LV
86 help
87 Select if you want MMU-based virtualised addressing space
88 support by paged memory management.
89
f2ef2043
LV
90config SYS_ARM_MPU
91 bool 'Use the ARM v7 PMSA Compliant MPU'
92 help
93 Some ARM systems without an MMU have instead a Memory Protection
94 Unit (MPU) that defines the type and permissions for regions of
95 memory.
96 If your CPU has an MPU then you should choose 'y' here unless you
97 know that you do not want to use the MPU.
98
8dda2e2f
TR
99# If set, the workarounds for these ARM errata are applied early during U-Boot
100# startup. Note that in general these options force the workarounds to be
101# applied; no CPU-type/version detection exists, unlike the similar options in
102# the Linux kernel. Do not set these options unless they apply! Also note that
103# the following can be machine specific errata. These do have ability to
104# provide rudimentary version and machine specific checks, but expect no
105# product checks:
106# CONFIG_ARM_ERRATA_430973
107# CONFIG_ARM_ERRATA_454179
108# CONFIG_ARM_ERRATA_621766
109# CONFIG_ARM_ERRATA_798870
110# CONFIG_ARM_ERRATA_801819
7b37a9c7 111# CONFIG_ARM_CORTEX_A8_CVE_2017_5715
c2ca3fdf 112# CONFIG_ARM_CORTEX_A15_CVE_2017_5715
7b37a9c7 113
8dda2e2f
TR
114config ARM_ERRATA_430973
115 bool
116
117config ARM_ERRATA_454179
118 bool
119
120config ARM_ERRATA_621766
121 bool
122
123config ARM_ERRATA_716044
124 bool
125
19a75b8c
SS
126config ARM_ERRATA_725233
127 bool
128
8dda2e2f
TR
129config ARM_ERRATA_742230
130 bool
131
132config ARM_ERRATA_743622
133 bool
134
135config ARM_ERRATA_751472
136 bool
137
138config ARM_ERRATA_761320
139 bool
140
141config ARM_ERRATA_773022
142 bool
143
144config ARM_ERRATA_774769
145 bool
146
147config ARM_ERRATA_794072
148 bool
149
150config ARM_ERRATA_798870
151 bool
152
153config ARM_ERRATA_801819
154 bool
155
156config ARM_ERRATA_826974
157 bool
158
159config ARM_ERRATA_828024
160 bool
161
162config ARM_ERRATA_829520
163 bool
164
165config ARM_ERRATA_833069
166 bool
167
168config ARM_ERRATA_833471
169 bool
170
11d94319 171config ARM_ERRATA_845369
6e7bdde4 172 bool
11d94319 173
8776350d
NM
174config ARM_ERRATA_852421
175 bool
176
177config ARM_ERRATA_852423
178 bool
179
ab0ab54e
AW
180config ARM_ERRATA_855873
181 bool
182
7b37a9c7
NM
183config ARM_CORTEX_A8_CVE_2017_5715
184 bool
185
c2ca3fdf
NM
186config ARM_CORTEX_A15_CVE_2017_5715
187 bool
188
2e07c249 189config CPU_ARM720T
e009bfa4 190 bool
067716ba 191 select SYS_CACHE_SHIFT_5
7240b80e 192 imply SYS_ARM_MMU
2e07c249
GS
193
194config CPU_ARM920T
e009bfa4 195 bool
067716ba 196 select SYS_CACHE_SHIFT_5
7240b80e 197 imply SYS_ARM_MMU
2e07c249
GS
198
199config CPU_ARM926EJS
e009bfa4 200 bool
067716ba 201 select SYS_CACHE_SHIFT_5
7240b80e 202 imply SYS_ARM_MMU
2e07c249
GS
203
204config CPU_ARM946ES
e009bfa4 205 bool
067716ba 206 select SYS_CACHE_SHIFT_5
7240b80e 207 imply SYS_ARM_MMU
2e07c249
GS
208
209config CPU_ARM1136
e009bfa4 210 bool
067716ba 211 select SYS_CACHE_SHIFT_5
7240b80e 212 imply SYS_ARM_MMU
2e07c249
GS
213
214config CPU_ARM1176
e009bfa4
TR
215 bool
216 select HAS_VBAR
067716ba 217 select SYS_CACHE_SHIFT_5
7240b80e 218 imply SYS_ARM_MMU
2e07c249 219
acf15001 220config CPU_V7A
e009bfa4 221 bool
e009bfa4 222 select HAS_THUMB2
5ed063d1 223 select HAS_VBAR
067716ba 224 select SYS_CACHE_SHIFT_6
7240b80e 225 imply SYS_ARM_MMU
2e07c249 226
12d8a729 227config CPU_V7M
228 bool
e009bfa4 229 select HAS_THUMB2
f2ef2043 230 select SYS_ARM_MPU
5ed063d1 231 select SYS_CACHE_SHIFT_5
ea37f0b3 232 select SYS_THUMB_BUILD
5ed063d1 233 select THUMB2_KERNEL
12d8a729 234
4bbd6b1d
MS
235config CPU_V7R
236 bool
237 select HAS_THUMB2
f2ef2043 238 select SYS_ARM_CACHE_CP15
5ed063d1
MS
239 select SYS_ARM_MPU
240 select SYS_CACHE_SHIFT_6
4bbd6b1d 241
2e07c249 242config CPU_PXA
e009bfa4 243 bool
067716ba 244 select SYS_CACHE_SHIFT_5
7240b80e 245 imply SYS_ARM_MMU
2e07c249
GS
246
247config CPU_SA1100
e009bfa4 248 bool
067716ba 249 select SYS_CACHE_SHIFT_5
7240b80e 250 imply SYS_ARM_MMU
2e07c249
GS
251
252config SYS_CPU
e009bfa4
TR
253 default "arm720t" if CPU_ARM720T
254 default "arm920t" if CPU_ARM920T
255 default "arm926ejs" if CPU_ARM926EJS
256 default "arm946es" if CPU_ARM946ES
257 default "arm1136" if CPU_ARM1136
258 default "arm1176" if CPU_ARM1176
acf15001 259 default "armv7" if CPU_V7A
4bbd6b1d 260 default "armv7" if CPU_V7R
e009bfa4
TR
261 default "armv7m" if CPU_V7M
262 default "pxa" if CPU_PXA
263 default "sa1100" if CPU_SA1100
01541eec 264 default "armv8" if ARM64
2e07c249 265
66020a67
MV
266config SYS_ARM_ARCH
267 int
268 default 4 if CPU_ARM720T
269 default 4 if CPU_ARM920T
270 default 5 if CPU_ARM926EJS
271 default 5 if CPU_ARM946ES
272 default 6 if CPU_ARM1136
273 default 6 if CPU_ARM1176
acf15001 274 default 7 if CPU_V7A
66020a67 275 default 7 if CPU_V7M
4bbd6b1d 276 default 7 if CPU_V7R
66020a67
MV
277 default 5 if CPU_PXA
278 default 4 if CPU_SA1100
279 default 8 if ARM64
280
067716ba
TR
281config SYS_CACHE_SHIFT_5
282 bool
283
284config SYS_CACHE_SHIFT_6
285 bool
286
287config SYS_CACHE_SHIFT_7
288 bool
289
290config SYS_CACHELINE_SIZE
291 int
292 default 128 if SYS_CACHE_SHIFT_7
293 default 64 if SYS_CACHE_SHIFT_6
294 default 32 if SYS_CACHE_SHIFT_5
295
7842b6a9
AP
296config SYS_ARCH_TIMER
297 bool "ARM Generic Timer support"
acf15001 298 depends on CPU_V7A || ARM64
7842b6a9
AP
299 default y if ARM64
300 help
301 The ARM Generic Timer (aka arch-timer) provides an architected
302 interface to a timer source on an SoC.
303 It is mandantory for ARMv8 implementation and widely available
304 on ARMv7 systems.
305
c54bcf68
MY
306config ARM_SMCCC
307 bool "Support for ARM SMC Calling Convention (SMCCC)"
acf15001 308 depends on CPU_V7A || ARM64
573a3811 309 select ARM_PSCI_FW
c54bcf68
MY
310 help
311 Say Y here if you want to enable ARM SMC Calling Convention.
312 This should be enabled if U-Boot needs to communicate with system
313 firmware (for example, PSCI) according to SMCCC.
314
f91afc4d
LW
315config SEMIHOSTING
316 bool "support boot from semihosting"
317 help
318 In emulated environments, semihosting is a way for
319 the hosted environment to call out to the emulator to
320 retrieve files from the host machine.
321
3a649407
TR
322config SYS_THUMB_BUILD
323 bool "Build U-Boot using the Thumb instruction set"
324 depends on !ARM64
325 help
326 Use this flag to build U-Boot using the Thumb instruction set for
327 ARM architectures. Thumb instruction set provides better code
328 density. For ARM architectures that support Thumb2 this flag will
329 result in Thumb2 code generated by GCC.
330
331config SPL_SYS_THUMB_BUILD
332 bool "Build SPL using the Thumb instruction set"
333 default y if SYS_THUMB_BUILD
334 depends on !ARM64
335 help
336 Use this flag to build SPL using the Thumb instruction set for
337 ARM architectures. Thumb instruction set provides better code
338 density. For ARM architectures that support Thumb2 this flag will
339 result in Thumb2 code generated by GCC.
340
f3e9bec8
PF
341config SYS_L2CACHE_OFF
342 bool "L2cache off"
343 help
344 If SoC does not support L2CACHE or one do not want to enable
345 L2CACHE, choose this option.
346
cdaa633f
AP
347config ENABLE_ARM_SOC_BOOT0_HOOK
348 bool "prepare BOOT0 header"
349 help
350 If the SoC's BOOT0 requires a header area filled with (magic)
7d531e8a
SG
351 values, then choose this option, and create a file included as
352 <asm/arch/boot0.h> which contains the required assembler code.
cdaa633f 353
85db5831
AP
354config ARM_CORTEX_CPU_IS_UP
355 bool
356 default n
357
be72591b
FE
358config USE_ARCH_MEMCPY
359 bool "Use an assembly optimized implementation of memcpy"
40d5534c
TR
360 default y
361 depends on !ARM64
362 help
363 Enable the generation of an optimized version of memcpy.
364 Such implementation may be faster under some conditions
365 but may increase the binary size.
366
367config SPL_USE_ARCH_MEMCPY
f8136e68 368 bool "Use an assembly optimized implementation of memcpy for SPL"
40d5534c 369 default y if USE_ARCH_MEMCPY
085be482 370 depends on !ARM64
be72591b
FE
371 help
372 Enable the generation of an optimized version of memcpy.
373 Such implementation may be faster under some conditions
374 but may increase the binary size.
375
376config USE_ARCH_MEMSET
377 bool "Use an assembly optimized implementation of memset"
40d5534c
TR
378 default y
379 depends on !ARM64
380 help
381 Enable the generation of an optimized version of memset.
382 Such implementation may be faster under some conditions
383 but may increase the binary size.
384
385config SPL_USE_ARCH_MEMSET
f8136e68 386 bool "Use an assembly optimized implementation of memset for SPL"
40d5534c 387 default y if USE_ARCH_MEMSET
085be482 388 depends on !ARM64
be72591b
FE
389 help
390 Enable the generation of an optimized version of memset.
391 Such implementation may be faster under some conditions
392 but may increase the binary size.
393
ec6617c3
AW
394config ARM64_SUPPORT_AARCH32
395 bool "ARM64 system support AArch32 execution state"
396 default y if ARM64 && !TARGET_THUNDERX_88XX
397 help
398 This ARM64 system supports AArch32 execution state.
399
dd84058d
MY
400choice
401 prompt "Target select"
b928e658 402 default TARGET_HIKEY
dd84058d 403
4614b891
MY
404config ARCH_AT91
405 bool "Atmel AT91"
f58e9460 406 select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
dd84058d
MY
407
408config TARGET_EDB93XX
409 bool "Support edb93xx"
2e07c249 410 select CPU_ARM920T
884f9013 411 select PL010_SERIAL
dd84058d 412
dd84058d
MY
413config TARGET_ASPENITE
414 bool "Support aspenite"
2e07c249 415 select CPU_ARM926EJS
dd84058d
MY
416
417config TARGET_GPLUGD
418 bool "Support gplugd"
2e07c249 419 select CPU_ARM926EJS
dd84058d 420
3491ba63
MY
421config ARCH_DAVINCI
422 bool "TI DaVinci"
2e07c249 423 select CPU_ARM926EJS
15dc63d6 424 imply CMD_SAVES
3491ba63
MY
425 help
426 Support for TI's DaVinci platform.
dd84058d 427
47539e23
MY
428config KIRKWOOD
429 bool "Marvell Kirkwood"
4585601a 430 select ARCH_MISC_INIT
5ed063d1
MS
431 select BOARD_EARLY_INIT_F
432 select CPU_ARM926EJS
dd84058d 433
c3d89140 434config ARCH_MVEBU
21b29fc6 435 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
9cffb233 436 select DM
e3b9c98a 437 select DM_ETH
1d51ea19 438 select DM_SERIAL
09a54c00
SR
439 select DM_SPI
440 select DM_SPI_FLASH
5ed063d1
MS
441 select OF_CONTROL
442 select OF_SEPARATE
f1b1f770 443 select SPI
08a00cba 444 imply CMD_DM
a4884831 445
dd84058d
MY
446config TARGET_DEVKIT3250
447 bool "Support devkit3250"
2e07c249 448 select CPU_ARM926EJS
e9b3ce3f 449 select SUPPORT_SPL
dd84058d 450
412ae53a
AA
451config TARGET_WORK_92105
452 bool "Support work_92105"
453 select CPU_ARM926EJS
454 select SUPPORT_SPL
455
dd84058d
MY
456config TARGET_APF27
457 bool "Support apf27"
2e07c249 458 select CPU_ARM926EJS
02627356 459 select SUPPORT_SPL
dd84058d 460
22f2be7a
MY
461config ORION5X
462 bool "Marvell Orion"
2e07c249 463 select CPU_ARM926EJS
dd84058d 464
dd84058d
MY
465config TARGET_SPEAR300
466 bool "Support spear300"
a5d67547 467 select BOARD_EARLY_INIT_F
5ed063d1 468 select CPU_ARM926EJS
d10fc50f 469 select PL011_SERIAL
5ed063d1 470 imply CMD_SAVES
dd84058d
MY
471
472config TARGET_SPEAR310
473 bool "Support spear310"
a5d67547 474 select BOARD_EARLY_INIT_F
5ed063d1 475 select CPU_ARM926EJS
d10fc50f 476 select PL011_SERIAL
5ed063d1 477 imply CMD_SAVES
dd84058d
MY
478
479config TARGET_SPEAR320
480 bool "Support spear320"
a5d67547 481 select BOARD_EARLY_INIT_F
5ed063d1 482 select CPU_ARM926EJS
d10fc50f 483 select PL011_SERIAL
5ed063d1 484 imply CMD_SAVES
dd84058d
MY
485
486config TARGET_SPEAR600
487 bool "Support spear600"
a5d67547 488 select BOARD_EARLY_INIT_F
5ed063d1 489 select CPU_ARM926EJS
d10fc50f 490 select PL011_SERIAL
5ed063d1 491 imply CMD_SAVES
dd84058d 492
9fa32b12
VM
493config TARGET_STV0991
494 bool "Support stv0991"
acf15001 495 select CPU_V7A
cac0ca76
MY
496 select DM
497 select DM_SERIAL
e67abcaa
VM
498 select DM_SPI
499 select DM_SPI_FLASH
5ed063d1 500 select PL01X_SERIAL
f1b1f770 501 select SPI
e67abcaa 502 select SPI_FLASH
08a00cba 503 imply CMD_DM
9fa32b12 504
dd84058d
MY
505config TARGET_X600
506 bool "Support x600"
e5ec4815 507 select BOARD_LATE_INIT
2e07c249 508 select CPU_ARM926EJS
d10fc50f 509 select PL011_SERIAL
5ed063d1 510 select SUPPORT_SPL
dd84058d 511
dd84058d
MY
512config TARGET_WOODBURN
513 bool "Support woodburn"
2e07c249 514 select CPU_ARM1136
dd84058d
MY
515
516config TARGET_WOODBURN_SD
517 bool "Support woodburn_sd"
2e07c249 518 select CPU_ARM1136
02627356 519 select SUPPORT_SPL
dd84058d
MY
520
521config TARGET_FLEA3
522 bool "Support flea3"
2e07c249 523 select CPU_ARM1136
dd84058d
MY
524
525config TARGET_MX35PDK
526 bool "Support mx35pdk"
e5ec4815 527 select BOARD_LATE_INIT
2e07c249 528 select CPU_ARM1136
dd84058d 529
ddf6bd48
MY
530config ARCH_BCM283X
531 bool "Broadcom BCM283X family"
58d423b8 532 select DM
58d423b8 533 select DM_GPIO
5ed063d1 534 select DM_SERIAL
76709096 535 select OF_CONTROL
cf2c7784 536 select PL01X_SERIAL
ae5326a6 537 select SERIAL_SEARCH_ALL
08a00cba 538 imply CMD_DM
91d27a17 539 imply FAT_WRITE
46414296 540
dd84058d
MY
541config TARGET_VEXPRESS_CA15_TC2
542 bool "Support vexpress_ca15_tc2"
acf15001 543 select CPU_V7A
ea624e19
HG
544 select CPU_V7_HAS_NONSEC
545 select CPU_V7_HAS_VIRT
d10fc50f 546 select PL011_SERIAL
dd84058d 547
894c3ad2
TF
548config ARCH_BCMSTB
549 bool "Broadcom BCM7XXX family"
550 select CPU_V7A
551 select DM
552 select OF_CONTROL
553 select OF_PRIOR_STAGE
08a00cba 554 imply CMD_DM
894c3ad2
TF
555 help
556 This enables support for Broadcom ARM-based set-top box
557 chipsets, including the 7445 family of chips.
558
dd84058d
MY
559config TARGET_VEXPRESS_CA5X2
560 bool "Support vexpress_ca5x2"
acf15001 561 select CPU_V7A
d10fc50f 562 select PL011_SERIAL
dd84058d
MY
563
564config TARGET_VEXPRESS_CA9X4
565 bool "Support vexpress_ca9x4"
acf15001 566 select CPU_V7A
d10fc50f 567 select PL011_SERIAL
dd84058d 568
43486e4c
SR
569config TARGET_BCM23550_W1D
570 bool "Support bcm23550_w1d"
acf15001 571 select CPU_V7A
221a949e 572 imply CRC32_VERIFY
91d27a17 573 imply FAT_WRITE
43486e4c 574
dd84058d
MY
575config TARGET_BCM28155_AP
576 bool "Support bcm28155_ap"
acf15001 577 select CPU_V7A
221a949e 578 imply CRC32_VERIFY
91d27a17 579 imply FAT_WRITE
dd84058d 580
abb1678c
SR
581config TARGET_BCMCYGNUS
582 bool "Support bcmcygnus"
acf15001 583 select CPU_V7A
5ed063d1
MS
584 imply BCM_SF2_ETH
585 imply BCM_SF2_ETH_GMAC
551c3934 586 imply CMD_HASH
5ed063d1 587 imply CRC32_VERIFY
91d27a17 588 imply FAT_WRITE
221a949e 589 imply HASH_VERIFY
c89782dc 590 imply NETDEVICES
9dec5270 591
abb1678c
SR
592config TARGET_BCMNSP
593 bool "Support bcmnsp"
acf15001 594 select CPU_V7A
9dec5270 595
274bced8
JM
596config TARGET_BCMNS2
597 bool "Support Broadcom Northstar2"
598 select ARM64
599 help
600 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
601 ARMv8 Cortex-A57 processors targeting a broad range of networking
602 applications
603
72df68cc
MY
604config ARCH_EXYNOS
605 bool "Samsung EXYNOS"
58d423b8 606 select DM
5ed063d1 607 select DM_GPIO
fc47cf9d 608 select DM_I2C
5ed063d1 609 select DM_KEYBOARD
58d423b8
MY
610 select DM_SERIAL
611 select DM_SPI
5ed063d1 612 select DM_SPI_FLASH
f1b1f770 613 select SPI
08a00cba 614 imply CMD_DM
91d27a17 615 imply FAT_WRITE
dd84058d 616
311757be
SG
617config ARCH_S5PC1XX
618 bool "Samsung S5PC1XX"
acf15001 619 select CPU_V7A
58d423b8 620 select DM
58d423b8 621 select DM_GPIO
08848e9c 622 select DM_I2C
5ed063d1 623 select DM_SERIAL
08a00cba 624 imply CMD_DM
311757be 625
ef2b694c
MY
626config ARCH_HIGHBANK
627 bool "Calxeda Highbank"
acf15001 628 select CPU_V7A
d10fc50f 629 select PL011_SERIAL
dd84058d 630
5cbbd9bd
MY
631config ARCH_INTEGRATOR
632 bool "ARM Ltd. Integrator family"
3f394e70
LW
633 select DM
634 select DM_SERIAL
cf2c7784 635 select PL01X_SERIAL
08a00cba 636 imply CMD_DM
5cbbd9bd 637
c338f09e
MY
638config ARCH_KEYSTONE
639 bool "TI Keystone"
5ed063d1 640 select CMD_POWEROFF
acf15001 641 select CPU_V7A
02627356 642 select SUPPORT_SPL
7842b6a9 643 select SYS_ARCH_TIMER
5ed063d1 644 select SYS_THUMB_BUILD
d56b4b19 645 imply CMD_MTDPARTS
15dc63d6 646 imply CMD_SAVES
5ed063d1 647 imply FIT
dd84058d 648
586bde93
LV
649config ARCH_K3
650 bool "Texas Instruments' K3 Architecture"
651 select SPL
652 select SUPPORT_SPL
653 select FIT
654
a93fbf4a
MY
655config ARCH_OMAP2PLUS
656 bool "TI OMAP2+"
acf15001 657 select CPU_V7A
0680f1b1 658 select SPL_BOARD_INIT if SPL
ff6c3125 659 select SPL_STACK_R if SPL
a93fbf4a
MY
660 select SUPPORT_SPL
661 imply FIT
662
bfcef28a
BG
663config ARCH_MESON
664 bool "Amlogic Meson"
7325f6cf 665 imply DISTRO_DEFAULTS
bfcef28a
BG
666 help
667 Support for the Meson SoC family developed by Amlogic Inc.,
668 targeted at media players and tablet computers. We currently
669 support the S905 (GXBaby) 64-bit SoC.
670
7a7391fd
PF
671config ARCH_MX8M
672 bool "NXP i.MX8M platform"
673 select ARM64
674 select DM
675 select SUPPORT_SPL
08a00cba 676 imply CMD_DM
7a7391fd 677
c5343d4e
SA
678config ARCH_MX23
679 bool "NXP i.MX23 family"
680 select CPU_ARM926EJS
681 select PL011_SERIAL
682 select SUPPORT_SPL
683
07df697e
FE
684config ARCH_MX25
685 bool "NXP MX25"
686 select CPU_ARM926EJS
8bbff6a7 687 imply MXC_GPIO
07df697e 688
25c5b4e1
SA
689config ARCH_MX28
690 bool "NXP i.MX28 family"
691 select CPU_ARM926EJS
692 select PL011_SERIAL
693 select SUPPORT_SPL
694
3159ec64
ML
695config ARCH_MX31
696 bool "NXP i.MX31 family"
697 select CPU_ARM1136
698
e90a08da 699config ARCH_MX7ULP
6e7bdde4 700 bool "NXP MX7ULP"
acf15001 701 select CPU_V7A
e90a08da 702 select ROM_UNIFIED_SECTIONS
8bbff6a7 703 imply MXC_GPIO
e90a08da 704
1a8150d4
AA
705config ARCH_MX7
706 bool "Freescale MX7"
5ed063d1
MS
707 select ARCH_MISC_INIT
708 select BOARD_EARLY_INIT_F
acf15001 709 select CPU_V7A
2c2e2c9e
YS
710 select SYS_FSL_HAS_SEC if SECURE_BOOT
711 select SYS_FSL_SEC_COMPAT_4
90b80386 712 select SYS_FSL_SEC_LE
8bbff6a7 713 imply MXC_GPIO
1a8150d4 714
89ebc821
BB
715config ARCH_MX6
716 bool "Freescale MX6"
acf15001 717 select CPU_V7A
2c2e2c9e
YS
718 select SYS_FSL_HAS_SEC if SECURE_BOOT
719 select SYS_FSL_SEC_COMPAT_4
90b80386 720 select SYS_FSL_SEC_LE
3a649407 721 select SYS_THUMB_BUILD if SPL
8bbff6a7 722 imply MXC_GPIO
89ebc821 723
b529993e
PT
724if ARCH_MX6
725config SPL_LDSCRIPT
6e7bdde4 726 default "arch/arm/mach-omap2/u-boot-spl.lds"
b529993e
PT
727endif
728
424ee3d1
AR
729config ARCH_MX5
730 bool "Freescale MX5"
a5d67547 731 select BOARD_EARLY_INIT_F
5ed063d1 732 select CPU_V7A
8bbff6a7 733 imply MXC_GPIO
424ee3d1 734
97775d26
MS
735config ARCH_OWL
736 bool "Actions Semi OWL SoCs"
737 select ARM64
738 select DM
739 select DM_SERIAL
740 select OF_CONTROL
08a00cba 741 imply CMD_DM
97775d26 742
32f11829
TT
743config ARCH_QEMU
744 bool "QEMU Virtual Platform"
32f11829
TT
745 select DM
746 select DM_SERIAL
747 select OF_CONTROL
cf2c7784 748 select PL01X_SERIAL
08a00cba 749 imply CMD_DM
a47c1b5b
AT
750 imply DM_RTC
751 imply RTC_PL031
32f11829 752
1cc95f6e 753config ARCH_RMOBILE
f40b9898 754 bool "Renesas ARM SoCs"
5ed063d1 755 select BOARD_EARLY_INIT_F
1cc95f6e
NI
756 select DM
757 select DM_SERIAL
08a00cba 758 imply CMD_DM
91d27a17 759 imply FAT_WRITE
3a649407 760 imply SYS_THUMB_BUILD
dd84058d 761
9702ec00
EP
762config TARGET_S32V234EVB
763 bool "Support s32v234evb"
764 select ARM64
c01e4a1a 765 select SYS_FSL_ERRATUM_ESDHC111
9702ec00 766
08592136
MK
767config ARCH_SNAPDRAGON
768 bool "Qualcomm Snapdragon SoCs"
769 select ARM64
770 select DM
771 select DM_GPIO
772 select DM_SERIAL
5ed063d1 773 select MSM_SMEM
08592136
MK
774 select OF_CONTROL
775 select OF_SEPARATE
654dd4a8 776 select SMEM
5ed063d1 777 select SPMI
08a00cba 778 imply CMD_DM
08592136 779
7865f4b0
MY
780config ARCH_SOCFPGA
781 bool "Altera SOCFPGA family"
48befc00 782 select ARCH_EARLY_INIT_R
d6a61da4 783 select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
5ed063d1 784 select ARM64 if TARGET_SOCFPGA_STRATIX10
a684729a 785 select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
1d9aa3e5 786 select DM
73172753 787 select DM_SERIAL
a684729a 788 select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
48befc00 789 select OF_CONTROL
00057eea 790 select SPL_DM_RESET if DM_RESET
5ed063d1 791 select SPL_DM_SERIAL
48befc00
MV
792 select SPL_LIBCOMMON_SUPPORT
793 select SPL_LIBDISK_SUPPORT
794 select SPL_LIBGENERIC_SUPPORT
795 select SPL_MMC_SUPPORT if DM_MMC
796 select SPL_NAND_SUPPORT if SPL_NAND_DENALI
797 select SPL_OF_CONTROL
5ed063d1 798 select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
48befc00
MV
799 select SPL_SERIAL_SUPPORT
800 select SPL_SPI_FLASH_SUPPORT if SPL_SPI_SUPPORT
801 select SPL_SPI_SUPPORT if DM_SPI
802 select SPL_WATCHDOG_SUPPORT
803 select SUPPORT_SPL
804 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
73172753 805 select SYS_NS16550
a684729a 806 select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
08a00cba 807 imply CMD_DM
d56b4b19 808 imply CMD_MTDPARTS
221a949e 809 imply CRC32_VERIFY
fef4a545
SG
810 imply DM_SPI
811 imply DM_SPI_FLASH
91d27a17 812 imply FAT_WRITE
fef4a545 813 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
dd84058d 814
2c7e3b90
IC
815config ARCH_SUNXI
816 bool "Support sunxi (Allwinner) SoCs"
d6a0c78a 817 select BINMAN
88bb800d 818 select CMD_GPIO
0878a8a7 819 select CMD_MMC if MMC
2997ee50 820 select CMD_USB if DISTRO_DEFAULTS
b6006baf 821 select DM
45368827 822 select DM_ETH
211d57a4
HG
823 select DM_GPIO
824 select DM_KEYBOARD
45368827 825 select DM_SERIAL
2997ee50 826 select DM_USB if DISTRO_DEFAULTS
d75111a7 827 select OF_BOARD_SETUP
b6006baf
HG
828 select OF_CONTROL
829 select OF_SEPARATE
6f6b7cfa 830 select SPECIFY_CONSOLE_INDEX
ab43de80
TR
831 select SPL_STACK_R if SPL
832 select SPL_SYS_MALLOC_SIMPLE if SPL
3a649407 833 select SPL_SYS_THUMB_BUILD if !ARM64
5ed063d1 834 select SYS_NS16550
ce2e44d8 835 select SYS_THUMB_BUILD if !ARM64
2997ee50 836 select USB if DISTRO_DEFAULTS
2997ee50 837 select USB_KEYBOARD if DISTRO_DEFAULTS
5ed063d1 838 select USB_STORAGE if DISTRO_DEFAULTS
8c7d2296 839 select USE_TINY_PRINTF
08a00cba 840 imply CMD_DM
a12fb0e3 841 imply CMD_GPT
c6cca10b 842 imply CMD_UBI if NAND
7325f6cf 843 imply DISTRO_DEFAULTS
91d27a17 844 imply FAT_WRITE
eff264d7 845 imply OF_LIBFDT_OVERLAY
af83a604
MY
846 imply PRE_CONSOLE_BUFFER
847 imply SPL_GPIO_SUPPORT
848 imply SPL_LIBCOMMON_SUPPORT
849 imply SPL_LIBDISK_SUPPORT
850 imply SPL_LIBGENERIC_SUPPORT
4aa2ba3a 851 imply SPL_MMC_SUPPORT if MMC
af83a604
MY
852 imply SPL_POWER_SUPPORT
853 imply SPL_SERIAL_SUPPORT
654b02b1 854 imply USB_GADGET
8ebe4f42 855
7966b437
SA
856config ARCH_VF610
857 bool "Freescale Vybrid"
acf15001 858 select CPU_V7A
c01e4a1a 859 select SYS_FSL_ERRATUM_ESDHC111
d56b4b19 860 imply CMD_MTDPARTS
5bbc265b 861 imply NAND
e7b860fa 862
5ca269a4 863config ARCH_ZYNQ
b8d4497f 864 bool "Xilinx Zynq based platform"
5ed063d1 865 select BOARD_EARLY_INIT_F if WDT
5ed063d1
MS
866 select CLK
867 select CLK_ZYNQ
acf15001 868 select CPU_V7A
8981f05c 869 select DM
c4a142f4 870 select DM_ETH if NET
c4a142f4 871 select DM_MMC if MMC
42800ffa 872 select DM_SERIAL
5ed063d1 873 select DM_SPI
9f7a4502 874 select DM_SPI_FLASH
dec49e86 875 select DM_USB if USB
5ed063d1 876 select OF_CONTROL
f1b1f770 877 select SPI
5ed063d1
MS
878 select SPL_BOARD_INIT if SPL
879 select SPL_CLK if SPL
880 select SPL_DM if SPL
881 select SPL_OF_CONTROL if SPL
882 select SPL_SEPARATE_BSS if SPL
883 select SUPPORT_SPL
884 imply ARCH_EARLY_INIT_R
8eb55e19 885 imply BOARD_LATE_INIT
d315628e 886 imply CMD_CLK
08a00cba 887 imply CMD_DM
72c3033f 888 imply CMD_SPL
5ed063d1 889 imply FAT_WRITE
dd84058d 890
1d6c54ec
MS
891config ARCH_ZYNQMP_R5
892 bool "Xilinx ZynqMP R5 based platform"
5ed063d1 893 select CLK
1d6c54ec 894 select CPU_V7R
1d6c54ec
MS
895 select DM
896 select DM_SERIAL
5ed063d1 897 select OF_CONTROL
08a00cba 898 imply CMD_DM
1d6c54ec 899
0b54a9dd 900config ARCH_ZYNQMP
b8d4497f 901 bool "Xilinx ZynqMP based platform"
84c7204b 902 select ARM64
5ed063d1 903 select CLK
c2490bf5 904 select DM
c2490bf5 905 select DM_SERIAL
5ed063d1
MS
906 select DM_USB if USB
907 select OF_CONTROL
0680f1b1 908 select SPL_BOARD_INIT if SPL
2f03968e 909 select SPL_CLK if SPL
5ed063d1 910 select SUPPORT_SPL
8eb55e19 911 imply BOARD_LATE_INIT
08a00cba 912 imply CMD_DM
91d27a17 913 imply FAT_WRITE
84c7204b 914
ddd960e6
MY
915config TEGRA
916 bool "NVIDIA Tegra"
7325f6cf 917 imply DISTRO_DEFAULTS
91d27a17 918 imply FAT_WRITE
dd84058d 919
f91afc4d 920config TARGET_VEXPRESS64_AEMV8A
dd84058d 921 bool "Support vexpress_aemv8a"
016a954e 922 select ARM64
cf2c7784 923 select PL01X_SERIAL
dd84058d 924
f91afc4d
LW
925config TARGET_VEXPRESS64_BASE_FVP
926 bool "Support Versatile Express ARMv8a FVP BASE model"
927 select ARM64
cf2c7784 928 select PL01X_SERIAL
5ed063d1 929 select SEMIHOSTING
f91afc4d 930
fc04b923
RH
931config TARGET_VEXPRESS64_BASE_FVP_DRAM
932 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
933 select ARM64
cf2c7784 934 select PL01X_SERIAL
fc04b923
RH
935 help
936 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
937 the default config to allow the user to load the images directly into
938 DRAM using model parameters rather than by using semi-hosting to load
939 the files from the host filesystem.
940
ffc10373
LW
941config TARGET_VEXPRESS64_JUNO
942 bool "Support Versatile Express Juno Development Platform"
943 select ARM64
cf2c7784 944 select PL01X_SERIAL
ffc10373 945
44937214
PK
946config TARGET_LS2080A_EMU
947 bool "Support ls2080a_emu"
fb2bf8c2 948 select ARCH_LS2080A
5ed063d1 949 select ARCH_MISC_INIT
016a954e 950 select ARM64
23b5877c 951 select ARMV8_MULTIENTRY
44937214
PK
952 help
953 Support for Freescale LS2080A_EMU platform
954 The LS2080A Development System (EMULATOR) is a pre silicon
955 development platform that supports the QorIQ LS2080A
956 Layerscape Architecture processor.
dd84058d 957
44937214
PK
958config TARGET_LS2080A_SIMU
959 bool "Support ls2080a_simu"
fb2bf8c2 960 select ARCH_LS2080A
5ed063d1 961 select ARCH_MISC_INIT
016a954e 962 select ARM64
23b5877c 963 select ARMV8_MULTIENTRY
44937214
PK
964 help
965 Support for Freescale LS2080A_SIMU platform
966 The LS2080A Development System (QDS) is a pre silicon
967 development platform that supports the QorIQ LS2080A
968 Layerscape Architecture processor.
dd84058d 969
7769776a
AK
970config TARGET_LS1088AQDS
971 bool "Support ls1088aqds"
972 select ARCH_LS1088A
5ed063d1 973 select ARCH_MISC_INIT
7769776a
AK
974 select ARM64
975 select ARMV8_MULTIENTRY
7769776a 976 select BOARD_LATE_INIT
91fded62 977 select SUPPORT_SPL
7769776a
AK
978 help
979 Support for NXP LS1088AQDS platform
980 The LS1088A Development System (QDS) is a high-performance
981 development platform that supports the QorIQ LS1088A
982 Layerscape Architecture processor.
983
44937214
PK
984config TARGET_LS2080AQDS
985 bool "Support ls2080aqds"
fb2bf8c2 986 select ARCH_LS2080A
5ed063d1 987 select ARCH_MISC_INIT
7288c2c2
YS
988 select ARM64
989 select ARMV8_MULTIENTRY
e5ec4815 990 select BOARD_LATE_INIT
b2d5ac59 991 select SUPPORT_SPL
fedb428c 992 imply SCSI
9fd95ef0 993 imply SCSI_AHCI
7288c2c2 994 help
44937214
PK
995 Support for Freescale LS2080AQDS platform
996 The LS2080A Development System (QDS) is a high-performance
997 development platform that supports the QorIQ LS2080A
7288c2c2
YS
998 Layerscape Architecture processor.
999
44937214
PK
1000config TARGET_LS2080ARDB
1001 bool "Support ls2080ardb"
fb2bf8c2 1002 select ARCH_LS2080A
5ed063d1 1003 select ARCH_MISC_INIT
e2b65ea9
YS
1004 select ARM64
1005 select ARMV8_MULTIENTRY
e5ec4815 1006 select BOARD_LATE_INIT
32eda7cc 1007 select SUPPORT_SPL
fedb428c 1008 imply SCSI
9fd95ef0 1009 imply SCSI_AHCI
e2b65ea9 1010 help
44937214
PK
1011 Support for Freescale LS2080ARDB platform.
1012 The LS2080A Reference design board (RDB) is a high-performance
1013 development platform that supports the QorIQ LS2080A
e2b65ea9
YS
1014 Layerscape Architecture processor.
1015
3049a583
PJ
1016config TARGET_LS2081ARDB
1017 bool "Support ls2081ardb"
1018 select ARCH_LS2080A
5ed063d1 1019 select ARCH_MISC_INIT
3049a583
PJ
1020 select ARM64
1021 select ARMV8_MULTIENTRY
1022 select BOARD_LATE_INIT
1023 select SUPPORT_SPL
3049a583
PJ
1024 help
1025 Support for Freescale LS2081ARDB platform.
1026 The LS2081A Reference design board (RDB) is a high-performance
1027 development platform that supports the QorIQ LS2081A/LS2041A
1028 Layerscape Architecture processor.
1029
11ac2363
PG
1030config TARGET_HIKEY
1031 bool "Support HiKey 96boards Consumer Edition Platform"
1032 select ARM64
efd7b60a
PG
1033 select DM
1034 select DM_GPIO
9c71bcdc 1035 select DM_SERIAL
cd593ed6 1036 select OF_CONTROL
cf2c7784 1037 select PL01X_SERIAL
6f6b7cfa 1038 select SPECIFY_CONSOLE_INDEX
08a00cba 1039 imply CMD_DM
11ac2363
PG
1040 help
1041 Support for HiKey 96boards platform. It features a HI6220
1042 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
1043
d754254f
JRO
1044config TARGET_POPLAR
1045 bool "Support Poplar 96boards Enterprise Edition Platform"
1046 select ARM64
1047 select DM
d754254f
JRO
1048 select DM_SERIAL
1049 select DM_USB
5ed063d1 1050 select OF_CONTROL
cf2c7784 1051 select PL01X_SERIAL
08a00cba 1052 imply CMD_DM
d754254f
JRO
1053 help
1054 Support for Poplar 96boards EE platform. It features a HI3798cv200
1055 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
1056 making it capable of running any commercial set-top solution based on
1057 Linux or Android.
1058
9d044fcb
PK
1059config TARGET_LS1012AQDS
1060 bool "Support ls1012aqds"
9533acf3 1061 select ARCH_LS1012A
9d044fcb 1062 select ARM64
e5ec4815 1063 select BOARD_LATE_INIT
9d044fcb
PK
1064 help
1065 Support for Freescale LS1012AQDS platform.
1066 The LS1012A Development System (QDS) is a high-performance
1067 development platform that supports the QorIQ LS1012A
1068 Layerscape Architecture processor.
1069
3b6e3898
PK
1070config TARGET_LS1012ARDB
1071 bool "Support ls1012ardb"
9533acf3 1072 select ARCH_LS1012A
3b6e3898 1073 select ARM64
e5ec4815 1074 select BOARD_LATE_INIT
fedb428c 1075 imply SCSI
9fd95ef0 1076 imply SCSI_AHCI
3b6e3898
PK
1077 help
1078 Support for Freescale LS1012ARDB platform.
1079 The LS1012A Reference design board (RDB) is a high-performance
1080 development platform that supports the QorIQ LS1012A
1081 Layerscape Architecture processor.
1082
b0ce187b
BU
1083config TARGET_LS1012A2G5RDB
1084 bool "Support ls1012a2g5rdb"
1085 select ARCH_LS1012A
1086 select ARM64
1087 select BOARD_LATE_INIT
1088 imply SCSI
1089 help
1090 Support for Freescale LS1012A2G5RDB platform.
1091 The LS1012A 2G5 Reference design board (RDB) is a high-performance
1092 development platform that supports the QorIQ LS1012A
1093 Layerscape Architecture processor.
1094
9629ccdd
BU
1095config TARGET_LS1012AFRWY
1096 bool "Support ls1012afrwy"
1097 select ARCH_LS1012A
1098 select ARM64
5ed063d1 1099 select BOARD_LATE_INIT
9629ccdd
BU
1100 imply SCSI
1101 imply SCSI_AHCI
1102 help
1103 Support for Freescale LS1012AFRWY platform.
1104 The LS1012A FRWY board (FRWY) is a high-performance
1105 development platform that supports the QorIQ LS1012A
1106 Layerscape Architecture processor.
1107
ff78aa2b
PK
1108config TARGET_LS1012AFRDM
1109 bool "Support ls1012afrdm"
9533acf3 1110 select ARCH_LS1012A
ff78aa2b
PK
1111 select ARM64
1112 help
1113 Support for Freescale LS1012AFRDM platform.
1114 The LS1012A Freedom board (FRDM) is a high-performance
1115 development platform that supports the QorIQ LS1012A
1116 Layerscape Architecture processor.
1117
e84a324b
AK
1118config TARGET_LS1088ARDB
1119 bool "Support ls1088ardb"
1120 select ARCH_LS1088A
5ed063d1 1121 select ARCH_MISC_INIT
e84a324b
AK
1122 select ARM64
1123 select ARMV8_MULTIENTRY
e84a324b 1124 select BOARD_LATE_INIT
099f4093 1125 select SUPPORT_SPL
e84a324b
AK
1126 help
1127 Support for NXP LS1088ARDB platform.
1128 The LS1088A Reference design board (RDB) is a high-performance
1129 development platform that supports the QorIQ LS1088A
1130 Layerscape Architecture processor.
1131
550e3dc0 1132config TARGET_LS1021AQDS
0de15707 1133 bool "Support ls1021aqds"
5ed063d1
MS
1134 select ARCH_LS1021A
1135 select ARCH_SUPPORT_PSCI
1136 select BOARD_EARLY_INIT_F
e5ec4815 1137 select BOARD_LATE_INIT
acf15001 1138 select CPU_V7A
adee1d4c
HZ
1139 select CPU_V7_HAS_NONSEC
1140 select CPU_V7_HAS_VIRT
5e8bd7e1 1141 select LS1_DEEP_SLEEP
5ed063d1 1142 select SUPPORT_SPL
d26e34c4 1143 select SYS_FSL_DDR
fedb428c 1144 imply SCSI
217f92bb 1145
c8a7d9da 1146config TARGET_LS1021ATWR
0de15707 1147 bool "Support ls1021atwr"
5ed063d1
MS
1148 select ARCH_LS1021A
1149 select ARCH_SUPPORT_PSCI
1150 select BOARD_EARLY_INIT_F
e5ec4815 1151 select BOARD_LATE_INIT
acf15001 1152 select CPU_V7A
adee1d4c
HZ
1153 select CPU_V7_HAS_NONSEC
1154 select CPU_V7_HAS_VIRT
5e8bd7e1 1155 select LS1_DEEP_SLEEP
5ed063d1 1156 select SUPPORT_SPL
fedb428c 1157 imply SCSI
c8a7d9da 1158
20c700f8
FL
1159config TARGET_LS1021AIOT
1160 bool "Support ls1021aiot"
5ed063d1
MS
1161 select ARCH_LS1021A
1162 select ARCH_SUPPORT_PSCI
e5ec4815 1163 select BOARD_LATE_INIT
acf15001 1164 select CPU_V7A
20c700f8
FL
1165 select CPU_V7_HAS_NONSEC
1166 select CPU_V7_HAS_VIRT
1167 select SUPPORT_SPL
fedb428c 1168 imply SCSI
20c700f8
FL
1169 help
1170 Support for Freescale LS1021AIOT platform.
1171 The LS1021A Freescale board (IOT) is a high-performance
1172 development platform that supports the QorIQ LS1021A
1173 Layerscape Architecture processor.
1174
02b5d2ed
SX
1175config TARGET_LS1043AQDS
1176 bool "Support ls1043aqds"
0a37cf8f 1177 select ARCH_LS1043A
02b5d2ed
SX
1178 select ARM64
1179 select ARMV8_MULTIENTRY
5ed063d1 1180 select BOARD_EARLY_INIT_F
e5ec4815 1181 select BOARD_LATE_INIT
02b5d2ed 1182 select SUPPORT_SPL
fedb428c 1183 imply SCSI
02b5d2ed
SX
1184 help
1185 Support for Freescale LS1043AQDS platform.
1186
f3a8e2b7
MH
1187config TARGET_LS1043ARDB
1188 bool "Support ls1043ardb"
0a37cf8f 1189 select ARCH_LS1043A
f3a8e2b7 1190 select ARM64
831c068f 1191 select ARMV8_MULTIENTRY
5ed063d1 1192 select BOARD_EARLY_INIT_F
e5ec4815 1193 select BOARD_LATE_INIT
3ad44729 1194 select SUPPORT_SPL
fedb428c 1195 imply SCSI
f3a8e2b7
MH
1196 help
1197 Support for Freescale LS1043ARDB platform.
1198
126fe70d
SX
1199config TARGET_LS1046AQDS
1200 bool "Support ls1046aqds"
da28e58a 1201 select ARCH_LS1046A
126fe70d
SX
1202 select ARM64
1203 select ARMV8_MULTIENTRY
5ed063d1 1204 select BOARD_EARLY_INIT_F
e5ec4815 1205 select BOARD_LATE_INIT
126fe70d 1206 select DM_SPI_FLASH if DM_SPI
5ed063d1 1207 select SUPPORT_SPL
fedb428c 1208 imply SCSI
126fe70d
SX
1209 help
1210 Support for Freescale LS1046AQDS platform.
1211 The LS1046A Development System (QDS) is a high-performance
1212 development platform that supports the QorIQ LS1046A
1213 Layerscape Architecture processor.
1214
dd02936f
MH
1215config TARGET_LS1046ARDB
1216 bool "Support ls1046ardb"
da28e58a 1217 select ARCH_LS1046A
dd02936f
MH
1218 select ARM64
1219 select ARMV8_MULTIENTRY
5ed063d1 1220 select BOARD_EARLY_INIT_F
e5ec4815 1221 select BOARD_LATE_INIT
dd02936f 1222 select DM_SPI_FLASH if DM_SPI
dccef2ec 1223 select POWER_MC34VR500
5ed063d1 1224 select SUPPORT_SPL
fedb428c 1225 imply SCSI
dd02936f
MH
1226 help
1227 Support for Freescale LS1046ARDB platform.
1228 The LS1046A Reference Design Board (RDB) is a high-performance
1229 development platform that supports the QorIQ LS1046A
1230 Layerscape Architecture processor.
1231
dd84058d
MY
1232config TARGET_H2200
1233 bool "Support h2200"
2e07c249 1234 select CPU_PXA
dd84058d 1235
f19eb154
VK
1236config TARGET_ZIPITZ2
1237 bool "Support zipitz2"
1238 select CPU_PXA
1239
dd84058d
MY
1240config TARGET_COLIBRI_PXA270
1241 bool "Support colibri_pxa270"
2e07c249 1242 select CPU_PXA
dd84058d 1243
66cba041 1244config ARCH_UNIPHIER
b6ef3a3f 1245 bool "Socionext UniPhier SoCs"
e5ec4815 1246 select BOARD_LATE_INIT
4e819950 1247 select DM
b800cbde 1248 select DM_GPIO
4e819950 1249 select DM_I2C
4aceb3f8 1250 select DM_MMC
4fb96c48 1251 select DM_RESET
b5550e49 1252 select DM_SERIAL
47a79f65 1253 select DM_USB
65fce763 1254 select OF_BOARD_SETUP
b5550e49
MY
1255 select OF_CONTROL
1256 select OF_LIBFDT
27350c92 1257 select PINCTRL
0680f1b1 1258 select SPL_BOARD_INIT if SPL
561ca649
MY
1259 select SPL_DM if SPL
1260 select SPL_LIBCOMMON_SUPPORT if SPL
1261 select SPL_LIBGENERIC_SUPPORT if SPL
1262 select SPL_OF_CONTROL if SPL
1263 select SPL_PINCTRL if SPL
b5550e49 1264 select SUPPORT_SPL
08a00cba 1265 imply CMD_DM
7ef5b1e7 1266 imply DISTRO_DEFAULTS
91d27a17 1267 imply FAT_WRITE
b6ef3a3f
MY
1268 help
1269 Support for UniPhier SoC family developed by Socionext Inc.
1270 (formerly, System LSI Business Division of Panasonic Corporation)
66cba041 1271
0a61ee88 1272config STM32
2514c2d0 1273 bool "Support STMicroelectronics STM32 MCU with cortex M"
ed09a554 1274 select CPU_V7M
66562414
KL
1275 select DM
1276 select DM_SERIAL
08a00cba 1277 imply CMD_DM
ed09a554 1278
94e9a4ef
PC
1279config ARCH_STI
1280 bool "Support STMicrolectronics SoCs"
5ed063d1 1281 select BLK
acf15001 1282 select CPU_V7A
214a17e6 1283 select DM
eee20f81 1284 select DM_MMC
584861ff 1285 select DM_RESET
5ed063d1 1286 select DM_SERIAL
08a00cba 1287 imply CMD_DM
94e9a4ef
PC
1288 help
1289 Support for STMicroelectronics STiH407/10 SoC family.
1290 This SoC is used on Linaro 96Board STiH410-B2260
1291
2514c2d0
PD
1292config ARCH_STM32MP
1293 bool "Support STMicroelectronics STM32MP Socs with cortex A"
08772f6e 1294 select ARCH_MISC_INIT
2514c2d0
PD
1295 select BOARD_LATE_INIT
1296 select CLK
1297 select DM
1298 select DM_GPIO
1299 select DM_RESET
1300 select DM_SERIAL
5ed063d1 1301 select MISC
2514c2d0
PD
1302 select OF_CONTROL
1303 select OF_LIBFDT
1304 select PINCTRL
1305 select REGMAP
1306 select SUPPORT_SPL
1307 select SYSCON
86634a93 1308 select SYSRESET
2514c2d0 1309 select SYS_THUMB_BUILD
08a00cba 1310 imply CMD_DM
2514c2d0
PD
1311 help
1312 Support for STM32MP SoC family developed by STMicroelectronics,
1313 MPUs based on ARM cortex A core
1314 U-BOOT is running in DDR and SPL support is the unsecure First Stage
1315 BootLoader (FSBL)
1316
2444dae5
SG
1317config ARCH_ROCKCHIP
1318 bool "Support Rockchip SoCs"
aa15038c 1319 select BLK
2444dae5 1320 select DM
aa15038c
SG
1321 select DM_GPIO
1322 select DM_I2C
1323 select DM_MMC
5ed063d1
MS
1324 select DM_PWM
1325 select DM_REGULATOR
aa15038c
SG
1326 select DM_SERIAL
1327 select DM_SPI
1328 select DM_SPI_FLASH
892742df 1329 select DM_USB if USB
14ad6eb2 1330 select ENABLE_ARM_SOC_BOOT0_HOOK
5ed063d1 1331 select OF_CONTROL
f1b1f770 1332 select SPI
5ed063d1
MS
1333 select SPL_DM if SPL
1334 select SPL_SYS_MALLOC_SIMPLE if SPL
1335 select SYS_MALLOC_F
1336 select SYS_THUMB_BUILD if !ARM64
1337 imply ADC
08a00cba 1338 imply CMD_DM
7325f6cf 1339 imply DISTRO_DEFAULTS
91d27a17 1340 imply FAT_WRITE
8e8bcccc 1341 imply SARADC_ROCKCHIP
5ed063d1 1342 imply SPL_SYSRESET
c3c0331d 1343 imply SYS_NS16550
5ed063d1
MS
1344 imply TPL_SYSRESET
1345 imply USB_FUNCTION_FASTBOOT
2444dae5 1346
746f985a
ST
1347config TARGET_THUNDERX_88XX
1348 bool "Support ThunderX 88xx"
b4ba1693 1349 select ARM64
746f985a 1350 select OF_CONTROL
cf2c7784 1351 select PL01X_SERIAL
5ed063d1 1352 select SYS_CACHE_SHIFT_7
746f985a 1353
4697abea 1354config ARCH_ASPEED
1355 bool "Support Aspeed SoCs"
4697abea 1356 select DM
5ed063d1 1357 select OF_CONTROL
08a00cba 1358 imply CMD_DM
4697abea 1359
dd84058d
MY
1360endchoice
1361
5fbed8f2
AD
1362config TI_SECURE_DEVICE
1363 bool "HS Device Type Support"
1364 depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS
1365 help
1366 If a high secure (HS) device type is being used, this config
1367 must be set. This option impacts various aspects of the
1368 build system (to create signed boot images that can be
1369 authenticated) and the code. See the doc/README.ti-secure
1370 file for further details.
1371
4697abea 1372source "arch/arm/mach-aspeed/Kconfig"
1373
4614b891
MY
1374source "arch/arm/mach-at91/Kconfig"
1375
ddf6bd48 1376source "arch/arm/mach-bcm283x/Kconfig"
3491ba63 1377
894c3ad2
TF
1378source "arch/arm/mach-bcmstb/Kconfig"
1379
ddf6bd48 1380source "arch/arm/mach-davinci/Kconfig"
34e609ca 1381
77b55e8c 1382source "arch/arm/mach-exynos/Kconfig"
72df68cc 1383
72a8ff4b 1384source "arch/arm/mach-highbank/Kconfig"
ef2b694c 1385
5cbbd9bd
MY
1386source "arch/arm/mach-integrator/Kconfig"
1387
586bde93
LV
1388source "arch/arm/mach-k3/Kconfig"
1389
39a72345 1390source "arch/arm/mach-keystone/Kconfig"
c338f09e 1391
56f86e39 1392source "arch/arm/mach-kirkwood/Kconfig"
47539e23 1393
c3d89140
SR
1394source "arch/arm/mach-mvebu/Kconfig"
1395
0a37cf8f
YS
1396source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1397
07df697e
FE
1398source "arch/arm/mach-imx/mx2/Kconfig"
1399
3159ec64
ML
1400source "arch/arm/mach-imx/mx3/Kconfig"
1401
7a7391fd
PF
1402source "arch/arm/mach-imx/mx5/Kconfig"
1403
1404source "arch/arm/mach-imx/mx6/Kconfig"
e90a08da 1405
552a848e 1406source "arch/arm/mach-imx/mx7/Kconfig"
1a8150d4 1407
7a7391fd 1408source "arch/arm/mach-imx/mx7ulp/Kconfig"
89ebc821 1409
7a7391fd 1410source "arch/arm/mach-imx/mx8m/Kconfig"
424ee3d1 1411
c5343d4e
SA
1412source "arch/arm/mach-imx/mxs/Kconfig"
1413
983e3700 1414source "arch/arm/mach-omap2/Kconfig"
6384726d 1415
da28e58a
YS
1416source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1417
3e93b4e6 1418source "arch/arm/mach-orion5x/Kconfig"
22f2be7a 1419
97775d26
MS
1420source "arch/arm/mach-owl/Kconfig"
1421
badbb63c 1422source "arch/arm/mach-rmobile/Kconfig"
f40b9898 1423
bfcef28a
BG
1424source "arch/arm/mach-meson/Kconfig"
1425
32f11829
TT
1426source "arch/arm/mach-qemu/Kconfig"
1427
2444dae5
SG
1428source "arch/arm/mach-rockchip/Kconfig"
1429
225f5eec 1430source "arch/arm/mach-s5pc1xx/Kconfig"
311757be 1431
08592136
MK
1432source "arch/arm/mach-snapdragon/Kconfig"
1433
7865f4b0
MY
1434source "arch/arm/mach-socfpga/Kconfig"
1435
94e9a4ef
PC
1436source "arch/arm/mach-sti/Kconfig"
1437
0a61ee88
VM
1438source "arch/arm/mach-stm32/Kconfig"
1439
2514c2d0
PD
1440source "arch/arm/mach-stm32mp/Kconfig"
1441
3abfd887
MY
1442source "arch/arm/mach-sunxi/Kconfig"
1443
09f455dc 1444source "arch/arm/mach-tegra/Kconfig"
ddd960e6 1445
4c425570 1446source "arch/arm/mach-uniphier/Kconfig"
66cba041 1447
7966b437
SA
1448source "arch/arm/cpu/armv7/vf610/Kconfig"
1449
0107f240 1450source "arch/arm/mach-zynq/Kconfig"
ddd960e6 1451
1d6c54ec
MS
1452source "arch/arm/mach-zynqmp-r5/Kconfig"
1453
ea624e19
HG
1454source "arch/arm/cpu/armv7/Kconfig"
1455
75580007
SDPP
1456source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1457
23b5877c
LW
1458source "arch/arm/cpu/armv8/Kconfig"
1459
552a848e 1460source "arch/arm/mach-imx/Kconfig"
a05a6045 1461
d8ccbe93 1462source "board/bosch/shc/Kconfig"
dd84058d 1463source "board/CarMediaLab/flea3/Kconfig"
dd84058d 1464source "board/Marvell/aspenite/Kconfig"
dd84058d 1465source "board/Marvell/gplugd/Kconfig"
dd84058d 1466source "board/armadeus/apf27/Kconfig"
dd84058d
MY
1467source "board/armltd/vexpress/Kconfig"
1468source "board/armltd/vexpress64/Kconfig"
43486e4c 1469source "board/broadcom/bcm23550_w1d/Kconfig"
dd84058d 1470source "board/broadcom/bcm28155_ap/Kconfig"
abb1678c
SR
1471source "board/broadcom/bcmcygnus/Kconfig"
1472source "board/broadcom/bcmnsp/Kconfig"
274bced8 1473source "board/broadcom/bcmns2/Kconfig"
746f985a 1474source "board/cavium/thunderx/Kconfig"
dd84058d 1475source "board/cirrus/edb93xx/Kconfig"
85ab0452 1476source "board/eets/pdu001/Kconfig"
44937214
PK
1477source "board/freescale/ls2080a/Kconfig"
1478source "board/freescale/ls2080aqds/Kconfig"
1479source "board/freescale/ls2080ardb/Kconfig"
e84a324b 1480source "board/freescale/ls1088a/Kconfig"
550e3dc0 1481source "board/freescale/ls1021aqds/Kconfig"
02b5d2ed 1482source "board/freescale/ls1043aqds/Kconfig"
c8a7d9da 1483source "board/freescale/ls1021atwr/Kconfig"
20c700f8 1484source "board/freescale/ls1021aiot/Kconfig"
126fe70d 1485source "board/freescale/ls1046aqds/Kconfig"
f3a8e2b7 1486source "board/freescale/ls1043ardb/Kconfig"
dd02936f 1487source "board/freescale/ls1046ardb/Kconfig"
9d044fcb 1488source "board/freescale/ls1012aqds/Kconfig"
3b6e3898 1489source "board/freescale/ls1012ardb/Kconfig"
ff78aa2b 1490source "board/freescale/ls1012afrdm/Kconfig"
dd84058d 1491source "board/freescale/mx35pdk/Kconfig"
9702ec00 1492source "board/freescale/s32v234evb/Kconfig"
ab38bf6a 1493source "board/grinn/chiliboard/Kconfig"
dd84058d
MY
1494source "board/gumstix/pepper/Kconfig"
1495source "board/h2200/Kconfig"
345243ed 1496source "board/hisilicon/hikey/Kconfig"
d754254f 1497source "board/hisilicon/poplar/Kconfig"
a96c08f5 1498source "board/isee/igep003x/Kconfig"
dd84058d 1499source "board/phytec/pcm051/Kconfig"
dd84058d 1500source "board/silica/pengwyn/Kconfig"
dd84058d
MY
1501source "board/spear/spear300/Kconfig"
1502source "board/spear/spear310/Kconfig"
1503source "board/spear/spear320/Kconfig"
1504source "board/spear/spear600/Kconfig"
1505source "board/spear/x600/Kconfig"
9fa32b12 1506source "board/st/stv0991/Kconfig"
9d1b2987 1507source "board/tcl/sl50/Kconfig"
eba6589f 1508source "board/ucRobotics/bubblegum_96/Kconfig"
a2bc4321 1509source "board/birdland/bav335x/Kconfig"
dd84058d 1510source "board/timll/devkit3250/Kconfig"
dd84058d 1511source "board/toradex/colibri_pxa270/Kconfig"
6ce89324 1512source "board/vscom/baltos/Kconfig"
dd84058d 1513source "board/woodburn/Kconfig"
412ae53a 1514source "board/work-microwave/work_92105/Kconfig"
6da4f67a 1515source "board/xilinx/Kconfig"
37e3a36a 1516source "board/xilinx/zynq/Kconfig"
c436bf92 1517source "board/xilinx/zynqmp/Kconfig"
f19eb154 1518source "board/zipitz2/Kconfig"
dd84058d 1519
51b17d49
MY
1520source "arch/arm/Kconfig.debug"
1521
dd84058d 1522endmenu
b529993e
PT
1523
1524config SPL_LDSCRIPT
6e7bdde4
MS
1525 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
1526 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
b529993e
PT
1527 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
1528
1529