Kconfig 38.3 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_ARM_CACHE_CP15
	bool "CP15 based cache enabling support"
	help
	  Select this if your processor suports enabling caches by using
	  CP15 registers.

83 84
config SYS_ARM_MMU
	bool "MMU-based Paged Memory Management Support"
85
	select SYS_ARM_CACHE_CP15
86 87 88 89
	help
	  Select if you want MMU-based virtualised addressing space
	  support by paged memory management.

L
Lokesh Vutla 已提交
90 91 92 93 94 95 96 97 98
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 已提交
99 100 101 102 103 104 105 106 107 108 109 110
# 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
111
# CONFIG_ARM_CORTEX_A8_CVE_2017_5715
112
# CONFIG_ARM_CORTEX_A15_CVE_2017_5715
113

T
Tom Rini 已提交
114 115 116 117 118 119 120 121 122 123 124 125
config ARM_ERRATA_430973
	bool

config ARM_ERRATA_454179
	bool

config ARM_ERRATA_621766
	bool

config ARM_ERRATA_716044
	bool

126 127 128
config ARM_ERRATA_725233
	bool

T
Tom Rini 已提交
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
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

171
config ARM_ERRATA_845369
172
	bool
173

174 175 176 177 178 179
config ARM_ERRATA_852421
	bool

config ARM_ERRATA_852423
	bool

180 181 182
config ARM_ERRATA_855873
	bool

183 184 185
config ARM_CORTEX_A8_CVE_2017_5715
	bool

186 187 188
config ARM_CORTEX_A15_CVE_2017_5715
	bool

189
config CPU_ARM720T
190
	bool
191
	select SYS_CACHE_SHIFT_5
192
	imply SYS_ARM_MMU
193 194

config CPU_ARM920T
195
	bool
196
	select SYS_CACHE_SHIFT_5
197
	imply SYS_ARM_MMU
198 199

config CPU_ARM926EJS
200
	bool
201
	select SYS_CACHE_SHIFT_5
202
	imply SYS_ARM_MMU
203 204

config CPU_ARM946ES
205
	bool
206
	select SYS_CACHE_SHIFT_5
207
	imply SYS_ARM_MMU
208 209

config CPU_ARM1136
210
	bool
211
	select SYS_CACHE_SHIFT_5
212
	imply SYS_ARM_MMU
213 214

config CPU_ARM1176
215 216
	bool
	select HAS_VBAR
217
	select SYS_CACHE_SHIFT_5
218
	imply SYS_ARM_MMU
219

220
config CPU_V7A
221 222
	bool
	select HAS_THUMB2
223
	select HAS_VBAR
224
	select SYS_CACHE_SHIFT_6
225
	imply SYS_ARM_MMU
226

R
rev13@wp.pl 已提交
227 228
config CPU_V7M
	bool
229
	select HAS_THUMB2
L
Lokesh Vutla 已提交
230
	select SYS_ARM_MPU
231
	select SYS_CACHE_SHIFT_5
232
	select SYS_THUMB_BUILD
233
	select THUMB2_KERNEL
R
rev13@wp.pl 已提交
234

M
Michal Simek 已提交
235 236 237
config CPU_V7R
	bool
	select HAS_THUMB2
L
Lokesh Vutla 已提交
238
	select SYS_ARM_CACHE_CP15
239 240
	select SYS_ARM_MPU
	select SYS_CACHE_SHIFT_6
M
Michal Simek 已提交
241

242
config CPU_PXA
243
	bool
244
	select SYS_CACHE_SHIFT_5
245
	imply SYS_ARM_MMU
246 247

config CPU_SA1100
248
	bool
249
	select SYS_CACHE_SHIFT_5
250
	imply SYS_ARM_MMU
251 252

config SYS_CPU
253 254 255 256 257 258
	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
259
	default "armv7" if CPU_V7A
M
Michal Simek 已提交
260
	default "armv7" if CPU_V7R
261 262 263
	default "armv7m" if CPU_V7M
	default "pxa" if CPU_PXA
	default "sa1100" if CPU_SA1100
264
	default "armv8" if ARM64
265

266 267 268 269 270 271 272 273
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
274
	default 7 if CPU_V7A
275
	default 7 if CPU_V7M
M
Michal Simek 已提交
276
	default 7 if CPU_V7R
277 278 279 280
	default 5 if CPU_PXA
	default 4 if CPU_SA1100
	default 8 if ARM64

281 282 283 284 285 286 287 288 289 290 291 292 293 294 295
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

296 297
config SYS_ARCH_TIMER
	bool "ARM Generic Timer support"
298
	depends on CPU_V7A || ARM64
299 300 301 302 303 304 305
	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.

306 307
config ARM_SMCCC
	bool "Support for ARM SMC Calling Convention (SMCCC)"
308
	depends on CPU_V7A || ARM64
309
	select ARM_PSCI_FW
310 311 312 313 314
	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.

315 316 317 318 319 320 321
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.

322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
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.

341 342 343 344 345 346
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.

347 348 349 350
config ENABLE_ARM_SOC_BOOT0_HOOK
	bool "prepare BOOT0 header"
	help
	  If the SoC's BOOT0 requires a header area filled with (magic)
351 352
	  values, then choose this option, and create a file included as
	  <asm/arch/boot0.h> which contains the required assembler code.
353

354 355 356 357
config ARM_CORTEX_CPU_IS_UP
	bool
	default n

358 359
config USE_ARCH_MEMCPY
	bool "Use an assembly optimized implementation of memcpy"
360 361 362 363 364 365 366 367
	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
368
	bool "Use an assembly optimized implementation of memcpy for SPL"
369
	default y if USE_ARCH_MEMCPY
370
	depends on !ARM64
371 372 373 374 375 376 377
	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 USE_ARCH_MEMSET
	bool "Use an assembly optimized implementation of memset"
378 379 380 381 382 383 384 385
	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
386
	bool "Use an assembly optimized implementation of memset for SPL"
387
	default y if USE_ARCH_MEMSET
388
	depends on !ARM64
389 390 391 392 393
	help
	  Enable the generation of an optimized version of memset.
	  Such implementation may be faster under some conditions
	  but may increase the binary size.

394 395 396 397 398 399
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.

400 401
choice
	prompt "Target select"
S
Simon Glass 已提交
402
	default TARGET_HIKEY
403

404 405
config ARCH_AT91
	bool "Atmel AT91"
406
	select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
407 408 409

config TARGET_EDB93XX
	bool "Support edb93xx"
410
	select CPU_ARM920T
411
	select PL010_SERIAL
412 413 414

config TARGET_ASPENITE
	bool "Support aspenite"
415
	select CPU_ARM926EJS
416 417 418

config TARGET_GPLUGD
	bool "Support gplugd"
419
	select CPU_ARM926EJS
420

421 422
config ARCH_DAVINCI
	bool "TI DaVinci"
423
	select CPU_ARM926EJS
424
	imply CMD_SAVES
425 426
	help
	  Support for TI's DaVinci platform.
427

428 429
config KIRKWOOD
	bool "Marvell Kirkwood"
430
	select ARCH_MISC_INIT
431 432
	select BOARD_EARLY_INIT_F
	select CPU_ARM926EJS
433

434
config ARCH_MVEBU
435
	bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
436
	select DM
437
	select DM_ETH
438
	select DM_SERIAL
439 440
	select DM_SPI
	select DM_SPI_FLASH
441 442
	select OF_CONTROL
	select OF_SEPARATE
A
Adam Ford 已提交
443
	select SPI
M
Michal Simek 已提交
444
	imply CMD_DM
445

446 447
config TARGET_APF27
	bool "Support apf27"
448
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
449
	select SUPPORT_SPL
450

451 452
config ORION5X
	bool "Marvell Orion"
453
	select CPU_ARM926EJS
454 455 456

config TARGET_SPEAR300
	bool "Support spear300"
457
	select BOARD_EARLY_INIT_F
458
	select CPU_ARM926EJS
459
	select PL011_SERIAL
460
	imply CMD_SAVES
461 462 463

config TARGET_SPEAR310
	bool "Support spear310"
464
	select BOARD_EARLY_INIT_F
465
	select CPU_ARM926EJS
466
	select PL011_SERIAL
467
	imply CMD_SAVES
468 469 470

config TARGET_SPEAR320
	bool "Support spear320"
471
	select BOARD_EARLY_INIT_F
472
	select CPU_ARM926EJS
473
	select PL011_SERIAL
474
	imply CMD_SAVES
475 476 477

config TARGET_SPEAR600
	bool "Support spear600"
478
	select BOARD_EARLY_INIT_F
479
	select CPU_ARM926EJS
480
	select PL011_SERIAL
481
	imply CMD_SAVES
482

483 484
config TARGET_STV0991
	bool "Support stv0991"
485
	select CPU_V7A
486 487
	select DM
	select DM_SERIAL
488 489
	select DM_SPI
	select DM_SPI_FLASH
490
	select PL01X_SERIAL
A
Adam Ford 已提交
491
	select SPI
492
	select SPI_FLASH
M
Michal Simek 已提交
493
	imply CMD_DM
494

495 496
config TARGET_X600
	bool "Support x600"
497
	select BOARD_LATE_INIT
498
	select CPU_ARM926EJS
499
	select PL011_SERIAL
500
	select SUPPORT_SPL
501 502 503

config TARGET_WOODBURN
	bool "Support woodburn"
504
	select CPU_ARM1136
505 506 507

config TARGET_WOODBURN_SD
	bool "Support woodburn_sd"
508
	select CPU_ARM1136
M
Masahiro Yamada 已提交
509
	select SUPPORT_SPL
510 511 512

config TARGET_FLEA3
	bool "Support flea3"
513
	select CPU_ARM1136
514 515 516

config TARGET_MX35PDK
	bool "Support mx35pdk"
517
	select BOARD_LATE_INIT
518
	select CPU_ARM1136
519

520 521
config ARCH_BCM283X
	bool "Broadcom BCM283X family"
M
Masahiro Yamada 已提交
522 523
	select DM
	select DM_GPIO
524
	select DM_SERIAL
525
	select OF_CONTROL
526
	select PL01X_SERIAL
527
	select SERIAL_SEARCH_ALL
M
Michal Simek 已提交
528
	imply CMD_DM
T
Tom Rini 已提交
529
	imply FAT_WRITE
530

P
Philippe Reynes 已提交
531 532 533 534 535 536
config ARCH_BCM63158
	bool "Broadcom BCM63158 family"
	select DM
	select OF_CONTROL
	imply CMD_DM

P
Philippe Reynes 已提交
537 538 539 540 541 542
config ARCH_BCM6858
	bool "Broadcom BCM6858 family"
	select DM
	select OF_CONTROL
	imply CMD_DM

543 544
config TARGET_VEXPRESS_CA15_TC2
	bool "Support vexpress_ca15_tc2"
545
	select CPU_V7A
546 547
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
548
	select PL011_SERIAL
549

550 551 552 553 554 555
config ARCH_BCMSTB
	bool "Broadcom BCM7XXX family"
	select CPU_V7A
	select DM
	select OF_CONTROL
	select OF_PRIOR_STAGE
M
Michal Simek 已提交
556
	imply CMD_DM
557 558 559 560
	help
	  This enables support for Broadcom ARM-based set-top box
	  chipsets, including the 7445 family of chips.

561 562
config TARGET_VEXPRESS_CA5X2
	bool "Support vexpress_ca5x2"
563
	select CPU_V7A
564
	select PL011_SERIAL
565 566 567

config TARGET_VEXPRESS_CA9X4
	bool "Support vexpress_ca9x4"
568
	select CPU_V7A
569
	select PL011_SERIAL
570

571 572
config TARGET_BCM23550_W1D
	bool "Support bcm23550_w1d"
573
	select CPU_V7A
574
	imply CRC32_VERIFY
T
Tom Rini 已提交
575
	imply FAT_WRITE
576

577 578
config TARGET_BCM28155_AP
	bool "Support bcm28155_ap"
579
	select CPU_V7A
580
	imply CRC32_VERIFY
T
Tom Rini 已提交
581
	imply FAT_WRITE
582

S
Steve Rae 已提交
583 584
config TARGET_BCMCYGNUS
	bool "Support bcmcygnus"
585
	select CPU_V7A
586 587
	imply BCM_SF2_ETH
	imply BCM_SF2_ETH_GMAC
S
Simon Glass 已提交
588
	imply CMD_HASH
589
	imply CRC32_VERIFY
T
Tom Rini 已提交
590
	imply FAT_WRITE
591
	imply HASH_VERIFY
592
	imply NETDEVICES
593

S
Steve Rae 已提交
594 595
config TARGET_BCMNSP
	bool "Support bcmnsp"
596
	select CPU_V7A
597

598 599 600 601 602 603 604 605
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

606 607
config ARCH_EXYNOS
	bool "Samsung EXYNOS"
M
Masahiro Yamada 已提交
608
	select DM
609
	select DM_GPIO
610
	select DM_I2C
611
	select DM_KEYBOARD
M
Masahiro Yamada 已提交
612 613
	select DM_SERIAL
	select DM_SPI
614
	select DM_SPI_FLASH
A
Adam Ford 已提交
615
	select SPI
G
Guillaume GARDET 已提交
616
	imply SYS_THUMB_BUILD
M
Michal Simek 已提交
617
	imply CMD_DM
T
Tom Rini 已提交
618
	imply FAT_WRITE
619

620 621
config ARCH_S5PC1XX
	bool "Samsung S5PC1XX"
622
	select CPU_V7A
M
Masahiro Yamada 已提交
623 624
	select DM
	select DM_GPIO
625
	select DM_I2C
626
	select DM_SERIAL
M
Michal Simek 已提交
627
	imply CMD_DM
628

629 630
config ARCH_HIGHBANK
	bool "Calxeda Highbank"
631
	select CPU_V7A
632
	select PL011_SERIAL
633

634 635
config ARCH_INTEGRATOR
	bool "ARM Ltd. Integrator family"
636 637
	select DM
	select DM_SERIAL
638
	select PL01X_SERIAL
M
Michal Simek 已提交
639
	imply CMD_DM
640

641 642
config ARCH_KEYSTONE
	bool "TI Keystone"
643
	select CMD_POWEROFF
644
	select CPU_V7A
M
Masahiro Yamada 已提交
645
	select SUPPORT_SPL
646
	select SYS_ARCH_TIMER
647
	select SYS_THUMB_BUILD
648
	imply CMD_MTDPARTS
649
	imply CMD_SAVES
650
	imply FIT
651

652 653 654 655 656 657
config ARCH_K3
	bool "Texas Instruments' K3 Architecture"
	select SPL
	select SUPPORT_SPL
	select FIT

658 659
config ARCH_OMAP2PLUS
	bool "TI OMAP2+"
660
	select CPU_V7A
661
	select SPL_BOARD_INIT if SPL
662
	select SPL_STACK_R if SPL
663 664 665
	select SUPPORT_SPL
	imply FIT

666 667
config ARCH_MESON
	bool "Amlogic Meson"
668
	imply DISTRO_DEFAULTS
669 670 671 672 673
	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.

674 675 676 677 678 679 680 681 682 683 684 685 686 687
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.

688 689 690 691 692 693 694 695 696 697
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 已提交
698 699 700 701 702 703
config ARCH_IMX8
	bool "NXP i.MX8 platform"
	select ARM64
	select DM
	select OF_CONTROL

P
Peng Fan 已提交
704
config ARCH_IMX8M
P
Peng Fan 已提交
705 706 707 708
	bool "NXP i.MX8M platform"
	select ARM64
	select DM
	select SUPPORT_SPL
M
Michal Simek 已提交
709
	imply CMD_DM
P
Peng Fan 已提交
710

711 712 713 714 715 716
config ARCH_MX23
	bool "NXP i.MX23 family"
	select CPU_ARM926EJS
	select PL011_SERIAL
	select SUPPORT_SPL

717 718 719
config ARCH_MX25
	bool "NXP MX25"
	select CPU_ARM926EJS
A
Adam Ford 已提交
720
	imply MXC_GPIO
721

722 723 724 725 726 727
config ARCH_MX28
	bool "NXP i.MX28 family"
	select CPU_ARM926EJS
	select PL011_SERIAL
	select SUPPORT_SPL

728 729 730 731
config ARCH_MX31
	bool "NXP i.MX31 family"
	select CPU_ARM1136

P
Peng Fan 已提交
732
config ARCH_MX7ULP
733
	bool "NXP MX7ULP"
734
	select CPU_V7A
P
Peng Fan 已提交
735
	select ROM_UNIFIED_SECTIONS
A
Adam Ford 已提交
736
	imply MXC_GPIO
P
Peng Fan 已提交
737

738 739
config ARCH_MX7
	bool "Freescale MX7"
740 741
	select ARCH_MISC_INIT
	select BOARD_EARLY_INIT_F
742
	select CPU_V7A
743 744
	select SYS_FSL_HAS_SEC if SECURE_BOOT
	select SYS_FSL_SEC_COMPAT_4
745
	select SYS_FSL_SEC_LE
A
Adam Ford 已提交
746
	imply MXC_GPIO
747

748 749
config ARCH_MX6
	bool "Freescale MX6"
750
	select CPU_V7A
751 752
	select SYS_FSL_HAS_SEC if SECURE_BOOT
	select SYS_FSL_SEC_COMPAT_4
753
	select SYS_FSL_SEC_LE
754
	select SYS_THUMB_BUILD if SPL
A
Adam Ford 已提交
755
	imply MXC_GPIO
756

757 758
if ARCH_MX6
config SPL_LDSCRIPT
759
	default "arch/arm/mach-omap2/u-boot-spl.lds"
760 761
endif

762 763
config ARCH_MX5
	bool "Freescale MX5"
764
	select BOARD_EARLY_INIT_F
765
	select CPU_V7A
A
Adam Ford 已提交
766
	imply MXC_GPIO
767

768 769 770 771 772 773
config ARCH_OWL
	bool "Actions Semi OWL SoCs"
	select ARM64
	select DM
	select DM_SERIAL
	select OF_CONTROL
M
Michal Simek 已提交
774
	imply CMD_DM
775

776 777 778 779 780
config ARCH_QEMU
	bool "QEMU Virtual Platform"
	select DM
	select DM_SERIAL
	select OF_CONTROL
781
	select PL01X_SERIAL
M
Michal Simek 已提交
782
	imply CMD_DM
783 784
	imply DM_RTC
	imply RTC_PL031
785

786
config ARCH_RMOBILE
787
	bool "Renesas ARM SoCs"
788
	select BOARD_EARLY_INIT_F
789 790
	select DM
	select DM_SERIAL
M
Michal Simek 已提交
791
	imply CMD_DM
T
Tom Rini 已提交
792
	imply FAT_WRITE
793
	imply SYS_THUMB_BUILD
794
	imply ARCH_MISC_INIT if DISPLAY_CPUINFO
795

796 797 798
config TARGET_S32V234EVB
	bool "Support s32v234evb"
	select ARM64
799
	select SYS_FSL_ERRATUM_ESDHC111
800

801 802 803 804 805 806
config ARCH_SNAPDRAGON
	bool "Qualcomm Snapdragon SoCs"
	select ARM64
	select DM
	select DM_GPIO
	select DM_SERIAL
807
	select MSM_SMEM
808 809
	select OF_CONTROL
	select OF_SEPARATE
810
	select SMEM
811
	select SPMI
M
Michal Simek 已提交
812
	imply CMD_DM
813

814 815
config ARCH_SOCFPGA
	bool "Altera SOCFPGA family"
816
	select ARCH_EARLY_INIT_R
817
	select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
818
	select ARM64 if TARGET_SOCFPGA_STRATIX10
819
	select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
820
	select DM
M
Marek Vasut 已提交
821
	select DM_SERIAL
822
	select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
823
	select OF_CONTROL
824
	select SPL_DM_RESET if DM_RESET
825
	select SPL_DM_SERIAL
826 827 828 829
	select SPL_LIBCOMMON_SUPPORT
	select SPL_LIBGENERIC_SUPPORT
	select SPL_NAND_SUPPORT if SPL_NAND_DENALI
	select SPL_OF_CONTROL
830
	select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
831 832 833
	select SPL_SERIAL_SUPPORT
	select SPL_WATCHDOG_SUPPORT
	select SUPPORT_SPL
M
Marek Vasut 已提交
834
	select SYS_NS16550
835
	select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
M
Michal Simek 已提交
836
	imply CMD_DM
837
	imply CMD_MTDPARTS
838
	imply CRC32_VERIFY
839 840
	imply DM_SPI
	imply DM_SPI_FLASH
T
Tom Rini 已提交
841
	imply FAT_WRITE
842 843
	imply SPL
	imply SPL_DM
844 845
	imply SPL_LIBDISK_SUPPORT
	imply SPL_MMC_SUPPORT
846
	imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
847
	imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
848 849
	imply SPL_SPI_FLASH_SUPPORT
	imply SPL_SPI_SUPPORT
850
	imply L2X0_CACHE
851

852 853
config ARCH_SUNXI
	bool "Support sunxi (Allwinner) SoCs"
854
	select BINMAN
855
	select CMD_GPIO
856
	select CMD_MMC if MMC
857
	select CMD_USB if DISTRO_DEFAULTS
J
Jagan Teki 已提交
858
	select CLK
859
	select DM
860
	select DM_ETH
H
Hans de Goede 已提交
861 862
	select DM_GPIO
	select DM_KEYBOARD
863 864
	select DM_MMC if MMC
	select DM_SCSI if SCSI
865
	select DM_SERIAL
866
	select DM_USB if DISTRO_DEFAULTS
867
	select OF_BOARD_SETUP
868 869
	select OF_CONTROL
	select OF_SEPARATE
870
	select SPECIFY_CONSOLE_INDEX
871 872
	select SPL_STACK_R if SPL
	select SPL_SYS_MALLOC_SIMPLE if SPL
873
	select SPL_SYS_THUMB_BUILD if !ARM64
874
	select SYS_NS16550
875
	select SYS_THUMB_BUILD if !ARM64
876 877
	select USB if DISTRO_DEFAULTS
	select USB_KEYBOARD if DISTRO_DEFAULTS
878
	select USB_STORAGE if DISTRO_DEFAULTS
H
Hans de Goede 已提交
879
	select USE_TINY_PRINTF
M
Michal Simek 已提交
880
	imply CMD_DM
M
Maxime Ripard 已提交
881
	imply CMD_GPT
882
	imply CMD_UBI if NAND
883
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
884
	imply FAT_WRITE
M
Marek Vasut 已提交
885
	imply FIT
886
	imply OF_LIBFDT_OVERLAY
887 888 889 890
	imply PRE_CONSOLE_BUFFER
	imply SPL_GPIO_SUPPORT
	imply SPL_LIBCOMMON_SUPPORT
	imply SPL_LIBGENERIC_SUPPORT
891
	imply SPL_MMC_SUPPORT if MMC
892 893
	imply SPL_POWER_SUPPORT
	imply SPL_SERIAL_SUPPORT
M
Maxime Ripard 已提交
894
	imply USB_GADGET
C
Chen-Yu Tsai 已提交
895

896 897 898 899 900
config ARCH_VERSAL
	bool "Support Xilinx Versal Platform"
	select ARM64
	select CLK
	select DM
901 902
	select DM_ETH if NET
	select DM_MMC if MMC
903 904 905
	select DM_SERIAL
	select OF_CONTROL

906 907
config ARCH_VF610
	bool "Freescale Vybrid"
908
	select CPU_V7A
909
	select SYS_FSL_ERRATUM_ESDHC111
910
	imply CMD_MTDPARTS
A
Adam Ford 已提交
911
	imply NAND
912

913
config ARCH_ZYNQ
914
	bool "Xilinx Zynq based platform"
915 916 917
	select BOARD_EARLY_INIT_F if WDT
	select CLK
	select CLK_ZYNQ
918
	select CPU_V7A
919
	select DM
920 921
	select DM_ETH if NET
	select DM_MMC if MMC
922
	select DM_SERIAL
923
	select DM_SPI
924
	select DM_SPI_FLASH
925
	select DM_USB if USB
926
	select OF_CONTROL
A
Adam Ford 已提交
927
	select SPI
928 929 930 931 932 933 934
	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
935
	imply BOARD_LATE_INIT
S
Simon Glass 已提交
936
	imply CMD_CLK
M
Michal Simek 已提交
937
	imply CMD_DM
S
Simon Glass 已提交
938
	imply CMD_SPL
939
	imply FAT_WRITE
940

941 942
config ARCH_ZYNQMP_R5
	bool "Xilinx ZynqMP R5 based platform"
943
	select CLK
944 945
	select CPU_V7R
	select DM
946 947
	select DM_ETH if NET
	select DM_MMC if MMC
948
	select DM_SERIAL
949
	select OF_CONTROL
M
Michal Simek 已提交
950
	imply CMD_DM
951
	imply DM_USB_GADGET
952

953
config ARCH_ZYNQMP
954
	bool "Xilinx ZynqMP based platform"
M
Michal Simek 已提交
955
	select ARM64
956
	select CLK
957
	select DM
958 959
	select DM_ETH if NET
	select DM_MMC if MMC
960
	select DM_SERIAL
961 962
	select DM_SPI if SPI
	select DM_SPI_FLASH if DM_SPI
963 964
	select DM_USB if USB
	select OF_CONTROL
965
	select SPL_BOARD_INIT if SPL
966
	select SPL_CLK if SPL
967
	select SPL_SEPARATE_BSS if SPL
968
	select SUPPORT_SPL
969
	imply BOARD_LATE_INIT
M
Michal Simek 已提交
970
	imply CMD_DM
T
Tom Rini 已提交
971
	imply FAT_WRITE
972
	imply MP
973
	imply DM_USB_GADGET
M
Michal Simek 已提交
974

975 976
config TEGRA
	bool "NVIDIA Tegra"
977
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
978
	imply FAT_WRITE
979

980
config TARGET_VEXPRESS64_AEMV8A
981
	bool "Support vexpress_aemv8a"
982
	select ARM64
983
	select PL01X_SERIAL
984

985 986 987
config TARGET_VEXPRESS64_BASE_FVP
	bool "Support Versatile Express ARMv8a FVP BASE model"
	select ARM64
988
	select PL01X_SERIAL
989
	select SEMIHOSTING
990

991 992 993
config TARGET_VEXPRESS64_BASE_FVP_DRAM
	bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
	select ARM64
994
	select PL01X_SERIAL
995 996 997 998 999 1000
	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.

1001 1002 1003
config TARGET_VEXPRESS64_JUNO
	bool "Support Versatile Express Juno Development Platform"
	select ARM64
1004
	select PL01X_SERIAL
1005

1006 1007
config TARGET_LS2080A_EMU
	bool "Support ls2080a_emu"
1008
	select ARCH_LS2080A
1009
	select ARCH_MISC_INIT
1010
	select ARM64
1011
	select ARMV8_MULTIENTRY
1012
	select FSL_DDR_SYNC_REFRESH
1013 1014 1015 1016 1017
	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.
1018

1019 1020
config TARGET_LS2080A_SIMU
	bool "Support ls2080a_simu"
1021
	select ARCH_LS2080A
1022
	select ARCH_MISC_INIT
1023
	select ARM64
1024
	select ARMV8_MULTIENTRY
1025 1026 1027 1028 1029
	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.
1030

1031 1032 1033
config TARGET_LS1088AQDS
	bool "Support ls1088aqds"
	select ARCH_LS1088A
1034
	select ARCH_MISC_INIT
1035 1036 1037
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
1038
	select SUPPORT_SPL
1039
	select FSL_DDR_INTERACTIVE if !SD_BOOT
1040 1041 1042 1043 1044 1045
	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.

1046 1047
config TARGET_LS2080AQDS
	bool "Support ls2080aqds"
1048
	select ARCH_LS2080A
1049
	select ARCH_MISC_INIT
1050 1051
	select ARM64
	select ARMV8_MULTIENTRY
1052
	select BOARD_LATE_INIT
S
Scott Wood 已提交
1053
	select SUPPORT_SPL
S
Simon Glass 已提交
1054
	imply SCSI
1055
	imply SCSI_AHCI
1056 1057
	select FSL_DDR_BIST
	select FSL_DDR_INTERACTIVE if !SPL
1058
	help
1059 1060 1061
	  Support for Freescale LS2080AQDS platform
	  The LS2080A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS2080A
1062 1063
	  Layerscape Architecture processor.

1064 1065
config TARGET_LS2080ARDB
	bool "Support ls2080ardb"
1066
	select ARCH_LS2080A
1067
	select ARCH_MISC_INIT
1068 1069
	select ARM64
	select ARMV8_MULTIENTRY
1070
	select BOARD_LATE_INIT
1071
	select SUPPORT_SPL
1072 1073
	select FSL_DDR_BIST
	select FSL_DDR_INTERACTIVE if !SPL
S
Simon Glass 已提交
1074
	imply SCSI
1075
	imply SCSI_AHCI
1076
	help
1077 1078 1079
	  Support for Freescale LS2080ARDB platform.
	  The LS2080A Reference design board (RDB) is a high-performance
	  development platform that supports the QorIQ LS2080A
1080 1081
	  Layerscape Architecture processor.

1082 1083 1084
config TARGET_LS2081ARDB
	bool "Support ls2081ardb"
	select ARCH_LS2080A
1085
	select ARCH_MISC_INIT
1086 1087 1088 1089 1090 1091 1092 1093 1094 1095
	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.

1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108
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.

1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121
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.

1122 1123 1124
config TARGET_HIKEY
	bool "Support HiKey 96boards Consumer Edition Platform"
	select ARM64
1125 1126
	select DM
	select DM_GPIO
1127
	select DM_SERIAL
1128
	select OF_CONTROL
1129
	select PL01X_SERIAL
1130
	select SPECIFY_CONSOLE_INDEX
M
Michal Simek 已提交
1131
	imply CMD_DM
1132 1133 1134 1135
	  help
	  Support for HiKey 96boards platform. It features a HI6220
	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.

1136 1137 1138 1139 1140 1141
config TARGET_POPLAR
	bool "Support Poplar 96boards Enterprise Edition Platform"
	select ARM64
	select DM
	select DM_SERIAL
	select DM_USB
1142
	select OF_CONTROL
1143
	select PL01X_SERIAL
M
Michal Simek 已提交
1144
	imply CMD_DM
1145 1146 1147 1148 1149 1150
	  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.

1151 1152
config TARGET_LS1012AQDS
	bool "Support ls1012aqds"
1153
	select ARCH_LS1012A
1154
	select ARM64
1155
	select BOARD_LATE_INIT
1156 1157 1158 1159 1160 1161
	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.

1162 1163
config TARGET_LS1012ARDB
	bool "Support ls1012ardb"
1164
	select ARCH_LS1012A
1165
	select ARM64
1166
	select BOARD_LATE_INIT
S
Simon Glass 已提交
1167
	imply SCSI
1168
	imply SCSI_AHCI
1169 1170 1171 1172 1173 1174
	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.

1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186
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.

1187 1188 1189 1190
config TARGET_LS1012AFRWY
	bool "Support ls1012afrwy"
	select ARCH_LS1012A
	select ARM64
1191
	select BOARD_LATE_INIT
1192 1193 1194 1195 1196 1197 1198 1199
	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.

1200 1201
config TARGET_LS1012AFRDM
	bool "Support ls1012afrdm"
1202
	select ARCH_LS1012A
1203 1204 1205 1206 1207 1208 1209
	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.

1210 1211 1212
config TARGET_LS1088ARDB
	bool "Support ls1088ardb"
	select ARCH_LS1088A
1213
	select ARCH_MISC_INIT
1214 1215 1216
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
1217
	select SUPPORT_SPL
1218
	select FSL_DDR_INTERACTIVE if !SD_BOOT
1219 1220 1221 1222 1223 1224
	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.

1225
config TARGET_LS1021AQDS
1226
	bool "Support ls1021aqds"
1227 1228 1229
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
	select BOARD_EARLY_INIT_F
1230
	select BOARD_LATE_INIT
1231
	select CPU_V7A
1232 1233
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
1234
	select LS1_DEEP_SLEEP
1235
	select SUPPORT_SPL
1236
	select SYS_FSL_DDR
1237
	select FSL_DDR_INTERACTIVE
S
Simon Glass 已提交
1238
	imply SCSI
1239

1240
config TARGET_LS1021ATWR
1241
	bool "Support ls1021atwr"
1242 1243 1244
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
	select BOARD_EARLY_INIT_F
1245
	select BOARD_LATE_INIT
1246
	select CPU_V7A
1247 1248
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
1249
	select LS1_DEEP_SLEEP
1250
	select SUPPORT_SPL
S
Simon Glass 已提交
1251
	imply SCSI
1252

F
Feng Li 已提交
1253 1254
config TARGET_LS1021AIOT
	bool "Support ls1021aiot"
1255 1256
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
1257
	select BOARD_LATE_INIT
1258
	select CPU_V7A
F
Feng Li 已提交
1259 1260 1261
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
	select SUPPORT_SPL
S
Simon Glass 已提交
1262
	imply SCSI
F
Feng Li 已提交
1263 1264 1265 1266 1267 1268
	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.

1269 1270
config TARGET_LS1043AQDS
	bool "Support ls1043aqds"
1271
	select ARCH_LS1043A
1272 1273
	select ARM64
	select ARMV8_MULTIENTRY
1274
	select BOARD_EARLY_INIT_F
1275
	select BOARD_LATE_INIT
1276
	select SUPPORT_SPL
1277
	select FSL_DDR_INTERACTIVE if !SPL
S
Simon Glass 已提交
1278
	imply SCSI
1279
	imply SCSI_AHCI
1280 1281 1282
	help
	  Support for Freescale LS1043AQDS platform.

1283 1284
config TARGET_LS1043ARDB
	bool "Support ls1043ardb"
1285
	select ARCH_LS1043A
1286
	select ARM64
1287
	select ARMV8_MULTIENTRY
1288
	select BOARD_EARLY_INIT_F
1289
	select BOARD_LATE_INIT
1290
	select SUPPORT_SPL
1291 1292 1293
	help
	  Support for Freescale LS1043ARDB platform.

1294 1295
config TARGET_LS1046AQDS
	bool "Support ls1046aqds"
1296
	select ARCH_LS1046A
1297 1298
	select ARM64
	select ARMV8_MULTIENTRY
1299
	select BOARD_EARLY_INIT_F
1300
	select BOARD_LATE_INIT
1301
	select DM_SPI_FLASH if DM_SPI
1302
	select SUPPORT_SPL
1303 1304 1305
	select FSL_DDR_BIST if !SPL
	select FSL_DDR_INTERACTIVE  if !SPL
	select FSL_DDR_INTERACTIVE if !SPL
S
Simon Glass 已提交
1306
	imply SCSI
1307 1308 1309 1310 1311 1312
	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.

1313 1314
config TARGET_LS1046ARDB
	bool "Support ls1046ardb"
1315
	select ARCH_LS1046A
1316 1317
	select ARM64
	select ARMV8_MULTIENTRY
1318
	select BOARD_EARLY_INIT_F
1319
	select BOARD_LATE_INIT
1320
	select DM_SPI_FLASH if DM_SPI
1321
	select POWER_MC34VR500
1322
	select SUPPORT_SPL
1323 1324
	select FSL_DDR_BIST
	select FSL_DDR_INTERACTIVE if !SPL
S
Simon Glass 已提交
1325
	imply SCSI
1326 1327 1328 1329 1330 1331
	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.

1332 1333
config TARGET_H2200
	bool "Support h2200"
1334
	select CPU_PXA
1335

1336 1337 1338 1339
config TARGET_ZIPITZ2
	bool "Support zipitz2"
	select CPU_PXA

1340 1341
config TARGET_COLIBRI_PXA270
	bool "Support colibri_pxa270"
1342
	select CPU_PXA
1343

1344
config ARCH_UNIPHIER
1345
	bool "Socionext UniPhier SoCs"
1346
	select BOARD_LATE_INIT
1347
	select DM
1348
	select DM_GPIO
1349
	select DM_I2C
1350
	select DM_MMC
1351
	select DM_RESET
1352
	select DM_SERIAL
1353
	select DM_USB
1354
	select OF_BOARD_SETUP
1355 1356
	select OF_CONTROL
	select OF_LIBFDT
1357
	select PINCTRL
1358
	select SPL_BOARD_INIT if SPL
1359 1360 1361 1362 1363
	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
1364
	select SUPPORT_SPL
M
Michal Simek 已提交
1365
	imply CMD_DM
1366
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
1367
	imply FAT_WRITE
1368 1369 1370
	help
	  Support for UniPhier SoC family developed by Socionext Inc.
	  (formerly, System LSI Business Division of Panasonic Corporation)
1371

1372
config STM32
1373
	bool "Support STMicroelectronics STM32 MCU with cortex M"
1374
	select CPU_V7M
K
Kamil Lulko 已提交
1375 1376
	select DM
	select DM_SERIAL
M
Michal Simek 已提交
1377
	imply CMD_DM
1378

1379 1380
config ARCH_STI
	bool "Support STMicrolectronics SoCs"
1381
	select BLK
1382
	select CPU_V7A
P
Patrice Chotard 已提交
1383
	select DM
P
Patrice Chotard 已提交
1384
	select DM_MMC
P
Patrice Chotard 已提交
1385
	select DM_RESET
1386
	select DM_SERIAL
M
Michal Simek 已提交
1387
	imply CMD_DM
1388 1389 1390 1391
	help
	  Support for STMicroelectronics STiH407/10 SoC family.
	  This SoC is used on Linaro 96Board STiH410-B2260

1392 1393
config ARCH_STM32MP
	bool "Support STMicroelectronics STM32MP Socs with cortex A"
1394
	select ARCH_MISC_INIT
1395 1396 1397 1398 1399 1400
	select BOARD_LATE_INIT
	select CLK
	select DM
	select DM_GPIO
	select DM_RESET
	select DM_SERIAL
1401
	select MISC
1402 1403 1404 1405 1406 1407
	select OF_CONTROL
	select OF_LIBFDT
	select PINCTRL
	select REGMAP
	select SUPPORT_SPL
	select SYSCON
P
Patrick Delaunay 已提交
1408
	select SYSRESET
1409
	select SYS_THUMB_BUILD
M
Michal Simek 已提交
1410
	imply CMD_DM
1411
	imply CMD_POWEROFF
1412
	imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1413 1414 1415
	help
	  Support for STM32MP SoC family developed by STMicroelectronics,
	  MPUs based on ARM cortex A core
1416 1417 1418 1419
	  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.
1420

1421 1422
config ARCH_ROCKCHIP
	bool "Support Rockchip SoCs"
1423
	select BLK
1424
	select DM
1425 1426 1427
	select DM_GPIO
	select DM_I2C
	select DM_MMC
1428 1429
	select DM_PWM
	select DM_REGULATOR
1430 1431 1432
	select DM_SERIAL
	select DM_SPI
	select DM_SPI_FLASH
1433
	select DM_USB if USB
1434
	select ENABLE_ARM_SOC_BOOT0_HOOK
1435
	select OF_CONTROL
A
Adam Ford 已提交
1436
	select SPI
1437 1438 1439 1440 1441
	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 已提交
1442
	imply CMD_DM
1443
	imply DEBUG_UART_BOARD_INIT
1444
	imply DISTRO_DEFAULTS
T
Tom Rini 已提交
1445
	imply FAT_WRITE
1446
	imply SARADC_ROCKCHIP
1447
	imply SPL_SYSRESET
1448
	imply SYS_NS16550
1449 1450
	imply TPL_SYSRESET
	imply USB_FUNCTION_FASTBOOT
1451

1452 1453
config TARGET_THUNDERX_88XX
	bool "Support ThunderX 88xx"
1454
	select ARM64
1455
	select OF_CONTROL
1456
	select PL01X_SERIAL
1457
	select SYS_CACHE_SHIFT_7
1458

1459 1460 1461
config ARCH_ASPEED
	bool "Support Aspeed SoCs"
	select DM
1462
	select OF_CONTROL
M
Michal Simek 已提交
1463
	imply CMD_DM
1464

1465 1466
endchoice

1467 1468
config TI_SECURE_DEVICE
	bool "HS Device Type Support"
1469
	depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3
1470 1471 1472 1473 1474 1475 1476
	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.

1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491
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

1492 1493
source "arch/arm/mach-aspeed/Kconfig"

1494 1495
source "arch/arm/mach-at91/Kconfig"

1496
source "arch/arm/mach-bcm283x/Kconfig"
1497

1498 1499
source "arch/arm/mach-bcmstb/Kconfig"

1500
source "arch/arm/mach-davinci/Kconfig"
1501

1502
source "arch/arm/mach-exynos/Kconfig"
1503

1504
source "arch/arm/mach-highbank/Kconfig"
1505

1506 1507
source "arch/arm/mach-integrator/Kconfig"

1508 1509
source "arch/arm/mach-k3/Kconfig"

1510
source "arch/arm/mach-keystone/Kconfig"
1511

1512
source "arch/arm/mach-kirkwood/Kconfig"
1513

1514 1515
source "arch/arm/cpu/arm926ejs/lpc32xx/Kconfig"

1516 1517
source "arch/arm/mach-mvebu/Kconfig"

1518 1519
source "arch/arm/cpu/armv7/ls102xa/Kconfig"

1520 1521
source "arch/arm/mach-imx/mx2/Kconfig"

1522 1523
source "arch/arm/mach-imx/mx3/Kconfig"

P
Peng Fan 已提交
1524 1525 1526
source "arch/arm/mach-imx/mx5/Kconfig"

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

1528
source "arch/arm/mach-imx/mx7/Kconfig"
1529

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

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

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

1536 1537
source "arch/arm/mach-imx/mxs/Kconfig"

1538
source "arch/arm/mach-omap2/Kconfig"
1539

1540 1541
source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"

1542
source "arch/arm/mach-orion5x/Kconfig"
1543

1544 1545
source "arch/arm/mach-owl/Kconfig"

1546
source "arch/arm/mach-rmobile/Kconfig"
1547

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

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

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

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

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

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

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

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

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

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

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

1570
source "arch/arm/mach-tegra/Kconfig"
1571

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

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

1576
source "arch/arm/mach-zynq/Kconfig"
1577

1578 1579
source "arch/arm/mach-zynqmp/Kconfig"

1580 1581
source "arch/arm/mach-versal/Kconfig"

1582 1583
source "arch/arm/mach-zynqmp-r5/Kconfig"

1584 1585
source "arch/arm/cpu/armv7/Kconfig"

1586 1587
source "arch/arm/cpu/armv8/Kconfig"

1588
source "arch/arm/mach-imx/Kconfig"
1589

1590
source "board/bosch/shc/Kconfig"
1591
source "board/bosch/guardian/Kconfig"
1592 1593 1594 1595 1596 1597
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"
1598
source "board/broadcom/bcm23550_w1d/Kconfig"
1599
source "board/broadcom/bcm28155_ap/Kconfig"
P
Philippe Reynes 已提交
1600
source "board/broadcom/bcm963158/Kconfig"
P
Philippe Reynes 已提交
1601
source "board/broadcom/bcm968580xref/Kconfig"
S
Steve Rae 已提交
1602 1603
source "board/broadcom/bcmcygnus/Kconfig"
source "board/broadcom/bcmnsp/Kconfig"
1604
source "board/broadcom/bcmns2/Kconfig"
1605
source "board/cavium/thunderx/Kconfig"
1606
source "board/cirrus/edb93xx/Kconfig"
F
Felix Brack 已提交
1607
source "board/eets/pdu001/Kconfig"
1608
source "board/emulation/qemu-arm/Kconfig"
1609 1610 1611
source "board/freescale/ls2080a/Kconfig"
source "board/freescale/ls2080aqds/Kconfig"
source "board/freescale/ls2080ardb/Kconfig"
1612
source "board/freescale/ls1088a/Kconfig"
1613
source "board/freescale/ls1021aqds/Kconfig"
1614
source "board/freescale/ls1043aqds/Kconfig"
1615
source "board/freescale/ls1021atwr/Kconfig"
F
Feng Li 已提交
1616
source "board/freescale/ls1021aiot/Kconfig"
1617
source "board/freescale/ls1046aqds/Kconfig"
1618
source "board/freescale/ls1043ardb/Kconfig"
1619
source "board/freescale/ls1046ardb/Kconfig"
1620
source "board/freescale/ls1012aqds/Kconfig"
1621
source "board/freescale/ls1012ardb/Kconfig"
1622
source "board/freescale/ls1012afrdm/Kconfig"
1623
source "board/freescale/lx2160a/Kconfig"
1624
source "board/freescale/mx35pdk/Kconfig"
1625
source "board/freescale/s32v234evb/Kconfig"
1626
source "board/grinn/chiliboard/Kconfig"
1627 1628
source "board/gumstix/pepper/Kconfig"
source "board/h2200/Kconfig"
1629
source "board/hisilicon/hikey/Kconfig"
1630
source "board/hisilicon/poplar/Kconfig"
L
Ladislav Michl 已提交
1631
source "board/isee/igep003x/Kconfig"
1632 1633 1634 1635 1636 1637 1638
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"
1639
source "board/st/stv0991/Kconfig"
1640
source "board/tcl/sl50/Kconfig"
1641
source "board/ucRobotics/bubblegum_96/Kconfig"
1642
source "board/birdland/bav335x/Kconfig"
1643
source "board/toradex/colibri_pxa270/Kconfig"
1644
source "board/variscite/dart_6ul/Kconfig"
1645
source "board/vscom/baltos/Kconfig"
1646
source "board/woodburn/Kconfig"
1647
source "board/xilinx/Kconfig"
1648
source "board/xilinx/zynq/Kconfig"
1649
source "board/xilinx/zynqmp/Kconfig"
1650
source "board/zipitz2/Kconfig"
1651

1652 1653
source "arch/arm/Kconfig.debug"

1654
endmenu
1655 1656

config SPL_LDSCRIPT
1657 1658
	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
1659 1660 1661
	default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64