]> git.ipfire.org Git - thirdparty/u-boot.git/blame - arch/arm/Kconfig
ARM: socfpga: Zap unused reset code
[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
a93fbf4a
MY
649config ARCH_OMAP2PLUS
650 bool "TI OMAP2+"
acf15001 651 select CPU_V7A
0680f1b1 652 select SPL_BOARD_INIT if SPL
ff6c3125 653 select SPL_STACK_R if SPL
a93fbf4a
MY
654 select SUPPORT_SPL
655 imply FIT
656
bfcef28a
BG
657config ARCH_MESON
658 bool "Amlogic Meson"
7325f6cf 659 imply DISTRO_DEFAULTS
bfcef28a
BG
660 help
661 Support for the Meson SoC family developed by Amlogic Inc.,
662 targeted at media players and tablet computers. We currently
663 support the S905 (GXBaby) 64-bit SoC.
664
7a7391fd
PF
665config ARCH_MX8M
666 bool "NXP i.MX8M platform"
667 select ARM64
668 select DM
669 select SUPPORT_SPL
08a00cba 670 imply CMD_DM
7a7391fd 671
c5343d4e
SA
672config ARCH_MX23
673 bool "NXP i.MX23 family"
674 select CPU_ARM926EJS
675 select PL011_SERIAL
676 select SUPPORT_SPL
677
07df697e
FE
678config ARCH_MX25
679 bool "NXP MX25"
680 select CPU_ARM926EJS
8bbff6a7 681 imply MXC_GPIO
07df697e 682
25c5b4e1
SA
683config ARCH_MX28
684 bool "NXP i.MX28 family"
685 select CPU_ARM926EJS
686 select PL011_SERIAL
687 select SUPPORT_SPL
688
3159ec64
ML
689config ARCH_MX31
690 bool "NXP i.MX31 family"
691 select CPU_ARM1136
692
e90a08da 693config ARCH_MX7ULP
6e7bdde4 694 bool "NXP MX7ULP"
acf15001 695 select CPU_V7A
e90a08da 696 select ROM_UNIFIED_SECTIONS
8bbff6a7 697 imply MXC_GPIO
e90a08da 698
1a8150d4
AA
699config ARCH_MX7
700 bool "Freescale MX7"
5ed063d1
MS
701 select ARCH_MISC_INIT
702 select BOARD_EARLY_INIT_F
acf15001 703 select CPU_V7A
2c2e2c9e
YS
704 select SYS_FSL_HAS_SEC if SECURE_BOOT
705 select SYS_FSL_SEC_COMPAT_4
90b80386 706 select SYS_FSL_SEC_LE
8bbff6a7 707 imply MXC_GPIO
1a8150d4 708
89ebc821
BB
709config ARCH_MX6
710 bool "Freescale MX6"
acf15001 711 select CPU_V7A
2c2e2c9e
YS
712 select SYS_FSL_HAS_SEC if SECURE_BOOT
713 select SYS_FSL_SEC_COMPAT_4
90b80386 714 select SYS_FSL_SEC_LE
3a649407 715 select SYS_THUMB_BUILD if SPL
8bbff6a7 716 imply MXC_GPIO
89ebc821 717
b529993e
PT
718if ARCH_MX6
719config SPL_LDSCRIPT
6e7bdde4 720 default "arch/arm/mach-omap2/u-boot-spl.lds"
b529993e
PT
721endif
722
424ee3d1
AR
723config ARCH_MX5
724 bool "Freescale MX5"
a5d67547 725 select BOARD_EARLY_INIT_F
5ed063d1 726 select CPU_V7A
8bbff6a7 727 imply MXC_GPIO
424ee3d1 728
97775d26
MS
729config ARCH_OWL
730 bool "Actions Semi OWL SoCs"
731 select ARM64
732 select DM
733 select DM_SERIAL
734 select OF_CONTROL
08a00cba 735 imply CMD_DM
97775d26 736
32f11829
TT
737config ARCH_QEMU
738 bool "QEMU Virtual Platform"
32f11829
TT
739 select DM
740 select DM_SERIAL
741 select OF_CONTROL
cf2c7784 742 select PL01X_SERIAL
08a00cba 743 imply CMD_DM
32f11829 744
1cc95f6e 745config ARCH_RMOBILE
f40b9898 746 bool "Renesas ARM SoCs"
5ed063d1 747 select BOARD_EARLY_INIT_F
1cc95f6e
NI
748 select DM
749 select DM_SERIAL
08a00cba 750 imply CMD_DM
91d27a17 751 imply FAT_WRITE
3a649407 752 imply SYS_THUMB_BUILD
dd84058d 753
9702ec00
EP
754config TARGET_S32V234EVB
755 bool "Support s32v234evb"
756 select ARM64
c01e4a1a 757 select SYS_FSL_ERRATUM_ESDHC111
9702ec00 758
08592136
MK
759config ARCH_SNAPDRAGON
760 bool "Qualcomm Snapdragon SoCs"
761 select ARM64
762 select DM
763 select DM_GPIO
764 select DM_SERIAL
5ed063d1 765 select MSM_SMEM
08592136
MK
766 select OF_CONTROL
767 select OF_SEPARATE
654dd4a8 768 select SMEM
5ed063d1 769 select SPMI
08a00cba 770 imply CMD_DM
08592136 771
7865f4b0
MY
772config ARCH_SOCFPGA
773 bool "Altera SOCFPGA family"
48befc00
MV
774 select ARCH_EARLY_INIT_R
775 select ARCH_MISC_INIT
5ed063d1 776 select ARM64 if TARGET_SOCFPGA_STRATIX10
a684729a 777 select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
1d9aa3e5 778 select DM
73172753 779 select DM_SERIAL
a684729a 780 select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
48befc00 781 select OF_CONTROL
00057eea 782 select SPL_DM_RESET if DM_RESET
5ed063d1 783 select SPL_DM_SERIAL
48befc00
MV
784 select SPL_LIBCOMMON_SUPPORT
785 select SPL_LIBDISK_SUPPORT
786 select SPL_LIBGENERIC_SUPPORT
787 select SPL_MMC_SUPPORT if DM_MMC
788 select SPL_NAND_SUPPORT if SPL_NAND_DENALI
789 select SPL_OF_CONTROL
5ed063d1 790 select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
48befc00
MV
791 select SPL_SERIAL_SUPPORT
792 select SPL_SPI_FLASH_SUPPORT if SPL_SPI_SUPPORT
793 select SPL_SPI_SUPPORT if DM_SPI
794 select SPL_WATCHDOG_SUPPORT
795 select SUPPORT_SPL
796 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
73172753 797 select SYS_NS16550
a684729a 798 select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
08a00cba 799 imply CMD_DM
d56b4b19 800 imply CMD_MTDPARTS
221a949e 801 imply CRC32_VERIFY
fef4a545
SG
802 imply DM_SPI
803 imply DM_SPI_FLASH
91d27a17 804 imply FAT_WRITE
fef4a545 805 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
dd84058d 806
2c7e3b90
IC
807config ARCH_SUNXI
808 bool "Support sunxi (Allwinner) SoCs"
d6a0c78a 809 select BINMAN
88bb800d 810 select CMD_GPIO
0878a8a7 811 select CMD_MMC if MMC
2997ee50 812 select CMD_USB if DISTRO_DEFAULTS
b6006baf 813 select DM
45368827 814 select DM_ETH
211d57a4
HG
815 select DM_GPIO
816 select DM_KEYBOARD
45368827 817 select DM_SERIAL
2997ee50 818 select DM_USB if DISTRO_DEFAULTS
d75111a7 819 select OF_BOARD_SETUP
b6006baf
HG
820 select OF_CONTROL
821 select OF_SEPARATE
6f6b7cfa 822 select SPECIFY_CONSOLE_INDEX
ab43de80
TR
823 select SPL_STACK_R if SPL
824 select SPL_SYS_MALLOC_SIMPLE if SPL
3a649407 825 select SPL_SYS_THUMB_BUILD if !ARM64
5ed063d1 826 select SYS_NS16550
ce2e44d8 827 select SYS_THUMB_BUILD if !ARM64
2997ee50 828 select USB if DISTRO_DEFAULTS
2997ee50 829 select USB_KEYBOARD if DISTRO_DEFAULTS
5ed063d1 830 select USB_STORAGE if DISTRO_DEFAULTS
8c7d2296 831 select USE_TINY_PRINTF
08a00cba 832 imply CMD_DM
a12fb0e3 833 imply CMD_GPT
7325f6cf 834 imply DISTRO_DEFAULTS
91d27a17 835 imply FAT_WRITE
eff264d7 836 imply OF_LIBFDT_OVERLAY
af83a604
MY
837 imply PRE_CONSOLE_BUFFER
838 imply SPL_GPIO_SUPPORT
839 imply SPL_LIBCOMMON_SUPPORT
840 imply SPL_LIBDISK_SUPPORT
841 imply SPL_LIBGENERIC_SUPPORT
4aa2ba3a 842 imply SPL_MMC_SUPPORT if MMC
af83a604
MY
843 imply SPL_POWER_SUPPORT
844 imply SPL_SERIAL_SUPPORT
654b02b1 845 imply USB_GADGET
8ebe4f42 846
7966b437
SA
847config ARCH_VF610
848 bool "Freescale Vybrid"
acf15001 849 select CPU_V7A
c01e4a1a 850 select SYS_FSL_ERRATUM_ESDHC111
d56b4b19 851 imply CMD_MTDPARTS
5bbc265b 852 imply NAND
e7b860fa 853
5ca269a4 854config ARCH_ZYNQ
b8d4497f 855 bool "Xilinx Zynq based platform"
5ed063d1 856 select BOARD_EARLY_INIT_F if WDT
e5ec4815 857 select BOARD_LATE_INIT
5ed063d1
MS
858 select CLK
859 select CLK_ZYNQ
acf15001 860 select CPU_V7A
8981f05c 861 select DM
c4a142f4 862 select DM_ETH if NET
c4a142f4 863 select DM_MMC if MMC
42800ffa 864 select DM_SERIAL
5ed063d1 865 select DM_SPI
9f7a4502 866 select DM_SPI_FLASH
dec49e86 867 select DM_USB if USB
5ed063d1 868 select OF_CONTROL
f1b1f770 869 select SPI
5ed063d1
MS
870 select SPL_BOARD_INIT if SPL
871 select SPL_CLK if SPL
872 select SPL_DM if SPL
873 select SPL_OF_CONTROL if SPL
874 select SPL_SEPARATE_BSS if SPL
875 select SUPPORT_SPL
876 imply ARCH_EARLY_INIT_R
d315628e 877 imply CMD_CLK
08a00cba 878 imply CMD_DM
72c3033f 879 imply CMD_SPL
5ed063d1 880 imply FAT_WRITE
dd84058d 881
1d6c54ec
MS
882config ARCH_ZYNQMP_R5
883 bool "Xilinx ZynqMP R5 based platform"
5ed063d1 884 select CLK
1d6c54ec 885 select CPU_V7R
1d6c54ec
MS
886 select DM
887 select DM_SERIAL
5ed063d1 888 select OF_CONTROL
08a00cba 889 imply CMD_DM
1d6c54ec 890
0b54a9dd 891config ARCH_ZYNQMP
b8d4497f 892 bool "Xilinx ZynqMP based platform"
84c7204b 893 select ARM64
e5ec4815 894 select BOARD_LATE_INIT
5ed063d1 895 select CLK
c2490bf5 896 select DM
c2490bf5 897 select DM_SERIAL
5ed063d1
MS
898 select DM_USB if USB
899 select OF_CONTROL
0680f1b1 900 select SPL_BOARD_INIT if SPL
2f03968e 901 select SPL_CLK if SPL
5ed063d1 902 select SUPPORT_SPL
08a00cba 903 imply CMD_DM
91d27a17 904 imply FAT_WRITE
84c7204b 905
ddd960e6
MY
906config TEGRA
907 bool "NVIDIA Tegra"
7325f6cf 908 imply DISTRO_DEFAULTS
91d27a17 909 imply FAT_WRITE
dd84058d 910
f91afc4d 911config TARGET_VEXPRESS64_AEMV8A
dd84058d 912 bool "Support vexpress_aemv8a"
016a954e 913 select ARM64
cf2c7784 914 select PL01X_SERIAL
dd84058d 915
f91afc4d
LW
916config TARGET_VEXPRESS64_BASE_FVP
917 bool "Support Versatile Express ARMv8a FVP BASE model"
918 select ARM64
cf2c7784 919 select PL01X_SERIAL
5ed063d1 920 select SEMIHOSTING
f91afc4d 921
fc04b923
RH
922config TARGET_VEXPRESS64_BASE_FVP_DRAM
923 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
924 select ARM64
cf2c7784 925 select PL01X_SERIAL
fc04b923
RH
926 help
927 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
928 the default config to allow the user to load the images directly into
929 DRAM using model parameters rather than by using semi-hosting to load
930 the files from the host filesystem.
931
ffc10373
LW
932config TARGET_VEXPRESS64_JUNO
933 bool "Support Versatile Express Juno Development Platform"
934 select ARM64
cf2c7784 935 select PL01X_SERIAL
ffc10373 936
44937214
PK
937config TARGET_LS2080A_EMU
938 bool "Support ls2080a_emu"
fb2bf8c2 939 select ARCH_LS2080A
5ed063d1 940 select ARCH_MISC_INIT
016a954e 941 select ARM64
23b5877c 942 select ARMV8_MULTIENTRY
44937214
PK
943 help
944 Support for Freescale LS2080A_EMU platform
945 The LS2080A Development System (EMULATOR) is a pre silicon
946 development platform that supports the QorIQ LS2080A
947 Layerscape Architecture processor.
dd84058d 948
44937214
PK
949config TARGET_LS2080A_SIMU
950 bool "Support ls2080a_simu"
fb2bf8c2 951 select ARCH_LS2080A
5ed063d1 952 select ARCH_MISC_INIT
016a954e 953 select ARM64
23b5877c 954 select ARMV8_MULTIENTRY
44937214
PK
955 help
956 Support for Freescale LS2080A_SIMU platform
957 The LS2080A Development System (QDS) is a pre silicon
958 development platform that supports the QorIQ LS2080A
959 Layerscape Architecture processor.
dd84058d 960
7769776a
AK
961config TARGET_LS1088AQDS
962 bool "Support ls1088aqds"
963 select ARCH_LS1088A
5ed063d1 964 select ARCH_MISC_INIT
7769776a
AK
965 select ARM64
966 select ARMV8_MULTIENTRY
7769776a 967 select BOARD_LATE_INIT
91fded62 968 select SUPPORT_SPL
7769776a
AK
969 help
970 Support for NXP LS1088AQDS platform
971 The LS1088A Development System (QDS) is a high-performance
972 development platform that supports the QorIQ LS1088A
973 Layerscape Architecture processor.
974
44937214
PK
975config TARGET_LS2080AQDS
976 bool "Support ls2080aqds"
fb2bf8c2 977 select ARCH_LS2080A
5ed063d1 978 select ARCH_MISC_INIT
7288c2c2
YS
979 select ARM64
980 select ARMV8_MULTIENTRY
e5ec4815 981 select BOARD_LATE_INIT
b2d5ac59 982 select SUPPORT_SPL
fedb428c 983 imply SCSI
9fd95ef0 984 imply SCSI_AHCI
7288c2c2 985 help
44937214
PK
986 Support for Freescale LS2080AQDS platform
987 The LS2080A Development System (QDS) is a high-performance
988 development platform that supports the QorIQ LS2080A
7288c2c2
YS
989 Layerscape Architecture processor.
990
44937214
PK
991config TARGET_LS2080ARDB
992 bool "Support ls2080ardb"
fb2bf8c2 993 select ARCH_LS2080A
5ed063d1 994 select ARCH_MISC_INIT
e2b65ea9
YS
995 select ARM64
996 select ARMV8_MULTIENTRY
e5ec4815 997 select BOARD_LATE_INIT
32eda7cc 998 select SUPPORT_SPL
fedb428c 999 imply SCSI
9fd95ef0 1000 imply SCSI_AHCI
e2b65ea9 1001 help
44937214
PK
1002 Support for Freescale LS2080ARDB platform.
1003 The LS2080A Reference design board (RDB) is a high-performance
1004 development platform that supports the QorIQ LS2080A
e2b65ea9
YS
1005 Layerscape Architecture processor.
1006
3049a583
PJ
1007config TARGET_LS2081ARDB
1008 bool "Support ls2081ardb"
1009 select ARCH_LS2080A
5ed063d1 1010 select ARCH_MISC_INIT
3049a583
PJ
1011 select ARM64
1012 select ARMV8_MULTIENTRY
1013 select BOARD_LATE_INIT
1014 select SUPPORT_SPL
3049a583
PJ
1015 help
1016 Support for Freescale LS2081ARDB platform.
1017 The LS2081A Reference design board (RDB) is a high-performance
1018 development platform that supports the QorIQ LS2081A/LS2041A
1019 Layerscape Architecture processor.
1020
11ac2363
PG
1021config TARGET_HIKEY
1022 bool "Support HiKey 96boards Consumer Edition Platform"
1023 select ARM64
efd7b60a
PG
1024 select DM
1025 select DM_GPIO
9c71bcdc 1026 select DM_SERIAL
cd593ed6 1027 select OF_CONTROL
cf2c7784 1028 select PL01X_SERIAL
6f6b7cfa 1029 select SPECIFY_CONSOLE_INDEX
08a00cba 1030 imply CMD_DM
11ac2363
PG
1031 help
1032 Support for HiKey 96boards platform. It features a HI6220
1033 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
1034
d754254f
JRO
1035config TARGET_POPLAR
1036 bool "Support Poplar 96boards Enterprise Edition Platform"
1037 select ARM64
1038 select DM
d754254f
JRO
1039 select DM_SERIAL
1040 select DM_USB
5ed063d1 1041 select OF_CONTROL
cf2c7784 1042 select PL01X_SERIAL
08a00cba 1043 imply CMD_DM
d754254f
JRO
1044 help
1045 Support for Poplar 96boards EE platform. It features a HI3798cv200
1046 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
1047 making it capable of running any commercial set-top solution based on
1048 Linux or Android.
1049
9d044fcb
PK
1050config TARGET_LS1012AQDS
1051 bool "Support ls1012aqds"
9533acf3 1052 select ARCH_LS1012A
9d044fcb 1053 select ARM64
e5ec4815 1054 select BOARD_LATE_INIT
9d044fcb
PK
1055 help
1056 Support for Freescale LS1012AQDS platform.
1057 The LS1012A Development System (QDS) is a high-performance
1058 development platform that supports the QorIQ LS1012A
1059 Layerscape Architecture processor.
1060
3b6e3898
PK
1061config TARGET_LS1012ARDB
1062 bool "Support ls1012ardb"
9533acf3 1063 select ARCH_LS1012A
3b6e3898 1064 select ARM64
e5ec4815 1065 select BOARD_LATE_INIT
fedb428c 1066 imply SCSI
9fd95ef0 1067 imply SCSI_AHCI
3b6e3898
PK
1068 help
1069 Support for Freescale LS1012ARDB platform.
1070 The LS1012A Reference design board (RDB) is a high-performance
1071 development platform that supports the QorIQ LS1012A
1072 Layerscape Architecture processor.
1073
b0ce187b
BU
1074config TARGET_LS1012A2G5RDB
1075 bool "Support ls1012a2g5rdb"
1076 select ARCH_LS1012A
1077 select ARM64
1078 select BOARD_LATE_INIT
1079 imply SCSI
1080 help
1081 Support for Freescale LS1012A2G5RDB platform.
1082 The LS1012A 2G5 Reference design board (RDB) is a high-performance
1083 development platform that supports the QorIQ LS1012A
1084 Layerscape Architecture processor.
1085
9629ccdd
BU
1086config TARGET_LS1012AFRWY
1087 bool "Support ls1012afrwy"
1088 select ARCH_LS1012A
1089 select ARM64
5ed063d1 1090 select BOARD_LATE_INIT
9629ccdd
BU
1091 imply SCSI
1092 imply SCSI_AHCI
1093 help
1094 Support for Freescale LS1012AFRWY platform.
1095 The LS1012A FRWY board (FRWY) is a high-performance
1096 development platform that supports the QorIQ LS1012A
1097 Layerscape Architecture processor.
1098
ff78aa2b
PK
1099config TARGET_LS1012AFRDM
1100 bool "Support ls1012afrdm"
9533acf3 1101 select ARCH_LS1012A
ff78aa2b
PK
1102 select ARM64
1103 help
1104 Support for Freescale LS1012AFRDM platform.
1105 The LS1012A Freedom board (FRDM) is a high-performance
1106 development platform that supports the QorIQ LS1012A
1107 Layerscape Architecture processor.
1108
e84a324b
AK
1109config TARGET_LS1088ARDB
1110 bool "Support ls1088ardb"
1111 select ARCH_LS1088A
5ed063d1 1112 select ARCH_MISC_INIT
e84a324b
AK
1113 select ARM64
1114 select ARMV8_MULTIENTRY
e84a324b 1115 select BOARD_LATE_INIT
099f4093 1116 select SUPPORT_SPL
e84a324b
AK
1117 help
1118 Support for NXP LS1088ARDB platform.
1119 The LS1088A Reference design board (RDB) is a high-performance
1120 development platform that supports the QorIQ LS1088A
1121 Layerscape Architecture processor.
1122
550e3dc0 1123config TARGET_LS1021AQDS
0de15707 1124 bool "Support ls1021aqds"
5ed063d1
MS
1125 select ARCH_LS1021A
1126 select ARCH_SUPPORT_PSCI
1127 select BOARD_EARLY_INIT_F
e5ec4815 1128 select BOARD_LATE_INIT
acf15001 1129 select CPU_V7A
adee1d4c
HZ
1130 select CPU_V7_HAS_NONSEC
1131 select CPU_V7_HAS_VIRT
5e8bd7e1 1132 select LS1_DEEP_SLEEP
5ed063d1 1133 select SUPPORT_SPL
d26e34c4 1134 select SYS_FSL_DDR
fedb428c 1135 imply SCSI
217f92bb 1136
c8a7d9da 1137config TARGET_LS1021ATWR
0de15707 1138 bool "Support ls1021atwr"
5ed063d1
MS
1139 select ARCH_LS1021A
1140 select ARCH_SUPPORT_PSCI
1141 select BOARD_EARLY_INIT_F
e5ec4815 1142 select BOARD_LATE_INIT
acf15001 1143 select CPU_V7A
adee1d4c
HZ
1144 select CPU_V7_HAS_NONSEC
1145 select CPU_V7_HAS_VIRT
5e8bd7e1 1146 select LS1_DEEP_SLEEP
5ed063d1 1147 select SUPPORT_SPL
fedb428c 1148 imply SCSI
c8a7d9da 1149
20c700f8
FL
1150config TARGET_LS1021AIOT
1151 bool "Support ls1021aiot"
5ed063d1
MS
1152 select ARCH_LS1021A
1153 select ARCH_SUPPORT_PSCI
e5ec4815 1154 select BOARD_LATE_INIT
acf15001 1155 select CPU_V7A
20c700f8
FL
1156 select CPU_V7_HAS_NONSEC
1157 select CPU_V7_HAS_VIRT
1158 select SUPPORT_SPL
fedb428c 1159 imply SCSI
20c700f8
FL
1160 help
1161 Support for Freescale LS1021AIOT platform.
1162 The LS1021A Freescale board (IOT) is a high-performance
1163 development platform that supports the QorIQ LS1021A
1164 Layerscape Architecture processor.
1165
02b5d2ed
SX
1166config TARGET_LS1043AQDS
1167 bool "Support ls1043aqds"
0a37cf8f 1168 select ARCH_LS1043A
02b5d2ed
SX
1169 select ARM64
1170 select ARMV8_MULTIENTRY
5ed063d1 1171 select BOARD_EARLY_INIT_F
e5ec4815 1172 select BOARD_LATE_INIT
02b5d2ed 1173 select SUPPORT_SPL
fedb428c 1174 imply SCSI
02b5d2ed
SX
1175 help
1176 Support for Freescale LS1043AQDS platform.
1177
f3a8e2b7
MH
1178config TARGET_LS1043ARDB
1179 bool "Support ls1043ardb"
0a37cf8f 1180 select ARCH_LS1043A
f3a8e2b7 1181 select ARM64
831c068f 1182 select ARMV8_MULTIENTRY
5ed063d1 1183 select BOARD_EARLY_INIT_F
e5ec4815 1184 select BOARD_LATE_INIT
3ad44729 1185 select SUPPORT_SPL
fedb428c 1186 imply SCSI
f3a8e2b7
MH
1187 help
1188 Support for Freescale LS1043ARDB platform.
1189
126fe70d
SX
1190config TARGET_LS1046AQDS
1191 bool "Support ls1046aqds"
da28e58a 1192 select ARCH_LS1046A
126fe70d
SX
1193 select ARM64
1194 select ARMV8_MULTIENTRY
5ed063d1 1195 select BOARD_EARLY_INIT_F
e5ec4815 1196 select BOARD_LATE_INIT
126fe70d 1197 select DM_SPI_FLASH if DM_SPI
5ed063d1 1198 select SUPPORT_SPL
fedb428c 1199 imply SCSI
126fe70d
SX
1200 help
1201 Support for Freescale LS1046AQDS platform.
1202 The LS1046A Development System (QDS) is a high-performance
1203 development platform that supports the QorIQ LS1046A
1204 Layerscape Architecture processor.
1205
dd02936f
MH
1206config TARGET_LS1046ARDB
1207 bool "Support ls1046ardb"
da28e58a 1208 select ARCH_LS1046A
dd02936f
MH
1209 select ARM64
1210 select ARMV8_MULTIENTRY
5ed063d1 1211 select BOARD_EARLY_INIT_F
e5ec4815 1212 select BOARD_LATE_INIT
dd02936f 1213 select DM_SPI_FLASH if DM_SPI
dccef2ec 1214 select POWER_MC34VR500
5ed063d1 1215 select SUPPORT_SPL
fedb428c 1216 imply SCSI
dd02936f
MH
1217 help
1218 Support for Freescale LS1046ARDB platform.
1219 The LS1046A Reference Design Board (RDB) is a high-performance
1220 development platform that supports the QorIQ LS1046A
1221 Layerscape Architecture processor.
1222
dd84058d
MY
1223config TARGET_H2200
1224 bool "Support h2200"
2e07c249 1225 select CPU_PXA
dd84058d 1226
f19eb154
VK
1227config TARGET_ZIPITZ2
1228 bool "Support zipitz2"
1229 select CPU_PXA
1230
dd84058d
MY
1231config TARGET_COLIBRI_PXA270
1232 bool "Support colibri_pxa270"
2e07c249 1233 select CPU_PXA
dd84058d 1234
66cba041 1235config ARCH_UNIPHIER
b6ef3a3f 1236 bool "Socionext UniPhier SoCs"
e5ec4815 1237 select BOARD_LATE_INIT
4e819950 1238 select DM
b800cbde 1239 select DM_GPIO
4e819950 1240 select DM_I2C
4aceb3f8 1241 select DM_MMC
4fb96c48 1242 select DM_RESET
b5550e49 1243 select DM_SERIAL
47a79f65 1244 select DM_USB
65fce763 1245 select OF_BOARD_SETUP
b5550e49
MY
1246 select OF_CONTROL
1247 select OF_LIBFDT
27350c92 1248 select PINCTRL
0680f1b1 1249 select SPL_BOARD_INIT if SPL
561ca649
MY
1250 select SPL_DM if SPL
1251 select SPL_LIBCOMMON_SUPPORT if SPL
1252 select SPL_LIBGENERIC_SUPPORT if SPL
1253 select SPL_OF_CONTROL if SPL
1254 select SPL_PINCTRL if SPL
b5550e49 1255 select SUPPORT_SPL
08a00cba 1256 imply CMD_DM
7ef5b1e7 1257 imply DISTRO_DEFAULTS
91d27a17 1258 imply FAT_WRITE
b6ef3a3f
MY
1259 help
1260 Support for UniPhier SoC family developed by Socionext Inc.
1261 (formerly, System LSI Business Division of Panasonic Corporation)
66cba041 1262
0a61ee88 1263config STM32
2514c2d0 1264 bool "Support STMicroelectronics STM32 MCU with cortex M"
ed09a554 1265 select CPU_V7M
66562414
KL
1266 select DM
1267 select DM_SERIAL
3a649407 1268 select SYS_THUMB_BUILD
08a00cba 1269 imply CMD_DM
ed09a554 1270
94e9a4ef
PC
1271config ARCH_STI
1272 bool "Support STMicrolectronics SoCs"
5ed063d1 1273 select BLK
acf15001 1274 select CPU_V7A
214a17e6 1275 select DM
eee20f81 1276 select DM_MMC
584861ff 1277 select DM_RESET
5ed063d1 1278 select DM_SERIAL
08a00cba 1279 imply CMD_DM
94e9a4ef
PC
1280 help
1281 Support for STMicroelectronics STiH407/10 SoC family.
1282 This SoC is used on Linaro 96Board STiH410-B2260
1283
2514c2d0
PD
1284config ARCH_STM32MP
1285 bool "Support STMicroelectronics STM32MP Socs with cortex A"
08772f6e 1286 select ARCH_MISC_INIT
2514c2d0
PD
1287 select BOARD_LATE_INIT
1288 select CLK
1289 select DM
1290 select DM_GPIO
1291 select DM_RESET
1292 select DM_SERIAL
5ed063d1 1293 select MISC
2514c2d0
PD
1294 select OF_CONTROL
1295 select OF_LIBFDT
1296 select PINCTRL
1297 select REGMAP
1298 select SUPPORT_SPL
1299 select SYSCON
86634a93 1300 select SYSRESET
2514c2d0 1301 select SYS_THUMB_BUILD
08a00cba 1302 imply CMD_DM
2514c2d0
PD
1303 help
1304 Support for STM32MP SoC family developed by STMicroelectronics,
1305 MPUs based on ARM cortex A core
1306 U-BOOT is running in DDR and SPL support is the unsecure First Stage
1307 BootLoader (FSBL)
1308
2444dae5
SG
1309config ARCH_ROCKCHIP
1310 bool "Support Rockchip SoCs"
aa15038c 1311 select BLK
2444dae5 1312 select DM
aa15038c
SG
1313 select DM_GPIO
1314 select DM_I2C
1315 select DM_MMC
5ed063d1
MS
1316 select DM_PWM
1317 select DM_REGULATOR
aa15038c
SG
1318 select DM_SERIAL
1319 select DM_SPI
1320 select DM_SPI_FLASH
892742df 1321 select DM_USB if USB
14ad6eb2 1322 select ENABLE_ARM_SOC_BOOT0_HOOK
5ed063d1 1323 select OF_CONTROL
f1b1f770 1324 select SPI
5ed063d1
MS
1325 select SPL_DM if SPL
1326 select SPL_SYS_MALLOC_SIMPLE if SPL
1327 select SYS_MALLOC_F
1328 select SYS_THUMB_BUILD if !ARM64
1329 imply ADC
08a00cba 1330 imply CMD_DM
7325f6cf 1331 imply DISTRO_DEFAULTS
91d27a17 1332 imply FAT_WRITE
8e8bcccc 1333 imply SARADC_ROCKCHIP
5ed063d1 1334 imply SPL_SYSRESET
c3c0331d 1335 imply SYS_NS16550
5ed063d1
MS
1336 imply TPL_SYSRESET
1337 imply USB_FUNCTION_FASTBOOT
2444dae5 1338
746f985a
ST
1339config TARGET_THUNDERX_88XX
1340 bool "Support ThunderX 88xx"
b4ba1693 1341 select ARM64
746f985a 1342 select OF_CONTROL
cf2c7784 1343 select PL01X_SERIAL
5ed063d1 1344 select SYS_CACHE_SHIFT_7
746f985a 1345
4697abea 1346config ARCH_ASPEED
1347 bool "Support Aspeed SoCs"
4697abea 1348 select DM
5ed063d1 1349 select OF_CONTROL
08a00cba 1350 imply CMD_DM
4697abea 1351
dd84058d
MY
1352endchoice
1353
5fbed8f2
AD
1354config TI_SECURE_DEVICE
1355 bool "HS Device Type Support"
1356 depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS
1357 help
1358 If a high secure (HS) device type is being used, this config
1359 must be set. This option impacts various aspects of the
1360 build system (to create signed boot images that can be
1361 authenticated) and the code. See the doc/README.ti-secure
1362 file for further details.
1363
4697abea 1364source "arch/arm/mach-aspeed/Kconfig"
1365
4614b891
MY
1366source "arch/arm/mach-at91/Kconfig"
1367
ddf6bd48 1368source "arch/arm/mach-bcm283x/Kconfig"
3491ba63 1369
894c3ad2
TF
1370source "arch/arm/mach-bcmstb/Kconfig"
1371
ddf6bd48 1372source "arch/arm/mach-davinci/Kconfig"
34e609ca 1373
77b55e8c 1374source "arch/arm/mach-exynos/Kconfig"
72df68cc 1375
72a8ff4b 1376source "arch/arm/mach-highbank/Kconfig"
ef2b694c 1377
5cbbd9bd
MY
1378source "arch/arm/mach-integrator/Kconfig"
1379
39a72345 1380source "arch/arm/mach-keystone/Kconfig"
c338f09e 1381
56f86e39 1382source "arch/arm/mach-kirkwood/Kconfig"
47539e23 1383
c3d89140
SR
1384source "arch/arm/mach-mvebu/Kconfig"
1385
0a37cf8f
YS
1386source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1387
07df697e
FE
1388source "arch/arm/mach-imx/mx2/Kconfig"
1389
3159ec64
ML
1390source "arch/arm/mach-imx/mx3/Kconfig"
1391
7a7391fd
PF
1392source "arch/arm/mach-imx/mx5/Kconfig"
1393
1394source "arch/arm/mach-imx/mx6/Kconfig"
e90a08da 1395
552a848e 1396source "arch/arm/mach-imx/mx7/Kconfig"
1a8150d4 1397
7a7391fd 1398source "arch/arm/mach-imx/mx7ulp/Kconfig"
89ebc821 1399
7a7391fd 1400source "arch/arm/mach-imx/mx8m/Kconfig"
424ee3d1 1401
c5343d4e
SA
1402source "arch/arm/mach-imx/mxs/Kconfig"
1403
983e3700 1404source "arch/arm/mach-omap2/Kconfig"
6384726d 1405
da28e58a
YS
1406source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1407
3e93b4e6 1408source "arch/arm/mach-orion5x/Kconfig"
22f2be7a 1409
97775d26
MS
1410source "arch/arm/mach-owl/Kconfig"
1411
badbb63c 1412source "arch/arm/mach-rmobile/Kconfig"
f40b9898 1413
bfcef28a
BG
1414source "arch/arm/mach-meson/Kconfig"
1415
32f11829
TT
1416source "arch/arm/mach-qemu/Kconfig"
1417
2444dae5
SG
1418source "arch/arm/mach-rockchip/Kconfig"
1419
225f5eec 1420source "arch/arm/mach-s5pc1xx/Kconfig"
311757be 1421
08592136
MK
1422source "arch/arm/mach-snapdragon/Kconfig"
1423
7865f4b0
MY
1424source "arch/arm/mach-socfpga/Kconfig"
1425
94e9a4ef
PC
1426source "arch/arm/mach-sti/Kconfig"
1427
0a61ee88
VM
1428source "arch/arm/mach-stm32/Kconfig"
1429
2514c2d0
PD
1430source "arch/arm/mach-stm32mp/Kconfig"
1431
3abfd887
MY
1432source "arch/arm/mach-sunxi/Kconfig"
1433
09f455dc 1434source "arch/arm/mach-tegra/Kconfig"
ddd960e6 1435
4c425570 1436source "arch/arm/mach-uniphier/Kconfig"
66cba041 1437
7966b437
SA
1438source "arch/arm/cpu/armv7/vf610/Kconfig"
1439
0107f240 1440source "arch/arm/mach-zynq/Kconfig"
ddd960e6 1441
1d6c54ec
MS
1442source "arch/arm/mach-zynqmp-r5/Kconfig"
1443
ea624e19
HG
1444source "arch/arm/cpu/armv7/Kconfig"
1445
75580007
SDPP
1446source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1447
23b5877c
LW
1448source "arch/arm/cpu/armv8/Kconfig"
1449
552a848e 1450source "arch/arm/mach-imx/Kconfig"
a05a6045 1451
d8ccbe93 1452source "board/bosch/shc/Kconfig"
dd84058d 1453source "board/CarMediaLab/flea3/Kconfig"
dd84058d 1454source "board/Marvell/aspenite/Kconfig"
dd84058d 1455source "board/Marvell/gplugd/Kconfig"
dd84058d 1456source "board/armadeus/apf27/Kconfig"
dd84058d
MY
1457source "board/armltd/vexpress/Kconfig"
1458source "board/armltd/vexpress64/Kconfig"
43486e4c 1459source "board/broadcom/bcm23550_w1d/Kconfig"
dd84058d 1460source "board/broadcom/bcm28155_ap/Kconfig"
abb1678c
SR
1461source "board/broadcom/bcmcygnus/Kconfig"
1462source "board/broadcom/bcmnsp/Kconfig"
274bced8 1463source "board/broadcom/bcmns2/Kconfig"
746f985a 1464source "board/cavium/thunderx/Kconfig"
dd84058d 1465source "board/cirrus/edb93xx/Kconfig"
85ab0452 1466source "board/eets/pdu001/Kconfig"
44937214
PK
1467source "board/freescale/ls2080a/Kconfig"
1468source "board/freescale/ls2080aqds/Kconfig"
1469source "board/freescale/ls2080ardb/Kconfig"
e84a324b 1470source "board/freescale/ls1088a/Kconfig"
550e3dc0 1471source "board/freescale/ls1021aqds/Kconfig"
02b5d2ed 1472source "board/freescale/ls1043aqds/Kconfig"
c8a7d9da 1473source "board/freescale/ls1021atwr/Kconfig"
20c700f8 1474source "board/freescale/ls1021aiot/Kconfig"
126fe70d 1475source "board/freescale/ls1046aqds/Kconfig"
f3a8e2b7 1476source "board/freescale/ls1043ardb/Kconfig"
dd02936f 1477source "board/freescale/ls1046ardb/Kconfig"
9d044fcb 1478source "board/freescale/ls1012aqds/Kconfig"
3b6e3898 1479source "board/freescale/ls1012ardb/Kconfig"
ff78aa2b 1480source "board/freescale/ls1012afrdm/Kconfig"
dd84058d 1481source "board/freescale/mx35pdk/Kconfig"
9702ec00 1482source "board/freescale/s32v234evb/Kconfig"
ab38bf6a 1483source "board/grinn/chiliboard/Kconfig"
dd84058d
MY
1484source "board/gumstix/pepper/Kconfig"
1485source "board/h2200/Kconfig"
345243ed 1486source "board/hisilicon/hikey/Kconfig"
d754254f 1487source "board/hisilicon/poplar/Kconfig"
a96c08f5 1488source "board/isee/igep003x/Kconfig"
dd84058d 1489source "board/phytec/pcm051/Kconfig"
dd84058d 1490source "board/silica/pengwyn/Kconfig"
dd84058d
MY
1491source "board/spear/spear300/Kconfig"
1492source "board/spear/spear310/Kconfig"
1493source "board/spear/spear320/Kconfig"
1494source "board/spear/spear600/Kconfig"
1495source "board/spear/x600/Kconfig"
9fa32b12 1496source "board/st/stv0991/Kconfig"
9d1b2987 1497source "board/tcl/sl50/Kconfig"
eba6589f 1498source "board/ucRobotics/bubblegum_96/Kconfig"
a2bc4321 1499source "board/birdland/bav335x/Kconfig"
dd84058d 1500source "board/timll/devkit3250/Kconfig"
dd84058d 1501source "board/toradex/colibri_pxa270/Kconfig"
6ce89324 1502source "board/vscom/baltos/Kconfig"
dd84058d 1503source "board/woodburn/Kconfig"
412ae53a 1504source "board/work-microwave/work_92105/Kconfig"
6da4f67a 1505source "board/xilinx/Kconfig"
37e3a36a 1506source "board/xilinx/zynq/Kconfig"
c436bf92 1507source "board/xilinx/zynqmp/Kconfig"
f19eb154 1508source "board/zipitz2/Kconfig"
dd84058d 1509
51b17d49
MY
1510source "arch/arm/Kconfig.debug"
1511
dd84058d 1512endmenu
b529993e
PT
1513
1514config SPL_LDSCRIPT
6e7bdde4
MS
1515 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
1516 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
b529993e
PT
1517 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
1518
1519