Kconfig 39.8 KB
Newer Older
1 2 3 4 5 6
menu "ARM architecture"
	depends on ARM

config SYS_ARCH
	default "arm"

7 8
config ARM64
	bool
9
	select PHYS_64BIT
10
	select SYS_CACHE_SHIFT_6
11

12 13 14 15 16 17 18 19 20 21
if ARM64
config POSITION_INDEPENDENT
	bool "Generate position-independent pre-relocation code"
	help
	  U-Boot expects to be linked to a specific hard-coded address, and to
	  be loaded to and run from that address. This option lifts that
	  restriction, thus allowing the code to be loaded to and executed
	  from almost any address. This logic relies on the relocation
	  information that is embedded into the binary to support U-Boot
	  relocating itself to the top-of-RAM later during execution.
22 23 24 25 26 27 28 29 30 31 32 33 34

config SYS_INIT_SP_BSS_OFFSET
	int
	help
	  U-Boot typically uses a hard-coded value for the stack pointer
	  before relocation. Define this option to instead calculate the
	  initial SP at run-time. This is useful to avoid hard-coding addresses
	  into U-Boot, so that can be loaded and executed at arbitrary
	  addresses and thus avoid using arbitrary addresses at runtime. This
	  option's value is the offset added to &_bss_start in order to
	  calculate the stack pointer. This offset should be large enough so
	  that the early malloc region, global data (gd), and early stack usage
	  do not overlap any appended DTB.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

config LINUX_KERNEL_IMAGE_HEADER
	bool
	help
	  Place a Linux kernel image header at the start of the U-Boot binary.
	  The format of the header is described in the Linux kernel source at
	  Documentation/arm64/booting.txt. This feature is useful since the
	  image header reports the amount of memory (BSS and similar) that
	  U-Boot needs to use, but which isn't part of the binary.

if LINUX_KERNEL_IMAGE_HEADER
config LNX_KRNL_IMG_TEXT_OFFSET_BASE
	hex
	help
	  The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the
	  TEXT_OFFSET value written in to the Linux kernel image header.
endif
52 53 54 55 56 57
endif

config STATIC_RELA
	bool
	default y if ARM64 && !POSITION_INDEPENDENT

58 59 60 61
config DMA_ADDR_T_64BIT
	bool
	default y if ARM64

62
config HAS_VBAR
63
	bool
64

65
config HAS_THUMB2
66
	bool
67

68 69 70 71 72 73 74 75 76
# Used for compatibility with asm files copied from the kernel
config ARM_ASM_UNIFIED
	bool
	default y

# Used for compatibility with asm files copied from the kernel
config THUMB2_KERNEL
	bool

77 78 79 80 81 82
config SYS_ICACHE_OFF
	bool "Do not enable icache"
	default n
	help
	  Do not enable instruction cache in U-Boot.

83 84 85 86 87 88 89
config SPL_SYS_ICACHE_OFF
	bool "Do not enable icache in SPL"
	depends on SPL
	default SYS_ICACHE_OFF
	help
	  Do not enable instruction cache in SPL.

90 91 92 93 94 95
config SYS_DCACHE_OFF
	bool "Do not enable dcache"
	default n
	help
	  Do not enable data cache in U-Boot.

96 97 98 99 100 101 102
config SPL_SYS_DCACHE_OFF
	bool "Do not enable dcache in SPL"
	depends on SPL
	default SYS_DCACHE_OFF
	help
	  Do not enable data cache in SPL.

103 104 105 106 107 108
config SYS_ARM_CACHE_CP15
	bool "CP15 based cache enabling support"
	help
	  Select this if your processor suports enabling caches by using
	  CP15 registers.

109 110
config SYS_ARM_MMU
	bool "MMU-based Paged Memory Management Support"
111
	select SYS_ARM_CACHE_CP15
112 113 114 115
	help
	  Select if you want MMU-based virtualised addressing space
	  support by paged memory management.

L
Lokesh Vutla 已提交
116 117 118 119 120 121 122 123 124
config SYS_ARM_MPU
	bool 'Use the ARM v7 PMSA Compliant MPU'
	help
	  Some ARM systems without an MMU have instead a Memory Protection
	  Unit (MPU) that defines the type and permissions for regions of
	  memory.
	  If your CPU has an MPU then you should choose 'y' here unless you
	  know that you do not want to use the MPU.

T
Tom Rini 已提交
125 126 127 128 129 130 131 132 133 134 135 136
# If set, the workarounds for these ARM errata are applied early during U-Boot
# startup. Note that in general these options force the workarounds to be
# applied; no CPU-type/version detection exists, unlike the similar options in
# the Linux kernel. Do not set these options unless they apply!  Also note that
# the following can be machine specific errata. These do have ability to
# provide rudimentary version and machine specific checks, but expect no
# product checks:
# CONFIG_ARM_ERRATA_430973
# CONFIG_ARM_ERRATA_454179
# CONFIG_ARM_ERRATA_621766
# CONFIG_ARM_ERRATA_798870
# CONFIG_ARM_ERRATA_801819
137
# CONFIG_ARM_CORTEX_A8_CVE_2017_5715
138
# CONFIG_ARM_CORTEX_A15_CVE_2017_5715
139

T
Tom Rini 已提交
140 141 142 143 144 145 146 147 148 149 150 151
config ARM_ERRATA_430973
	bool

config ARM_ERRATA_454179
	bool

config ARM_ERRATA_621766
	bool

config ARM_ERRATA_716044
	bool

152 153 154
config ARM_ERRATA_725233
	bool

T
Tom Rini 已提交
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
config ARM_ERRATA_742230
	bool

config ARM_ERRATA_743622
	bool

config ARM_ERRATA_751472
	bool

config ARM_ERRATA_761320
	bool

config ARM_ERRATA_773022
	bool

config ARM_ERRATA_774769
	bool

config ARM_ERRATA_794072
	bool

config ARM_ERRATA_798870
	bool

config ARM_ERRATA_801819
	bool

config ARM_ERRATA_826974
	bool

config ARM_ERRATA_828024
	bool

config ARM_ERRATA_829520
	bool

config ARM_ERRATA_833069
	bool

config ARM_ERRATA_833471
	bool

197
config ARM_ERRATA_845369
198
	bool
199

200 201 202 203 204 205
config ARM_ERRATA_852421
	bool

config ARM_ERRATA_852423
	bool

206 207 208
config ARM_ERRATA_855873
	bool

209 210 211
config ARM_CORTEX_A8_CVE_2017_5715
	bool

212 213 214
config ARM_CORTEX_A15_CVE_2017_5715
	bool

215
config CPU_ARM720T
216
	bool
217
	select SYS_CACHE_SHIFT_5
218
	imply SYS_ARM_MMU
219 220

config CPU_ARM920T
221
	bool
222
	select SYS_CACHE_SHIFT_5
223
	imply SYS_ARM_MMU
224 225

config CPU_ARM926EJS
226
	bool
227
	select SYS_CACHE_SHIFT_5
228
	imply SYS_ARM_MMU
229 230

config CPU_ARM946ES
231
	bool
232
	select SYS_CACHE_SHIFT_5
233
	imply SYS_ARM_MMU
234 235

config CPU_ARM1136
236
	bool
237
	select SYS_CACHE_SHIFT_5
238
	imply SYS_ARM_MMU
239 240

config CPU_ARM1176
241 242
	bool
	select HAS_VBAR
243
	select SYS_CACHE_SHIFT_5
244
	imply SYS_ARM_MMU
245

246
config CPU_V7A
247 248
	bool
	select HAS_THUMB2
249
	select HAS_VBAR
250
	select SYS_CACHE_SHIFT_6
251
	imply SYS_ARM_MMU
252

R
rev13@wp.pl 已提交
253 254
config CPU_V7M
	bool
255
	select HAS_THUMB2
L
Lokesh Vutla 已提交
256
	select SYS_ARM_MPU
257
	select SYS_CACHE_SHIFT_5
258
	select SYS_THUMB_BUILD
259
	select THUMB2_KERNEL
R
rev13@wp.pl 已提交
260

M
Michal Simek 已提交
261 262 263
config CPU_V7R
	bool
	select HAS_THUMB2
L
Lokesh Vutla 已提交
264
	select SYS_ARM_CACHE_CP15
265 266
	select SYS_ARM_MPU
	select SYS_CACHE_SHIFT_6
M
Michal Simek 已提交
267

268
config CPU_PXA
269
	bool
270
	select SYS_CACHE_SHIFT_5
271
	imply SYS_ARM_MMU
272 273

config CPU_SA1100
274
	bool
275
	select SYS_CACHE_SHIFT_5
276
	imply SYS_ARM_MMU
277 278

config SYS_CPU
279 280 281 282 283 284
	default "arm720t" if CPU_ARM720T
	default "arm920t" if CPU_ARM920T
	default "arm926ejs" if CPU_ARM926EJS
	default "arm946es" if CPU_ARM946ES
	default "arm1136" if CPU_ARM1136
	default "arm1176" if CPU_ARM1176
285
	default "armv7" if CPU_V7A
M
Michal Simek 已提交
286
	default "armv7" if CPU_V7R
287 288 289
	default "armv7m" if CPU_V7M
	default "pxa" if CPU_PXA
	default "sa1100" if CPU_SA1100
290
	default "armv8" if ARM64
291

292 293 294 295 296 297 298 299
config SYS_ARM_ARCH
	int
	default 4 if CPU_ARM720T
	default 4 if CPU_ARM920T
	default 5 if CPU_ARM926EJS
	default 5 if CPU_ARM946ES
	default 6 if CPU_ARM1136
	default 6 if CPU_ARM1176
300
	default 7 if CPU_V7A
301
	default 7 if CPU_V7M
M
Michal Simek 已提交
302
	default 7 if CPU_V7R
303 304 305 306
	default 5 if CPU_PXA
	default 4 if CPU_SA1100
	default 8 if ARM64

307 308 309 310 311 312 313 314 315 316 317 318 319 320 321
config SYS_CACHE_SHIFT_5
	bool

config SYS_CACHE_SHIFT_6
	bool

config SYS_CACHE_SHIFT_7
	bool

config SYS_CACHELINE_SIZE
	int
	default 128 if SYS_CACHE_SHIFT_7
	default 64 if SYS_CACHE_SHIFT_6
	default 32 if SYS_CACHE_SHIFT_5

322 323
config SYS_ARCH_TIMER
	bool "ARM Generic Timer support"
324
	depends on CPU_V7A || ARM64
325 326 327 328 329 330 331
	default y if ARM64
	help
	  The ARM Generic Timer (aka arch-timer) provides an architected
	  interface to a timer source on an SoC.
	  It is mandantory for ARMv8 implementation and widely available
	  on ARMv7 systems.

332 333
config ARM_SMCCC
	bool "Support for ARM SMC Calling Convention (SMCCC)"
334
	depends on CPU_V7A || ARM64
335
	select ARM_PSCI_FW
336 337 338 339 340
	help
	  Say Y here if you want to enable ARM SMC Calling Convention.
	  This should be enabled if U-Boot needs to communicate with system
	  firmware (for example, PSCI) according to SMCCC.

341 342 343 344 345 346 347
config SEMIHOSTING
	bool "support boot from semihosting"
	help
	  In emulated environments, semihosting is a way for
	  the hosted environment to call out to the emulator to
	  retrieve files from the host machine.

348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366
config SYS_THUMB_BUILD
	bool "Build U-Boot using the Thumb instruction set"
	depends on !ARM64
	help
	   Use this flag to build U-Boot using the Thumb instruction set for
	   ARM architectures. Thumb instruction set provides better code
	   density. For ARM architectures that support Thumb2 this flag will
	   result in Thumb2 code generated by GCC.

config SPL_SYS_THUMB_BUILD
	bool "Build SPL using the Thumb instruction set"
	default y if SYS_THUMB_BUILD
	depends on !ARM64
	help
	   Use this flag to build SPL using the Thumb instruction set for
	   ARM architectures. Thumb instruction set provides better code
	   density. For ARM architectures that support Thumb2 this flag will
	   result in Thumb2 code generated by GCC.

367 368 369 370 371 372 373 374 375 376 377
config TPL_SYS_THUMB_BUILD
	bool "Build TPL using the Thumb instruction set"
	default y if SYS_THUMB_BUILD
	depends on TPL && !ARM64
	help
	   Use this flag to build SPL using the Thumb instruction set for
	   ARM architectures. Thumb instruction set provides better code
	   density. For ARM architectures that support Thumb2 this flag will
	   result in Thumb2 code generated by GCC.


378 379 380 381 382 383
config SYS_L2CACHE_OFF
	bool "L2cache off"
	help
	  If SoC does not support L2CACHE or one do not want to enable
	  L2CACHE, choose this option.

384 385 386 387
config ENABLE_ARM_SOC_BOOT0_HOOK
	bool "prepare BOOT0 header"
	help
	  If the SoC's BOOT0 requires a header area filled with (magic)
388 389
	  values, then choose this option, and create a file included as
	  <asm/arch/boot0.h> which contains the required assembler code.
390

391 392 393 394
config ARM_CORTEX_CPU_IS_UP
	bool
	default n

395 396
config USE_ARCH_MEMCPY
	bool "Use an assembly optimized implementation of memcpy"
397 398 399 400 401 402 403 404
	default y
	depends on !ARM64
	help
	  Enable the generation of an optimized version of memcpy.
	  Such implementation may be faster under some conditions
	  but may increase the binary size.

config SPL_USE_ARCH_MEMCPY
405
	bool "Use an assembly optimized implementation of memcpy for SPL"
406
	default y if USE_ARCH_MEMCPY
407
	depends on !ARM64
408 409 410 411 412
	help
	  Enable the generation of an optimized version of memcpy.
	  Such implementation may be faster under some conditions
	  but may increase the binary size.

413 414 415 416 417 418 419 420 421
config TPL_USE_ARCH_MEMCPY
	bool "Use an assembly optimized implementation of memcpy for TPL"
	default y if USE_ARCH_MEMCPY
	depends on !ARM64
	help
	  Enable the generation of an optimized version of memcpy.
	  Such implementation may be faster under some conditions
	  but may increase the binary size.

422 423
config USE_ARCH_MEMSET
	bool "Use an assembly optimized implementation of memset"
424 425 426 427 428 429 430 431
	default y
	depends on !ARM64
	help
	  Enable the generation of an optimized version of memset.
	  Such implementation may be faster under some conditions
	  but may increase the binary size.

config SPL_USE_ARCH_MEMSET
432
	bool "Use an assembly optimized implementation of memset for SPL"
433
	default y if USE_ARCH_MEMSET
434
	depends on !ARM64
435 436 437 438 439
	help
	  Enable the generation of an optimized version of memset.
	  Such implementation may be faster under some conditions
	  but may increase the binary size.

440 441 442 443 444 445 446 447 448
config TPL_USE_ARCH_MEMSET
	bool "Use an assembly optimized implementation of memset for TPL"
	default y if USE_ARCH_MEMSET
	depends on !ARM64
	help
	  Enable the generation of an optimized version of memset.
	  Such implementation may be faster under some conditions
	  but may increase the binary size.

449 450 451 452 453 454
config ARM64_SUPPORT_AARCH32
	bool "ARM64 system support AArch32 execution state"
	default y if ARM64 && !TARGET_THUNDERX_88XX
	help
	  This ARM64 system supports AArch32 execution state.

455 456
choice
	prompt "Target select"
S
Simon Glass 已提交
457
	default TARGET_HIKEY
458

459 460
config ARCH_AT91
	bool "Atmel AT91"
461
	select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
462 463 464

config TARGET_EDB93XX
	bool "Support edb93xx"
465
	select CPU_ARM920T
466
	select PL010_SERIAL
467 468 469

config TARGET_ASPENITE
	bool "Support aspenite"
470
	select CPU_ARM926EJS
471 472 473

config TARGET_GPLUGD
	bool "Support gplugd"
474
	select CPU_ARM926EJS
475

476 477
config ARCH_DAVINCI
	bool "TI DaVinci"
478
	select CPU_ARM926EJS
479
	imply CMD_SAVES
480 481
	help
	  Support for TI's DaVinci platform.
482

483 484
config KIRKWOOD
	bool "Marvell Kirkwood"
485
	select ARCH_MISC_INIT
486 487
	select BOARD_EARLY_INIT_F
	select CPU_ARM926EJS
488

489
config ARCH_MVEBU
490
	bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
491
	select DM
492
	select DM_ETH
493
	select DM_SERIAL
494 495
	select DM_SPI
	select DM_SPI_FLASH
496 497
	select OF_CONTROL
	select OF_SEPARATE
A
Adam Ford 已提交
498
	select SPI
M
Michal Simek 已提交
499
	imply CMD_DM
500

501 502
config TARGET_APF27
	bool "Support apf27"
503
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
504
	select SUPPORT_SPL
505

506 507
config ORION5X
	bool "Marvell Orion"
508
	select CPU_ARM926EJS
509 510 511

config TARGET_SPEAR300
	bool "Support spear300"
512
	select BOARD_EARLY_INIT_F
513
	select CPU_ARM926EJS
514
	select PL011_SERIAL
515
	imply CMD_SAVES
516 517 518

config TARGET_SPEAR310
	bool "Support spear310"
519
	select BOARD_EARLY_INIT_F
520
	select CPU_ARM926EJS
521
	select PL011_SERIAL
522
	imply CMD_SAVES
523 524 525

config TARGET_SPEAR320
	bool "Support spear320"
526
	select BOARD_EARLY_INIT_F
527
	select CPU_ARM926EJS
528
	select PL011_SERIAL
529
	imply CMD_SAVES
530 531 532

config TARGET_SPEAR600
	bool "Support spear600"
533
	select BOARD_EARLY_INIT_F
534
	select CPU_ARM926EJS
535
	select PL011_SERIAL
536
	imply CMD_SAVES
537

538 539
config TARGET_STV0991
	bool "Support stv0991"
540
	select CPU_V7A
541 542
	select DM
	select DM_SERIAL
543 544
	select DM_SPI
	select DM_SPI_FLASH
545
	select PL01X_SERIAL
A
Adam Ford 已提交
546
	select SPI
547
	select SPI_FLASH
M
Michal Simek 已提交
548
	imply CMD_DM
549

550 551
config TARGET_X600
	bool "Support x600"
552
	select BOARD_LATE_INIT
553
	select CPU_ARM926EJS
554
	select PL011_SERIAL
555
	select SUPPORT_SPL
556 557 558

config TARGET_WOODBURN
	bool "Support woodburn"
559
	select CPU_ARM1136
560 561 562

config TARGET_WOODBURN_SD
	bool "Support woodburn_sd"
563
	select CPU_ARM1136
M
Masahiro Yamada 已提交
564
	select SUPPORT_SPL
565 566 567

config TARGET_FLEA3
	bool "Support flea3"
568
	select CPU_ARM1136
569 570 571

config TARGET_MX35PDK
	bool "Support mx35pdk"
572
	select BOARD_LATE_INIT
573
	select CPU_ARM1136
574

575 576
config ARCH_BCM283X
	bool "Broadcom BCM283X family"
M
Masahiro Yamada 已提交
577 578
	select DM
	select DM_GPIO
579
	select DM_SERIAL
580
	select OF_CONTROL
581
	select PL01X_SERIAL
582
	select SERIAL_SEARCH_ALL
M
Michal Simek 已提交
583
	imply CMD_DM
T
Tom Rini 已提交
584
	imply FAT_WRITE
585

P
Philippe Reynes 已提交
586 587 588 589 590 591
config ARCH_BCM63158
	bool "Broadcom BCM63158 family"
	select DM
	select OF_CONTROL
	imply CMD_DM

P
Philippe Reynes 已提交
592 593 594 595 596 597
config ARCH_BCM6858
	bool "Broadcom BCM6858 family"
	select DM
	select OF_CONTROL
	imply CMD_DM

598 599
config TARGET_VEXPRESS_CA15_TC2
	bool "Support vexpress_ca15_tc2"
600
	select CPU_V7A
601 602
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
603
	select PL011_SERIAL
604

605 606 607 608 609 610
config ARCH_BCMSTB
	bool "Broadcom BCM7XXX family"
	select CPU_V7A
	select DM
	select OF_CONTROL
	select OF_PRIOR_STAGE
M
Michal Simek 已提交
611
	imply CMD_DM
612 613 614 615
	help
	  This enables support for Broadcom ARM-based set-top box
	  chipsets, including the 7445 family of chips.

616 617
config TARGET_VEXPRESS_CA5X2
	bool "Support vexpress_ca5x2"
618
	select CPU_V7A
619
	select PL011_SERIAL
620 621 622

config TARGET_VEXPRESS_CA9X4
	bool "Support vexpress_ca9x4"
623
	select CPU_V7A
624
	select PL011_SERIAL
625

626 627
config TARGET_BCM23550_W1D
	bool "Support bcm23550_w1d"
628
	select CPU_V7A
629
	imply CRC32_VERIFY
T
Tom Rini 已提交
630
	imply FAT_WRITE
631

632 633
config TARGET_BCM28155_AP
	bool "Support bcm28155_ap"
634
	select CPU_V7A
635
	imply CRC32_VERIFY
T
Tom Rini 已提交
636
	imply FAT_WRITE
637

S
Steve Rae 已提交
638 639
config TARGET_BCMCYGNUS
	bool "Support bcmcygnus"
640
	select CPU_V7A
641 642
	imply BCM_SF2_ETH
	imply BCM_SF2_ETH_GMAC
S
Simon Glass 已提交
643
	imply CMD_HASH
644
	imply CRC32_VERIFY
T
Tom Rini 已提交
645
	imply FAT_WRITE
646
	imply HASH_VERIFY
647
	imply NETDEVICES
648

S
Steve Rae 已提交
649 650
config TARGET_BCMNSP
	bool "Support bcmnsp"
651
	select CPU_V7A
652

653 654 655 656 657 658 659 660
config TARGET_BCMNS2
	bool "Support Broadcom Northstar2"
	select ARM64
	help
	  Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
	  ARMv8 Cortex-A57 processors targeting a broad range of networking
	  applications

661 662
config ARCH_EXYNOS
	bool "Samsung EXYNOS"
M
Masahiro Yamada 已提交
663
	select DM
664
	select DM_GPIO
665
	select DM_I2C
666
	select DM_KEYBOARD
M
Masahiro Yamada 已提交
667 668
	select DM_SERIAL
	select DM_SPI
669
	select DM_SPI_FLASH
A
Adam Ford 已提交
670
	select SPI
G
Guillaume GARDET 已提交
671
	imply SYS_THUMB_BUILD
M
Michal Simek 已提交
672
	imply CMD_DM
T
Tom Rini 已提交
673
	imply FAT_WRITE
674

675 676
config ARCH_S5PC1XX
	bool "Samsung S5PC1XX"
677
	select CPU_V7A
M
Masahiro Yamada 已提交
678 679
	select DM
	select DM_GPIO
680
	select DM_I2C
681
	select DM_SERIAL
M
Michal Simek 已提交
682
	imply CMD_DM
683

684 685
config ARCH_HIGHBANK
	bool "Calxeda Highbank"
686
	select CPU_V7A
687
	select PL011_SERIAL
688

689 690
config ARCH_INTEGRATOR
	bool "ARM Ltd. Integrator family"
691 692
	select DM
	select DM_SERIAL
693
	select PL01X_SERIAL
M
Michal Simek 已提交
694
	imply CMD_DM
695

696 697
config ARCH_KEYSTONE
	bool "TI Keystone"
698
	select CMD_POWEROFF
699
	select CPU_V7A
M
Masahiro Yamada 已提交
700
	select SUPPORT_SPL
701
	select SYS_ARCH_TIMER
702
	select SYS_THUMB_BUILD
703
	imply CMD_MTDPARTS
704
	imply CMD_SAVES
705
	imply FIT
706

707 708 709 710 711 712
config ARCH_K3
	bool "Texas Instruments' K3 Architecture"
	select SPL
	select SUPPORT_SPL
	select FIT

713 714
config ARCH_OMAP2PLUS
	bool "TI OMAP2+"
715
	select CPU_V7A
716
	select SPL_BOARD_INIT if SPL
717
	select SPL_STACK_R if SPL
718 719 720
	select SUPPORT_SPL
	imply FIT

721 722
config ARCH_MESON
	bool "Amlogic Meson"
723
	imply DISTRO_DEFAULTS
724 725 726 727 728
	help
	  Support for the Meson SoC family developed by Amlogic Inc.,
	  targeted at media players and tablet computers. We currently
	  support the S905 (GXBaby) 64-bit SoC.

729 730 731 732 733 734 735 736 737 738 739 740 741 742
config ARCH_MEDIATEK
	bool "MediaTek SoCs"
	select BINMAN
	select DM
	select OF_CONTROL
	select SPL_DM if SPL
	select SPL_LIBCOMMON_SUPPORT if SPL
	select SPL_LIBGENERIC_SUPPORT if SPL
	select SPL_OF_CONTROL if SPL
	select SUPPORT_SPL
	help
	  Support for the MediaTek SoCs family developed by MediaTek Inc.
	  Please refer to doc/README.mediatek for more information.

743 744 745 746 747 748 749 750 751 752
config ARCH_LPC32XX
	bool "NXP LPC32xx platform"
	select CPU_ARM926EJS
	select DM
	select DM_GPIO
	select DM_SERIAL
	select SPL_DM if SPL
	select SUPPORT_SPL
	imply CMD_DM

P
Peng Fan 已提交
753 754 755 756 757 758
config ARCH_IMX8
	bool "NXP i.MX8 platform"
	select ARM64
	select DM
	select OF_CONTROL

P
Peng Fan 已提交
759
config ARCH_IMX8M
P
Peng Fan 已提交
760 761 762 763
	bool "NXP i.MX8M platform"
	select ARM64
	select DM
	select SUPPORT_SPL
M
Michal Simek 已提交
764
	imply CMD_DM
P
Peng Fan 已提交
765

766 767 768 769 770 771
config ARCH_MX23
	bool "NXP i.MX23 family"
	select CPU_ARM926EJS
	select PL011_SERIAL
	select SUPPORT_SPL

772 773 774
config ARCH_MX25
	bool "NXP MX25"
	select CPU_ARM926EJS
A
Adam Ford 已提交
775
	imply MXC_GPIO
776

777 778 779 780 781 782
config ARCH_MX28
	bool "NXP i.MX28 family"
	select CPU_ARM926EJS
	select PL011_SERIAL
	select SUPPORT_SPL

783 784 785 786
config ARCH_MX31
	bool "NXP i.MX31 family"
	select CPU_ARM1136

P
Peng Fan 已提交
787
config ARCH_MX7ULP
788
	bool "NXP MX7ULP"
789
	select CPU_V7A
P
Peng Fan 已提交
790
	select ROM_UNIFIED_SECTIONS
A
Adam Ford 已提交
791
	imply MXC_GPIO
P
Peng Fan 已提交
792

793 794
config ARCH_MX7
	bool "Freescale MX7"
795 796
	select ARCH_MISC_INIT
	select BOARD_EARLY_INIT_F
797
	select CPU_V7A
798 799
	select SYS_FSL_HAS_SEC if SECURE_BOOT
	select SYS_FSL_SEC_COMPAT_4
800
	select SYS_FSL_SEC_LE
A
Adam Ford 已提交
801
	imply MXC_GPIO
802

803 804
config ARCH_MX6
	bool "Freescale MX6"
805
	select CPU_V7A
806 807
	select SYS_FSL_HAS_SEC if SECURE_BOOT
	select SYS_FSL_SEC_COMPAT_4
808
	select SYS_FSL_SEC_LE
809
	select SYS_THUMB_BUILD if SPL
A
Adam Ford 已提交
810
	imply MXC_GPIO
811

812 813
if ARCH_MX6
config SPL_LDSCRIPT
814
	default "arch/arm/mach-omap2/u-boot-spl.lds"
815 816
endif

817 818
config ARCH_MX5
	bool "Freescale MX5"
819
	select BOARD_EARLY_INIT_F
820
	select CPU_V7A
A
Adam Ford 已提交
821
	imply MXC_GPIO
822

823 824 825 826 827 828
config ARCH_OWL
	bool "Actions Semi OWL SoCs"
	select ARM64
	select DM
	select DM_SERIAL
	select OF_CONTROL
M
Michal Simek 已提交
829
	imply CMD_DM
830

831 832 833 834 835
config ARCH_QEMU
	bool "QEMU Virtual Platform"
	select DM
	select DM_SERIAL
	select OF_CONTROL
836
	select PL01X_SERIAL
M
Michal Simek 已提交
837
	imply CMD_DM
838 839
	imply DM_RTC
	imply RTC_PL031
840

841
config ARCH_RMOBILE
842
	bool "Renesas ARM SoCs"
843
	select BOARD_EARLY_INIT_F if !RZA1
844 845
	select DM
	select DM_SERIAL
M
Michal Simek 已提交
846
	imply CMD_DM
T
Tom Rini 已提交
847
	imply FAT_WRITE
848
	imply SYS_THUMB_BUILD
849
	imply ARCH_MISC_INIT if DISPLAY_CPUINFO
850

851 852 853
config TARGET_S32V234EVB
	bool "Support s32v234evb"
	select ARM64
854
	select SYS_FSL_ERRATUM_ESDHC111
855

856 857 858 859 860 861
config ARCH_SNAPDRAGON
	bool "Qualcomm Snapdragon SoCs"
	select ARM64
	select DM
	select DM_GPIO
	select DM_SERIAL
862
	select MSM_SMEM
863 864
	select OF_CONTROL
	select OF_SEPARATE
865
	select SMEM
866
	select SPMI
M
Michal Simek 已提交
867
	imply CMD_DM
868

869 870
config ARCH_SOCFPGA
	bool "Altera SOCFPGA family"
871
	select ARCH_EARLY_INIT_R
872
	select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
873
	select ARM64 if TARGET_SOCFPGA_STRATIX10
874
	select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
875
	select DM
M
Marek Vasut 已提交
876
	select DM_SERIAL
877
	select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
878
	select OF_CONTROL
879
	select SPL_DM_RESET if DM_RESET
880
	select SPL_DM_SERIAL
881 882 883 884
	select SPL_LIBCOMMON_SUPPORT
	select SPL_LIBGENERIC_SUPPORT
	select SPL_NAND_SUPPORT if SPL_NAND_DENALI
	select SPL_OF_CONTROL
885
	select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
886 887 888
	select SPL_SERIAL_SUPPORT
	select SPL_WATCHDOG_SUPPORT
	select SUPPORT_SPL
M
Marek Vasut 已提交
889
	select SYS_NS16550
890
	select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
M
Michal Simek 已提交
891
	imply CMD_DM
892
	imply CMD_MTDPARTS
893
	imply CRC32_VERIFY
894 895
	imply DM_SPI
	imply DM_SPI_FLASH
T
Tom Rini 已提交
896
	imply FAT_WRITE
897 898
	imply SPL
	imply SPL_DM
899 900
	imply SPL_LIBDISK_SUPPORT
	imply SPL_MMC_SUPPORT
901
	imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
902
	imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
903 904
	imply SPL_SPI_FLASH_SUPPORT
	imply SPL_SPI_SUPPORT
905
	imply L2X0_CACHE
906

907 908
config ARCH_SUNXI
	bool "Support sunxi (Allwinner) SoCs"
909
	select BINMAN
910
	select CMD_GPIO
911
	select CMD_MMC if MMC
912
	select CMD_USB if DISTRO_DEFAULTS
J
Jagan Teki 已提交
913
	select CLK
914
	select DM
915
	select DM_ETH
H
Hans de Goede 已提交
916 917
	select DM_GPIO
	select DM_KEYBOARD
918 919
	select DM_MMC if MMC
	select DM_SCSI if SCSI
920
	select DM_SERIAL
921
	select DM_USB if DISTRO_DEFAULTS
922
	select OF_BOARD_SETUP
923 924
	select OF_CONTROL
	select OF_SEPARATE
925
	select SPECIFY_CONSOLE_INDEX
926 927
	select SPL_STACK_R if SPL
	select SPL_SYS_MALLOC_SIMPLE if SPL
928
	select SPL_SYS_THUMB_BUILD if !ARM64
929
	select SYS_NS16550
930
	select SYS_THUMB_BUILD if !ARM64
931 932
	select USB if DISTRO_DEFAULTS
	select USB_KEYBOARD if DISTRO_DEFAULTS
933
	select USB_STORAGE if DISTRO_DEFAULTS
H
Hans de Goede 已提交
934
	select USE_TINY_PRINTF
M
Michal Simek 已提交
935
	imply CMD_DM
M
Maxime Ripard 已提交
936
	imply CMD_GPT
937
	imply CMD_UBI if NAND
938
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
939
	imply FAT_WRITE
M
Marek Vasut 已提交
940
	imply FIT
941
	imply OF_LIBFDT_OVERLAY
942 943 944 945
	imply PRE_CONSOLE_BUFFER
	imply SPL_GPIO_SUPPORT
	imply SPL_LIBCOMMON_SUPPORT
	imply SPL_LIBGENERIC_SUPPORT
946
	imply SPL_MMC_SUPPORT if MMC
947 948
	imply SPL_POWER_SUPPORT
	imply SPL_SERIAL_SUPPORT
M
Maxime Ripard 已提交
949
	imply USB_GADGET
C
Chen-Yu Tsai 已提交
950

951 952 953 954 955
config ARCH_VERSAL
	bool "Support Xilinx Versal Platform"
	select ARM64
	select CLK
	select DM
956 957
	select DM_ETH if NET
	select DM_MMC if MMC
958 959 960
	select DM_SERIAL
	select OF_CONTROL

961 962
config ARCH_VF610
	bool "Freescale Vybrid"
963
	select CPU_V7A
964
	select SYS_FSL_ERRATUM_ESDHC111
965
	imply CMD_MTDPARTS
A
Adam Ford 已提交
966
	imply NAND
967

968
config ARCH_ZYNQ
969
	bool "Xilinx Zynq based platform"
970 971 972
	select BOARD_EARLY_INIT_F if WDT
	select CLK
	select CLK_ZYNQ
973
	select CPU_V7A
974
	select DM
975 976
	select DM_ETH if NET
	select DM_MMC if MMC
977
	select DM_SERIAL
978
	select DM_SPI
979
	select DM_SPI_FLASH
980
	select DM_USB if USB
981
	select OF_CONTROL
A
Adam Ford 已提交
982
	select SPI
983 984 985 986 987 988 989
	select SPL_BOARD_INIT if SPL
	select SPL_CLK if SPL
	select SPL_DM if SPL
	select SPL_OF_CONTROL if SPL
	select SPL_SEPARATE_BSS if SPL
	select SUPPORT_SPL
	imply ARCH_EARLY_INIT_R
990
	imply BOARD_LATE_INIT
S
Simon Glass 已提交
991
	imply CMD_CLK
M
Michal Simek 已提交
992
	imply CMD_DM
S
Simon Glass 已提交
993
	imply CMD_SPL
994
	imply FAT_WRITE
995

996 997
config ARCH_ZYNQMP_R5
	bool "Xilinx ZynqMP R5 based platform"
998
	select CLK
999 1000
	select CPU_V7R
	select DM
1001 1002
	select DM_ETH if NET
	select DM_MMC if MMC
1003
	select DM_SERIAL
1004
	select OF_CONTROL
M
Michal Simek 已提交
1005
	imply CMD_DM
1006
	imply DM_USB_GADGET
1007

1008
config ARCH_ZYNQMP
1009
	bool "Xilinx ZynqMP based platform"
M
Michal Simek 已提交
1010
	select ARM64
1011
	select CLK
1012
	select DM
1013 1014
	select DM_ETH if NET
	select DM_MMC if MMC
1015
	select DM_SERIAL
1016 1017
	select DM_SPI if SPI
	select DM_SPI_FLASH if DM_SPI
1018 1019
	select DM_USB if USB
	select OF_CONTROL
1020
	select SPL_BOARD_INIT if SPL
1021
	select SPL_CLK if SPL
1022
	select SPL_SEPARATE_BSS if SPL
1023
	select SUPPORT_SPL
1024
	imply BOARD_LATE_INIT
M
Michal Simek 已提交
1025
	imply CMD_DM
T
Tom Rini 已提交
1026
	imply FAT_WRITE
1027
	imply MP
1028
	imply DM_USB_GADGET
M
Michal Simek 已提交
1029

1030 1031
config TEGRA
	bool "NVIDIA Tegra"
1032
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
1033
	imply FAT_WRITE
1034

1035
config TARGET_VEXPRESS64_AEMV8A
1036
	bool "Support vexpress_aemv8a"
1037
	select ARM64
1038
	select PL01X_SERIAL
1039

1040 1041 1042
config TARGET_VEXPRESS64_BASE_FVP
	bool "Support Versatile Express ARMv8a FVP BASE model"
	select ARM64
1043
	select PL01X_SERIAL
1044
	select SEMIHOSTING
1045

1046 1047 1048
config TARGET_VEXPRESS64_BASE_FVP_DRAM
	bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
	select ARM64
1049
	select PL01X_SERIAL
1050 1051 1052 1053 1054 1055
	help
	  This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
	  the default config to allow the user to load the images directly into
	  DRAM using model parameters rather than by using semi-hosting to load
	  the files from the host filesystem.

1056 1057 1058
config TARGET_VEXPRESS64_JUNO
	bool "Support Versatile Express Juno Development Platform"
	select ARM64
1059
	select PL01X_SERIAL
1060

1061 1062
config TARGET_LS2080A_EMU
	bool "Support ls2080a_emu"
1063
	select ARCH_LS2080A
1064
	select ARCH_MISC_INIT
1065
	select ARM64
1066
	select ARMV8_MULTIENTRY
1067
	select FSL_DDR_SYNC_REFRESH
1068 1069 1070 1071 1072
	help
	  Support for Freescale LS2080A_EMU platform
	  The LS2080A Development System (EMULATOR) is a pre silicon
	  development platform that supports the QorIQ LS2080A
	  Layerscape Architecture processor.
1073

1074 1075
config TARGET_LS2080A_SIMU
	bool "Support ls2080a_simu"
1076
	select ARCH_LS2080A
1077
	select ARCH_MISC_INIT
1078
	select ARM64
1079
	select ARMV8_MULTIENTRY
1080 1081 1082 1083 1084
	help
	  Support for Freescale LS2080A_SIMU platform
	  The LS2080A Development System (QDS) is a pre silicon
	  development platform that supports the QorIQ LS2080A
	  Layerscape Architecture processor.
1085

1086 1087 1088
config TARGET_LS1088AQDS
	bool "Support ls1088aqds"
	select ARCH_LS1088A
1089
	select ARCH_MISC_INIT
1090 1091 1092
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
1093
	select SUPPORT_SPL
1094
	select FSL_DDR_INTERACTIVE if !SD_BOOT
1095 1096 1097 1098 1099 1100
	help
	  Support for NXP LS1088AQDS platform
	  The LS1088A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS1088A
	  Layerscape Architecture processor.

1101 1102
config TARGET_LS2080AQDS
	bool "Support ls2080aqds"
1103
	select ARCH_LS2080A
1104
	select ARCH_MISC_INIT
1105 1106
	select ARM64
	select ARMV8_MULTIENTRY
1107
	select BOARD_LATE_INIT
S
Scott Wood 已提交
1108
	select SUPPORT_SPL
S
Simon Glass 已提交
1109
	imply SCSI
1110
	imply SCSI_AHCI
1111 1112
	select FSL_DDR_BIST
	select FSL_DDR_INTERACTIVE if !SPL
1113
	help
1114 1115 1116
	  Support for Freescale LS2080AQDS platform
	  The LS2080A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS2080A
1117 1118
	  Layerscape Architecture processor.

1119 1120
config TARGET_LS2080ARDB
	bool "Support ls2080ardb"
1121
	select ARCH_LS2080A
1122
	select ARCH_MISC_INIT
1123 1124
	select ARM64
	select ARMV8_MULTIENTRY
1125
	select BOARD_LATE_INIT
1126
	select SUPPORT_SPL
1127 1128
	select FSL_DDR_BIST
	select FSL_DDR_INTERACTIVE if !SPL
S
Simon Glass 已提交
1129
	imply SCSI
1130
	imply SCSI_AHCI
1131
	help
1132 1133 1134
	  Support for Freescale LS2080ARDB platform.
	  The LS2080A Reference design board (RDB) is a high-performance
	  development platform that supports the QorIQ LS2080A
1135 1136
	  Layerscape Architecture processor.

1137 1138 1139
config TARGET_LS2081ARDB
	bool "Support ls2081ardb"
	select ARCH_LS2080A
1140
	select ARCH_MISC_INIT
1141 1142 1143 1144 1145 1146 1147 1148 1149 1150
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
	select SUPPORT_SPL
	help
	  Support for Freescale LS2081ARDB platform.
	  The LS2081A Reference design board (RDB) is a high-performance
	  development platform that supports the QorIQ LS2081A/LS2041A
	  Layerscape Architecture processor.

1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163
config TARGET_LX2160ARDB
	bool "Support lx2160ardb"
	select ARCH_LX2160A
	select ARCH_MISC_INIT
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
	help
	  Support for NXP LX2160ARDB platform.
	  The lx2160ardb (LX2160A Reference design board (RDB)
	  is a high-performance development platform that supports the
	  QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.

1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176
config TARGET_LX2160AQDS
	bool "Support lx2160aqds"
	select ARCH_LX2160A
	select ARCH_MISC_INIT
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
	help
	  Support for NXP LX2160AQDS platform.
	  The lx2160aqds (LX2160A QorIQ Development System (QDS)
	  is a high-performance development platform that supports the
	  QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.

1177 1178 1179
config TARGET_HIKEY
	bool "Support HiKey 96boards Consumer Edition Platform"
	select ARM64
1180 1181
	select DM
	select DM_GPIO
1182
	select DM_SERIAL
1183
	select OF_CONTROL
1184
	select PL01X_SERIAL
1185
	select SPECIFY_CONSOLE_INDEX
M
Michal Simek 已提交
1186
	imply CMD_DM
1187 1188 1189 1190
	  help
	  Support for HiKey 96boards platform. It features a HI6220
	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.

1191 1192 1193 1194 1195 1196
config TARGET_POPLAR
	bool "Support Poplar 96boards Enterprise Edition Platform"
	select ARM64
	select DM
	select DM_SERIAL
	select DM_USB
1197
	select OF_CONTROL
1198
	select PL01X_SERIAL
M
Michal Simek 已提交
1199
	imply CMD_DM
1200 1201 1202 1203 1204 1205
	  help
	  Support for Poplar 96boards EE platform. It features a HI3798cv200
	  SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
	  making it capable of running any commercial set-top solution based on
	  Linux or Android.

1206 1207
config TARGET_LS1012AQDS
	bool "Support ls1012aqds"
1208
	select ARCH_LS1012A
1209
	select ARM64
1210
	select BOARD_LATE_INIT
1211 1212 1213 1214 1215 1216
	help
	  Support for Freescale LS1012AQDS platform.
	  The LS1012A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS1012A
	  Layerscape Architecture processor.

1217 1218
config TARGET_LS1012ARDB
	bool "Support ls1012ardb"
1219
	select ARCH_LS1012A
1220
	select ARM64
1221
	select BOARD_LATE_INIT
S
Simon Glass 已提交
1222
	imply SCSI
1223
	imply SCSI_AHCI
1224 1225 1226 1227 1228 1229
	help
	  Support for Freescale LS1012ARDB platform.
	  The LS1012A Reference design board (RDB) is a high-performance
	  development platform that supports the QorIQ LS1012A
	  Layerscape Architecture processor.

1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241
config TARGET_LS1012A2G5RDB
	bool "Support ls1012a2g5rdb"
	select ARCH_LS1012A
	select ARM64
	select BOARD_LATE_INIT
	imply SCSI
	help
	  Support for Freescale LS1012A2G5RDB platform.
	  The LS1012A 2G5 Reference design board (RDB) is a high-performance
	  development platform that supports the QorIQ LS1012A
	  Layerscape Architecture processor.

1242 1243 1244 1245
config TARGET_LS1012AFRWY
	bool "Support ls1012afrwy"
	select ARCH_LS1012A
	select ARM64
1246
	select BOARD_LATE_INIT
1247 1248 1249 1250 1251 1252 1253 1254
	imply SCSI
	imply SCSI_AHCI
	help
	 Support for Freescale LS1012AFRWY platform.
	 The LS1012A FRWY board (FRWY) is a high-performance
	 development platform that supports the QorIQ LS1012A
	 Layerscape Architecture processor.

1255 1256
config TARGET_LS1012AFRDM
	bool "Support ls1012afrdm"
1257
	select ARCH_LS1012A
1258 1259 1260 1261 1262 1263 1264
	select ARM64
	help
	  Support for Freescale LS1012AFRDM platform.
	  The LS1012A Freedom  board (FRDM) is a high-performance
	  development platform that supports the QorIQ LS1012A
	  Layerscape Architecture processor.

1265 1266 1267
config TARGET_LS1088ARDB
	bool "Support ls1088ardb"
	select ARCH_LS1088A
1268
	select ARCH_MISC_INIT
1269 1270 1271
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
1272
	select SUPPORT_SPL
1273
	select FSL_DDR_INTERACTIVE if !SD_BOOT
1274 1275 1276 1277 1278 1279
	help
	  Support for NXP LS1088ARDB platform.
	  The LS1088A Reference design board (RDB) is a high-performance
	  development platform that supports the QorIQ LS1088A
	  Layerscape Architecture processor.

1280
config TARGET_LS1021AQDS
1281
	bool "Support ls1021aqds"
1282 1283 1284
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
	select BOARD_EARLY_INIT_F
1285
	select BOARD_LATE_INIT
1286
	select CPU_V7A
1287 1288
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
1289
	select LS1_DEEP_SLEEP
1290
	select SUPPORT_SPL
1291
	select SYS_FSL_DDR
1292
	select FSL_DDR_INTERACTIVE
S
Simon Glass 已提交
1293
	imply SCSI
1294

1295
config TARGET_LS1021ATWR
1296
	bool "Support ls1021atwr"
1297 1298 1299
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
	select BOARD_EARLY_INIT_F
1300
	select BOARD_LATE_INIT
1301
	select CPU_V7A
1302 1303
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
1304
	select LS1_DEEP_SLEEP
1305
	select SUPPORT_SPL
S
Simon Glass 已提交
1306
	imply SCSI
1307

F
Feng Li 已提交
1308 1309
config TARGET_LS1021AIOT
	bool "Support ls1021aiot"
1310 1311
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
1312
	select BOARD_LATE_INIT
1313
	select CPU_V7A
F
Feng Li 已提交
1314 1315 1316
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
	select SUPPORT_SPL
S
Simon Glass 已提交
1317
	imply SCSI
F
Feng Li 已提交
1318 1319 1320 1321 1322 1323
	help
	  Support for Freescale LS1021AIOT platform.
	  The LS1021A Freescale board (IOT) is a high-performance
	  development platform that supports the QorIQ LS1021A
	  Layerscape Architecture processor.

1324 1325
config TARGET_LS1043AQDS
	bool "Support ls1043aqds"
1326
	select ARCH_LS1043A
1327 1328
	select ARM64
	select ARMV8_MULTIENTRY
1329
	select BOARD_EARLY_INIT_F
1330
	select BOARD_LATE_INIT
1331
	select SUPPORT_SPL
1332
	select FSL_DDR_INTERACTIVE if !SPL
S
Simon Glass 已提交
1333
	imply SCSI
1334
	imply SCSI_AHCI
1335 1336 1337
	help
	  Support for Freescale LS1043AQDS platform.

1338 1339
config TARGET_LS1043ARDB
	bool "Support ls1043ardb"
1340
	select ARCH_LS1043A
1341
	select ARM64
1342
	select ARMV8_MULTIENTRY
1343
	select BOARD_EARLY_INIT_F
1344
	select BOARD_LATE_INIT
1345
	select SUPPORT_SPL
1346 1347 1348
	help
	  Support for Freescale LS1043ARDB platform.

1349 1350
config TARGET_LS1046AQDS
	bool "Support ls1046aqds"
1351
	select ARCH_LS1046A
1352 1353
	select ARM64
	select ARMV8_MULTIENTRY
1354
	select BOARD_EARLY_INIT_F
1355
	select BOARD_LATE_INIT
1356
	select DM_SPI_FLASH if DM_SPI
1357
	select SUPPORT_SPL
1358 1359 1360
	select FSL_DDR_BIST if !SPL
	select FSL_DDR_INTERACTIVE  if !SPL
	select FSL_DDR_INTERACTIVE if !SPL
S
Simon Glass 已提交
1361
	imply SCSI
1362 1363 1364 1365 1366 1367
	help
	  Support for Freescale LS1046AQDS platform.
	  The LS1046A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS1046A
	  Layerscape Architecture processor.

1368 1369
config TARGET_LS1046ARDB
	bool "Support ls1046ardb"
1370
	select ARCH_LS1046A
1371 1372
	select ARM64
	select ARMV8_MULTIENTRY
1373
	select BOARD_EARLY_INIT_F
1374
	select BOARD_LATE_INIT
1375
	select DM_SPI_FLASH if DM_SPI
1376
	select POWER_MC34VR500
1377
	select SUPPORT_SPL
1378 1379
	select FSL_DDR_BIST
	select FSL_DDR_INTERACTIVE if !SPL
S
Simon Glass 已提交
1380
	imply SCSI
1381 1382 1383 1384 1385 1386
	help
	  Support for Freescale LS1046ARDB platform.
	  The LS1046A Reference Design Board (RDB) is a high-performance
	  development platform that supports the QorIQ LS1046A
	  Layerscape Architecture processor.

1387 1388
config TARGET_H2200
	bool "Support h2200"
1389
	select CPU_PXA
1390

1391 1392 1393 1394
config TARGET_ZIPITZ2
	bool "Support zipitz2"
	select CPU_PXA

1395 1396
config TARGET_COLIBRI_PXA270
	bool "Support colibri_pxa270"
1397
	select CPU_PXA
1398

1399
config ARCH_UNIPHIER
1400
	bool "Socionext UniPhier SoCs"
1401
	select BOARD_LATE_INIT
1402
	select DM
1403
	select DM_GPIO
1404
	select DM_I2C
1405
	select DM_MMC
1406
	select DM_RESET
1407
	select DM_SERIAL
1408
	select DM_USB
1409
	select OF_BOARD_SETUP
1410 1411
	select OF_CONTROL
	select OF_LIBFDT
1412
	select PINCTRL
1413
	select SPL_BOARD_INIT if SPL
1414 1415 1416 1417 1418
	select SPL_DM if SPL
	select SPL_LIBCOMMON_SUPPORT if SPL
	select SPL_LIBGENERIC_SUPPORT if SPL
	select SPL_OF_CONTROL if SPL
	select SPL_PINCTRL if SPL
1419
	select SUPPORT_SPL
M
Michal Simek 已提交
1420
	imply CMD_DM
1421
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
1422
	imply FAT_WRITE
1423 1424 1425
	help
	  Support for UniPhier SoC family developed by Socionext Inc.
	  (formerly, System LSI Business Division of Panasonic Corporation)
1426

1427
config STM32
1428
	bool "Support STMicroelectronics STM32 MCU with cortex M"
1429
	select CPU_V7M
K
Kamil Lulko 已提交
1430 1431
	select DM
	select DM_SERIAL
M
Michal Simek 已提交
1432
	imply CMD_DM
1433

1434 1435
config ARCH_STI
	bool "Support STMicrolectronics SoCs"
1436
	select BLK
1437
	select CPU_V7A
P
Patrice Chotard 已提交
1438
	select DM
P
Patrice Chotard 已提交
1439
	select DM_MMC
P
Patrice Chotard 已提交
1440
	select DM_RESET
1441
	select DM_SERIAL
M
Michal Simek 已提交
1442
	imply CMD_DM
1443 1444 1445 1446
	help
	  Support for STMicroelectronics STiH407/10 SoC family.
	  This SoC is used on Linaro 96Board STiH410-B2260

1447 1448
config ARCH_STM32MP
	bool "Support STMicroelectronics STM32MP Socs with cortex A"
1449
	select ARCH_MISC_INIT
1450 1451 1452 1453 1454 1455
	select BOARD_LATE_INIT
	select CLK
	select DM
	select DM_GPIO
	select DM_RESET
	select DM_SERIAL
1456
	select MISC
1457 1458 1459 1460 1461 1462
	select OF_CONTROL
	select OF_LIBFDT
	select PINCTRL
	select REGMAP
	select SUPPORT_SPL
	select SYSCON
P
Patrick Delaunay 已提交
1463
	select SYSRESET
1464
	select SYS_THUMB_BUILD
1465
	imply SPL_SYSRESET
M
Michal Simek 已提交
1466
	imply CMD_DM
1467
	imply CMD_POWEROFF
1468
	imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1469 1470 1471
	help
	  Support for STM32MP SoC family developed by STMicroelectronics,
	  MPUs based on ARM cortex A core
1472 1473 1474 1475
	  U-BOOT is running in DDR, loaded by the First Stage BootLoader (FSBL).
	  FSBL can be TF-A: Trusted Firmware for Cortex A, for trusted boot
	  chain.
	  SPL is the unsecure FSBL for the basic boot chain.
1476

1477 1478
config ARCH_ROCKCHIP
	bool "Support Rockchip SoCs"
1479
	select BLK
1480
	select DM
1481 1482 1483
	select DM_GPIO
	select DM_I2C
	select DM_MMC
1484 1485
	select DM_PWM
	select DM_REGULATOR
1486 1487 1488
	select DM_SERIAL
	select DM_SPI
	select DM_SPI_FLASH
1489
	select DM_USB if USB
1490
	select ENABLE_ARM_SOC_BOOT0_HOOK
1491
	select OF_CONTROL
A
Adam Ford 已提交
1492
	select SPI
1493 1494 1495 1496 1497
	select SPL_DM if SPL
	select SPL_SYS_MALLOC_SIMPLE if SPL
	select SYS_MALLOC_F
	select SYS_THUMB_BUILD if !ARM64
	imply ADC
M
Michal Simek 已提交
1498
	imply CMD_DM
1499
	imply DEBUG_UART_BOARD_INIT
1500
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
1501
	imply FAT_WRITE
1502
	imply SARADC_ROCKCHIP
1503
	imply SPL_SYSRESET
1504
	imply SYS_NS16550
1505 1506
	imply TPL_SYSRESET
	imply USB_FUNCTION_FASTBOOT
1507

1508 1509
config TARGET_THUNDERX_88XX
	bool "Support ThunderX 88xx"
1510
	select ARM64
1511
	select OF_CONTROL
1512
	select PL01X_SERIAL
1513
	select SYS_CACHE_SHIFT_7
1514

1515 1516 1517
config ARCH_ASPEED
	bool "Support Aspeed SoCs"
	select DM
1518
	select OF_CONTROL
M
Michal Simek 已提交
1519
	imply CMD_DM
1520

1521 1522
endchoice

1523 1524
config TI_SECURE_DEVICE
	bool "HS Device Type Support"
1525
	depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3
1526 1527 1528 1529 1530 1531 1532
	help
	  If a high secure (HS) device type is being used, this config
	  must be set. This option impacts various aspects of the
	  build system (to create signed boot images that can be
	  authenticated) and the code. See the doc/README.ti-secure
	  file for further details.

1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547
if AM43XX || AM33XX || OMAP54XX || ARCH_KEYSTONE
config ISW_ENTRY_ADDR
	hex "Address in memory or XIP address of bootloader entry point"
	default 0x402F4000 if AM43XX
	default 0x402F0400 if AM33XX
	default 0x40301350 if OMAP54XX
	help
	  After any reset, the boot ROM searches the boot media for a valid
	  boot image. For non-XIP devices, the ROM then copies the image into
	  internal memory. For all boot modes, after the ROM processes the
	  boot image it eventually computes the entry point address depending
	  on the device type (secure/non-secure), boot media (xip/non-xip) and
	  image headers.
endif

1548 1549
source "arch/arm/mach-aspeed/Kconfig"

1550 1551
source "arch/arm/mach-at91/Kconfig"

1552
source "arch/arm/mach-bcm283x/Kconfig"
1553

1554 1555
source "arch/arm/mach-bcmstb/Kconfig"

1556
source "arch/arm/mach-davinci/Kconfig"
1557

1558
source "arch/arm/mach-exynos/Kconfig"
1559

1560
source "arch/arm/mach-highbank/Kconfig"
1561

1562 1563
source "arch/arm/mach-integrator/Kconfig"

1564 1565
source "arch/arm/mach-k3/Kconfig"

1566
source "arch/arm/mach-keystone/Kconfig"
1567

1568
source "arch/arm/mach-kirkwood/Kconfig"
1569

1570 1571
source "arch/arm/cpu/arm926ejs/lpc32xx/Kconfig"

1572 1573
source "arch/arm/mach-mvebu/Kconfig"

1574 1575
source "arch/arm/cpu/armv7/ls102xa/Kconfig"

1576 1577
source "arch/arm/mach-imx/mx2/Kconfig"

1578 1579
source "arch/arm/mach-imx/mx3/Kconfig"

P
Peng Fan 已提交
1580 1581 1582
source "arch/arm/mach-imx/mx5/Kconfig"

source "arch/arm/mach-imx/mx6/Kconfig"
P
Peng Fan 已提交
1583

1584
source "arch/arm/mach-imx/mx7/Kconfig"
1585

P
Peng Fan 已提交
1586
source "arch/arm/mach-imx/mx7ulp/Kconfig"
1587

P
Peng Fan 已提交
1588 1589
source "arch/arm/mach-imx/imx8/Kconfig"

P
Peng Fan 已提交
1590
source "arch/arm/mach-imx/imx8m/Kconfig"
1591

1592 1593
source "arch/arm/mach-imx/mxs/Kconfig"

1594
source "arch/arm/mach-omap2/Kconfig"
1595

1596 1597
source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"

1598
source "arch/arm/mach-orion5x/Kconfig"
1599

1600 1601
source "arch/arm/mach-owl/Kconfig"

1602
source "arch/arm/mach-rmobile/Kconfig"
1603

1604 1605
source "arch/arm/mach-meson/Kconfig"

1606 1607
source "arch/arm/mach-mediatek/Kconfig"

1608 1609
source "arch/arm/mach-qemu/Kconfig"

1610 1611
source "arch/arm/mach-rockchip/Kconfig"

1612
source "arch/arm/mach-s5pc1xx/Kconfig"
1613

1614 1615
source "arch/arm/mach-snapdragon/Kconfig"

1616 1617
source "arch/arm/mach-socfpga/Kconfig"

1618 1619
source "arch/arm/mach-sti/Kconfig"

1620 1621
source "arch/arm/mach-stm32/Kconfig"

1622 1623
source "arch/arm/mach-stm32mp/Kconfig"

1624 1625
source "arch/arm/mach-sunxi/Kconfig"

1626
source "arch/arm/mach-tegra/Kconfig"
1627

1628
source "arch/arm/mach-uniphier/Kconfig"
1629

1630 1631
source "arch/arm/cpu/armv7/vf610/Kconfig"

1632
source "arch/arm/mach-zynq/Kconfig"
1633

1634 1635
source "arch/arm/mach-zynqmp/Kconfig"

1636 1637
source "arch/arm/mach-versal/Kconfig"

1638 1639
source "arch/arm/mach-zynqmp-r5/Kconfig"

1640 1641
source "arch/arm/cpu/armv7/Kconfig"

1642 1643
source "arch/arm/cpu/armv8/Kconfig"

1644
source "arch/arm/mach-imx/Kconfig"
1645

1646
source "board/bosch/shc/Kconfig"
1647
source "board/bosch/guardian/Kconfig"
1648 1649 1650 1651 1652 1653
source "board/CarMediaLab/flea3/Kconfig"
source "board/Marvell/aspenite/Kconfig"
source "board/Marvell/gplugd/Kconfig"
source "board/armadeus/apf27/Kconfig"
source "board/armltd/vexpress/Kconfig"
source "board/armltd/vexpress64/Kconfig"
1654
source "board/broadcom/bcm23550_w1d/Kconfig"
1655
source "board/broadcom/bcm28155_ap/Kconfig"
P
Philippe Reynes 已提交
1656
source "board/broadcom/bcm963158/Kconfig"
P
Philippe Reynes 已提交
1657
source "board/broadcom/bcm968580xref/Kconfig"
S
Steve Rae 已提交
1658 1659
source "board/broadcom/bcmcygnus/Kconfig"
source "board/broadcom/bcmnsp/Kconfig"
1660
source "board/broadcom/bcmns2/Kconfig"
1661
source "board/cavium/thunderx/Kconfig"
1662
source "board/cirrus/edb93xx/Kconfig"
F
Felix Brack 已提交
1663
source "board/eets/pdu001/Kconfig"
1664
source "board/emulation/qemu-arm/Kconfig"
1665 1666 1667
source "board/freescale/ls2080a/Kconfig"
source "board/freescale/ls2080aqds/Kconfig"
source "board/freescale/ls2080ardb/Kconfig"
1668
source "board/freescale/ls1088a/Kconfig"
1669
source "board/freescale/ls1021aqds/Kconfig"
1670
source "board/freescale/ls1043aqds/Kconfig"
1671
source "board/freescale/ls1021atwr/Kconfig"
F
Feng Li 已提交
1672
source "board/freescale/ls1021aiot/Kconfig"
1673
source "board/freescale/ls1046aqds/Kconfig"
1674
source "board/freescale/ls1043ardb/Kconfig"
1675
source "board/freescale/ls1046ardb/Kconfig"
1676
source "board/freescale/ls1012aqds/Kconfig"
1677
source "board/freescale/ls1012ardb/Kconfig"
1678
source "board/freescale/ls1012afrdm/Kconfig"
1679
source "board/freescale/lx2160a/Kconfig"
1680
source "board/freescale/mx35pdk/Kconfig"
1681
source "board/freescale/s32v234evb/Kconfig"
1682
source "board/grinn/chiliboard/Kconfig"
1683 1684
source "board/gumstix/pepper/Kconfig"
source "board/h2200/Kconfig"
1685
source "board/hisilicon/hikey/Kconfig"
1686
source "board/hisilicon/poplar/Kconfig"
L
Ladislav Michl 已提交
1687
source "board/isee/igep003x/Kconfig"
1688 1689 1690 1691 1692 1693 1694
source "board/phytec/pcm051/Kconfig"
source "board/silica/pengwyn/Kconfig"
source "board/spear/spear300/Kconfig"
source "board/spear/spear310/Kconfig"
source "board/spear/spear320/Kconfig"
source "board/spear/spear600/Kconfig"
source "board/spear/x600/Kconfig"
1695
source "board/st/stv0991/Kconfig"
1696
source "board/tcl/sl50/Kconfig"
1697
source "board/ucRobotics/bubblegum_96/Kconfig"
1698
source "board/birdland/bav335x/Kconfig"
1699
source "board/toradex/colibri_pxa270/Kconfig"
1700
source "board/variscite/dart_6ul/Kconfig"
1701
source "board/vscom/baltos/Kconfig"
1702
source "board/woodburn/Kconfig"
1703
source "board/xilinx/Kconfig"
1704
source "board/xilinx/zynq/Kconfig"
1705
source "board/xilinx/zynqmp/Kconfig"
1706
source "board/zipitz2/Kconfig"
1707

1708 1709
source "arch/arm/Kconfig.debug"

1710
endmenu
1711 1712

config SPL_LDSCRIPT
1713 1714
	default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
	default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
1715 1716 1717
	default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64