]> git.ipfire.org Git - thirdparty/u-boot.git/blame - arch/arm/Kconfig
spl: fit: verify images prior to post processing
[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
PF
171config ARM_ERRATA_845369
172 bool
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
TR
221 bool
222 select HAS_VBAR
223 select HAS_THUMB2
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
111a6af9 230 select THUMB2_KERNEL
067716ba 231 select SYS_CACHE_SHIFT_5
f2ef2043 232 select SYS_ARM_MPU
ea37f0b3 233 select SYS_THUMB_BUILD
12d8a729 234
4bbd6b1d
MS
235config CPU_V7R
236 bool
237 select HAS_THUMB2
238 select SYS_CACHE_SHIFT_6
f2ef2043
LV
239 select SYS_ARM_MPU
240 select SYS_ARM_CACHE_CP15
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"
2e07c249 430 select CPU_ARM926EJS
a5d67547 431 select BOARD_EARLY_INIT_F
4585601a 432 select ARCH_MISC_INIT
dd84058d 433
c3d89140 434config ARCH_MVEBU
21b29fc6 435 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
9cffb233
SR
436 select OF_CONTROL
437 select OF_SEPARATE
438 select DM
e3b9c98a 439 select DM_ETH
1d51ea19 440 select DM_SERIAL
09a54c00
SR
441 select DM_SPI
442 select DM_SPI_FLASH
f1b1f770 443 select SPI
a4884831 444
dd84058d
MY
445config TARGET_DEVKIT3250
446 bool "Support devkit3250"
2e07c249 447 select CPU_ARM926EJS
e9b3ce3f 448 select SUPPORT_SPL
dd84058d 449
412ae53a
AA
450config TARGET_WORK_92105
451 bool "Support work_92105"
452 select CPU_ARM926EJS
453 select SUPPORT_SPL
454
dd84058d
MY
455config TARGET_APF27
456 bool "Support apf27"
2e07c249 457 select CPU_ARM926EJS
02627356 458 select SUPPORT_SPL
dd84058d 459
22f2be7a
MY
460config ORION5X
461 bool "Marvell Orion"
2e07c249 462 select CPU_ARM926EJS
dd84058d 463
dd84058d
MY
464config TARGET_SPEAR300
465 bool "Support spear300"
2e07c249 466 select CPU_ARM926EJS
a5d67547 467 select BOARD_EARLY_INIT_F
15dc63d6 468 imply CMD_SAVES
d10fc50f 469 select PL011_SERIAL
dd84058d
MY
470
471config TARGET_SPEAR310
472 bool "Support spear310"
2e07c249 473 select CPU_ARM926EJS
a5d67547 474 select BOARD_EARLY_INIT_F
15dc63d6 475 imply CMD_SAVES
d10fc50f 476 select PL011_SERIAL
dd84058d
MY
477
478config TARGET_SPEAR320
479 bool "Support spear320"
2e07c249 480 select CPU_ARM926EJS
a5d67547 481 select BOARD_EARLY_INIT_F
15dc63d6 482 imply CMD_SAVES
d10fc50f 483 select PL011_SERIAL
dd84058d
MY
484
485config TARGET_SPEAR600
486 bool "Support spear600"
2e07c249 487 select CPU_ARM926EJS
a5d67547 488 select BOARD_EARLY_INIT_F
15dc63d6 489 imply CMD_SAVES
d10fc50f 490 select PL011_SERIAL
dd84058d 491
9fa32b12
VM
492config TARGET_STV0991
493 bool "Support stv0991"
acf15001 494 select CPU_V7A
cac0ca76
MY
495 select DM
496 select DM_SERIAL
e67abcaa
VM
497 select DM_SPI
498 select DM_SPI_FLASH
f1b1f770 499 select SPI
e67abcaa 500 select SPI_FLASH
cf2c7784 501 select PL01X_SERIAL
9fa32b12 502
dd84058d
MY
503config TARGET_X600
504 bool "Support x600"
e5ec4815 505 select BOARD_LATE_INIT
2e07c249 506 select CPU_ARM926EJS
02627356 507 select SUPPORT_SPL
d10fc50f 508 select PL011_SERIAL
dd84058d 509
dd84058d
MY
510config TARGET_WOODBURN
511 bool "Support woodburn"
2e07c249 512 select CPU_ARM1136
dd84058d
MY
513
514config TARGET_WOODBURN_SD
515 bool "Support woodburn_sd"
2e07c249 516 select CPU_ARM1136
02627356 517 select SUPPORT_SPL
dd84058d
MY
518
519config TARGET_FLEA3
520 bool "Support flea3"
2e07c249 521 select CPU_ARM1136
dd84058d
MY
522
523config TARGET_MX35PDK
524 bool "Support mx35pdk"
e5ec4815 525 select BOARD_LATE_INIT
2e07c249 526 select CPU_ARM1136
dd84058d 527
ddf6bd48
MY
528config ARCH_BCM283X
529 bool "Broadcom BCM283X family"
58d423b8
MY
530 select DM
531 select DM_SERIAL
532 select DM_GPIO
76709096 533 select OF_CONTROL
cf2c7784 534 select PL01X_SERIAL
ae5326a6 535 select SERIAL_SEARCH_ALL
91d27a17 536 imply FAT_WRITE
46414296 537
dd84058d
MY
538config TARGET_VEXPRESS_CA15_TC2
539 bool "Support vexpress_ca15_tc2"
acf15001 540 select CPU_V7A
ea624e19
HG
541 select CPU_V7_HAS_NONSEC
542 select CPU_V7_HAS_VIRT
d10fc50f 543 select PL011_SERIAL
dd84058d
MY
544
545config TARGET_VEXPRESS_CA5X2
546 bool "Support vexpress_ca5x2"
acf15001 547 select CPU_V7A
d10fc50f 548 select PL011_SERIAL
dd84058d
MY
549
550config TARGET_VEXPRESS_CA9X4
551 bool "Support vexpress_ca9x4"
acf15001 552 select CPU_V7A
d10fc50f 553 select PL011_SERIAL
dd84058d 554
43486e4c
SR
555config TARGET_BCM23550_W1D
556 bool "Support bcm23550_w1d"
acf15001 557 select CPU_V7A
221a949e 558 imply CRC32_VERIFY
91d27a17 559 imply FAT_WRITE
43486e4c 560
dd84058d
MY
561config TARGET_BCM28155_AP
562 bool "Support bcm28155_ap"
acf15001 563 select CPU_V7A
221a949e 564 imply CRC32_VERIFY
91d27a17 565 imply FAT_WRITE
dd84058d 566
abb1678c
SR
567config TARGET_BCMCYGNUS
568 bool "Support bcmcygnus"
acf15001 569 select CPU_V7A
221a949e 570 imply CRC32_VERIFY
551c3934 571 imply CMD_HASH
91d27a17 572 imply FAT_WRITE
221a949e 573 imply HASH_VERIFY
c89782dc
SV
574 imply NETDEVICES
575 imply BCM_SF2_ETH
576 imply BCM_SF2_ETH_GMAC
9dec5270 577
abb1678c
SR
578config TARGET_BCMNSP
579 bool "Support bcmnsp"
acf15001 580 select CPU_V7A
9dec5270 581
274bced8
JM
582config TARGET_BCMNS2
583 bool "Support Broadcom Northstar2"
584 select ARM64
585 help
586 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
587 ARMv8 Cortex-A57 processors targeting a broad range of networking
588 applications
589
72df68cc
MY
590config ARCH_EXYNOS
591 bool "Samsung EXYNOS"
58d423b8 592 select DM
fc47cf9d 593 select DM_I2C
58d423b8
MY
594 select DM_SPI_FLASH
595 select DM_SERIAL
596 select DM_SPI
597 select DM_GPIO
1fa4bfde 598 select DM_KEYBOARD
f1b1f770 599 select SPI
91d27a17 600 imply FAT_WRITE
dd84058d 601
311757be
SG
602config ARCH_S5PC1XX
603 bool "Samsung S5PC1XX"
acf15001 604 select CPU_V7A
58d423b8
MY
605 select DM
606 select DM_SERIAL
607 select DM_GPIO
08848e9c 608 select DM_I2C
311757be 609
ef2b694c
MY
610config ARCH_HIGHBANK
611 bool "Calxeda Highbank"
acf15001 612 select CPU_V7A
d10fc50f 613 select PL011_SERIAL
dd84058d 614
5cbbd9bd
MY
615config ARCH_INTEGRATOR
616 bool "ARM Ltd. Integrator family"
3f394e70
LW
617 select DM
618 select DM_SERIAL
cf2c7784 619 select PL01X_SERIAL
5cbbd9bd 620
c338f09e
MY
621config ARCH_KEYSTONE
622 bool "TI Keystone"
acf15001 623 select CPU_V7A
02627356 624 select SUPPORT_SPL
3a649407 625 select SYS_THUMB_BUILD
534bc70e 626 select CMD_POWEROFF
7842b6a9 627 select SYS_ARCH_TIMER
d56b4b19 628 imply CMD_MTDPARTS
46f9ef18 629 imply FIT
15dc63d6 630 imply CMD_SAVES
dd84058d 631
a93fbf4a
MY
632config ARCH_OMAP2PLUS
633 bool "TI OMAP2+"
acf15001 634 select CPU_V7A
0680f1b1 635 select SPL_BOARD_INIT if SPL
ff6c3125 636 select SPL_STACK_R if SPL
a93fbf4a
MY
637 select SUPPORT_SPL
638 imply FIT
639
bfcef28a
BG
640config ARCH_MESON
641 bool "Amlogic Meson"
7325f6cf 642 imply DISTRO_DEFAULTS
bfcef28a
BG
643 help
644 Support for the Meson SoC family developed by Amlogic Inc.,
645 targeted at media players and tablet computers. We currently
646 support the S905 (GXBaby) 64-bit SoC.
647
7a7391fd
PF
648config ARCH_MX8M
649 bool "NXP i.MX8M platform"
650 select ARM64
651 select DM
652 select SUPPORT_SPL
653
c5343d4e
SA
654config ARCH_MX23
655 bool "NXP i.MX23 family"
656 select CPU_ARM926EJS
657 select PL011_SERIAL
658 select SUPPORT_SPL
659
07df697e
FE
660config ARCH_MX25
661 bool "NXP MX25"
662 select CPU_ARM926EJS
8bbff6a7 663 imply MXC_GPIO
07df697e 664
25c5b4e1
SA
665config ARCH_MX28
666 bool "NXP i.MX28 family"
667 select CPU_ARM926EJS
668 select PL011_SERIAL
669 select SUPPORT_SPL
670
3159ec64
ML
671config ARCH_MX31
672 bool "NXP i.MX31 family"
673 select CPU_ARM1136
674
e90a08da
PF
675config ARCH_MX7ULP
676 bool "NXP MX7ULP"
acf15001 677 select CPU_V7A
e90a08da 678 select ROM_UNIFIED_SECTIONS
8bbff6a7 679 imply MXC_GPIO
e90a08da 680
1a8150d4
AA
681config ARCH_MX7
682 bool "Freescale MX7"
acf15001 683 select CPU_V7A
2c2e2c9e
YS
684 select SYS_FSL_HAS_SEC if SECURE_BOOT
685 select SYS_FSL_SEC_COMPAT_4
90b80386 686 select SYS_FSL_SEC_LE
a5d67547 687 select BOARD_EARLY_INIT_F
4585601a 688 select ARCH_MISC_INIT
8bbff6a7 689 imply MXC_GPIO
1a8150d4 690
89ebc821
BB
691config ARCH_MX6
692 bool "Freescale MX6"
acf15001 693 select CPU_V7A
2c2e2c9e
YS
694 select SYS_FSL_HAS_SEC if SECURE_BOOT
695 select SYS_FSL_SEC_COMPAT_4
90b80386 696 select SYS_FSL_SEC_LE
3a649407 697 select SYS_THUMB_BUILD if SPL
8bbff6a7 698 imply MXC_GPIO
89ebc821 699
b529993e
PT
700if ARCH_MX6
701config SPL_LDSCRIPT
702 default "arch/arm/mach-omap2/u-boot-spl.lds"
703endif
704
424ee3d1
AR
705config ARCH_MX5
706 bool "Freescale MX5"
acf15001 707 select CPU_V7A
a5d67547 708 select BOARD_EARLY_INIT_F
8bbff6a7 709 imply MXC_GPIO
424ee3d1 710
97775d26
MS
711config ARCH_OWL
712 bool "Actions Semi OWL SoCs"
713 select ARM64
714 select DM
715 select DM_SERIAL
716 select OF_CONTROL
717
32f11829
TT
718config ARCH_QEMU
719 bool "QEMU Virtual Platform"
32f11829
TT
720 select DM
721 select DM_SERIAL
722 select OF_CONTROL
cf2c7784 723 select PL01X_SERIAL
32f11829 724
1cc95f6e 725config ARCH_RMOBILE
f40b9898 726 bool "Renesas ARM SoCs"
1cc95f6e
NI
727 select DM
728 select DM_SERIAL
a5d67547 729 select BOARD_EARLY_INIT_F
91d27a17 730 imply FAT_WRITE
3a649407 731 imply SYS_THUMB_BUILD
dd84058d 732
9702ec00
EP
733config TARGET_S32V234EVB
734 bool "Support s32v234evb"
735 select ARM64
c01e4a1a 736 select SYS_FSL_ERRATUM_ESDHC111
9702ec00 737
08592136
MK
738config ARCH_SNAPDRAGON
739 bool "Qualcomm Snapdragon SoCs"
740 select ARM64
741 select DM
742 select DM_GPIO
743 select DM_SERIAL
744 select SPMI
745 select OF_CONTROL
746 select OF_SEPARATE
747
7865f4b0
MY
748config ARCH_SOCFPGA
749 bool "Altera SOCFPGA family"
48befc00
MV
750 select ARCH_EARLY_INIT_R
751 select ARCH_MISC_INIT
acf15001 752 select CPU_V7A
1d9aa3e5 753 select DM
73172753 754 select DM_SERIAL
beee6a30 755 select ENABLE_ARM_SOC_BOOT0_HOOK
48befc00
MV
756 select OF_CONTROL
757 select SPL_LIBCOMMON_SUPPORT
758 select SPL_LIBDISK_SUPPORT
759 select SPL_LIBGENERIC_SUPPORT
760 select SPL_MMC_SUPPORT if DM_MMC
761 select SPL_NAND_SUPPORT if SPL_NAND_DENALI
762 select SPL_OF_CONTROL
763 select SPL_SERIAL_SUPPORT
73172753 764 select SPL_DM_SERIAL
48befc00
MV
765 select SPL_SPI_FLASH_SUPPORT if SPL_SPI_SUPPORT
766 select SPL_SPI_SUPPORT if DM_SPI
767 select SPL_WATCHDOG_SUPPORT
768 select SUPPORT_SPL
769 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
73172753 770 select SYS_NS16550
3a649407 771 select SYS_THUMB_BUILD
d56b4b19 772 imply CMD_MTDPARTS
221a949e 773 imply CRC32_VERIFY
fef4a545
SG
774 imply DM_SPI
775 imply DM_SPI_FLASH
91d27a17 776 imply FAT_WRITE
fef4a545
SG
777 imply HW_WATCHDOG
778 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
dd84058d 779
2c7e3b90
IC
780config ARCH_SUNXI
781 bool "Support sunxi (Allwinner) SoCs"
d6a0c78a 782 select BINMAN
88bb800d 783 select CMD_GPIO
0878a8a7 784 select CMD_MMC if MMC
2997ee50 785 select CMD_USB if DISTRO_DEFAULTS
b6006baf 786 select DM
45368827 787 select DM_ETH
211d57a4
HG
788 select DM_GPIO
789 select DM_KEYBOARD
45368827 790 select DM_SERIAL
2997ee50 791 select DM_USB if DISTRO_DEFAULTS
d75111a7 792 select OF_BOARD_SETUP
b6006baf
HG
793 select OF_CONTROL
794 select OF_SEPARATE
6f6b7cfa 795 select SPECIFY_CONSOLE_INDEX
ab43de80
TR
796 select SPL_STACK_R if SPL
797 select SPL_SYS_MALLOC_SIMPLE if SPL
6edf6a21 798 select SYS_NS16550
3a649407 799 select SPL_SYS_THUMB_BUILD if !ARM64
ce2e44d8 800 select SYS_THUMB_BUILD if !ARM64
2997ee50
YM
801 select USB if DISTRO_DEFAULTS
802 select USB_STORAGE if DISTRO_DEFAULTS
803 select USB_KEYBOARD if DISTRO_DEFAULTS
8c7d2296 804 select USE_TINY_PRINTF
a12fb0e3 805 imply CMD_GPT
7325f6cf 806 imply DISTRO_DEFAULTS
91d27a17 807 imply FAT_WRITE
eff264d7 808 imply OF_LIBFDT_OVERLAY
af83a604
MY
809 imply PRE_CONSOLE_BUFFER
810 imply SPL_GPIO_SUPPORT
811 imply SPL_LIBCOMMON_SUPPORT
812 imply SPL_LIBDISK_SUPPORT
813 imply SPL_LIBGENERIC_SUPPORT
4aa2ba3a 814 imply SPL_MMC_SUPPORT if MMC
af83a604
MY
815 imply SPL_POWER_SUPPORT
816 imply SPL_SERIAL_SUPPORT
654b02b1 817 imply USB_GADGET
8ebe4f42 818
7966b437
SA
819config ARCH_VF610
820 bool "Freescale Vybrid"
acf15001 821 select CPU_V7A
c01e4a1a 822 select SYS_FSL_ERRATUM_ESDHC111
d56b4b19 823 imply CMD_MTDPARTS
5bbc265b 824 imply NAND
e7b860fa 825
5ca269a4 826config ARCH_ZYNQ
b8d4497f 827 bool "Xilinx Zynq based platform"
e5ec4815 828 select BOARD_LATE_INIT
acf15001 829 select CPU_V7A
02627356 830 select SUPPORT_SPL
d065cfd9 831 select OF_CONTROL
0680f1b1 832 select SPL_BOARD_INIT if SPL
e6cc3b25 833 select BOARD_EARLY_INIT_F if WDT
eb04ab34 834 select SPL_OF_CONTROL if SPL
8981f05c 835 select DM
c4a142f4 836 select DM_ETH if NET
eb04ab34 837 select SPL_DM if SPL
c4a142f4 838 select DM_MMC if MMC
9f7a4502 839 select DM_SPI
42800ffa 840 select DM_SERIAL
9f7a4502 841 select DM_SPI_FLASH
eb04ab34 842 select SPL_SEPARATE_BSS if SPL
dec49e86 843 select DM_USB if USB
781745bd 844 select CLK
578d95e9 845 select SPL_CLK if SPL
781745bd 846 select CLK_ZYNQ
f1b1f770 847 select SPI
d315628e 848 imply CMD_CLK
91d27a17 849 imply FAT_WRITE
72c3033f 850 imply CMD_SPL
4aba5fb8 851 imply ARCH_EARLY_INIT_R
dd84058d 852
1d6c54ec
MS
853config ARCH_ZYNQMP_R5
854 bool "Xilinx ZynqMP R5 based platform"
855 select CPU_V7R
856 select OF_CONTROL
857 select DM
858 select DM_SERIAL
859 select CLK
860
0b54a9dd 861config ARCH_ZYNQMP
b8d4497f 862 bool "Xilinx ZynqMP based platform"
84c7204b 863 select ARM64
e5ec4815 864 select BOARD_LATE_INIT
c2490bf5
MS
865 select DM
866 select OF_CONTROL
867 select DM_SERIAL
e6a9ed04 868 select SUPPORT_SPL
1f29738a 869 select CLK
0680f1b1 870 select SPL_BOARD_INIT if SPL
2f03968e 871 select SPL_CLK if SPL
dec49e86 872 select DM_USB if USB
91d27a17 873 imply FAT_WRITE
84c7204b 874
ddd960e6
MY
875config TEGRA
876 bool "NVIDIA Tegra"
7325f6cf 877 imply DISTRO_DEFAULTS
91d27a17 878 imply FAT_WRITE
dd84058d 879
f91afc4d 880config TARGET_VEXPRESS64_AEMV8A
dd84058d 881 bool "Support vexpress_aemv8a"
016a954e 882 select ARM64
cf2c7784 883 select PL01X_SERIAL
dd84058d 884
f91afc4d
LW
885config TARGET_VEXPRESS64_BASE_FVP
886 bool "Support Versatile Express ARMv8a FVP BASE model"
887 select ARM64
888 select SEMIHOSTING
cf2c7784 889 select PL01X_SERIAL
f91afc4d 890
fc04b923
RH
891config TARGET_VEXPRESS64_BASE_FVP_DRAM
892 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
893 select ARM64
cf2c7784 894 select PL01X_SERIAL
fc04b923
RH
895 help
896 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
897 the default config to allow the user to load the images directly into
898 DRAM using model parameters rather than by using semi-hosting to load
899 the files from the host filesystem.
900
ffc10373
LW
901config TARGET_VEXPRESS64_JUNO
902 bool "Support Versatile Express Juno Development Platform"
903 select ARM64
cf2c7784 904 select PL01X_SERIAL
ffc10373 905
44937214
PK
906config TARGET_LS2080A_EMU
907 bool "Support ls2080a_emu"
fb2bf8c2 908 select ARCH_LS2080A
016a954e 909 select ARM64
23b5877c 910 select ARMV8_MULTIENTRY
4585601a 911 select ARCH_MISC_INIT
44937214
PK
912 help
913 Support for Freescale LS2080A_EMU platform
914 The LS2080A Development System (EMULATOR) is a pre silicon
915 development platform that supports the QorIQ LS2080A
916 Layerscape Architecture processor.
dd84058d 917
44937214
PK
918config TARGET_LS2080A_SIMU
919 bool "Support ls2080a_simu"
fb2bf8c2 920 select ARCH_LS2080A
016a954e 921 select ARM64
23b5877c 922 select ARMV8_MULTIENTRY
4585601a 923 select ARCH_MISC_INIT
44937214
PK
924 help
925 Support for Freescale LS2080A_SIMU platform
926 The LS2080A Development System (QDS) is a pre silicon
927 development platform that supports the QorIQ LS2080A
928 Layerscape Architecture processor.
dd84058d 929
7769776a
AK
930config TARGET_LS1088AQDS
931 bool "Support ls1088aqds"
932 select ARCH_LS1088A
933 select ARM64
934 select ARMV8_MULTIENTRY
935 select ARCH_MISC_INIT
936 select BOARD_LATE_INIT
91fded62 937 select SUPPORT_SPL
7769776a
AK
938 help
939 Support for NXP LS1088AQDS platform
940 The LS1088A Development System (QDS) is a high-performance
941 development platform that supports the QorIQ LS1088A
942 Layerscape Architecture processor.
943
44937214
PK
944config TARGET_LS2080AQDS
945 bool "Support ls2080aqds"
fb2bf8c2 946 select ARCH_LS2080A
7288c2c2
YS
947 select ARM64
948 select ARMV8_MULTIENTRY
e5ec4815 949 select BOARD_LATE_INIT
b2d5ac59 950 select SUPPORT_SPL
4585601a 951 select ARCH_MISC_INIT
fedb428c 952 imply SCSI
9fd95ef0 953 imply SCSI_AHCI
7288c2c2 954 help
44937214
PK
955 Support for Freescale LS2080AQDS platform
956 The LS2080A Development System (QDS) is a high-performance
957 development platform that supports the QorIQ LS2080A
7288c2c2
YS
958 Layerscape Architecture processor.
959
44937214
PK
960config TARGET_LS2080ARDB
961 bool "Support ls2080ardb"
fb2bf8c2 962 select ARCH_LS2080A
e2b65ea9
YS
963 select ARM64
964 select ARMV8_MULTIENTRY
e5ec4815 965 select BOARD_LATE_INIT
32eda7cc 966 select SUPPORT_SPL
4585601a 967 select ARCH_MISC_INIT
fedb428c 968 imply SCSI
9fd95ef0 969 imply SCSI_AHCI
e2b65ea9 970 help
44937214
PK
971 Support for Freescale LS2080ARDB platform.
972 The LS2080A Reference design board (RDB) is a high-performance
973 development platform that supports the QorIQ LS2080A
e2b65ea9
YS
974 Layerscape Architecture processor.
975
3049a583
PJ
976config TARGET_LS2081ARDB
977 bool "Support ls2081ardb"
978 select ARCH_LS2080A
979 select ARM64
980 select ARMV8_MULTIENTRY
981 select BOARD_LATE_INIT
982 select SUPPORT_SPL
983 select ARCH_MISC_INIT
984 help
985 Support for Freescale LS2081ARDB platform.
986 The LS2081A Reference design board (RDB) is a high-performance
987 development platform that supports the QorIQ LS2081A/LS2041A
988 Layerscape Architecture processor.
989
11ac2363
PG
990config TARGET_HIKEY
991 bool "Support HiKey 96boards Consumer Edition Platform"
992 select ARM64
efd7b60a
PG
993 select DM
994 select DM_GPIO
9c71bcdc 995 select DM_SERIAL
cd593ed6 996 select OF_CONTROL
cf2c7784 997 select PL01X_SERIAL
6f6b7cfa 998 select SPECIFY_CONSOLE_INDEX
11ac2363
PG
999 help
1000 Support for HiKey 96boards platform. It features a HI6220
1001 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
1002
d754254f
JRO
1003config TARGET_POPLAR
1004 bool "Support Poplar 96boards Enterprise Edition Platform"
1005 select ARM64
1006 select DM
1007 select OF_CONTROL
1008 select DM_SERIAL
1009 select DM_USB
cf2c7784 1010 select PL01X_SERIAL
d754254f
JRO
1011 help
1012 Support for Poplar 96boards EE platform. It features a HI3798cv200
1013 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
1014 making it capable of running any commercial set-top solution based on
1015 Linux or Android.
1016
9d044fcb
PK
1017config TARGET_LS1012AQDS
1018 bool "Support ls1012aqds"
9533acf3 1019 select ARCH_LS1012A
9d044fcb 1020 select ARM64
e5ec4815 1021 select BOARD_LATE_INIT
9d044fcb
PK
1022 help
1023 Support for Freescale LS1012AQDS platform.
1024 The LS1012A Development System (QDS) is a high-performance
1025 development platform that supports the QorIQ LS1012A
1026 Layerscape Architecture processor.
1027
3b6e3898
PK
1028config TARGET_LS1012ARDB
1029 bool "Support ls1012ardb"
9533acf3 1030 select ARCH_LS1012A
3b6e3898 1031 select ARM64
e5ec4815 1032 select BOARD_LATE_INIT
fedb428c 1033 imply SCSI
9fd95ef0 1034 imply SCSI_AHCI
3b6e3898
PK
1035 help
1036 Support for Freescale LS1012ARDB platform.
1037 The LS1012A Reference design board (RDB) is a high-performance
1038 development platform that supports the QorIQ LS1012A
1039 Layerscape Architecture processor.
1040
b0ce187b
BU
1041config TARGET_LS1012A2G5RDB
1042 bool "Support ls1012a2g5rdb"
1043 select ARCH_LS1012A
1044 select ARM64
1045 select BOARD_LATE_INIT
1046 imply SCSI
1047 help
1048 Support for Freescale LS1012A2G5RDB platform.
1049 The LS1012A 2G5 Reference design board (RDB) is a high-performance
1050 development platform that supports the QorIQ LS1012A
1051 Layerscape Architecture processor.
1052
9629ccdd
BU
1053config TARGET_LS1012AFRWY
1054 bool "Support ls1012afrwy"
1055 select ARCH_LS1012A
2d91b533 1056 select BOARD_LATE_INIT
9629ccdd
BU
1057 select ARM64
1058 imply SCSI
1059 imply SCSI_AHCI
1060 help
1061 Support for Freescale LS1012AFRWY platform.
1062 The LS1012A FRWY board (FRWY) is a high-performance
1063 development platform that supports the QorIQ LS1012A
1064 Layerscape Architecture processor.
1065
ff78aa2b
PK
1066config TARGET_LS1012AFRDM
1067 bool "Support ls1012afrdm"
9533acf3 1068 select ARCH_LS1012A
ff78aa2b
PK
1069 select ARM64
1070 help
1071 Support for Freescale LS1012AFRDM platform.
1072 The LS1012A Freedom board (FRDM) is a high-performance
1073 development platform that supports the QorIQ LS1012A
1074 Layerscape Architecture processor.
1075
e84a324b
AK
1076config TARGET_LS1088ARDB
1077 bool "Support ls1088ardb"
1078 select ARCH_LS1088A
1079 select ARM64
1080 select ARMV8_MULTIENTRY
1081 select ARCH_MISC_INIT
1082 select BOARD_LATE_INIT
099f4093 1083 select SUPPORT_SPL
e84a324b
AK
1084 help
1085 Support for NXP LS1088ARDB platform.
1086 The LS1088A Reference design board (RDB) is a high-performance
1087 development platform that supports the QorIQ LS1088A
1088 Layerscape Architecture processor.
1089
550e3dc0 1090config TARGET_LS1021AQDS
0de15707 1091 bool "Support ls1021aqds"
e5ec4815 1092 select BOARD_LATE_INIT
acf15001 1093 select CPU_V7A
adee1d4c
HZ
1094 select CPU_V7_HAS_NONSEC
1095 select CPU_V7_HAS_VIRT
50f0c663 1096 select SUPPORT_SPL
0a37cf8f 1097 select ARCH_LS1021A
217f92bb 1098 select ARCH_SUPPORT_PSCI
5e8bd7e1 1099 select LS1_DEEP_SLEEP
d26e34c4 1100 select SYS_FSL_DDR
a5d67547 1101 select BOARD_EARLY_INIT_F
fedb428c 1102 imply SCSI
217f92bb 1103
c8a7d9da 1104config TARGET_LS1021ATWR
0de15707 1105 bool "Support ls1021atwr"
e5ec4815 1106 select BOARD_LATE_INIT
acf15001 1107 select CPU_V7A
adee1d4c
HZ
1108 select CPU_V7_HAS_NONSEC
1109 select CPU_V7_HAS_VIRT
50f0c663 1110 select SUPPORT_SPL
0a37cf8f 1111 select ARCH_LS1021A
217f92bb 1112 select ARCH_SUPPORT_PSCI
5e8bd7e1 1113 select LS1_DEEP_SLEEP
a5d67547 1114 select BOARD_EARLY_INIT_F
fedb428c 1115 imply SCSI
c8a7d9da 1116
20c700f8
FL
1117config TARGET_LS1021AIOT
1118 bool "Support ls1021aiot"
e5ec4815 1119 select BOARD_LATE_INIT
acf15001 1120 select CPU_V7A
20c700f8
FL
1121 select CPU_V7_HAS_NONSEC
1122 select CPU_V7_HAS_VIRT
1123 select SUPPORT_SPL
1124 select ARCH_LS1021A
1125 select ARCH_SUPPORT_PSCI
fedb428c 1126 imply SCSI
20c700f8
FL
1127 help
1128 Support for Freescale LS1021AIOT platform.
1129 The LS1021A Freescale board (IOT) is a high-performance
1130 development platform that supports the QorIQ LS1021A
1131 Layerscape Architecture processor.
1132
02b5d2ed
SX
1133config TARGET_LS1043AQDS
1134 bool "Support ls1043aqds"
0a37cf8f 1135 select ARCH_LS1043A
02b5d2ed
SX
1136 select ARM64
1137 select ARMV8_MULTIENTRY
e5ec4815 1138 select BOARD_LATE_INIT
02b5d2ed 1139 select SUPPORT_SPL
a5d67547 1140 select BOARD_EARLY_INIT_F
fedb428c 1141 imply SCSI
02b5d2ed
SX
1142 help
1143 Support for Freescale LS1043AQDS platform.
1144
f3a8e2b7
MH
1145config TARGET_LS1043ARDB
1146 bool "Support ls1043ardb"
0a37cf8f 1147 select ARCH_LS1043A
f3a8e2b7 1148 select ARM64
831c068f 1149 select ARMV8_MULTIENTRY
e5ec4815 1150 select BOARD_LATE_INIT
3ad44729 1151 select SUPPORT_SPL
a5d67547 1152 select BOARD_EARLY_INIT_F
fedb428c 1153 imply SCSI
f3a8e2b7
MH
1154 help
1155 Support for Freescale LS1043ARDB platform.
1156
126fe70d
SX
1157config TARGET_LS1046AQDS
1158 bool "Support ls1046aqds"
da28e58a 1159 select ARCH_LS1046A
126fe70d
SX
1160 select ARM64
1161 select ARMV8_MULTIENTRY
e5ec4815 1162 select BOARD_LATE_INIT
126fe70d
SX
1163 select SUPPORT_SPL
1164 select DM_SPI_FLASH if DM_SPI
a5d67547 1165 select BOARD_EARLY_INIT_F
fedb428c 1166 imply SCSI
126fe70d
SX
1167 help
1168 Support for Freescale LS1046AQDS platform.
1169 The LS1046A Development System (QDS) is a high-performance
1170 development platform that supports the QorIQ LS1046A
1171 Layerscape Architecture processor.
1172
dd02936f
MH
1173config TARGET_LS1046ARDB
1174 bool "Support ls1046ardb"
da28e58a 1175 select ARCH_LS1046A
dd02936f
MH
1176 select ARM64
1177 select ARMV8_MULTIENTRY
e5ec4815 1178 select BOARD_LATE_INIT
dd02936f
MH
1179 select SUPPORT_SPL
1180 select DM_SPI_FLASH if DM_SPI
dccef2ec 1181 select POWER_MC34VR500
a5d67547 1182 select BOARD_EARLY_INIT_F
fedb428c 1183 imply SCSI
dd02936f
MH
1184 help
1185 Support for Freescale LS1046ARDB platform.
1186 The LS1046A Reference Design Board (RDB) is a high-performance
1187 development platform that supports the QorIQ LS1046A
1188 Layerscape Architecture processor.
1189
dd84058d
MY
1190config TARGET_H2200
1191 bool "Support h2200"
2e07c249 1192 select CPU_PXA
dd84058d 1193
f19eb154
VK
1194config TARGET_ZIPITZ2
1195 bool "Support zipitz2"
1196 select CPU_PXA
1197
dd84058d
MY
1198config TARGET_COLIBRI_PXA270
1199 bool "Support colibri_pxa270"
2e07c249 1200 select CPU_PXA
dd84058d 1201
66cba041 1202config ARCH_UNIPHIER
b6ef3a3f 1203 bool "Socionext UniPhier SoCs"
e5ec4815 1204 select BOARD_LATE_INIT
4e819950 1205 select DM
b800cbde 1206 select DM_GPIO
4e819950 1207 select DM_I2C
4aceb3f8 1208 select DM_MMC
4fb96c48 1209 select DM_RESET
b5550e49 1210 select DM_SERIAL
47a79f65 1211 select DM_USB
b5550e49
MY
1212 select OF_CONTROL
1213 select OF_LIBFDT
27350c92 1214 select PINCTRL
0680f1b1 1215 select SPL_BOARD_INIT if SPL
561ca649
MY
1216 select SPL_DM if SPL
1217 select SPL_LIBCOMMON_SUPPORT if SPL
1218 select SPL_LIBGENERIC_SUPPORT if SPL
1219 select SPL_OF_CONTROL if SPL
1220 select SPL_PINCTRL if SPL
b5550e49 1221 select SUPPORT_SPL
91d27a17 1222 imply FAT_WRITE
b6ef3a3f
MY
1223 help
1224 Support for UniPhier SoC family developed by Socionext Inc.
1225 (formerly, System LSI Business Division of Panasonic Corporation)
66cba041 1226
0a61ee88 1227config STM32
2514c2d0 1228 bool "Support STMicroelectronics STM32 MCU with cortex M"
ed09a554 1229 select CPU_V7M
66562414
KL
1230 select DM
1231 select DM_SERIAL
3a649407 1232 select SYS_THUMB_BUILD
ed09a554 1233
94e9a4ef
PC
1234config ARCH_STI
1235 bool "Support STMicrolectronics SoCs"
acf15001 1236 select CPU_V7A
214a17e6
PC
1237 select DM
1238 select DM_SERIAL
eee20f81
PC
1239 select BLK
1240 select DM_MMC
584861ff 1241 select DM_RESET
94e9a4ef
PC
1242 help
1243 Support for STMicroelectronics STiH407/10 SoC family.
1244 This SoC is used on Linaro 96Board STiH410-B2260
1245
2514c2d0
PD
1246config ARCH_STM32MP
1247 bool "Support STMicroelectronics STM32MP Socs with cortex A"
08772f6e 1248 select ARCH_MISC_INIT
2514c2d0
PD
1249 select BOARD_LATE_INIT
1250 select CLK
1251 select DM
1252 select DM_GPIO
1253 select DM_RESET
1254 select DM_SERIAL
1255 select OF_CONTROL
1256 select OF_LIBFDT
c3600e1f 1257 select MISC
2514c2d0
PD
1258 select PINCTRL
1259 select REGMAP
1260 select SUPPORT_SPL
1261 select SYSCON
86634a93 1262 select SYSRESET
2514c2d0
PD
1263 select SYS_THUMB_BUILD
1264 help
1265 Support for STM32MP SoC family developed by STMicroelectronics,
1266 MPUs based on ARM cortex A core
1267 U-BOOT is running in DDR and SPL support is the unsecure First Stage
1268 BootLoader (FSBL)
1269
2444dae5
SG
1270config ARCH_ROCKCHIP
1271 bool "Support Rockchip SoCs"
2444dae5 1272 select OF_CONTROL
aa15038c 1273 select BLK
2444dae5 1274 select DM
a381bcf5 1275 select SPL_DM if SPL
aa15038c 1276 select SYS_MALLOC_F
3a649407 1277 select SYS_THUMB_BUILD if !ARM64
a381bcf5 1278 select SPL_SYS_MALLOC_SIMPLE if SPL
aa15038c
SG
1279 select DM_GPIO
1280 select DM_I2C
1281 select DM_MMC
1282 select DM_SERIAL
1283 select DM_SPI
1284 select DM_SPI_FLASH
892742df 1285 select DM_USB if USB
8d29e3a4
KY
1286 select DM_PWM
1287 select DM_REGULATOR
14ad6eb2 1288 select ENABLE_ARM_SOC_BOOT0_HOOK
f1b1f770 1289 select SPI
7325f6cf 1290 imply DISTRO_DEFAULTS
91d27a17 1291 imply FAT_WRITE
48f6232e 1292 imply USB_FUNCTION_FASTBOOT
0532ceef 1293 imply SPL_SYSRESET
e19fa89c 1294 imply TPL_SYSRESET
8e8bcccc
PT
1295 imply ADC
1296 imply SARADC_ROCKCHIP
c3c0331d 1297 imply SYS_NS16550
2444dae5 1298
746f985a
ST
1299config TARGET_THUNDERX_88XX
1300 bool "Support ThunderX 88xx"
b4ba1693 1301 select ARM64
746f985a 1302 select OF_CONTROL
067716ba 1303 select SYS_CACHE_SHIFT_7
cf2c7784 1304 select PL01X_SERIAL
746f985a 1305
4697abea 1306config ARCH_ASPEED
1307 bool "Support Aspeed SoCs"
1308 select OF_CONTROL
1309 select DM
1310
dd84058d
MY
1311endchoice
1312
5fbed8f2
AD
1313config TI_SECURE_DEVICE
1314 bool "HS Device Type Support"
1315 depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS
1316 help
1317 If a high secure (HS) device type is being used, this config
1318 must be set. This option impacts various aspects of the
1319 build system (to create signed boot images that can be
1320 authenticated) and the code. See the doc/README.ti-secure
1321 file for further details.
1322
4697abea 1323source "arch/arm/mach-aspeed/Kconfig"
1324
4614b891
MY
1325source "arch/arm/mach-at91/Kconfig"
1326
ddf6bd48 1327source "arch/arm/mach-bcm283x/Kconfig"
3491ba63 1328
ddf6bd48 1329source "arch/arm/mach-davinci/Kconfig"
34e609ca 1330
77b55e8c 1331source "arch/arm/mach-exynos/Kconfig"
72df68cc 1332
72a8ff4b 1333source "arch/arm/mach-highbank/Kconfig"
ef2b694c 1334
5cbbd9bd
MY
1335source "arch/arm/mach-integrator/Kconfig"
1336
39a72345 1337source "arch/arm/mach-keystone/Kconfig"
c338f09e 1338
56f86e39 1339source "arch/arm/mach-kirkwood/Kconfig"
47539e23 1340
c3d89140
SR
1341source "arch/arm/mach-mvebu/Kconfig"
1342
0a37cf8f
YS
1343source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1344
07df697e
FE
1345source "arch/arm/mach-imx/mx2/Kconfig"
1346
3159ec64
ML
1347source "arch/arm/mach-imx/mx3/Kconfig"
1348
7a7391fd
PF
1349source "arch/arm/mach-imx/mx5/Kconfig"
1350
1351source "arch/arm/mach-imx/mx6/Kconfig"
e90a08da 1352
552a848e 1353source "arch/arm/mach-imx/mx7/Kconfig"
1a8150d4 1354
7a7391fd 1355source "arch/arm/mach-imx/mx7ulp/Kconfig"
89ebc821 1356
7a7391fd 1357source "arch/arm/mach-imx/mx8m/Kconfig"
424ee3d1 1358
c5343d4e
SA
1359source "arch/arm/mach-imx/mxs/Kconfig"
1360
983e3700 1361source "arch/arm/mach-omap2/Kconfig"
6384726d 1362
da28e58a
YS
1363source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1364
3e93b4e6 1365source "arch/arm/mach-orion5x/Kconfig"
22f2be7a 1366
97775d26
MS
1367source "arch/arm/mach-owl/Kconfig"
1368
badbb63c 1369source "arch/arm/mach-rmobile/Kconfig"
f40b9898 1370
bfcef28a
BG
1371source "arch/arm/mach-meson/Kconfig"
1372
32f11829
TT
1373source "arch/arm/mach-qemu/Kconfig"
1374
2444dae5
SG
1375source "arch/arm/mach-rockchip/Kconfig"
1376
225f5eec 1377source "arch/arm/mach-s5pc1xx/Kconfig"
311757be 1378
08592136
MK
1379source "arch/arm/mach-snapdragon/Kconfig"
1380
7865f4b0
MY
1381source "arch/arm/mach-socfpga/Kconfig"
1382
94e9a4ef
PC
1383source "arch/arm/mach-sti/Kconfig"
1384
0a61ee88
VM
1385source "arch/arm/mach-stm32/Kconfig"
1386
2514c2d0
PD
1387source "arch/arm/mach-stm32mp/Kconfig"
1388
3abfd887
MY
1389source "arch/arm/mach-sunxi/Kconfig"
1390
09f455dc 1391source "arch/arm/mach-tegra/Kconfig"
ddd960e6 1392
4c425570 1393source "arch/arm/mach-uniphier/Kconfig"
66cba041 1394
7966b437
SA
1395source "arch/arm/cpu/armv7/vf610/Kconfig"
1396
0107f240 1397source "arch/arm/mach-zynq/Kconfig"
ddd960e6 1398
1d6c54ec
MS
1399source "arch/arm/mach-zynqmp-r5/Kconfig"
1400
ea624e19
HG
1401source "arch/arm/cpu/armv7/Kconfig"
1402
75580007
SDPP
1403source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1404
23b5877c
LW
1405source "arch/arm/cpu/armv8/Kconfig"
1406
552a848e 1407source "arch/arm/mach-imx/Kconfig"
a05a6045 1408
d8ccbe93 1409source "board/bosch/shc/Kconfig"
dd84058d 1410source "board/CarMediaLab/flea3/Kconfig"
dd84058d 1411source "board/Marvell/aspenite/Kconfig"
dd84058d 1412source "board/Marvell/gplugd/Kconfig"
dd84058d 1413source "board/armadeus/apf27/Kconfig"
dd84058d
MY
1414source "board/armltd/vexpress/Kconfig"
1415source "board/armltd/vexpress64/Kconfig"
43486e4c 1416source "board/broadcom/bcm23550_w1d/Kconfig"
dd84058d 1417source "board/broadcom/bcm28155_ap/Kconfig"
abb1678c
SR
1418source "board/broadcom/bcmcygnus/Kconfig"
1419source "board/broadcom/bcmnsp/Kconfig"
274bced8 1420source "board/broadcom/bcmns2/Kconfig"
746f985a 1421source "board/cavium/thunderx/Kconfig"
dd84058d 1422source "board/cirrus/edb93xx/Kconfig"
85ab0452 1423source "board/eets/pdu001/Kconfig"
44937214
PK
1424source "board/freescale/ls2080a/Kconfig"
1425source "board/freescale/ls2080aqds/Kconfig"
1426source "board/freescale/ls2080ardb/Kconfig"
e84a324b 1427source "board/freescale/ls1088a/Kconfig"
550e3dc0 1428source "board/freescale/ls1021aqds/Kconfig"
02b5d2ed 1429source "board/freescale/ls1043aqds/Kconfig"
c8a7d9da 1430source "board/freescale/ls1021atwr/Kconfig"
20c700f8 1431source "board/freescale/ls1021aiot/Kconfig"
126fe70d 1432source "board/freescale/ls1046aqds/Kconfig"
f3a8e2b7 1433source "board/freescale/ls1043ardb/Kconfig"
dd02936f 1434source "board/freescale/ls1046ardb/Kconfig"
9d044fcb 1435source "board/freescale/ls1012aqds/Kconfig"
3b6e3898 1436source "board/freescale/ls1012ardb/Kconfig"
ff78aa2b 1437source "board/freescale/ls1012afrdm/Kconfig"
dd84058d 1438source "board/freescale/mx35pdk/Kconfig"
9702ec00 1439source "board/freescale/s32v234evb/Kconfig"
60083261 1440source "board/gdsys/a38x/Kconfig"
ab38bf6a 1441source "board/grinn/chiliboard/Kconfig"
dd84058d
MY
1442source "board/gumstix/pepper/Kconfig"
1443source "board/h2200/Kconfig"
345243ed 1444source "board/hisilicon/hikey/Kconfig"
d754254f 1445source "board/hisilicon/poplar/Kconfig"
a96c08f5 1446source "board/isee/igep003x/Kconfig"
dd84058d 1447source "board/phytec/pcm051/Kconfig"
dd84058d 1448source "board/silica/pengwyn/Kconfig"
dd84058d
MY
1449source "board/spear/spear300/Kconfig"
1450source "board/spear/spear310/Kconfig"
1451source "board/spear/spear320/Kconfig"
1452source "board/spear/spear600/Kconfig"
1453source "board/spear/x600/Kconfig"
9fa32b12 1454source "board/st/stv0991/Kconfig"
9d1b2987 1455source "board/tcl/sl50/Kconfig"
eba6589f 1456source "board/ucRobotics/bubblegum_96/Kconfig"
a2bc4321 1457source "board/birdland/bav335x/Kconfig"
dd84058d 1458source "board/timll/devkit3250/Kconfig"
dd84058d 1459source "board/toradex/colibri_pxa270/Kconfig"
6ce89324 1460source "board/vscom/baltos/Kconfig"
dd84058d 1461source "board/woodburn/Kconfig"
412ae53a 1462source "board/work-microwave/work_92105/Kconfig"
c436bf92 1463source "board/xilinx/zynqmp/Kconfig"
f19eb154 1464source "board/zipitz2/Kconfig"
dd84058d 1465
51b17d49
MY
1466source "arch/arm/Kconfig.debug"
1467
dd84058d 1468endmenu
b529993e
PT
1469
1470config SPL_LDSCRIPT
07a8f79e 1471 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
b529993e
PT
1472 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
1473 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
1474
1475