Kconfig 49.5 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
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
18 19
	  restriction, thus allowing the code to be loaded to and executed from
	  almost any 4K aligned address. This logic relies on the relocation
20
	  information that is embedded in the binary to support U-Boot
21
	  relocating itself to the top-of-RAM later during execution.
22

23 24
config INIT_SP_RELATIVE
	bool "Specify the early stack pointer relative to the .bss section"
25
	default n if ARCH_QEMU
26
	default y if POSITION_INDEPENDENT
27 28
	help
	  U-Boot typically uses a hard-coded value for the stack pointer
29
	  before relocation. Enable this option to instead calculate the
30
	  initial SP at run-time. This is useful to avoid hard-coding addresses
31
	  into U-Boot, so that it can be loaded and executed at arbitrary
32 33 34 35 36 37 38 39 40 41 42 43
	  addresses and thus avoid using arbitrary addresses at runtime.

	  If this option is enabled, the early stack pointer is set to
	  &_bss_start with a offset value added. The offset is specified by
	  SYS_INIT_SP_BSS_OFFSET.

config SYS_INIT_SP_BSS_OFFSET
	int "Early stack offset from the .bss base address"
	depends on INIT_SP_RELATIVE
	default 524288
	help
	  This option's value is the offset added to &_bss_start in order to
44 45 46
	  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.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

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
62
	  TEXT_OFFSET value written to the Linux kernel image header.
63
endif
64 65
endif

66 67
config GIC_V3_ITS
	bool "ARM GICV3 ITS"
68 69
	select REGMAP
	select SYSCON
70
	select IRQ
71 72 73 74 75 76 77 78
	help
	  ARM GICV3 Interrupt translation service (ITS).
	  Basic support for programming locality specific peripheral
	  interrupts (LPI) configuration tables and enable LPI tables.
	  LPI configuration table can be used by u-boot or Linux.
	  ARM GICV3 has limitation, once the LPI table is enabled, LPI
	  configuration table can not be re-programmed, unless GICV3 reset.

79 80
config STATIC_RELA
	bool
81
	default y if ARM64
82

83 84 85 86
config DMA_ADDR_T_64BIT
	bool
	default y if ARM64

87
config HAS_VBAR
88
	bool
89

90
config HAS_THUMB2
91
	bool
92

93 94 95
config GPIO_EXTRA_HEADER
	bool

96 97 98 99 100 101 102 103 104
# 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

105 106 107 108 109 110
config SYS_ICACHE_OFF
	bool "Do not enable icache"
	default n
	help
	  Do not enable instruction cache in U-Boot.

111 112 113 114 115 116 117
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.

118 119 120 121 122 123
config SYS_DCACHE_OFF
	bool "Do not enable dcache"
	default n
	help
	  Do not enable data cache in U-Boot.

124 125 126 127 128 129 130
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.

131 132 133 134 135 136
config SYS_ARM_CACHE_CP15
	bool "CP15 based cache enabling support"
	help
	  Select this if your processor suports enabling caches by using
	  CP15 registers.

137 138
config SYS_ARM_MMU
	bool "MMU-based Paged Memory Management Support"
139
	select SYS_ARM_CACHE_CP15
140 141
	help
	  Select if you want MMU-based virtualised addressing space
142
	  support via paged memory management.
143

L
Lokesh Vutla 已提交
144 145 146 147 148 149 150 151 152
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 已提交
153 154 155 156
# 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
157 158
# the following can be machine-specific errata. These do have ability to
# provide rudimentary version and machine-specific checks, but expect no
T
Tom Rini 已提交
159 160 161 162 163 164
# product checks:
# CONFIG_ARM_ERRATA_430973
# CONFIG_ARM_ERRATA_454179
# CONFIG_ARM_ERRATA_621766
# CONFIG_ARM_ERRATA_798870
# CONFIG_ARM_ERRATA_801819
165
# CONFIG_ARM_CORTEX_A8_CVE_2017_5715
166
# CONFIG_ARM_CORTEX_A15_CVE_2017_5715
167

T
Tom Rini 已提交
168 169 170 171 172 173 174 175 176 177 178 179
config ARM_ERRATA_430973
	bool

config ARM_ERRATA_454179
	bool

config ARM_ERRATA_621766
	bool

config ARM_ERRATA_716044
	bool

180 181 182
config ARM_ERRATA_725233
	bool

T
Tom Rini 已提交
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
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

225
config ARM_ERRATA_845369
226
	bool
227

228 229 230 231 232 233
config ARM_ERRATA_852421
	bool

config ARM_ERRATA_852423
	bool

234 235 236
config ARM_ERRATA_855873
	bool

237 238 239
config ARM_CORTEX_A8_CVE_2017_5715
	bool

240 241 242
config ARM_CORTEX_A15_CVE_2017_5715
	bool

243
config CPU_ARM720T
244
	bool
245
	select SYS_CACHE_SHIFT_5
246
	imply SYS_ARM_MMU
247 248

config CPU_ARM920T
249
	bool
250
	select SYS_CACHE_SHIFT_5
251
	imply SYS_ARM_MMU
252 253

config CPU_ARM926EJS
254
	bool
255
	select SYS_CACHE_SHIFT_5
256
	imply SYS_ARM_MMU
257 258

config CPU_ARM946ES
259
	bool
260
	select SYS_CACHE_SHIFT_5
261
	imply SYS_ARM_MMU
262 263

config CPU_ARM1136
264
	bool
265
	select SYS_CACHE_SHIFT_5
266
	imply SYS_ARM_MMU
267 268

config CPU_ARM1176
269 270
	bool
	select HAS_VBAR
271
	select SYS_CACHE_SHIFT_5
272
	imply SYS_ARM_MMU
273

274
config CPU_V7A
275 276
	bool
	select HAS_THUMB2
277
	select HAS_VBAR
278
	select SYS_CACHE_SHIFT_6
279
	imply SYS_ARM_MMU
280

R
rev13@wp.pl 已提交
281 282
config CPU_V7M
	bool
283
	select HAS_THUMB2
L
Lokesh Vutla 已提交
284
	select SYS_ARM_MPU
285
	select SYS_CACHE_SHIFT_5
286
	select SYS_THUMB_BUILD
287
	select THUMB2_KERNEL
R
rev13@wp.pl 已提交
288

M
Michal Simek 已提交
289 290 291
config CPU_V7R
	bool
	select HAS_THUMB2
L
Lokesh Vutla 已提交
292
	select SYS_ARM_CACHE_CP15
293 294
	select SYS_ARM_MPU
	select SYS_CACHE_SHIFT_6
M
Michal Simek 已提交
295

296
config CPU_PXA
297
	bool
298
	select SYS_CACHE_SHIFT_5
299
	imply SYS_ARM_MMU
300 301

config CPU_SA1100
302
	bool
303
	select SYS_CACHE_SHIFT_5
304
	imply SYS_ARM_MMU
305 306

config SYS_CPU
307 308 309 310 311 312
	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
313
	default "armv7" if CPU_V7A
M
Michal Simek 已提交
314
	default "armv7" if CPU_V7R
315 316 317
	default "armv7m" if CPU_V7M
	default "pxa" if CPU_PXA
	default "sa1100" if CPU_SA1100
318
	default "armv8" if ARM64
319

320 321 322 323 324 325 326 327
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
328
	default 7 if CPU_V7A
329
	default 7 if CPU_V7M
M
Michal Simek 已提交
330
	default 7 if CPU_V7R
331 332 333 334
	default 5 if CPU_PXA
	default 4 if CPU_SA1100
	default 8 if ARM64

335 336 337 338 339 340 341 342 343 344 345 346 347 348 349
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

350 351 352
choice
	prompt "Select the ARM data write cache policy"
	default SYS_ARM_CACHE_WRITETHROUGH if TARGET_BCMCYGNUS || \
T
Tom Rini 已提交
353
					      CPU_PXA || RZA1
354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377
	default SYS_ARM_CACHE_WRITEBACK

config SYS_ARM_CACHE_WRITEBACK
	bool "Write-back (WB)"
	help
	  A write updates the cache only and marks the cache line as dirty.
	  External memory is updated only when the line is evicted or explicitly
	  cleaned.

config SYS_ARM_CACHE_WRITETHROUGH
	bool "Write-through (WT)"
	help
	  A write updates both the cache and the external memory system.
	  This does not mark the cache line as dirty.

config SYS_ARM_CACHE_WRITEALLOC
	bool "Write allocation (WA)"
	help
	  A cache line is allocated on a write miss. This means that executing a
	  store instruction on the processor might cause a burst read to occur.
	  There is a linefill to obtain the data for the cache line, before the
	  write is performed.
endchoice

378 379 380
config ARCH_CPU_INIT
	bool "Enable ARCH_CPU_INIT"
	help
381
	  Some architectures require a call to arch_cpu_init().
382 383
	  Say Y here to enable it

384 385
config SYS_ARCH_TIMER
	bool "ARM Generic Timer support"
386
	depends on CPU_V7A || ARM64
387 388 389 390
	default y if ARM64
	help
	  The ARM Generic Timer (aka arch-timer) provides an architected
	  interface to a timer source on an SoC.
391
	  It is mandatory for ARMv8 implementation and widely available
392 393
	  on ARMv7 systems.

394 395
config ARM_SMCCC
	bool "Support for ARM SMC Calling Convention (SMCCC)"
396
	depends on CPU_V7A || ARM64
397
	select ARM_PSCI_FW
398 399 400 401 402
	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.

403 404 405 406 407 408 409
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.

410 411 412 413 414 415 416 417 418 419 420 421
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
422
	depends on !ARM64 && SPL
423 424 425 426 427 428
	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.

429 430 431 432 433
config TPL_SYS_THUMB_BUILD
	bool "Build TPL using the Thumb instruction set"
	default y if SYS_THUMB_BUILD
	depends on TPL && !ARM64
	help
434
	   Use this flag to build TPL using the Thumb instruction set for
435 436 437 438 439
	   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.


440 441 442
config SYS_L2CACHE_OFF
	bool "L2cache off"
	help
443
	  If SoC does not support L2CACHE or one does not want to enable
444 445
	  L2CACHE, choose this option.

446 447 448 449
config ENABLE_ARM_SOC_BOOT0_HOOK
	bool "prepare BOOT0 header"
	help
	  If the SoC's BOOT0 requires a header area filled with (magic)
450 451
	  values, then choose this option, and create a file included as
	  <asm/arch/boot0.h> which contains the required assembler code.
452

453 454 455 456
config ARM_CORTEX_CPU_IS_UP
	bool
	default n

457 458
config USE_ARCH_MEMCPY
	bool "Use an assembly optimized implementation of memcpy"
459 460 461 462
	default y
	depends on !ARM64
	help
	  Enable the generation of an optimized version of memcpy.
463
	  Such an implementation may be faster under some conditions
464 465 466
	  but may increase the binary size.

config SPL_USE_ARCH_MEMCPY
467
	bool "Use an assembly optimized implementation of memcpy for SPL"
468
	default y if USE_ARCH_MEMCPY
469
	depends on !ARM64 && SPL
470 471
	help
	  Enable the generation of an optimized version of memcpy.
472
	  Such an implementation may be faster under some conditions
473 474
	  but may increase the binary size.

475 476 477
config TPL_USE_ARCH_MEMCPY
	bool "Use an assembly optimized implementation of memcpy for TPL"
	default y if USE_ARCH_MEMCPY
478
	depends on !ARM64 && TPL
479 480
	help
	  Enable the generation of an optimized version of memcpy.
481
	  Such an implementation may be faster under some conditions
482 483
	  but may increase the binary size.

484 485
config USE_ARCH_MEMSET
	bool "Use an assembly optimized implementation of memset"
486 487 488 489
	default y
	depends on !ARM64
	help
	  Enable the generation of an optimized version of memset.
490
	  Such an implementation may be faster under some conditions
491 492 493
	  but may increase the binary size.

config SPL_USE_ARCH_MEMSET
494
	bool "Use an assembly optimized implementation of memset for SPL"
495
	default y if USE_ARCH_MEMSET
496
	depends on !ARM64 && SPL
497 498
	help
	  Enable the generation of an optimized version of memset.
499
	  Such an implementation may be faster under some conditions
500 501
	  but may increase the binary size.

502 503 504
config TPL_USE_ARCH_MEMSET
	bool "Use an assembly optimized implementation of memset for TPL"
	default y if USE_ARCH_MEMSET
505
	depends on !ARM64 && TPL
506 507
	help
	  Enable the generation of an optimized version of memset.
508
	  Such an implementation may be faster under some conditions
509 510
	  but may increase the binary size.

511 512
config ARM64_SUPPORT_AARCH32
	bool "ARM64 system support AArch32 execution state"
513 514
	depends on ARM64
	default y if !TARGET_THUNDERX_88XX
515 516 517
	help
	  This ARM64 system supports AArch32 execution state.

518 519
choice
	prompt "Target select"
S
Simon Glass 已提交
520
	default TARGET_HIKEY
521

522 523
config ARCH_AT91
	bool "Atmel AT91"
524
	select GPIO_EXTRA_HEADER
525
	select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
526
	select SPL_SEPARATE_BSS if SPL
527 528 529

config TARGET_ASPENITE
	bool "Support aspenite"
530
	select CPU_ARM926EJS
531
	select GPIO_EXTRA_HEADER
532

533 534
config ARCH_DAVINCI
	bool "TI DaVinci"
535
	select CPU_ARM926EJS
536
	select GPIO_EXTRA_HEADER
537
	select SPL_DM_SPI if SPL
538
	imply CMD_SAVES
539 540
	help
	  Support for TI's DaVinci platform.
541

542
config ARCH_KIRKWOOD
543
	bool "Marvell Kirkwood"
544
	select ARCH_MISC_INIT
545 546
	select BOARD_EARLY_INIT_F
	select CPU_ARM926EJS
547
	select GPIO_EXTRA_HEADER
548

549
config ARCH_MVEBU
550
	bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
551
	select DM
552
	select DM_ETH
553
	select DM_SERIAL
554 555
	select DM_SPI
	select DM_SPI_FLASH
556
	select GPIO_EXTRA_HEADER
557 558
	select SPL_DM_SPI if SPL
	select SPL_DM_SPI_FLASH if SPL
559 560
	select OF_CONTROL
	select OF_SEPARATE
A
Adam Ford 已提交
561
	select SPI
M
Michal Simek 已提交
562
	imply CMD_DM
563

564
config ARCH_ORION5X
565
	bool "Marvell Orion"
566
	select CPU_ARM926EJS
567
	select GPIO_EXTRA_HEADER
568

569 570
config TARGET_STV0991
	bool "Support stv0991"
571
	select CPU_V7A
572 573
	select DM
	select DM_SERIAL
574 575
	select DM_SPI
	select DM_SPI_FLASH
576
	select GPIO_EXTRA_HEADER
577
	select PL01X_SERIAL
A
Adam Ford 已提交
578
	select SPI
579
	select SPI_FLASH
M
Michal Simek 已提交
580
	imply CMD_DM
581

582 583
config TARGET_FLEA3
	bool "Support flea3"
584
	select CPU_ARM1136
585
	select GPIO_EXTRA_HEADER
586

587 588
config ARCH_BCM283X
	bool "Broadcom BCM283X family"
M
Masahiro Yamada 已提交
589 590
	select DM
	select DM_GPIO
591
	select DM_SERIAL
592
	select GPIO_EXTRA_HEADER
593
	select OF_CONTROL
594
	select PL01X_SERIAL
595
	select SERIAL_SEARCH_ALL
M
Michal Simek 已提交
596
	imply CMD_DM
T
Tom Rini 已提交
597
	imply FAT_WRITE
598

P
Philippe Reynes 已提交
599 600 601 602 603 604
config ARCH_BCM63158
	bool "Broadcom BCM63158 family"
	select DM
	select OF_CONTROL
	imply CMD_DM

P
Philippe Reynes 已提交
605 606 607 608 609 610
config ARCH_BCM68360
	bool "Broadcom BCM68360 family"
	select DM
	select OF_CONTROL
	imply CMD_DM

P
Philippe Reynes 已提交
611 612 613 614 615 616
config ARCH_BCM6858
	bool "Broadcom BCM6858 family"
	select DM
	select OF_CONTROL
	imply CMD_DM

617 618 619 620
config ARCH_BCMSTB
	bool "Broadcom BCM7XXX family"
	select CPU_V7A
	select DM
621
	select GPIO_EXTRA_HEADER
622 623
	select OF_CONTROL
	select OF_PRIOR_STAGE
M
Michal Simek 已提交
624
	imply CMD_DM
625 626 627 628
	help
	  This enables support for Broadcom ARM-based set-top box
	  chipsets, including the 7445 family of chips.

S
Steve Rae 已提交
629 630
config TARGET_BCMCYGNUS
	bool "Support bcmcygnus"
631
	select CPU_V7A
632
	select GPIO_EXTRA_HEADER
633 634
	imply BCM_SF2_ETH
	imply BCM_SF2_ETH_GMAC
S
Simon Glass 已提交
635
	imply CMD_HASH
636
	imply CRC32_VERIFY
T
Tom Rini 已提交
637
	imply FAT_WRITE
638
	imply HASH_VERIFY
639
	imply NETDEVICES
640

641 642 643
config TARGET_BCMNS2
	bool "Support Broadcom Northstar2"
	select ARM64
644
	select GPIO_EXTRA_HEADER
645 646 647
	help
	  Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
	  ARMv8 Cortex-A57 processors targeting a broad range of networking
648
	  applications.
649

650 651 652 653 654 655 656 657 658
config TARGET_BCMNS3
	bool "Support Broadcom NS3"
	select ARM64
	select BOARD_LATE_INIT
	help
	  Support for Broadcom Northstar 3 SoCs. NS3 is a octo-core 64-bit
	  ARMv8 Cortex-A72 processors targeting a broad range of networking
	  applications.

659 660
config ARCH_EXYNOS
	bool "Samsung EXYNOS"
M
Masahiro Yamada 已提交
661
	select DM
662
	select DM_GPIO
663
	select DM_I2C
664
	select DM_ETH
665
	select DM_KEYBOARD
M
Masahiro Yamada 已提交
666 667
	select DM_SERIAL
	select DM_SPI
668
	select DM_SPI_FLASH
A
Adam Ford 已提交
669
	select SPI
670
	select GPIO_EXTRA_HEADER
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
682
	select GPIO_EXTRA_HEADER
M
Michal Simek 已提交
683
	imply CMD_DM
684

685 686
config ARCH_HIGHBANK
	bool "Calxeda Highbank"
687
	select CPU_V7A
688 689 690 691 692 693 694 695
	select PL01X_SERIAL
	select DM
	select DM_SERIAL
	select OF_CONTROL
	select OF_BOARD
	select CLK
	select CLK_CCF
	select AHCI
696
	select DM_ETH
697
	select PHYS_64BIT
698

699 700
config ARCH_INTEGRATOR
	bool "ARM Ltd. Integrator family"
701 702
	select DM
	select DM_SERIAL
703
	select GPIO_EXTRA_HEADER
704
	select PL01X_SERIAL
M
Michal Simek 已提交
705
	imply CMD_DM
706

707 708 709 710 711 712
config ARCH_IPQ40XX
	bool "Qualcomm IPQ40xx SoCs"
	select CPU_V7A
	select DM
	select DM_GPIO
	select DM_SERIAL
713
	select DM_RESET
714
	select GPIO_EXTRA_HEADER
R
Robert Marko 已提交
715
	select MSM_SMEM
716 717
	select PINCTRL
	select CLK
R
Robert Marko 已提交
718
	select SMEM
719 720 721
	select OF_CONTROL
	imply CMD_DM

722 723
config ARCH_KEYSTONE
	bool "TI Keystone"
724
	select CMD_POWEROFF
725
	select CPU_V7A
726
	select GPIO_EXTRA_HEADER
M
Masahiro Yamada 已提交
727
	select SUPPORT_SPL
728
	select SYS_ARCH_TIMER
729
	select SYS_THUMB_BUILD
730
	imply CMD_MTDPARTS
731
	imply CMD_SAVES
732
	imply FIT
733

734 735 736 737 738 739
config ARCH_K3
	bool "Texas Instruments' K3 Architecture"
	select SPL
	select SUPPORT_SPL
	select FIT

740 741
config ARCH_OMAP2PLUS
	bool "TI OMAP2+"
742
	select CPU_V7A
743
	select GPIO_EXTRA_HEADER
744
	select SPL_BOARD_INIT if SPL
745
	select SPL_STACK_R if SPL
746
	select SUPPORT_SPL
747
	imply TI_SYSC if DM && OF_CONTROL
748 749
	imply FIT

750 751
config ARCH_MESON
	bool "Amlogic Meson"
752
	select GPIO_EXTRA_HEADER
753
	imply DISTRO_DEFAULTS
H
Heinrich Schuchardt 已提交
754
	imply DM_RNG
755 756 757 758 759
	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.

760 761 762
config ARCH_MEDIATEK
	bool "MediaTek SoCs"
	select DM
763
	select GPIO_EXTRA_HEADER
764 765 766 767 768 769 770 771 772 773
	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.

774 775 776 777 778 779
config ARCH_LPC32XX
	bool "NXP LPC32xx platform"
	select CPU_ARM926EJS
	select DM
	select DM_GPIO
	select DM_SERIAL
780
	select GPIO_EXTRA_HEADER
781 782 783 784
	select SPL_DM if SPL
	select SUPPORT_SPL
	imply CMD_DM

P
Peng Fan 已提交
785 786 787 788
config ARCH_IMX8
	bool "NXP i.MX8 platform"
	select ARM64
	select DM
789
	select GPIO_EXTRA_HEADER
P
Peng Fan 已提交
790
	select OF_CONTROL
791
	select ENABLE_ARM_SOC_BOOT0_HOOK
P
Peng Fan 已提交
792

P
Peng Fan 已提交
793
config ARCH_IMX8M
P
Peng Fan 已提交
794 795
	bool "NXP i.MX8M platform"
	select ARM64
796
	select GPIO_EXTRA_HEADER
797 798 799
	select SYS_FSL_HAS_SEC if IMX_HAB
	select SYS_FSL_SEC_COMPAT_4
	select SYS_FSL_SEC_LE
P
Peng Fan 已提交
800 801
	select DM
	select SUPPORT_SPL
M
Michal Simek 已提交
802
	imply CMD_DM
P
Peng Fan 已提交
803

804 805 806 807 808
config ARCH_IMXRT
	bool "NXP i.MXRT platform"
	select CPU_V7M
	select DM
	select DM_SERIAL
809
	select GPIO_EXTRA_HEADER
810 811 812
	select SUPPORT_SPL
	imply CMD_DM

813 814 815
config ARCH_MX23
	bool "NXP i.MX23 family"
	select CPU_ARM926EJS
816
	select GPIO_EXTRA_HEADER
817 818 819
	select PL011_SERIAL
	select SUPPORT_SPL

820 821 822
config ARCH_MX25
	bool "NXP MX25"
	select CPU_ARM926EJS
823
	select GPIO_EXTRA_HEADER
A
Adam Ford 已提交
824
	imply MXC_GPIO
825

826 827 828
config ARCH_MX28
	bool "NXP i.MX28 family"
	select CPU_ARM926EJS
829
	select GPIO_EXTRA_HEADER
830 831 832
	select PL011_SERIAL
	select SUPPORT_SPL

833 834 835
config ARCH_MX31
	bool "NXP i.MX31 family"
	select CPU_ARM1136
836
	select GPIO_EXTRA_HEADER
837

P
Peng Fan 已提交
838
config ARCH_MX7ULP
839
	bool "NXP MX7ULP"
840
	select CPU_V7A
841
	select GPIO_EXTRA_HEADER
842 843 844
	select SYS_FSL_HAS_SEC if IMX_HAB
	select SYS_FSL_SEC_COMPAT_4
	select SYS_FSL_SEC_LE
P
Peng Fan 已提交
845
	select ROM_UNIFIED_SECTIONS
A
Adam Ford 已提交
846
	imply MXC_GPIO
847
	imply SYS_THUMB_BUILD
P
Peng Fan 已提交
848

849 850
config ARCH_MX7
	bool "Freescale MX7"
851
	select ARCH_MISC_INIT
852
	select CPU_V7A
853
	select GPIO_EXTRA_HEADER
854
	select SYS_FSL_HAS_SEC if IMX_HAB
855
	select SYS_FSL_SEC_COMPAT_4
856
	select SYS_FSL_SEC_LE
857
	imply BOARD_EARLY_INIT_F
A
Adam Ford 已提交
858
	imply MXC_GPIO
859
	imply SYS_THUMB_BUILD
860

861 862
config ARCH_MX6
	bool "Freescale MX6"
863
	select CPU_V7A
864
	select GPIO_EXTRA_HEADER
865
	select SYS_FSL_HAS_SEC
866
	select SYS_FSL_SEC_COMPAT_4
867
	select SYS_FSL_SEC_LE
A
Adam Ford 已提交
868
	imply MXC_GPIO
869
	imply SYS_THUMB_BUILD
870

871 872
if ARCH_MX6
config SPL_LDSCRIPT
873
	default "arch/arm/mach-omap2/u-boot-spl.lds"
874 875
endif

876 877
config ARCH_MX5
	bool "Freescale MX5"
878
	select BOARD_EARLY_INIT_F
879
	select CPU_V7A
880
	select GPIO_EXTRA_HEADER
A
Adam Ford 已提交
881
	imply MXC_GPIO
882

883 884 885 886
config ARCH_NEXELL
	bool "Nexell S5P4418/S5P6818 SoC"
	select ENABLE_ARM_SOC_BOOT0_HOOK
	select DM
887
	select GPIO_EXTRA_HEADER
888

889 890 891
config ARCH_OWL
	bool "Actions Semi OWL SoCs"
	select DM
892
	select DM_ETH
893
	select DM_SERIAL
894
	select GPIO_EXTRA_HEADER
895
	select OWL_SERIAL
896 897
	select CLK
	select CLK_OWL
898
	select OF_CONTROL
899
	select SYS_RELOC_GD_ENV_ADDR
M
Michal Simek 已提交
900
	imply CMD_DM
901

902 903 904 905 906
config ARCH_QEMU
	bool "QEMU Virtual Platform"
	select DM
	select DM_SERIAL
	select OF_CONTROL
907
	select PL01X_SERIAL
M
Michal Simek 已提交
908
	imply CMD_DM
909
	imply DM_RNG
910 911
	imply DM_RTC
	imply RTC_PL031
912

913
config ARCH_RMOBILE
914
	bool "Renesas ARM SoCs"
915 916
	select DM
	select DM_SERIAL
917
	select GPIO_EXTRA_HEADER
918
	imply BOARD_EARLY_INIT_F
M
Michal Simek 已提交
919
	imply CMD_DM
T
Tom Rini 已提交
920
	imply FAT_WRITE
921
	imply SYS_THUMB_BUILD
922
	imply ARCH_MISC_INIT if DISPLAY_CPUINFO
923

924 925 926 927 928 929
config ARCH_SNAPDRAGON
	bool "Qualcomm Snapdragon SoCs"
	select ARM64
	select DM
	select DM_GPIO
	select DM_SERIAL
930
	select GPIO_EXTRA_HEADER
931
	select MSM_SMEM
932 933
	select OF_CONTROL
	select OF_SEPARATE
934
	select SMEM
935
	select SPMI
M
Michal Simek 已提交
936
	imply CMD_DM
937

938 939
config ARCH_SOCFPGA
	bool "Altera SOCFPGA family"
940
	select ARCH_EARLY_INIT_R
941
	select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
942
	select ARM64 if TARGET_SOCFPGA_SOC64
943
	select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
944
	select DM
M
Marek Vasut 已提交
945
	select DM_SERIAL
946
	select GPIO_EXTRA_HEADER
947
	select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
948
	select OF_CONTROL
949
	select SPL_DM_RESET if DM_RESET
950
	select SPL_DM_SERIAL
951 952 953 954
	select SPL_LIBCOMMON_SUPPORT
	select SPL_LIBGENERIC_SUPPORT
	select SPL_NAND_SUPPORT if SPL_NAND_DENALI
	select SPL_OF_CONTROL
955
	select SPL_SEPARATE_BSS if TARGET_SOCFPGA_SOC64
956
	select SPL_SERIAL_SUPPORT
957
	select SPL_SYSRESET
958
	select SPL_WATCHDOG
959
	select SUPPORT_SPL
M
Marek Vasut 已提交
960
	select SYS_NS16550
961
	select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
962 963
	select SYSRESET
	select SYSRESET_SOCFPGA if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
964
	select SYSRESET_SOCFPGA_SOC64 if TARGET_SOCFPGA_SOC64
M
Michal Simek 已提交
965
	imply CMD_DM
966
	imply CMD_MTDPARTS
967
	imply CRC32_VERIFY
968 969
	imply DM_SPI
	imply DM_SPI_FLASH
T
Tom Rini 已提交
970
	imply FAT_WRITE
971 972
	imply SPL
	imply SPL_DM
973 974
	imply SPL_DM_SPI
	imply SPL_DM_SPI_FLASH
975 976
	imply SPL_LIBDISK_SUPPORT
	imply SPL_MMC_SUPPORT
977
	imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
978
	imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
979 980
	imply SPL_SPI_FLASH_SUPPORT
	imply SPL_SPI_SUPPORT
981
	imply L2X0_CACHE
982

983 984
config ARCH_SUNXI
	bool "Support sunxi (Allwinner) SoCs"
985
	select BINMAN
986
	select CMD_GPIO
987
	select CMD_MMC if MMC
988
	select CMD_USB if DISTRO_DEFAULTS && USB_HOST
J
Jagan Teki 已提交
989
	select CLK
990
	select DM
991
	select DM_ETH
H
Hans de Goede 已提交
992 993
	select DM_GPIO
	select DM_KEYBOARD
994 995
	select DM_MMC if MMC
	select DM_SCSI if SCSI
996
	select DM_SERIAL
997
	select GPIO_EXTRA_HEADER
998
	select OF_BOARD_SETUP
999 1000
	select OF_CONTROL
	select OF_SEPARATE
1001
	select SPECIFY_CONSOLE_INDEX
1002 1003
	select SPL_STACK_R if SPL
	select SPL_SYS_MALLOC_SIMPLE if SPL
1004
	select SPL_SYS_THUMB_BUILD if !ARM64
1005
	select SUNXI_GPIO
1006
	select SYS_NS16550
1007
	select SYS_THUMB_BUILD if !ARM64
1008
	select USB if DISTRO_DEFAULTS
1009 1010
	select USB_KEYBOARD if DISTRO_DEFAULTS && USB_HOST
	select USB_STORAGE if DISTRO_DEFAULTS && USB_HOST
1011
	select SPL_USE_TINY_PRINTF
1012 1013
	select USE_PREBOOT
	select SYS_RELOC_GD_ENV_ADDR
1014
	imply BOARD_LATE_INIT
M
Michal Simek 已提交
1015
	imply CMD_DM
M
Maxime Ripard 已提交
1016
	imply CMD_GPT
1017
	imply CMD_UBI if MTD_RAW_NAND
1018
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
1019
	imply FAT_WRITE
M
Marek Vasut 已提交
1020
	imply FIT
1021
	imply OF_LIBFDT_OVERLAY
1022
	imply PRE_CONSOLE_BUFFER
S
Simon Glass 已提交
1023
	imply SPL_GPIO
1024 1025
	imply SPL_LIBCOMMON_SUPPORT
	imply SPL_LIBGENERIC_SUPPORT
1026
	imply SPL_MMC_SUPPORT if MMC
1027
	imply SPL_POWER
1028
	imply SPL_SERIAL_SUPPORT
M
Maxime Ripard 已提交
1029
	imply USB_GADGET
C
Chen-Yu Tsai 已提交
1030

1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047
config ARCH_U8500
	bool "ST-Ericsson U8500 Series"
	select CPU_V7A
	select DM
	select DM_GPIO
	select DM_MMC if MMC
	select DM_SERIAL
	select OF_CONTROL
	select SYSRESET
	select TIMER
	imply ARM_PL180_MMCI
	imply DM_RTC
	imply NOMADIK_MTU_TIMER
	imply PL01X_SERIAL
	imply RTC_PL031
	imply SYSRESET_SYSCON

1048 1049 1050 1051 1052
config ARCH_VERSAL
	bool "Support Xilinx Versal Platform"
	select ARM64
	select CLK
	select DM
1053 1054
	select DM_ETH if NET
	select DM_MMC if MMC
1055
	select DM_SERIAL
1056
	select GPIO_EXTRA_HEADER
1057
	select OF_CONTROL
1058
	imply BOARD_LATE_INIT
1059
	imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1060

1061 1062
config ARCH_VF610
	bool "Freescale Vybrid"
1063
	select CPU_V7A
1064
	select GPIO_EXTRA_HEADER
1065
	select SYS_FSL_ERRATUM_ESDHC111
1066
	imply CMD_MTDPARTS
1067
	imply MTD_RAW_NAND
1068

1069
config ARCH_ZYNQ
1070
	bool "Xilinx Zynq based platform"
1071 1072
	select CLK
	select CLK_ZYNQ
1073
	select CPU_V7A
1074
	select DM
1075 1076
	select DM_ETH if NET
	select DM_MMC if MMC
1077
	select DM_SERIAL
1078
	select DM_SPI
1079
	select DM_SPI_FLASH
1080
	select GPIO_EXTRA_HEADER
1081
	select OF_CONTROL
A
Adam Ford 已提交
1082
	select SPI
1083 1084 1085
	select SPL_BOARD_INIT if SPL
	select SPL_CLK if SPL
	select SPL_DM if SPL
1086 1087
	select SPL_DM_SPI if SPL
	select SPL_DM_SPI_FLASH if SPL
1088 1089 1090 1091
	select SPL_OF_CONTROL if SPL
	select SPL_SEPARATE_BSS if SPL
	select SUPPORT_SPL
	imply ARCH_EARLY_INIT_R
1092
	imply BOARD_LATE_INIT
S
Simon Glass 已提交
1093
	imply CMD_CLK
M
Michal Simek 已提交
1094
	imply CMD_DM
S
Simon Glass 已提交
1095
	imply CMD_SPL
1096
	imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1097
	imply FAT_WRITE
1098

1099 1100
config ARCH_ZYNQMP_R5
	bool "Xilinx ZynqMP R5 based platform"
1101
	select CLK
1102 1103
	select CPU_V7R
	select DM
1104 1105
	select DM_ETH if NET
	select DM_MMC if MMC
1106
	select DM_SERIAL
1107
	select GPIO_EXTRA_HEADER
1108
	select OF_CONTROL
M
Michal Simek 已提交
1109
	imply CMD_DM
1110
	imply DM_USB_GADGET
1111

1112
config ARCH_ZYNQMP
1113
	bool "Xilinx ZynqMP based platform"
M
Michal Simek 已提交
1114
	select ARM64
1115
	select CLK
1116
	select DM
1117
	select DM_ETH if NET
1118
	select DM_MAILBOX
1119
	select DM_MMC if MMC
1120
	select DM_SERIAL
1121 1122
	select DM_SPI if SPI
	select DM_SPI_FLASH if DM_SPI
1123
	select FIRMWARE
1124
	select GPIO_EXTRA_HEADER
1125
	select OF_CONTROL
1126
	select SPL_BOARD_INIT if SPL
1127
	select SPL_CLK if SPL
1128 1129
	select SPL_DM if SPL
	select SPL_DM_SPI if SPI && SPL_DM
1130
	select SPL_DM_SPI_FLASH if SPL_DM_SPI
1131 1132
	select SPL_DM_MAILBOX if SPL
	select SPL_FIRMWARE if SPL
1133
	select SPL_SEPARATE_BSS if SPL
1134
	select SUPPORT_SPL
1135
	select ZYNQMP_IPI
1136
	select SOC_DEVICE
1137
	imply BOARD_LATE_INIT
M
Michal Simek 已提交
1138
	imply CMD_DM
1139
	imply ENV_VARS_UBOOT_RUNTIME_CONFIG
T
Tom Rini 已提交
1140
	imply FAT_WRITE
1141
	imply MP
1142
	imply DM_USB_GADGET
M
Michal Simek 已提交
1143

1144
config ARCH_TEGRA
1145
	bool "NVIDIA Tegra"
1146
	select GPIO_EXTRA_HEADER
1147
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
1148
	imply FAT_WRITE
1149

1150
config TARGET_VEXPRESS64_AEMV8A
1151
	bool "Support vexpress_aemv8a"
1152
	select ARM64
1153
	select GPIO_EXTRA_HEADER
1154
	select PL01X_SERIAL
1155

1156 1157 1158
config TARGET_VEXPRESS64_BASE_FVP
	bool "Support Versatile Express ARMv8a FVP BASE model"
	select ARM64
1159
	select GPIO_EXTRA_HEADER
1160
	select PL01X_SERIAL
1161
	select SEMIHOSTING
1162

1163 1164 1165
config TARGET_VEXPRESS64_JUNO
	bool "Support Versatile Express Juno Development Platform"
	select ARM64
1166
	select GPIO_EXTRA_HEADER
1167
	select PL01X_SERIAL
A
Andre Przywara 已提交
1168 1169 1170 1171 1172
	select DM
	select OF_CONTROL
	select OF_BOARD
	select CLK
	select DM_SERIAL
A
Andre Przywara 已提交
1173 1174
	select ARM_PSCI_FW
	select PSCI_RESET
A
Andre Przywara 已提交
1175
	select DM_ETH
A
Andre Przywara 已提交
1176 1177
	select BLK
	select USB
1178

1179 1180 1181 1182 1183 1184 1185 1186 1187
config TARGET_TOTAL_COMPUTE
	bool "Support Total Compute Platform"
	select ARM64
	select PL01X_SERIAL
	select DM
	select DM_SERIAL
	select DM_MMC
	select DM_GPIO

1188 1189
config TARGET_LS2080A_EMU
	bool "Support ls2080a_emu"
1190
	select ARCH_LS2080A
1191
	select ARM64
1192
	select ARMV8_MULTIENTRY
1193
	select FSL_DDR_SYNC_REFRESH
1194
	select GPIO_EXTRA_HEADER
1195
	help
1196 1197
	  Support for Freescale LS2080A_EMU platform.
	  The LS2080A Development System (EMULATOR) is a pre-silicon
1198 1199
	  development platform that supports the QorIQ LS2080A
	  Layerscape Architecture processor.
1200

1201 1202 1203 1204 1205
config TARGET_LS1088AQDS
	bool "Support ls1088aqds"
	select ARCH_LS1088A
	select ARM64
	select ARMV8_MULTIENTRY
1206
	select ARCH_SUPPORT_TFABOOT
1207
	select BOARD_LATE_INIT
1208
	select GPIO_EXTRA_HEADER
1209
	select SUPPORT_SPL
1210
	select FSL_DDR_INTERACTIVE if !SD_BOOT
1211
	help
1212
	  Support for NXP LS1088AQDS platform.
1213 1214 1215 1216
	  The LS1088A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS1088A
	  Layerscape Architecture processor.

1217 1218
config TARGET_LS2080AQDS
	bool "Support ls2080aqds"
1219
	select ARCH_LS2080A
1220 1221
	select ARM64
	select ARMV8_MULTIENTRY
1222
	select ARCH_SUPPORT_TFABOOT
1223
	select BOARD_LATE_INIT
1224
	select GPIO_EXTRA_HEADER
S
Scott Wood 已提交
1225
	select SUPPORT_SPL
S
Simon Glass 已提交
1226
	imply SCSI
1227
	imply SCSI_AHCI
1228 1229
	select FSL_DDR_BIST
	select FSL_DDR_INTERACTIVE if !SPL
1230
	help
1231
	  Support for Freescale LS2080AQDS platform.
1232 1233
	  The LS2080A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS2080A
1234 1235
	  Layerscape Architecture processor.

1236 1237
config TARGET_LS2080ARDB
	bool "Support ls2080ardb"
1238
	select ARCH_LS2080A
1239 1240
	select ARM64
	select ARMV8_MULTIENTRY
1241
	select ARCH_SUPPORT_TFABOOT
1242
	select BOARD_LATE_INIT
1243
	select SUPPORT_SPL
1244 1245
	select FSL_DDR_BIST
	select FSL_DDR_INTERACTIVE if !SPL
1246
	select GPIO_EXTRA_HEADER
S
Simon Glass 已提交
1247
	imply SCSI
1248
	imply SCSI_AHCI
1249
	help
1250 1251 1252
	  Support for Freescale LS2080ARDB platform.
	  The LS2080A Reference design board (RDB) is a high-performance
	  development platform that supports the QorIQ LS2080A
1253 1254
	  Layerscape Architecture processor.

1255 1256 1257 1258 1259 1260
config TARGET_LS2081ARDB
	bool "Support ls2081ardb"
	select ARCH_LS2080A
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
1261
	select GPIO_EXTRA_HEADER
1262 1263 1264 1265 1266 1267 1268
	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.

1269 1270 1271 1272 1273
config TARGET_LX2160ARDB
	bool "Support lx2160ardb"
	select ARCH_LX2160A
	select ARM64
	select ARMV8_MULTIENTRY
1274
	select ARCH_SUPPORT_TFABOOT
1275
	select BOARD_LATE_INIT
1276
	select GPIO_EXTRA_HEADER
1277 1278 1279 1280 1281 1282
	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.

1283 1284 1285 1286 1287
config TARGET_LX2160AQDS
	bool "Support lx2160aqds"
	select ARCH_LX2160A
	select ARM64
	select ARMV8_MULTIENTRY
1288
	select ARCH_SUPPORT_TFABOOT
1289
	select BOARD_LATE_INIT
1290
	select GPIO_EXTRA_HEADER
1291 1292 1293 1294 1295
	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.
1296 1297 1298 1299 1300 1301 1302 1303 1304

config TARGET_LX2162AQDS
	bool "Support lx2162aqds"
	select ARCH_LX2162A
	select ARCH_MISC_INIT
	select ARM64
	select ARMV8_MULTIENTRY
	select ARCH_SUPPORT_TFABOOT
	select BOARD_LATE_INIT
1305
	select GPIO_EXTRA_HEADER
1306 1307 1308
	help
	  Support for NXP LX2162AQDS platform.
	  The lx2162aqds support is based on LX2160A Layerscape Architecture processor.
1309

1310 1311 1312
config TARGET_HIKEY
	bool "Support HiKey 96boards Consumer Edition Platform"
	select ARM64
1313 1314
	select DM
	select DM_GPIO
1315
	select DM_SERIAL
1316
	select GPIO_EXTRA_HEADER
1317
	select OF_CONTROL
1318
	select PL01X_SERIAL
1319
	select SPECIFY_CONSOLE_INDEX
M
Michal Simek 已提交
1320
	imply CMD_DM
1321 1322 1323 1324
	  help
	  Support for HiKey 96boards platform. It features a HI6220
	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.

1325 1326 1327 1328 1329
config TARGET_HIKEY960
	bool "Support HiKey960 96boards Consumer Edition Platform"
	select ARM64
	select DM
	select DM_SERIAL
1330
	select GPIO_EXTRA_HEADER
1331 1332 1333 1334 1335 1336 1337
	select OF_CONTROL
	select PL01X_SERIAL
	imply CMD_DM
	  help
	  Support for HiKey960 96boards platform. It features a HI3660
	  SoC, with 4xA73 CPU, 4xA53 CPU, MALI-G71 GPU, and 3GB RAM.

1338 1339 1340 1341 1342
config TARGET_POPLAR
	bool "Support Poplar 96boards Enterprise Edition Platform"
	select ARM64
	select DM
	select DM_SERIAL
1343
	select GPIO_EXTRA_HEADER
1344
	select OF_CONTROL
1345
	select PL01X_SERIAL
M
Michal Simek 已提交
1346
	imply CMD_DM
1347 1348 1349 1350 1351 1352
	  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.

1353 1354
config TARGET_LS1012AQDS
	bool "Support ls1012aqds"
1355
	select ARCH_LS1012A
1356
	select ARM64
1357
	select ARCH_SUPPORT_TFABOOT
1358
	select BOARD_LATE_INIT
1359
	select GPIO_EXTRA_HEADER
1360 1361 1362 1363 1364 1365
	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.

1366 1367
config TARGET_LS1012ARDB
	bool "Support ls1012ardb"
1368
	select ARCH_LS1012A
1369
	select ARM64
1370
	select ARCH_SUPPORT_TFABOOT
1371
	select BOARD_LATE_INIT
1372
	select GPIO_EXTRA_HEADER
S
Simon Glass 已提交
1373
	imply SCSI
1374
	imply SCSI_AHCI
1375 1376 1377 1378 1379 1380
	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.

1381 1382 1383 1384
config TARGET_LS1012A2G5RDB
	bool "Support ls1012a2g5rdb"
	select ARCH_LS1012A
	select ARM64
1385
	select ARCH_SUPPORT_TFABOOT
1386
	select BOARD_LATE_INIT
1387
	select GPIO_EXTRA_HEADER
1388 1389 1390 1391 1392 1393 1394
	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.

1395 1396 1397 1398
config TARGET_LS1012AFRWY
	bool "Support ls1012afrwy"
	select ARCH_LS1012A
	select ARM64
1399
	select ARCH_SUPPORT_TFABOOT
1400
	select BOARD_LATE_INIT
1401
	select GPIO_EXTRA_HEADER
1402 1403 1404 1405 1406 1407 1408 1409
	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.

1410 1411
config TARGET_LS1012AFRDM
	bool "Support ls1012afrdm"
1412
	select ARCH_LS1012A
1413
	select ARM64
1414
	select ARCH_SUPPORT_TFABOOT
1415
	select GPIO_EXTRA_HEADER
1416 1417 1418 1419 1420 1421
	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.

1422 1423 1424 1425 1426
config TARGET_LS1028AQDS
	bool "Support ls1028aqds"
	select ARCH_LS1028A
	select ARM64
	select ARMV8_MULTIENTRY
1427
	select ARCH_SUPPORT_TFABOOT
1428
	select BOARD_LATE_INIT
1429
	select GPIO_EXTRA_HEADER
1430 1431 1432 1433 1434 1435
	help
	  Support for Freescale LS1028AQDS platform
	  The LS1028A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS1028A
	  Layerscape Architecture processor.

1436 1437 1438 1439 1440
config TARGET_LS1028ARDB
	bool "Support ls1028ardb"
	select ARCH_LS1028A
	select ARM64
	select ARMV8_MULTIENTRY
1441
	select ARCH_SUPPORT_TFABOOT
1442
	select BOARD_LATE_INIT
1443
	select GPIO_EXTRA_HEADER
1444 1445 1446 1447 1448 1449
	help
	  Support for Freescale LS1028ARDB platform
	  The LS1028A Development System (RDB) is a high-performance
	  development platform that supports the QorIQ LS1028A
	  Layerscape Architecture processor.

1450 1451 1452 1453 1454
config TARGET_LS1088ARDB
	bool "Support ls1088ardb"
	select ARCH_LS1088A
	select ARM64
	select ARMV8_MULTIENTRY
1455
	select ARCH_SUPPORT_TFABOOT
1456
	select BOARD_LATE_INIT
1457
	select SUPPORT_SPL
1458
	select FSL_DDR_INTERACTIVE if !SD_BOOT
1459
	select GPIO_EXTRA_HEADER
1460 1461 1462 1463 1464 1465
	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.

1466
config TARGET_LS1021AQDS
1467
	bool "Support ls1021aqds"
1468 1469 1470
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
	select BOARD_EARLY_INIT_F
1471
	select BOARD_LATE_INIT
1472
	select CPU_V7A
1473 1474
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
1475
	select LS1_DEEP_SLEEP
1476
	select SUPPORT_SPL
1477
	select SYS_FSL_DDR
1478
	select FSL_DDR_INTERACTIVE
1479
	select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
1480
	select GPIO_EXTRA_HEADER
1481
	select SPI_FLASH_DATAFLASH if FSL_DSPI || FSL_QSPI
S
Simon Glass 已提交
1482
	imply SCSI
1483

1484
config TARGET_LS1021ATWR
1485
	bool "Support ls1021atwr"
1486 1487 1488
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
	select BOARD_EARLY_INIT_F
1489
	select BOARD_LATE_INIT
1490
	select CPU_V7A
1491 1492
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
1493
	select LS1_DEEP_SLEEP
1494
	select SUPPORT_SPL
1495
	select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
1496
	select GPIO_EXTRA_HEADER
S
Simon Glass 已提交
1497
	imply SCSI
1498

1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509
config TARGET_PG_WCOM_SELI8
	bool "Support Hitachi-Powergrids SELI8 service unit card"
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select CPU_V7A
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
	select SYS_FSL_DDR
	select FSL_DDR_INTERACTIVE
1510
	select GPIO_EXTRA_HEADER
1511 1512 1513 1514 1515 1516 1517
	select VENDOR_KM
	imply SCSI
	help
	 Support for Hitachi-Powergrids SELI8 service unit card.
	 SELI8 is a QorIQ LS1021a based service unit card used
	 in XMC20 and FOX615 product families.

1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535
config TARGET_PG_WCOM_EXPU1
	bool "Support Hitachi-Powergrids EXPU1 service unit card"
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select CPU_V7A
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
	select SYS_FSL_DDR
	select FSL_DDR_INTERACTIVE
	select VENDOR_KM
	imply SCSI
	help
	 Support for Hitachi-Powergrids EXPU1 service unit card.
	 EXPU1 is a QorIQ LS1021a based service unit card used
	 in XMC20 and FOX615 product families.

1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546
config TARGET_LS1021ATSN
	bool "Support ls1021atsn"
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select CPU_V7A
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
	select LS1_DEEP_SLEEP
	select SUPPORT_SPL
1547
	select GPIO_EXTRA_HEADER
1548 1549
	imply SCSI

F
Feng Li 已提交
1550 1551
config TARGET_LS1021AIOT
	bool "Support ls1021aiot"
1552 1553
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
1554
	select BOARD_LATE_INIT
1555
	select CPU_V7A
F
Feng Li 已提交
1556 1557 1558
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
	select SUPPORT_SPL
1559
	select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
1560
	select GPIO_EXTRA_HEADER
S
Simon Glass 已提交
1561
	imply SCSI
F
Feng Li 已提交
1562 1563 1564 1565 1566 1567
	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.

1568 1569
config TARGET_LS1043AQDS
	bool "Support ls1043aqds"
1570
	select ARCH_LS1043A
1571 1572
	select ARM64
	select ARMV8_MULTIENTRY
1573
	select ARCH_SUPPORT_TFABOOT
1574
	select BOARD_EARLY_INIT_F
1575
	select BOARD_LATE_INIT
1576
	select SUPPORT_SPL
1577
	select FSL_DDR_INTERACTIVE if !SPL
1578 1579
	select FSL_DSPI if !SPL_NO_DSPI
	select DM_SPI_FLASH if FSL_DSPI
1580
	select GPIO_EXTRA_HEADER
S
Simon Glass 已提交
1581
	imply SCSI
1582
	imply SCSI_AHCI
1583 1584 1585
	help
	  Support for Freescale LS1043AQDS platform.

1586 1587
config TARGET_LS1043ARDB
	bool "Support ls1043ardb"
1588
	select ARCH_LS1043A
1589
	select ARM64
1590
	select ARMV8_MULTIENTRY
1591
	select ARCH_SUPPORT_TFABOOT
1592
	select BOARD_EARLY_INIT_F
1593
	select BOARD_LATE_INIT
1594
	select SUPPORT_SPL
1595 1596
	select FSL_DSPI if !SPL_NO_DSPI
	select DM_SPI_FLASH if FSL_DSPI
1597
	select GPIO_EXTRA_HEADER
1598 1599 1600
	help
	  Support for Freescale LS1043ARDB platform.

1601 1602
config TARGET_LS1046AQDS
	bool "Support ls1046aqds"
1603
	select ARCH_LS1046A
1604 1605
	select ARM64
	select ARMV8_MULTIENTRY
1606
	select ARCH_SUPPORT_TFABOOT
1607
	select BOARD_EARLY_INIT_F
1608
	select BOARD_LATE_INIT
1609
	select DM_SPI_FLASH if DM_SPI
1610
	select SUPPORT_SPL
1611 1612 1613
	select FSL_DDR_BIST if !SPL
	select FSL_DDR_INTERACTIVE  if !SPL
	select FSL_DDR_INTERACTIVE if !SPL
1614
	select GPIO_EXTRA_HEADER
S
Simon Glass 已提交
1615
	imply SCSI
1616 1617 1618 1619 1620 1621
	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.

1622 1623
config TARGET_LS1046ARDB
	bool "Support ls1046ardb"
1624
	select ARCH_LS1046A
1625 1626
	select ARM64
	select ARMV8_MULTIENTRY
1627
	select ARCH_SUPPORT_TFABOOT
1628
	select BOARD_EARLY_INIT_F
1629
	select BOARD_LATE_INIT
1630
	select DM_SPI_FLASH if DM_SPI
1631
	select POWER_MC34VR500
1632
	select SUPPORT_SPL
1633 1634
	select FSL_DDR_BIST
	select FSL_DDR_INTERACTIVE if !SPL
1635
	select GPIO_EXTRA_HEADER
S
Simon Glass 已提交
1636
	imply SCSI
1637 1638 1639 1640 1641 1642
	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.

1643 1644 1645 1646 1647
config TARGET_LS1046AFRWY
	bool "Support ls1046afrwy"
	select ARCH_LS1046A
	select ARM64
	select ARMV8_MULTIENTRY
1648
	select ARCH_SUPPORT_TFABOOT
1649 1650 1651
	select BOARD_EARLY_INIT_F
	select BOARD_LATE_INIT
	select DM_SPI_FLASH if DM_SPI
1652
	select GPIO_EXTRA_HEADER
1653 1654 1655 1656 1657 1658
	imply SCSI
	help
	  Support for Freescale LS1046AFRWY platform.
	  The LS1046A Freeway Board (FRWY) is a high-performance
	  development platform that supports the QorIQ LS1046A
	  Layerscape Architecture processor.
1659

M
Michael Walle 已提交
1660 1661 1662 1663 1664 1665 1666
config TARGET_SL28
	bool "Support sl28"
	select ARCH_LS1028A
	select ARM64
	select ARMV8_MULTIENTRY
	select SUPPORT_SPL
	select BINMAN
1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_SPI_FLASH
	select DM_ETH
	select DM_MDIO
	select DM_PCI
	select DM_RNG
	select DM_RTC
	select DM_SCSI
M
Michael Walle 已提交
1678
	select DM_SERIAL
1679
	select DM_SPI
1680
	select GPIO_EXTRA_HEADER
1681 1682 1683 1684 1685 1686
	select SPL_DM if SPL
	select SPL_DM_SPI if SPL
	select SPL_DM_SPI_FLASH if SPL
	select SPL_DM_I2C if SPL
	select SPL_DM_MMC if SPL
	select SPL_DM_SERIAL if SPL
M
Michael Walle 已提交
1687 1688 1689
	help
	  Support for Kontron SMARC-sAL28 board.

1690 1691
config TARGET_COLIBRI_PXA270
	bool "Support colibri_pxa270"
1692
	select CPU_PXA
1693
	select GPIO_EXTRA_HEADER
1694

1695
config ARCH_UNIPHIER
1696
	bool "Socionext UniPhier SoCs"
1697
	select BOARD_LATE_INIT
1698
	select DM
M
Masahiro Yamada 已提交
1699
	select DM_ETH
1700
	select DM_GPIO
1701
	select DM_I2C
1702
	select DM_MMC
1703
	select DM_MTD
1704
	select DM_RESET
1705
	select DM_SERIAL
1706
	select OF_BOARD_SETUP
1707 1708
	select OF_CONTROL
	select OF_LIBFDT
1709
	select PINCTRL
1710
	select SPL_BOARD_INIT if SPL
1711 1712 1713 1714 1715
	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
1716
	select SUPPORT_SPL
M
Michal Simek 已提交
1717
	imply CMD_DM
1718
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
1719
	imply FAT_WRITE
1720 1721 1722
	help
	  Support for UniPhier SoC family developed by Socionext Inc.
	  (formerly, System LSI Business Division of Panasonic Corporation)
1723

1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736
config ARCH_SYNQUACER
	bool "Socionext SynQuacer SoCs"
	select ARM64
	select DM
	select GIC_V3
	select PSCI_RESET
	select SYSRESET
	select SYSRESET_PSCI
	select OF_CONTROL
	help
	  Support for SynQuacer SoC family developed by Socionext Inc.
	  This SoC is used on 96boards EE DeveloperBox.

1737
config ARCH_STM32
1738
	bool "Support STMicroelectronics STM32 MCU with cortex M"
1739
	select CPU_V7M
K
Kamil Lulko 已提交
1740 1741
	select DM
	select DM_SERIAL
1742
	select GPIO_EXTRA_HEADER
M
Michal Simek 已提交
1743
	imply CMD_DM
1744

1745 1746
config ARCH_STI
	bool "Support STMicrolectronics SoCs"
1747
	select BLK
1748
	select CPU_V7A
P
Patrice Chotard 已提交
1749
	select DM
P
Patrice Chotard 已提交
1750
	select DM_MMC
P
Patrice Chotard 已提交
1751
	select DM_RESET
1752
	select DM_SERIAL
M
Michal Simek 已提交
1753
	imply CMD_DM
1754 1755 1756 1757
	help
	  Support for STMicroelectronics STiH407/10 SoC family.
	  This SoC is used on Linaro 96Board STiH410-B2260

1758 1759
config ARCH_STM32MP
	bool "Support STMicroelectronics STM32MP Socs with cortex A"
1760
	select ARCH_MISC_INIT
1761
	select ARCH_SUPPORT_TFABOOT
1762 1763 1764 1765 1766 1767
	select BOARD_LATE_INIT
	select CLK
	select DM
	select DM_GPIO
	select DM_RESET
	select DM_SERIAL
1768
	select GPIO_EXTRA_HEADER
1769
	select MISC
1770 1771
	select OF_CONTROL
	select OF_LIBFDT
1772
	select OF_SYSTEM_SETUP
1773 1774 1775 1776
	select PINCTRL
	select REGMAP
	select SUPPORT_SPL
	select SYSCON
P
Patrick Delaunay 已提交
1777
	select SYSRESET
1778
	select SYS_THUMB_BUILD
1779
	imply SPL_SYSRESET
M
Michal Simek 已提交
1780
	imply CMD_DM
1781
	imply CMD_POWEROFF
1782
	imply OF_LIBFDT_OVERLAY
1783
	imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1784
	imply USE_PREBOOT
1785 1786 1787
	help
	  Support for STM32MP SoC family developed by STMicroelectronics,
	  MPUs based on ARM cortex A core
1788 1789 1790 1791
	  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.
1792

1793 1794
config ARCH_ROCKCHIP
	bool "Support Rockchip SoCs"
1795
	select BLK
1796
	select BINMAN if SPL_OPTEE
1797
	select DM
1798 1799 1800
	select DM_GPIO
	select DM_I2C
	select DM_MMC
1801 1802
	select DM_PWM
	select DM_REGULATOR
1803 1804 1805
	select DM_SERIAL
	select DM_SPI
	select DM_SPI_FLASH
1806
	select ENABLE_ARM_SOC_BOOT0_HOOK
1807
	select OF_CONTROL
A
Adam Ford 已提交
1808
	select SPI
1809
	select SPL_DM if SPL
1810 1811
	select SPL_DM_SPI if SPL
	select SPL_DM_SPI_FLASH if SPL
1812 1813 1814
	select SYS_MALLOC_F
	select SYS_THUMB_BUILD if !ARM64
	imply ADC
M
Michal Simek 已提交
1815
	imply CMD_DM
1816
	imply DEBUG_UART_BOARD_INIT
1817
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
1818
	imply FAT_WRITE
1819
	imply SARADC_ROCKCHIP
1820
	imply SPL_SYSRESET
1821
	imply SPL_SYS_MALLOC_SIMPLE
1822
	imply SYS_NS16550
1823 1824
	imply TPL_SYSRESET
	imply USB_FUNCTION_FASTBOOT
1825

1826 1827
config ARCH_OCTEONTX
	bool "Support OcteonTX SoCs"
S
Stefan Roese 已提交
1828
	select CLK
1829
	select DM
1830
	select GPIO_EXTRA_HEADER
1831 1832 1833 1834 1835
	select ARM64
	select OF_CONTROL
	select OF_LIVE
	select BOARD_LATE_INIT
	select SYS_CACHE_SHIFT_7
1836 1837 1838

config ARCH_OCTEONTX2
	bool "Support OcteonTX2 SoCs"
S
Stefan Roese 已提交
1839
	select CLK
1840
	select DM
1841
	select GPIO_EXTRA_HEADER
1842 1843 1844 1845 1846 1847
	select ARM64
	select OF_CONTROL
	select OF_LIVE
	select BOARD_LATE_INIT
	select SYS_CACHE_SHIFT_7

1848 1849
config TARGET_THUNDERX_88XX
	bool "Support ThunderX 88xx"
1850
	select ARM64
1851
	select GPIO_EXTRA_HEADER
1852
	select OF_CONTROL
1853
	select PL01X_SERIAL
1854
	select SYS_CACHE_SHIFT_7
1855

1856 1857 1858
config ARCH_ASPEED
	bool "Support Aspeed SoCs"
	select DM
1859
	select OF_CONTROL
M
Michal Simek 已提交
1860
	imply CMD_DM
1861

1862 1863 1864
config TARGET_DURIAN
	bool "Support Phytium Durian Platform"
	select ARM64
1865
	select GPIO_EXTRA_HEADER
1866 1867 1868 1869
	help
	  Support for durian platform.
	  It has 2GB Sdram, uart and pcie.

1870 1871 1872 1873
config TARGET_PRESIDIO_ASIC
	bool "Support Cortina Presidio ASIC Platform"
	select ARM64

1874 1875 1876 1877 1878 1879
config TARGET_XENGUEST_ARM64
	bool "Xen guest ARM64"
	select ARM64
	select XEN
	select OF_CONTROL
	select LINUX_KERNEL_IMAGE_HEADER
1880
	select XEN_SERIAL
1881
	select SSCANF
1882 1883
endchoice

1884 1885 1886 1887 1888 1889 1890 1891
config ARCH_SUPPORT_TFABOOT
	bool

config TFABOOT
	bool "Support for booting from TF-A"
	depends on ARCH_SUPPORT_TFABOOT
	default n
	help
A
Andre Przywara 已提交
1892 1893 1894 1895 1896 1897 1898
	  Some platforms support the setup of secure registers (for instance
	  for CPU errata handling) or provide secure services like PSCI.
	  Those services could also be provided by other firmware parts
	  like TF-A (Trusted Firmware for Cortex-A), in which case U-Boot
	  does not need to (and cannot) execute this code.
	  Enabling this option will make a U-Boot binary that is relying
	  on other firmware layers to provide secure functionality.
1899

1900 1901
config TI_SECURE_DEVICE
	bool "HS Device Type Support"
1902
	depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3
1903 1904 1905 1906 1907 1908 1909
	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.

1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924
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

1925 1926
source "arch/arm/mach-aspeed/Kconfig"

1927 1928
source "arch/arm/mach-at91/Kconfig"

1929
source "arch/arm/mach-bcm283x/Kconfig"
1930

1931 1932
source "arch/arm/mach-bcmstb/Kconfig"

1933
source "arch/arm/mach-davinci/Kconfig"
1934

1935
source "arch/arm/mach-exynos/Kconfig"
1936

1937
source "arch/arm/mach-highbank/Kconfig"
1938

1939 1940
source "arch/arm/mach-integrator/Kconfig"

1941 1942
source "arch/arm/mach-ipq40xx/Kconfig"

1943 1944
source "arch/arm/mach-k3/Kconfig"

1945
source "arch/arm/mach-keystone/Kconfig"
1946

1947
source "arch/arm/mach-kirkwood/Kconfig"
1948

1949
source "arch/arm/mach-lpc32xx/Kconfig"
1950

1951 1952
source "arch/arm/mach-mvebu/Kconfig"

1953
source "arch/arm/mach-octeontx/Kconfig"
1954 1955 1956

source "arch/arm/mach-octeontx2/Kconfig"

1957 1958
source "arch/arm/cpu/armv7/ls102xa/Kconfig"

1959 1960
source "arch/arm/mach-imx/mx2/Kconfig"

1961 1962
source "arch/arm/mach-imx/mx3/Kconfig"

P
Peng Fan 已提交
1963 1964 1965
source "arch/arm/mach-imx/mx5/Kconfig"

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

1967
source "arch/arm/mach-imx/mx7/Kconfig"
1968

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

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

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

1975 1976
source "arch/arm/mach-imx/imxrt/Kconfig"

1977 1978
source "arch/arm/mach-imx/mxs/Kconfig"

1979
source "arch/arm/mach-omap2/Kconfig"
1980

1981 1982
source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"

1983
source "arch/arm/mach-orion5x/Kconfig"
1984

1985 1986
source "arch/arm/mach-owl/Kconfig"

1987
source "arch/arm/mach-rmobile/Kconfig"
1988

1989 1990
source "arch/arm/mach-meson/Kconfig"

1991 1992
source "arch/arm/mach-mediatek/Kconfig"

1993 1994
source "arch/arm/mach-qemu/Kconfig"

1995 1996
source "arch/arm/mach-rockchip/Kconfig"

1997
source "arch/arm/mach-s5pc1xx/Kconfig"
1998

1999 2000
source "arch/arm/mach-snapdragon/Kconfig"

2001 2002
source "arch/arm/mach-socfpga/Kconfig"

2003 2004
source "arch/arm/mach-sti/Kconfig"

2005 2006
source "arch/arm/mach-stm32/Kconfig"

2007 2008
source "arch/arm/mach-stm32mp/Kconfig"

2009 2010
source "arch/arm/mach-sunxi/Kconfig"

2011
source "arch/arm/mach-tegra/Kconfig"
2012

2013 2014
source "arch/arm/mach-u8500/Kconfig"

2015
source "arch/arm/mach-uniphier/Kconfig"
2016

2017 2018
source "arch/arm/cpu/armv7/vf610/Kconfig"

2019
source "arch/arm/mach-zynq/Kconfig"
2020

2021 2022
source "arch/arm/mach-zynqmp/Kconfig"

2023 2024
source "arch/arm/mach-versal/Kconfig"

2025 2026
source "arch/arm/mach-zynqmp-r5/Kconfig"

2027 2028
source "arch/arm/cpu/armv7/Kconfig"

2029 2030
source "arch/arm/cpu/armv8/Kconfig"

2031
source "arch/arm/mach-imx/Kconfig"
2032

2033 2034
source "arch/arm/mach-nexell/Kconfig"

2035 2036
source "board/armltd/total_compute/Kconfig"

2037
source "board/bosch/shc/Kconfig"
2038
source "board/bosch/guardian/Kconfig"
2039 2040
source "board/CarMediaLab/flea3/Kconfig"
source "board/Marvell/aspenite/Kconfig"
2041
source "board/Marvell/octeontx/Kconfig"
2042
source "board/Marvell/octeontx2/Kconfig"
2043
source "board/armltd/vexpress64/Kconfig"
2044
source "board/cortina/presidio-asic/Kconfig"
P
Philippe Reynes 已提交
2045
source "board/broadcom/bcm963158/Kconfig"
2046
source "board/broadcom/bcm968360bg/Kconfig"
P
Philippe Reynes 已提交
2047
source "board/broadcom/bcm968580xref/Kconfig"
2048
source "board/broadcom/bcmns3/Kconfig"
2049
source "board/cavium/thunderx/Kconfig"
F
Felix Brack 已提交
2050
source "board/eets/pdu001/Kconfig"
2051
source "board/emulation/qemu-arm/Kconfig"
2052 2053
source "board/freescale/ls2080aqds/Kconfig"
source "board/freescale/ls2080ardb/Kconfig"
2054
source "board/freescale/ls1088a/Kconfig"
2055
source "board/freescale/ls1028a/Kconfig"
2056
source "board/freescale/ls1021aqds/Kconfig"
2057
source "board/freescale/ls1043aqds/Kconfig"
2058
source "board/freescale/ls1021atwr/Kconfig"
2059
source "board/freescale/ls1021atsn/Kconfig"
F
Feng Li 已提交
2060
source "board/freescale/ls1021aiot/Kconfig"
2061
source "board/freescale/ls1046aqds/Kconfig"
2062
source "board/freescale/ls1043ardb/Kconfig"
2063
source "board/freescale/ls1046ardb/Kconfig"
2064
source "board/freescale/ls1046afrwy/Kconfig"
2065
source "board/freescale/ls1012aqds/Kconfig"
2066
source "board/freescale/ls1012ardb/Kconfig"
2067
source "board/freescale/ls1012afrdm/Kconfig"
2068
source "board/freescale/lx2160a/Kconfig"
2069
source "board/grinn/chiliboard/Kconfig"
2070
source "board/hisilicon/hikey/Kconfig"
2071
source "board/hisilicon/hikey960/Kconfig"
2072
source "board/hisilicon/poplar/Kconfig"
L
Ladislav Michl 已提交
2073
source "board/isee/igep003x/Kconfig"
M
Michael Walle 已提交
2074
source "board/kontron/sl28/Kconfig"
2075
source "board/myir/mys_6ulx/Kconfig"
2076
source "board/seeed/npi_imx6ull/Kconfig"
2077
source "board/socionext/developerbox/Kconfig"
2078
source "board/st/stv0991/Kconfig"
2079
source "board/tcl/sl50/Kconfig"
2080
source "board/toradex/colibri_pxa270/Kconfig"
2081
source "board/variscite/dart_6ul/Kconfig"
2082
source "board/vscom/baltos/Kconfig"
2083
source "board/phytium/durian/Kconfig"
2084
source "board/xen/xenguest_arm64/Kconfig"
2085
source "board/keymile/Kconfig"
2086

2087 2088
source "arch/arm/Kconfig.debug"

2089
endmenu
2090 2091

config SPL_LDSCRIPT
2092 2093
	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
2094
	default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64