Kconfig 28.6 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
config DMA_ADDR_T_64BIT
	bool
	default y if ARM64

16
config HAS_VBAR
17
	bool
18

19
config HAS_THUMB2
20
	bool
21

22 23 24 25 26 27 28 29 30
# 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

T
Tom Rini 已提交
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
# 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
config ARM_ERRATA_430973
	bool

config ARM_ERRATA_454179
	bool

config ARM_ERRATA_621766
	bool

config ARM_ERRATA_716044
	bool

55 56 57
config ARM_ERRATA_725233
	bool

T
Tom Rini 已提交
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
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

100 101 102
config ARM_ERRATA_845369
       bool

103 104 105 106 107 108
config ARM_ERRATA_852421
	bool

config ARM_ERRATA_852423
	bool

109
config CPU_ARM720T
110
	bool
111
	select SYS_CACHE_SHIFT_5
112 113

config CPU_ARM920T
114
	bool
115
	select SYS_CACHE_SHIFT_5
116 117

config CPU_ARM926EJS
118
	bool
119
	select SYS_CACHE_SHIFT_5
120 121

config CPU_ARM946ES
122
	bool
123
	select SYS_CACHE_SHIFT_5
124 125

config CPU_ARM1136
126
	bool
127
	select SYS_CACHE_SHIFT_5
128 129

config CPU_ARM1176
130 131
	bool
	select HAS_VBAR
132
	select SYS_CACHE_SHIFT_5
133 134

config CPU_V7
135 136 137
	bool
	select HAS_VBAR
	select HAS_THUMB2
138
	select SYS_CACHE_SHIFT_6
139

R
rev13@wp.pl 已提交
140 141
config CPU_V7M
	bool
142
	select HAS_THUMB2
143
	select THUMB2_KERNEL
144
	select SYS_CACHE_SHIFT_5
R
rev13@wp.pl 已提交
145

146
config CPU_PXA
147
	bool
148
	select SYS_CACHE_SHIFT_5
149 150

config CPU_SA1100
151
	bool
152
	select SYS_CACHE_SHIFT_5
153 154

config SYS_CPU
155 156 157 158 159 160 161 162 163 164
	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
	default "armv7" if CPU_V7
	default "armv7m" if CPU_V7M
	default "pxa" if CPU_PXA
	default "sa1100" if CPU_SA1100
165
	default "armv8" if ARM64
166

167 168 169 170 171 172 173 174 175 176 177 178 179 180
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
	default 7 if CPU_V7
	default 7 if CPU_V7M
	default 5 if CPU_PXA
	default 4 if CPU_SA1100
	default 8 if ARM64

181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
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

196 197 198
config ARM_SMCCC
	bool "Support for ARM SMC Calling Convention (SMCCC)"
	depends on CPU_V7 || ARM64
199
	select ARM_PSCI_FW
200 201 202 203 204
	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.

205 206 207 208 209 210 211
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.

212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
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.

231 232 233 234 235 236
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.

237 238 239 240 241 242 243 244
config ENABLE_ARM_SOC_BOOT0_HOOK
	bool "prepare BOOT0 header"
	help
	  If the SoC's BOOT0 requires a header area filled with (magic)
	  values, then choose this option, and create a define called
	  ARM_SOC_BOOT0_HOOK which contains the required assembler
	  preprocessor code.

245 246 247 248
config ARM_CORTEX_CPU_IS_UP
	bool
	default n

249 250
config USE_ARCH_MEMCPY
	bool "Use an assembly optimized implementation of memcpy"
251 252 253 254 255 256 257 258
	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
259
	bool "Use an assembly optimized implementation of memcpy for SPL"
260
	default y if USE_ARCH_MEMCPY
261
	depends on !ARM64
262 263 264 265 266 267 268
	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"
269 270 271 272 273 274 275 276
	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
277
	bool "Use an assembly optimized implementation of memset for SPL"
278
	default y if USE_ARCH_MEMSET
279
	depends on !ARM64
280 281 282 283 284
	help
	  Enable the generation of an optimized version of memset.
	  Such implementation may be faster under some conditions
	  but may increase the binary size.

285 286 287 288 289 290
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.

291 292
choice
	prompt "Target select"
S
Simon Glass 已提交
293
	default TARGET_HIKEY
294

295 296
config ARCH_AT91
	bool "Atmel AT91"
297
	select SPL_BOARD_INIT if SPL
298 299 300

config TARGET_EDB93XX
	bool "Support edb93xx"
301
	select CPU_ARM920T
302 303 304

config TARGET_ASPENITE
	bool "Support aspenite"
305
	select CPU_ARM926EJS
306 307 308

config TARGET_GPLUGD
	bool "Support gplugd"
309
	select CPU_ARM926EJS
310

311 312
config ARCH_DAVINCI
	bool "TI DaVinci"
313
	select CPU_ARM926EJS
314
	imply CMD_SAVES
315 316
	help
	  Support for TI's DaVinci platform.
317

318 319
config KIRKWOOD
	bool "Marvell Kirkwood"
320
	select CPU_ARM926EJS
321
	select BOARD_EARLY_INIT_F
322
	select ARCH_MISC_INIT
323

324
config ARCH_MVEBU
325
	bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
326 327 328
	select OF_CONTROL
	select OF_SEPARATE
	select DM
329
	select DM_ETH
330
	select DM_SERIAL
331 332
	select DM_SPI
	select DM_SPI_FLASH
333

334 335
config TARGET_DEVKIT3250
	bool "Support devkit3250"
336
	select CPU_ARM926EJS
337
	select SUPPORT_SPL
338

339 340 341 342 343
config TARGET_WORK_92105
	bool "Support work_92105"
	select CPU_ARM926EJS
	select SUPPORT_SPL

344 345
config TARGET_MX25PDK
	bool "Support mx25pdk"
346
	select BOARD_LATE_INIT
347
	select CPU_ARM926EJS
348
	select BOARD_EARLY_INIT_F
349 350 351

config TARGET_ZMX25
	bool "Support zmx25"
352
	select BOARD_LATE_INIT
353
	select CPU_ARM926EJS
354 355 356

config TARGET_APF27
	bool "Support apf27"
357
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
358
	select SUPPORT_SPL
359 360 361

config TARGET_APX4DEVKIT
	bool "Support apx4devkit"
362
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
363
	select SUPPORT_SPL
364 365 366

config TARGET_XFI3
	bool "Support xfi3"
367
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
368
	select SUPPORT_SPL
369 370 371

config TARGET_M28EVK
	bool "Support m28evk"
372
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
373
	select SUPPORT_SPL
374 375 376

config TARGET_MX23EVK
	bool "Support mx23evk"
377
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
378
	select SUPPORT_SPL
379
	select BOARD_EARLY_INIT_F
380 381 382

config TARGET_MX28EVK
	bool "Support mx28evk"
383
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
384
	select SUPPORT_SPL
385
	select BOARD_EARLY_INIT_F
386 387 388

config TARGET_MX23_OLINUXINO
	bool "Support mx23_olinuxino"
389
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
390
	select SUPPORT_SPL
391
	select BOARD_EARLY_INIT_F
392 393 394

config TARGET_BG0900
	bool "Support bg0900"
395
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
396
	select SUPPORT_SPL
397 398 399

config TARGET_SANSA_FUZE_PLUS
	bool "Support sansa_fuze_plus"
400
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
401
	select SUPPORT_SPL
402 403 404

config TARGET_SC_SPS_1
	bool "Support sc_sps_1"
405
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
406
	select SUPPORT_SPL
407

408 409
config ORION5X
	bool "Marvell Orion"
410
	select CPU_ARM926EJS
411 412 413

config TARGET_SPEAR300
	bool "Support spear300"
414
	select CPU_ARM926EJS
415
	select BOARD_EARLY_INIT_F
416
	imply CMD_SAVES
417 418 419

config TARGET_SPEAR310
	bool "Support spear310"
420
	select CPU_ARM926EJS
421
	select BOARD_EARLY_INIT_F
422
	imply CMD_SAVES
423 424 425

config TARGET_SPEAR320
	bool "Support spear320"
426
	select CPU_ARM926EJS
427
	select BOARD_EARLY_INIT_F
428
	imply CMD_SAVES
429 430 431

config TARGET_SPEAR600
	bool "Support spear600"
432
	select CPU_ARM926EJS
433
	select BOARD_EARLY_INIT_F
434
	imply CMD_SAVES
435

436 437 438
config TARGET_STV0991
	bool "Support stv0991"
	select CPU_V7
439 440
	select DM
	select DM_SERIAL
441 442 443
	select DM_SPI
	select DM_SPI_FLASH
	select SPI_FLASH
444

445 446
config TARGET_X600
	bool "Support x600"
447
	select BOARD_LATE_INIT
448
	select CPU_ARM926EJS
M
Masahiro Yamada 已提交
449
	select SUPPORT_SPL
450 451

config TARGET_IMX31_PHYCORE
452 453
	bool "Support imx31_phycore_eet"
	select CPU_ARM1136
454
	select BOARD_EARLY_INIT_F
455 456 457

config TARGET_IMX31_PHYCORE_EET
	bool "Support imx31_phycore_eet"
458
	select BOARD_LATE_INIT
459
	select CPU_ARM1136
460
	select BOARD_EARLY_INIT_F
461 462 463

config TARGET_MX31ADS
	bool "Support mx31ads"
464
	select CPU_ARM1136
465
	select BOARD_EARLY_INIT_F
466 467 468

config TARGET_MX31PDK
	bool "Support mx31pdk"
469
	select BOARD_LATE_INIT
470
	select CPU_ARM1136
M
Masahiro Yamada 已提交
471
	select SUPPORT_SPL
472
	select BOARD_EARLY_INIT_F
473 474 475

config TARGET_WOODBURN
	bool "Support woodburn"
476
	select CPU_ARM1136
477 478 479

config TARGET_WOODBURN_SD
	bool "Support woodburn_sd"
480
	select CPU_ARM1136
M
Masahiro Yamada 已提交
481
	select SUPPORT_SPL
482 483 484

config TARGET_FLEA3
	bool "Support flea3"
485
	select CPU_ARM1136
486 487 488

config TARGET_MX35PDK
	bool "Support mx35pdk"
489
	select BOARD_LATE_INIT
490
	select CPU_ARM1136
491

492 493
config ARCH_BCM283X
	bool "Broadcom BCM283X family"
M
Masahiro Yamada 已提交
494 495 496
	select DM
	select DM_SERIAL
	select DM_GPIO
497
	select OF_CONTROL
T
Tom Rini 已提交
498
	imply FAT_WRITE
499

500 501
config TARGET_VEXPRESS_CA15_TC2
	bool "Support vexpress_ca15_tc2"
502
	select CPU_V7
503 504
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
505 506 507

config TARGET_VEXPRESS_CA5X2
	bool "Support vexpress_ca5x2"
508
	select CPU_V7
509 510 511

config TARGET_VEXPRESS_CA9X4
	bool "Support vexpress_ca9x4"
512
	select CPU_V7
513

514 515 516
config TARGET_BCM23550_W1D
	bool "Support bcm23550_w1d"
	select CPU_V7
517
	imply CRC32_VERIFY
T
Tom Rini 已提交
518
	imply FAT_WRITE
519

520 521
config TARGET_BCM28155_AP
	bool "Support bcm28155_ap"
522
	select CPU_V7
523
	imply CRC32_VERIFY
T
Tom Rini 已提交
524
	imply FAT_WRITE
525

S
Steve Rae 已提交
526 527
config TARGET_BCMCYGNUS
	bool "Support bcmcygnus"
528
	select CPU_V7
529
	imply CRC32_VERIFY
S
Simon Glass 已提交
530
	imply CMD_HASH
T
Tom Rini 已提交
531
	imply FAT_WRITE
532
	imply HASH_VERIFY
533 534 535
	imply NETDEVICES
	imply BCM_SF2_ETH
	imply BCM_SF2_ETH_GMAC
536

S
Steve Rae 已提交
537 538
config TARGET_BCMNSP
	bool "Support bcmnsp"
539
	select CPU_V7
540

541 542 543 544 545 546 547 548
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

549 550
config ARCH_EXYNOS
	bool "Samsung EXYNOS"
M
Masahiro Yamada 已提交
551
	select DM
552
	select DM_I2C
M
Masahiro Yamada 已提交
553 554 555 556
	select DM_SPI_FLASH
	select DM_SERIAL
	select DM_SPI
	select DM_GPIO
557
	select DM_KEYBOARD
T
Tom Rini 已提交
558
	imply FAT_WRITE
559

560 561
config ARCH_S5PC1XX
	bool "Samsung S5PC1XX"
562
	select CPU_V7
M
Masahiro Yamada 已提交
563 564 565
	select DM
	select DM_SERIAL
	select DM_GPIO
566
	select DM_I2C
567

568 569
config ARCH_HIGHBANK
	bool "Calxeda Highbank"
570
	select CPU_V7
571

572 573
config ARCH_INTEGRATOR
	bool "ARM Ltd. Integrator family"
574 575
	select DM
	select DM_SERIAL
576

577 578
config ARCH_KEYSTONE
	bool "TI Keystone"
579
	select CPU_V7
M
Masahiro Yamada 已提交
580
	select SUPPORT_SPL
581
	select SYS_THUMB_BUILD
582
	select CMD_POWEROFF
583
	imply CMD_MTDPARTS
584
	imply FIT
585
	imply CMD_SAVES
586

587 588 589
config ARCH_OMAP2PLUS
	bool "TI OMAP2+"
	select CPU_V7
590
	select SPL_BOARD_INIT if SPL
591
	select SPL_STACK_R if SPL
592 593 594
	select SUPPORT_SPL
	imply FIT

595 596 597 598 599 600 601
config ARCH_MESON
	bool "Amlogic Meson"
	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.

P
Peng Fan 已提交
602 603 604 605 606
config ARCH_MX7ULP
        bool "NXP MX7ULP"
        select CPU_V7
	select ROM_UNIFIED_SECTIONS

607 608 609
config ARCH_MX7
	bool "Freescale MX7"
	select CPU_V7
610 611
	select SYS_FSL_HAS_SEC if SECURE_BOOT
	select SYS_FSL_SEC_COMPAT_4
612
	select SYS_FSL_SEC_LE
613
	select BOARD_EARLY_INIT_F
614
	select ARCH_MISC_INIT
615

616 617 618
config ARCH_MX6
	bool "Freescale MX6"
	select CPU_V7
619 620
	select SYS_FSL_HAS_SEC if SECURE_BOOT
	select SYS_FSL_SEC_COMPAT_4
621
	select SYS_FSL_SEC_LE
622
	select SYS_THUMB_BUILD if SPL
623

624 625 626 627 628
if ARCH_MX6
config SPL_LDSCRIPT
        default "arch/arm/mach-omap2/u-boot-spl.lds"
endif

629 630 631
config ARCH_MX5
	bool "Freescale MX5"
	select CPU_V7
632
	select BOARD_EARLY_INIT_F
633

634
config ARCH_RMOBILE
635
	bool "Renesas ARM SoCs"
636 637
	select DM
	select DM_SERIAL
638
	select BOARD_EARLY_INIT_F
T
Tom Rini 已提交
639
	imply FAT_WRITE
640
	imply SYS_THUMB_BUILD
641

642 643 644
config TARGET_S32V234EVB
	bool "Support s32v234evb"
	select ARM64
645
	select SYS_FSL_ERRATUM_ESDHC111
646

647 648 649 650 651 652 653 654 655 656
config ARCH_SNAPDRAGON
	bool "Qualcomm Snapdragon SoCs"
	select ARM64
	select DM
	select DM_GPIO
	select DM_SERIAL
	select SPMI
	select OF_CONTROL
	select OF_SEPARATE

657 658
config ARCH_SOCFPGA
	bool "Altera SOCFPGA family"
659
	select CPU_V7
M
Masahiro Yamada 已提交
660
	select SUPPORT_SPL
661 662
	select OF_CONTROL
	select SPL_OF_CONTROL
663 664 665
	select DM
	select DM_SPI_FLASH
	select DM_SPI
666
	select ENABLE_ARM_SOC_BOOT0_HOOK
667
	select ARCH_EARLY_INIT_R
668
	select ARCH_MISC_INIT
669
	select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
670
	select SYS_THUMB_BUILD
671
	imply CMD_MTDPARTS
672
	imply CRC32_VERIFY
T
Tom Rini 已提交
673
	imply FAT_WRITE
674

675 676
config ARCH_SUNXI
	bool "Support sunxi (Allwinner) SoCs"
677
	select CMD_GPIO
678
	select CMD_MMC if MMC
679
	select CMD_USB if DISTRO_DEFAULTS
680
	select DM
681
	select DM_ETH
H
Hans de Goede 已提交
682 683
	select DM_GPIO
	select DM_KEYBOARD
684
	select DM_SERIAL
685
	select DM_USB if DISTRO_DEFAULTS
686
	select OF_BOARD_SETUP
687 688
	select OF_CONTROL
	select OF_SEPARATE
689 690
	select SPL_STACK_R if SPL
	select SPL_SYS_MALLOC_SIMPLE if SPL
691
	select SYS_NS16550
692
	select SPL_SYS_THUMB_BUILD if !ARM64
693 694 695
	select USB if DISTRO_DEFAULTS
	select USB_STORAGE if DISTRO_DEFAULTS
	select USB_KEYBOARD if DISTRO_DEFAULTS
H
Hans de Goede 已提交
696
	select USE_TINY_PRINTF
697 698
	imply CMD_FASTBOOT
	imply FASTBOOT
T
Tom Rini 已提交
699
	imply FAT_WRITE
700 701 702 703 704
	imply PRE_CONSOLE_BUFFER
	imply SPL_GPIO_SUPPORT
	imply SPL_LIBCOMMON_SUPPORT
	imply SPL_LIBDISK_SUPPORT
	imply SPL_LIBGENERIC_SUPPORT
705
	imply SPL_MMC_SUPPORT if MMC
706 707
	imply SPL_POWER_SUPPORT
	imply SPL_SERIAL_SUPPORT
708
	imply USB_FUNCTION_FASTBOOT
C
Chen-Yu Tsai 已提交
709

710 711 712 713 714
config TARGET_TS4600
	bool "Support TS4600"
	select CPU_ARM926EJS
	select SUPPORT_SPL

715 716
config ARCH_VF610
	bool "Freescale Vybrid"
717
	select CPU_V7
718
	select SYS_FSL_ERRATUM_ESDHC111
719
	imply CMD_MTDPARTS
A
Adam Ford 已提交
720
	imply NAND
721

722
config ARCH_ZYNQ
723
	bool "Xilinx Zynq Platform"
724
	select BOARD_LATE_INIT
725
	select CPU_V7
M
Masahiro Yamada 已提交
726
	select SUPPORT_SPL
727
	select OF_CONTROL
728
	select SPL_BOARD_INIT if SPL
729
	select SPL_OF_CONTROL if SPL
730
	select DM
M
Michal Simek 已提交
731
	select DM_ETH
732
	select DM_GPIO
733
	select SPL_DM if SPL
M
Michal Simek 已提交
734
	select DM_MMC
735
	select DM_SPI
736
	select DM_SERIAL
737
	select DM_SPI_FLASH
738
	select SPL_SEPARATE_BSS if SPL
739
	select DM_USB if USB
740
	select BLK
741 742 743
	select CLK
	select SPL_CLK
	select CLK_ZYNQ
S
Simon Glass 已提交
744
	imply CMD_CLK
T
Tom Rini 已提交
745
	imply FAT_WRITE
S
Simon Glass 已提交
746
	imply CMD_SPL
747

748
config ARCH_ZYNQMP
M
Michal Simek 已提交
749 750
	bool "Support Xilinx ZynqMP Platform"
	select ARM64
751
	select BOARD_LATE_INIT
752 753 754
	select DM
	select OF_CONTROL
	select DM_SERIAL
755
	select SUPPORT_SPL
756
	select CLK
757
	select SPL_BOARD_INIT if SPL
758
	select SPL_CLK
759
	select DM_USB if USB
T
Tom Rini 已提交
760
	imply FAT_WRITE
M
Michal Simek 已提交
761

762 763
config TEGRA
	bool "NVIDIA Tegra"
T
Tom Rini 已提交
764
	imply FAT_WRITE
765

766
config TARGET_VEXPRESS64_AEMV8A
767
	bool "Support vexpress_aemv8a"
768
	select ARM64
769

770 771 772 773 774
config TARGET_VEXPRESS64_BASE_FVP
	bool "Support Versatile Express ARMv8a FVP BASE model"
	select ARM64
	select SEMIHOSTING

775 776 777 778 779 780 781 782 783
config TARGET_VEXPRESS64_BASE_FVP_DRAM
	bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
	select ARM64
	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.

784 785 786 787
config TARGET_VEXPRESS64_JUNO
	bool "Support Versatile Express Juno Development Platform"
	select ARM64

788 789
config TARGET_LS2080A_EMU
	bool "Support ls2080a_emu"
790
	select ARCH_LS2080A
791
	select ARM64
792
	select ARMV8_MULTIENTRY
793
	select ARCH_MISC_INIT
794 795 796 797 798
	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.
799

800 801
config TARGET_LS2080A_SIMU
	bool "Support ls2080a_simu"
802
	select ARCH_LS2080A
803
	select ARM64
804
	select ARMV8_MULTIENTRY
805
	select ARCH_MISC_INIT
806 807 808 809 810
	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.
811

812 813 814 815 816 817 818 819 820 821 822 823 824
config TARGET_LS1088AQDS
	bool "Support ls1088aqds"
	select ARCH_LS1088A
	select ARM64
	select ARMV8_MULTIENTRY
	select ARCH_MISC_INIT
	select BOARD_LATE_INIT
	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.

825 826
config TARGET_LS2080AQDS
	bool "Support ls2080aqds"
827
	select ARCH_LS2080A
828 829
	select ARM64
	select ARMV8_MULTIENTRY
830
	select BOARD_LATE_INIT
S
Scott Wood 已提交
831
	select SUPPORT_SPL
832
	select ARCH_MISC_INIT
S
Simon Glass 已提交
833
	imply SCSI
834
	help
835 836 837
	  Support for Freescale LS2080AQDS platform
	  The LS2080A Development System (QDS) is a high-performance
	  development platform that supports the QorIQ LS2080A
838 839
	  Layerscape Architecture processor.

840 841
config TARGET_LS2080ARDB
	bool "Support ls2080ardb"
842
	select ARCH_LS2080A
843 844
	select ARM64
	select ARMV8_MULTIENTRY
845
	select BOARD_LATE_INIT
846
	select SUPPORT_SPL
847
	select ARCH_MISC_INIT
S
Simon Glass 已提交
848
	imply SCSI
849
	help
850 851 852
	  Support for Freescale LS2080ARDB platform.
	  The LS2080A Reference design board (RDB) is a high-performance
	  development platform that supports the QorIQ LS2080A
853 854
	  Layerscape Architecture processor.

855 856 857 858 859 860 861 862 863 864 865 866 867 868
config TARGET_LS2081ARDB
	bool "Support ls2081ardb"
	select ARCH_LS2080A
	select ARM64
	select ARMV8_MULTIENTRY
	select BOARD_LATE_INIT
	select SUPPORT_SPL
	select ARCH_MISC_INIT
	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.

869 870 871
config TARGET_HIKEY
	bool "Support HiKey 96boards Consumer Edition Platform"
	select ARM64
872 873
	select DM
	select DM_GPIO
874
	select DM_SERIAL
875
	select OF_CONTROL
876 877 878 879
	  help
	  Support for HiKey 96boards platform. It features a HI6220
	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.

880 881 882 883 884 885 886 887 888 889 890 891 892
config TARGET_POPLAR
	bool "Support Poplar 96boards Enterprise Edition Platform"
	select ARM64
	select DM
	select OF_CONTROL
	select DM_SERIAL
	select DM_USB
	  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.

893 894
config TARGET_LS1012AQDS
	bool "Support ls1012aqds"
895
	select ARCH_LS1012A
896
	select ARM64
897
	select BOARD_LATE_INIT
898 899 900 901 902 903
	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.

904 905
config TARGET_LS1012ARDB
	bool "Support ls1012ardb"
906
	select ARCH_LS1012A
907
	select ARM64
908
	select BOARD_LATE_INIT
S
Simon Glass 已提交
909
	imply SCSI
910 911 912 913 914 915
	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.

916 917
config TARGET_LS1012AFRDM
	bool "Support ls1012afrdm"
918
	select ARCH_LS1012A
919 920 921 922 923 924 925
	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.

926 927 928 929 930 931 932 933 934 935 936 937 938
config TARGET_LS1088ARDB
	bool "Support ls1088ardb"
	select ARCH_LS1088A
	select ARM64
	select ARMV8_MULTIENTRY
	select ARCH_MISC_INIT
	select BOARD_LATE_INIT
	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.

939
config TARGET_LS1021AQDS
940
	bool "Support ls1021aqds"
941
	select BOARD_LATE_INIT
942
	select CPU_V7
943 944
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
A
Alison Wang 已提交
945
	select SUPPORT_SPL
946
	select ARCH_LS1021A
947
	select ARCH_SUPPORT_PSCI
948
	select LS1_DEEP_SLEEP
949
	select SYS_FSL_DDR
950
	select BOARD_EARLY_INIT_F
S
Simon Glass 已提交
951
	imply SCSI
952

953
config TARGET_LS1021ATWR
954
	bool "Support ls1021atwr"
955
	select BOARD_LATE_INIT
956
	select CPU_V7
957 958
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
A
Alison Wang 已提交
959
	select SUPPORT_SPL
960
	select ARCH_LS1021A
961
	select ARCH_SUPPORT_PSCI
962
	select LS1_DEEP_SLEEP
963
	select BOARD_EARLY_INIT_F
S
Simon Glass 已提交
964
	imply SCSI
965

F
Feng Li 已提交
966 967
config TARGET_LS1021AIOT
	bool "Support ls1021aiot"
968
	select BOARD_LATE_INIT
F
Feng Li 已提交
969 970 971 972 973 974
	select CPU_V7
	select CPU_V7_HAS_NONSEC
	select CPU_V7_HAS_VIRT
	select SUPPORT_SPL
	select ARCH_LS1021A
	select ARCH_SUPPORT_PSCI
S
Simon Glass 已提交
975
	imply SCSI
F
Feng Li 已提交
976 977 978 979 980 981
	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.

982 983
config TARGET_LS1043AQDS
	bool "Support ls1043aqds"
984
	select ARCH_LS1043A
985 986
	select ARM64
	select ARMV8_MULTIENTRY
987
	select BOARD_LATE_INIT
988
	select SUPPORT_SPL
989
	select BOARD_EARLY_INIT_F
S
Simon Glass 已提交
990
	imply SCSI
991 992 993
	help
	  Support for Freescale LS1043AQDS platform.

994 995
config TARGET_LS1043ARDB
	bool "Support ls1043ardb"
996
	select ARCH_LS1043A
997
	select ARM64
998
	select ARMV8_MULTIENTRY
999
	select BOARD_LATE_INIT
1000
	select SUPPORT_SPL
1001
	select BOARD_EARLY_INIT_F
S
Simon Glass 已提交
1002
	imply SCSI
1003 1004 1005
	help
	  Support for Freescale LS1043ARDB platform.

1006 1007
config TARGET_LS1046AQDS
	bool "Support ls1046aqds"
1008
	select ARCH_LS1046A
1009 1010
	select ARM64
	select ARMV8_MULTIENTRY
1011
	select BOARD_LATE_INIT
1012 1013
	select SUPPORT_SPL
	select DM_SPI_FLASH if DM_SPI
1014
	select BOARD_EARLY_INIT_F
S
Simon Glass 已提交
1015
	imply SCSI
1016 1017 1018 1019 1020 1021
	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.

1022 1023
config TARGET_LS1046ARDB
	bool "Support ls1046ardb"
1024
	select ARCH_LS1046A
1025 1026
	select ARM64
	select ARMV8_MULTIENTRY
1027
	select BOARD_LATE_INIT
1028 1029
	select SUPPORT_SPL
	select DM_SPI_FLASH if DM_SPI
1030
	select POWER_MC34VR500
1031
	select BOARD_EARLY_INIT_F
S
Simon Glass 已提交
1032
	imply SCSI
1033 1034 1035 1036 1037 1038
	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.

1039 1040
config TARGET_H2200
	bool "Support h2200"
1041
	select CPU_PXA
1042

1043 1044 1045 1046
config TARGET_ZIPITZ2
	bool "Support zipitz2"
	select CPU_PXA

1047 1048
config TARGET_COLIBRI_PXA270
	bool "Support colibri_pxa270"
1049
	select CPU_PXA
1050

1051
config ARCH_UNIPHIER
1052
	bool "Socionext UniPhier SoCs"
1053
	select BOARD_LATE_INIT
1054
	select DM
1055
	select DM_GPIO
1056
	select DM_I2C
1057
	select DM_MMC
1058
	select DM_RESET
1059
	select DM_SERIAL
1060
	select DM_USB
1061 1062
	select OF_CONTROL
	select OF_LIBFDT
1063
	select PINCTRL
1064
	select SPL_BOARD_INIT if SPL
1065 1066 1067 1068 1069
	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
1070
	select SUPPORT_SPL
T
Tom Rini 已提交
1071
	imply FAT_WRITE
1072 1073 1074
	help
	  Support for UniPhier SoC family developed by Socionext Inc.
	  (formerly, System LSI Business Division of Panasonic Corporation)
1075

1076 1077
config STM32
	bool "Support STM32"
1078
	select CPU_V7M
K
Kamil Lulko 已提交
1079 1080
	select DM
	select DM_SERIAL
1081
	select SYS_THUMB_BUILD
1082

1083 1084 1085
config ARCH_STI
	bool "Support STMicrolectronics SoCs"
	select CPU_V7
P
Patrice Chotard 已提交
1086 1087
	select DM
	select DM_SERIAL
P
Patrice Chotard 已提交
1088 1089
	select BLK
	select DM_MMC
P
Patrice Chotard 已提交
1090
	select DM_RESET
1091 1092 1093 1094
	help
	  Support for STMicroelectronics STiH407/10 SoC family.
	  This SoC is used on Linaro 96Board STiH410-B2260

1095 1096 1097
config ARCH_ROCKCHIP
	bool "Support Rockchip SoCs"
	select OF_CONTROL
1098
	select BLK
1099
	select DM
1100
	select SPL_DM if SPL
1101
	select SYS_MALLOC_F
1102
	select SYS_THUMB_BUILD if !ARM64
1103
	select SPL_SYS_MALLOC_SIMPLE if SPL
1104 1105 1106 1107 1108 1109
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_SERIAL
	select DM_SPI
	select DM_SPI_FLASH
1110
	select DM_USB if USB
1111 1112
	select DM_PWM
	select DM_REGULATOR
1113 1114
	imply CMD_FASTBOOT
	imply FASTBOOT
T
Tom Rini 已提交
1115
	imply FAT_WRITE
1116
	imply USB_FUNCTION_FASTBOOT
1117
	imply SPL_SYSRESET
1118
	imply TPL_SYSRESET
1119 1120
	imply ADC
	imply SARADC_ROCKCHIP
1121

1122 1123
config TARGET_THUNDERX_88XX
	bool "Support ThunderX 88xx"
1124
	select ARM64
1125
	select OF_CONTROL
1126
	select SYS_CACHE_SHIFT_7
1127

1128 1129 1130 1131 1132
config ARCH_ASPEED
	bool "Support Aspeed SoCs"
	select OF_CONTROL
	select DM

1133 1134
endchoice

1135 1136
source "arch/arm/mach-aspeed/Kconfig"

1137 1138
source "arch/arm/mach-at91/Kconfig"

1139
source "arch/arm/mach-bcm283x/Kconfig"
1140

1141
source "arch/arm/mach-davinci/Kconfig"
1142

1143
source "arch/arm/mach-exynos/Kconfig"
1144

1145
source "arch/arm/mach-highbank/Kconfig"
1146

1147 1148
source "arch/arm/mach-integrator/Kconfig"

1149
source "arch/arm/mach-keystone/Kconfig"
1150

1151
source "arch/arm/mach-kirkwood/Kconfig"
1152

1153 1154
source "arch/arm/mach-mvebu/Kconfig"

1155 1156
source "arch/arm/cpu/armv7/ls102xa/Kconfig"

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

1159
source "arch/arm/mach-imx/mx7/Kconfig"
1160

1161
source "arch/arm/mach-imx/mx6/Kconfig"
1162

1163
source "arch/arm/mach-imx/mx5/Kconfig"
1164

1165
source "arch/arm/mach-omap2/Kconfig"
1166

1167 1168
source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"

1169
source "arch/arm/mach-orion5x/Kconfig"
1170

1171
source "arch/arm/mach-rmobile/Kconfig"
1172

1173 1174
source "arch/arm/mach-meson/Kconfig"

1175 1176
source "arch/arm/mach-rockchip/Kconfig"

1177
source "arch/arm/mach-s5pc1xx/Kconfig"
1178

1179 1180
source "arch/arm/mach-snapdragon/Kconfig"

1181 1182
source "arch/arm/mach-socfpga/Kconfig"

1183 1184
source "arch/arm/mach-sti/Kconfig"

1185 1186
source "arch/arm/mach-stm32/Kconfig"

1187 1188
source "arch/arm/mach-sunxi/Kconfig"

1189
source "arch/arm/mach-tegra/Kconfig"
1190

1191
source "arch/arm/mach-uniphier/Kconfig"
1192

1193 1194
source "arch/arm/cpu/armv7/vf610/Kconfig"

1195
source "arch/arm/mach-zynq/Kconfig"
1196

1197 1198
source "arch/arm/cpu/armv7/Kconfig"

1199 1200
source "arch/arm/cpu/armv8/zynqmp/Kconfig"

1201 1202
source "arch/arm/cpu/armv8/Kconfig"

1203
source "arch/arm/mach-imx/Kconfig"
1204

M
Marek Vasut 已提交
1205
source "board/aries/m28evk/Kconfig"
1206
source "board/bosch/shc/Kconfig"
1207 1208 1209 1210 1211 1212 1213
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"
source "board/bluegiga/apx4devkit/Kconfig"
1214
source "board/broadcom/bcm23550_w1d/Kconfig"
1215
source "board/broadcom/bcm28155_ap/Kconfig"
S
Steve Rae 已提交
1216 1217
source "board/broadcom/bcmcygnus/Kconfig"
source "board/broadcom/bcmnsp/Kconfig"
1218
source "board/broadcom/bcmns2/Kconfig"
1219
source "board/cavium/thunderx/Kconfig"
1220 1221
source "board/cirrus/edb93xx/Kconfig"
source "board/creative/xfi3/Kconfig"
1222 1223 1224
source "board/freescale/ls2080a/Kconfig"
source "board/freescale/ls2080aqds/Kconfig"
source "board/freescale/ls2080ardb/Kconfig"
1225
source "board/freescale/ls1088a/Kconfig"
1226
source "board/freescale/ls1021aqds/Kconfig"
1227
source "board/freescale/ls1043aqds/Kconfig"
1228
source "board/freescale/ls1021atwr/Kconfig"
F
Feng Li 已提交
1229
source "board/freescale/ls1021aiot/Kconfig"
1230
source "board/freescale/ls1046aqds/Kconfig"
1231
source "board/freescale/ls1043ardb/Kconfig"
1232
source "board/freescale/ls1046ardb/Kconfig"
1233
source "board/freescale/ls1012aqds/Kconfig"
1234
source "board/freescale/ls1012ardb/Kconfig"
1235
source "board/freescale/ls1012afrdm/Kconfig"
1236 1237 1238 1239 1240 1241
source "board/freescale/mx23evk/Kconfig"
source "board/freescale/mx25pdk/Kconfig"
source "board/freescale/mx28evk/Kconfig"
source "board/freescale/mx31ads/Kconfig"
source "board/freescale/mx31pdk/Kconfig"
source "board/freescale/mx35pdk/Kconfig"
1242
source "board/freescale/s32v234evb/Kconfig"
1243
source "board/gdsys/a38x/Kconfig"
1244
source "board/grinn/chiliboard/Kconfig"
1245 1246
source "board/gumstix/pepper/Kconfig"
source "board/h2200/Kconfig"
1247
source "board/hisilicon/hikey/Kconfig"
1248
source "board/hisilicon/poplar/Kconfig"
1249
source "board/imx31_phycore/Kconfig"
L
Ladislav Michl 已提交
1250
source "board/isee/igep003x/Kconfig"
1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261
source "board/olimex/mx23_olinuxino/Kconfig"
source "board/phytec/pcm051/Kconfig"
source "board/ppcag/bg0900/Kconfig"
source "board/sandisk/sansa_fuze_plus/Kconfig"
source "board/schulercontrol/sc_sps_1/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"
1262
source "board/st/stv0991/Kconfig"
1263
source "board/syteco/zmx25/Kconfig"
1264
source "board/tcl/sl50/Kconfig"
1265
source "board/birdland/bav335x/Kconfig"
1266 1267
source "board/timll/devkit3250/Kconfig"
source "board/toradex/colibri_pxa270/Kconfig"
1268
source "board/technologic/ts4600/Kconfig"
1269
source "board/vscom/baltos/Kconfig"
1270
source "board/woodburn/Kconfig"
1271
source "board/work-microwave/work_92105/Kconfig"
1272
source "board/zipitz2/Kconfig"
1273

1274 1275
source "arch/arm/Kconfig.debug"

1276
endmenu
1277 1278 1279 1280 1281 1282 1283

config SPL_LDSCRIPT
        default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if TARGET_APX4DEVKIT || TARGET_BG0900 || TARGET_M28EVK || TARGET_MX23_OLINUXINO || TARGET_MX23EVK || TARGET_MX28EVK || TARGET_SANSA_FUZE_PLUS || TARGET_SC_SPS_1 || TARGET_TS4600 || TARGET_XFI3
        default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
	default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64