aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r--arch/arm/Kconfig574
1 files changed, 430 insertions, 144 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 00b28480b4..f5a7630e4f 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -74,6 +74,32 @@ config ARM_ASM_UNIFIED
74config THUMB2_KERNEL 74config THUMB2_KERNEL
75 bool 75 bool
76 76
77config SYS_ICACHE_OFF
78 bool "Do not enable icache"
79 default n
80 help
81 Do not enable instruction cache in U-Boot.
82
83config SPL_SYS_ICACHE_OFF
84 bool "Do not enable icache in SPL"
85 depends on SPL
86 default SYS_ICACHE_OFF
87 help
88 Do not enable instruction cache in SPL.
89
90config SYS_DCACHE_OFF
91 bool "Do not enable dcache"
92 default n
93 help
94 Do not enable data cache in U-Boot.
95
96config SPL_SYS_DCACHE_OFF
97 bool "Do not enable dcache in SPL"
98 depends on SPL
99 default SYS_DCACHE_OFF
100 help
101 Do not enable data cache in SPL.
102
77config SYS_ARM_CACHE_CP15 103config SYS_ARM_CACHE_CP15
78 bool "CP15 based cache enabling support" 104 bool "CP15 based cache enabling support"
79 help 105 help
@@ -169,7 +195,7 @@ config ARM_ERRATA_833471
169 bool 195 bool
170 196
171config ARM_ERRATA_845369 197config ARM_ERRATA_845369
172 bool 198 bool
173 199
174config ARM_ERRATA_852421 200config ARM_ERRATA_852421
175 bool 201 bool
@@ -219,25 +245,25 @@ config CPU_ARM1176
219 245
220config CPU_V7A 246config CPU_V7A
221 bool 247 bool
222 select HAS_VBAR
223 select HAS_THUMB2 248 select HAS_THUMB2
249 select HAS_VBAR
224 select SYS_CACHE_SHIFT_6 250 select SYS_CACHE_SHIFT_6
225 imply SYS_ARM_MMU 251 imply SYS_ARM_MMU
226 252
227config CPU_V7M 253config CPU_V7M
228 bool 254 bool
229 select HAS_THUMB2 255 select HAS_THUMB2
230 select THUMB2_KERNEL
231 select SYS_CACHE_SHIFT_5
232 select SYS_ARM_MPU 256 select SYS_ARM_MPU
257 select SYS_CACHE_SHIFT_5
233 select SYS_THUMB_BUILD 258 select SYS_THUMB_BUILD
259 select THUMB2_KERNEL
234 260
235config CPU_V7R 261config CPU_V7R
236 bool 262 bool
237 select HAS_THUMB2 263 select HAS_THUMB2
238 select SYS_CACHE_SHIFT_6
239 select SYS_ARM_MPU
240 select SYS_ARM_CACHE_CP15 264 select SYS_ARM_CACHE_CP15
265 select SYS_ARM_MPU
266 select SYS_CACHE_SHIFT_6
241 267
242config CPU_PXA 268config CPU_PXA
243 bool 269 bool
@@ -338,6 +364,17 @@ config SPL_SYS_THUMB_BUILD
338 density. For ARM architectures that support Thumb2 this flag will 364 density. For ARM architectures that support Thumb2 this flag will
339 result in Thumb2 code generated by GCC. 365 result in Thumb2 code generated by GCC.
340 366
367config TPL_SYS_THUMB_BUILD
368 bool "Build TPL using the Thumb instruction set"
369 default y if SYS_THUMB_BUILD
370 depends on TPL && !ARM64
371 help
372 Use this flag to build SPL using the Thumb instruction set for
373 ARM architectures. Thumb instruction set provides better code
374 density. For ARM architectures that support Thumb2 this flag will
375 result in Thumb2 code generated by GCC.
376
377
341config SYS_L2CACHE_OFF 378config SYS_L2CACHE_OFF
342 bool "L2cache off" 379 bool "L2cache off"
343 help 380 help
@@ -373,6 +410,15 @@ config SPL_USE_ARCH_MEMCPY
373 Such implementation may be faster under some conditions 410 Such implementation may be faster under some conditions
374 but may increase the binary size. 411 but may increase the binary size.
375 412
413config TPL_USE_ARCH_MEMCPY
414 bool "Use an assembly optimized implementation of memcpy for TPL"
415 default y if USE_ARCH_MEMCPY
416 depends on !ARM64
417 help
418 Enable the generation of an optimized version of memcpy.
419 Such implementation may be faster under some conditions
420 but may increase the binary size.
421
376config USE_ARCH_MEMSET 422config USE_ARCH_MEMSET
377 bool "Use an assembly optimized implementation of memset" 423 bool "Use an assembly optimized implementation of memset"
378 default y 424 default y
@@ -391,6 +437,15 @@ config SPL_USE_ARCH_MEMSET
391 Such implementation may be faster under some conditions 437 Such implementation may be faster under some conditions
392 but may increase the binary size. 438 but may increase the binary size.
393 439
440config TPL_USE_ARCH_MEMSET
441 bool "Use an assembly optimized implementation of memset for TPL"
442 default y if USE_ARCH_MEMSET
443 depends on !ARM64
444 help
445 Enable the generation of an optimized version of memset.
446 Such implementation may be faster under some conditions
447 but may increase the binary size.
448
394config ARM64_SUPPORT_AARCH32 449config ARM64_SUPPORT_AARCH32
395 bool "ARM64 system support AArch32 execution state" 450 bool "ARM64 system support AArch32 execution state"
396 default y if ARM64 && !TARGET_THUNDERX_88XX 451 default y if ARM64 && !TARGET_THUNDERX_88XX
@@ -427,30 +482,21 @@ config ARCH_DAVINCI
427 482
428config KIRKWOOD 483config KIRKWOOD
429 bool "Marvell Kirkwood" 484 bool "Marvell Kirkwood"
430 select CPU_ARM926EJS
431 select BOARD_EARLY_INIT_F
432 select ARCH_MISC_INIT 485 select ARCH_MISC_INIT
486 select BOARD_EARLY_INIT_F
487 select CPU_ARM926EJS
433 488
434config ARCH_MVEBU 489config ARCH_MVEBU
435 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)" 490 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
436 select OF_CONTROL
437 select OF_SEPARATE
438 select DM 491 select DM
439 select DM_ETH 492 select DM_ETH
440 select DM_SERIAL 493 select DM_SERIAL
441 select DM_SPI 494 select DM_SPI
442 select DM_SPI_FLASH 495 select DM_SPI_FLASH
496 select OF_CONTROL
497 select OF_SEPARATE
443 select SPI 498 select SPI
444 499 imply CMD_DM
445config TARGET_DEVKIT3250
446 bool "Support devkit3250"
447 select CPU_ARM926EJS
448 select SUPPORT_SPL
449
450config TARGET_WORK_92105
451 bool "Support work_92105"
452 select CPU_ARM926EJS
453 select SUPPORT_SPL
454 500
455config TARGET_APF27 501config TARGET_APF27
456 bool "Support apf27" 502 bool "Support apf27"
@@ -463,31 +509,31 @@ config ORION5X
463 509
464config TARGET_SPEAR300 510config TARGET_SPEAR300
465 bool "Support spear300" 511 bool "Support spear300"
466 select CPU_ARM926EJS
467 select BOARD_EARLY_INIT_F 512 select BOARD_EARLY_INIT_F
468 imply CMD_SAVES 513 select CPU_ARM926EJS
469 select PL011_SERIAL 514 select PL011_SERIAL
515 imply CMD_SAVES
470 516
471config TARGET_SPEAR310 517config TARGET_SPEAR310
472 bool "Support spear310" 518 bool "Support spear310"
473 select CPU_ARM926EJS
474 select BOARD_EARLY_INIT_F 519 select BOARD_EARLY_INIT_F
475 imply CMD_SAVES 520 select CPU_ARM926EJS
476 select PL011_SERIAL 521 select PL011_SERIAL
522 imply CMD_SAVES
477 523
478config TARGET_SPEAR320 524config TARGET_SPEAR320
479 bool "Support spear320" 525 bool "Support spear320"
480 select CPU_ARM926EJS
481 select BOARD_EARLY_INIT_F 526 select BOARD_EARLY_INIT_F
482 imply CMD_SAVES 527 select CPU_ARM926EJS
483 select PL011_SERIAL 528 select PL011_SERIAL
529 imply CMD_SAVES
484 530
485config TARGET_SPEAR600 531config TARGET_SPEAR600
486 bool "Support spear600" 532 bool "Support spear600"
487 select CPU_ARM926EJS
488 select BOARD_EARLY_INIT_F 533 select BOARD_EARLY_INIT_F
489 imply CMD_SAVES 534 select CPU_ARM926EJS
490 select PL011_SERIAL 535 select PL011_SERIAL
536 imply CMD_SAVES
491 537
492config TARGET_STV0991 538config TARGET_STV0991
493 bool "Support stv0991" 539 bool "Support stv0991"
@@ -496,16 +542,17 @@ config TARGET_STV0991
496 select DM_SERIAL 542 select DM_SERIAL
497 select DM_SPI 543 select DM_SPI
498 select DM_SPI_FLASH 544 select DM_SPI_FLASH
545 select PL01X_SERIAL
499 select SPI 546 select SPI
500 select SPI_FLASH 547 select SPI_FLASH
501 select PL01X_SERIAL 548 imply CMD_DM
502 549
503config TARGET_X600 550config TARGET_X600
504 bool "Support x600" 551 bool "Support x600"
505 select BOARD_LATE_INIT 552 select BOARD_LATE_INIT
506 select CPU_ARM926EJS 553 select CPU_ARM926EJS
507 select SUPPORT_SPL
508 select PL011_SERIAL 554 select PL011_SERIAL
555 select SUPPORT_SPL
509 556
510config TARGET_WOODBURN 557config TARGET_WOODBURN
511 bool "Support woodburn" 558 bool "Support woodburn"
@@ -528,13 +575,26 @@ config TARGET_MX35PDK
528config ARCH_BCM283X 575config ARCH_BCM283X
529 bool "Broadcom BCM283X family" 576 bool "Broadcom BCM283X family"
530 select DM 577 select DM
531 select DM_SERIAL
532 select DM_GPIO 578 select DM_GPIO
579 select DM_SERIAL
533 select OF_CONTROL 580 select OF_CONTROL
534 select PL01X_SERIAL 581 select PL01X_SERIAL
535 select SERIAL_SEARCH_ALL 582 select SERIAL_SEARCH_ALL
583 imply CMD_DM
536 imply FAT_WRITE 584 imply FAT_WRITE
537 585
586config ARCH_BCM63158
587 bool "Broadcom BCM63158 family"
588 select DM
589 select OF_CONTROL
590 imply CMD_DM
591
592config ARCH_BCM6858
593 bool "Broadcom BCM6858 family"
594 select DM
595 select OF_CONTROL
596 imply CMD_DM
597
538config TARGET_VEXPRESS_CA15_TC2 598config TARGET_VEXPRESS_CA15_TC2
539 bool "Support vexpress_ca15_tc2" 599 bool "Support vexpress_ca15_tc2"
540 select CPU_V7A 600 select CPU_V7A
@@ -542,6 +602,17 @@ config TARGET_VEXPRESS_CA15_TC2
542 select CPU_V7_HAS_VIRT 602 select CPU_V7_HAS_VIRT
543 select PL011_SERIAL 603 select PL011_SERIAL
544 604
605config ARCH_BCMSTB
606 bool "Broadcom BCM7XXX family"
607 select CPU_V7A
608 select DM
609 select OF_CONTROL
610 select OF_PRIOR_STAGE
611 imply CMD_DM
612 help
613 This enables support for Broadcom ARM-based set-top box
614 chipsets, including the 7445 family of chips.
615
545config TARGET_VEXPRESS_CA5X2 616config TARGET_VEXPRESS_CA5X2
546 bool "Support vexpress_ca5x2" 617 bool "Support vexpress_ca5x2"
547 select CPU_V7A 618 select CPU_V7A
@@ -567,13 +638,13 @@ config TARGET_BCM28155_AP
567config TARGET_BCMCYGNUS 638config TARGET_BCMCYGNUS
568 bool "Support bcmcygnus" 639 bool "Support bcmcygnus"
569 select CPU_V7A 640 select CPU_V7A
570 imply CRC32_VERIFY 641 imply BCM_SF2_ETH
642 imply BCM_SF2_ETH_GMAC
571 imply CMD_HASH 643 imply CMD_HASH
644 imply CRC32_VERIFY
572 imply FAT_WRITE 645 imply FAT_WRITE
573 imply HASH_VERIFY 646 imply HASH_VERIFY
574 imply NETDEVICES 647 imply NETDEVICES
575 imply BCM_SF2_ETH
576 imply BCM_SF2_ETH_GMAC
577 648
578config TARGET_BCMNSP 649config TARGET_BCMNSP
579 bool "Support bcmnsp" 650 bool "Support bcmnsp"
@@ -590,22 +661,25 @@ config TARGET_BCMNS2
590config ARCH_EXYNOS 661config ARCH_EXYNOS
591 bool "Samsung EXYNOS" 662 bool "Samsung EXYNOS"
592 select DM 663 select DM
664 select DM_GPIO
593 select DM_I2C 665 select DM_I2C
594 select DM_SPI_FLASH 666 select DM_KEYBOARD
595 select DM_SERIAL 667 select DM_SERIAL
596 select DM_SPI 668 select DM_SPI
597 select DM_GPIO 669 select DM_SPI_FLASH
598 select DM_KEYBOARD
599 select SPI 670 select SPI
671 imply SYS_THUMB_BUILD
672 imply CMD_DM
600 imply FAT_WRITE 673 imply FAT_WRITE
601 674
602config ARCH_S5PC1XX 675config ARCH_S5PC1XX
603 bool "Samsung S5PC1XX" 676 bool "Samsung S5PC1XX"
604 select CPU_V7A 677 select CPU_V7A
605 select DM 678 select DM
606 select DM_SERIAL
607 select DM_GPIO 679 select DM_GPIO
608 select DM_I2C 680 select DM_I2C
681 select DM_SERIAL
682 imply CMD_DM
609 683
610config ARCH_HIGHBANK 684config ARCH_HIGHBANK
611 bool "Calxeda Highbank" 685 bool "Calxeda Highbank"
@@ -617,17 +691,24 @@ config ARCH_INTEGRATOR
617 select DM 691 select DM
618 select DM_SERIAL 692 select DM_SERIAL
619 select PL01X_SERIAL 693 select PL01X_SERIAL
694 imply CMD_DM
620 695
621config ARCH_KEYSTONE 696config ARCH_KEYSTONE
622 bool "TI Keystone" 697 bool "TI Keystone"
698 select CMD_POWEROFF
623 select CPU_V7A 699 select CPU_V7A
624 select SUPPORT_SPL 700 select SUPPORT_SPL
625 select SYS_THUMB_BUILD
626 select CMD_POWEROFF
627 select SYS_ARCH_TIMER 701 select SYS_ARCH_TIMER
702 select SYS_THUMB_BUILD
628 imply CMD_MTDPARTS 703 imply CMD_MTDPARTS
629 imply FIT
630 imply CMD_SAVES 704 imply CMD_SAVES
705 imply FIT
706
707config ARCH_K3
708 bool "Texas Instruments' K3 Architecture"
709 select SPL
710 select SUPPORT_SPL
711 select FIT
631 712
632config ARCH_OMAP2PLUS 713config ARCH_OMAP2PLUS
633 bool "TI OMAP2+" 714 bool "TI OMAP2+"
@@ -645,11 +726,42 @@ config ARCH_MESON
645 targeted at media players and tablet computers. We currently 726 targeted at media players and tablet computers. We currently
646 support the S905 (GXBaby) 64-bit SoC. 727 support the S905 (GXBaby) 64-bit SoC.
647 728
648config ARCH_MX8M 729config ARCH_MEDIATEK
730 bool "MediaTek SoCs"
731 select BINMAN
732 select DM
733 select OF_CONTROL
734 select SPL_DM if SPL
735 select SPL_LIBCOMMON_SUPPORT if SPL
736 select SPL_LIBGENERIC_SUPPORT if SPL
737 select SPL_OF_CONTROL if SPL
738 select SUPPORT_SPL
739 help
740 Support for the MediaTek SoCs family developed by MediaTek Inc.
741 Please refer to doc/README.mediatek for more information.
742
743config ARCH_LPC32XX
744 bool "NXP LPC32xx platform"
745 select CPU_ARM926EJS
746 select DM
747 select DM_GPIO
748 select DM_SERIAL
749 select SPL_DM if SPL
750 select SUPPORT_SPL
751 imply CMD_DM
752
753config ARCH_IMX8
754 bool "NXP i.MX8 platform"
755 select ARM64
756 select DM
757 select OF_CONTROL
758
759config ARCH_IMX8M
649 bool "NXP i.MX8M platform" 760 bool "NXP i.MX8M platform"
650 select ARM64 761 select ARM64
651 select DM 762 select DM
652 select SUPPORT_SPL 763 select SUPPORT_SPL
764 imply CMD_DM
653 765
654config ARCH_MX23 766config ARCH_MX23
655 bool "NXP i.MX23 family" 767 bool "NXP i.MX23 family"
@@ -673,19 +785,19 @@ config ARCH_MX31
673 select CPU_ARM1136 785 select CPU_ARM1136
674 786
675config ARCH_MX7ULP 787config ARCH_MX7ULP
676 bool "NXP MX7ULP" 788 bool "NXP MX7ULP"
677 select CPU_V7A 789 select CPU_V7A
678 select ROM_UNIFIED_SECTIONS 790 select ROM_UNIFIED_SECTIONS
679 imply MXC_GPIO 791 imply MXC_GPIO
680 792
681config ARCH_MX7 793config ARCH_MX7
682 bool "Freescale MX7" 794 bool "Freescale MX7"
795 select ARCH_MISC_INIT
796 select BOARD_EARLY_INIT_F
683 select CPU_V7A 797 select CPU_V7A
684 select SYS_FSL_HAS_SEC if SECURE_BOOT 798 select SYS_FSL_HAS_SEC if SECURE_BOOT
685 select SYS_FSL_SEC_COMPAT_4 799 select SYS_FSL_SEC_COMPAT_4
686 select SYS_FSL_SEC_LE 800 select SYS_FSL_SEC_LE
687 select BOARD_EARLY_INIT_F
688 select ARCH_MISC_INIT
689 imply MXC_GPIO 801 imply MXC_GPIO
690 802
691config ARCH_MX6 803config ARCH_MX6
@@ -699,29 +811,42 @@ config ARCH_MX6
699 811
700if ARCH_MX6 812if ARCH_MX6
701config SPL_LDSCRIPT 813config SPL_LDSCRIPT
702 default "arch/arm/mach-omap2/u-boot-spl.lds" 814 default "arch/arm/mach-omap2/u-boot-spl.lds"
703endif 815endif
704 816
705config ARCH_MX5 817config ARCH_MX5
706 bool "Freescale MX5" 818 bool "Freescale MX5"
707 select CPU_V7A
708 select BOARD_EARLY_INIT_F 819 select BOARD_EARLY_INIT_F
820 select CPU_V7A
709 imply MXC_GPIO 821 imply MXC_GPIO
710 822
823config ARCH_OWL
824 bool "Actions Semi OWL SoCs"
825 select ARM64
826 select DM
827 select DM_SERIAL
828 select OF_CONTROL
829 imply CMD_DM
830
711config ARCH_QEMU 831config ARCH_QEMU
712 bool "QEMU Virtual Platform" 832 bool "QEMU Virtual Platform"
713 select DM 833 select DM
714 select DM_SERIAL 834 select DM_SERIAL
715 select OF_CONTROL 835 select OF_CONTROL
716 select PL01X_SERIAL 836 select PL01X_SERIAL
837 imply CMD_DM
838 imply DM_RTC
839 imply RTC_PL031
717 840
718config ARCH_RMOBILE 841config ARCH_RMOBILE
719 bool "Renesas ARM SoCs" 842 bool "Renesas ARM SoCs"
843 select BOARD_EARLY_INIT_F if !RZA1
720 select DM 844 select DM
721 select DM_SERIAL 845 select DM_SERIAL
722 select BOARD_EARLY_INIT_F 846 imply CMD_DM
723 imply FAT_WRITE 847 imply FAT_WRITE
724 imply SYS_THUMB_BUILD 848 imply SYS_THUMB_BUILD
849 imply ARCH_MISC_INIT if DISPLAY_CPUINFO
725 850
726config TARGET_S32V234EVB 851config TARGET_S32V234EVB
727 bool "Support s32v234evb" 852 bool "Support s32v234evb"
@@ -734,41 +859,50 @@ config ARCH_SNAPDRAGON
734 select DM 859 select DM
735 select DM_GPIO 860 select DM_GPIO
736 select DM_SERIAL 861 select DM_SERIAL
737 select SPMI 862 select MSM_SMEM
738 select OF_CONTROL 863 select OF_CONTROL
739 select OF_SEPARATE 864 select OF_SEPARATE
865 select SMEM
866 select SPMI
867 imply CMD_DM
740 868
741config ARCH_SOCFPGA 869config ARCH_SOCFPGA
742 bool "Altera SOCFPGA family" 870 bool "Altera SOCFPGA family"
743 select ARCH_EARLY_INIT_R 871 select ARCH_EARLY_INIT_R
744 select ARCH_MISC_INIT 872 select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
745 select CPU_V7A 873 select ARM64 if TARGET_SOCFPGA_STRATIX10
874 select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
746 select DM 875 select DM
747 select DM_SERIAL 876 select DM_SERIAL
748 select ENABLE_ARM_SOC_BOOT0_HOOK 877 select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
749 select OF_CONTROL 878 select OF_CONTROL
879 select SPL_DM_RESET if DM_RESET
880 select SPL_DM_SERIAL
750 select SPL_LIBCOMMON_SUPPORT 881 select SPL_LIBCOMMON_SUPPORT
751 select SPL_LIBDISK_SUPPORT
752 select SPL_LIBGENERIC_SUPPORT 882 select SPL_LIBGENERIC_SUPPORT
753 select SPL_MMC_SUPPORT if DM_MMC
754 select SPL_NAND_SUPPORT if SPL_NAND_DENALI 883 select SPL_NAND_SUPPORT if SPL_NAND_DENALI
755 select SPL_OF_CONTROL 884 select SPL_OF_CONTROL
885 select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
756 select SPL_SERIAL_SUPPORT 886 select SPL_SERIAL_SUPPORT
757 select SPL_DM_SERIAL
758 select SPL_SPI_FLASH_SUPPORT if SPL_SPI_SUPPORT
759 select SPL_SPI_SUPPORT if DM_SPI
760 select SPL_WATCHDOG_SUPPORT 887 select SPL_WATCHDOG_SUPPORT
761 select SUPPORT_SPL 888 select SUPPORT_SPL
762 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
763 select SYS_NS16550 889 select SYS_NS16550
764 select SYS_THUMB_BUILD 890 select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
891 imply CMD_DM
765 imply CMD_MTDPARTS 892 imply CMD_MTDPARTS
766 imply CRC32_VERIFY 893 imply CRC32_VERIFY
767 imply DM_SPI 894 imply DM_SPI
768 imply DM_SPI_FLASH 895 imply DM_SPI_FLASH
769 imply FAT_WRITE 896 imply FAT_WRITE
770 imply HW_WATCHDOG 897 imply SPL
898 imply SPL_DM
899 imply SPL_LIBDISK_SUPPORT
900 imply SPL_MMC_SUPPORT
771 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 901 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
902 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
903 imply SPL_SPI_FLASH_SUPPORT
904 imply SPL_SPI_SUPPORT
905 imply L2X0_CACHE
772 906
773config ARCH_SUNXI 907config ARCH_SUNXI
774 bool "Support sunxi (Allwinner) SoCs" 908 bool "Support sunxi (Allwinner) SoCs"
@@ -776,10 +910,13 @@ config ARCH_SUNXI
776 select CMD_GPIO 910 select CMD_GPIO
777 select CMD_MMC if MMC 911 select CMD_MMC if MMC
778 select CMD_USB if DISTRO_DEFAULTS 912 select CMD_USB if DISTRO_DEFAULTS
913 select CLK
779 select DM 914 select DM
780 select DM_ETH 915 select DM_ETH
781 select DM_GPIO 916 select DM_GPIO
782 select DM_KEYBOARD 917 select DM_KEYBOARD
918 select DM_MMC if MMC
919 select DM_SCSI if SCSI
783 select DM_SERIAL 920 select DM_SERIAL
784 select DM_USB if DISTRO_DEFAULTS 921 select DM_USB if DISTRO_DEFAULTS
785 select OF_BOARD_SETUP 922 select OF_BOARD_SETUP
@@ -788,27 +925,39 @@ config ARCH_SUNXI
788 select SPECIFY_CONSOLE_INDEX 925 select SPECIFY_CONSOLE_INDEX
789 select SPL_STACK_R if SPL 926 select SPL_STACK_R if SPL
790 select SPL_SYS_MALLOC_SIMPLE if SPL 927 select SPL_SYS_MALLOC_SIMPLE if SPL
791 select SYS_NS16550
792 select SPL_SYS_THUMB_BUILD if !ARM64 928 select SPL_SYS_THUMB_BUILD if !ARM64
929 select SYS_NS16550
793 select SYS_THUMB_BUILD if !ARM64 930 select SYS_THUMB_BUILD if !ARM64
794 select USB if DISTRO_DEFAULTS 931 select USB if DISTRO_DEFAULTS
795 select USB_STORAGE if DISTRO_DEFAULTS
796 select USB_KEYBOARD if DISTRO_DEFAULTS 932 select USB_KEYBOARD if DISTRO_DEFAULTS
933 select USB_STORAGE if DISTRO_DEFAULTS
797 select USE_TINY_PRINTF 934 select USE_TINY_PRINTF
935 imply CMD_DM
798 imply CMD_GPT 936 imply CMD_GPT
937 imply CMD_UBI if NAND
799 imply DISTRO_DEFAULTS 938 imply DISTRO_DEFAULTS
800 imply FAT_WRITE 939 imply FAT_WRITE
940 imply FIT
801 imply OF_LIBFDT_OVERLAY 941 imply OF_LIBFDT_OVERLAY
802 imply PRE_CONSOLE_BUFFER 942 imply PRE_CONSOLE_BUFFER
803 imply SPL_GPIO_SUPPORT 943 imply SPL_GPIO_SUPPORT
804 imply SPL_LIBCOMMON_SUPPORT 944 imply SPL_LIBCOMMON_SUPPORT
805 imply SPL_LIBDISK_SUPPORT
806 imply SPL_LIBGENERIC_SUPPORT 945 imply SPL_LIBGENERIC_SUPPORT
807 imply SPL_MMC_SUPPORT if MMC 946 imply SPL_MMC_SUPPORT if MMC
808 imply SPL_POWER_SUPPORT 947 imply SPL_POWER_SUPPORT
809 imply SPL_SERIAL_SUPPORT 948 imply SPL_SERIAL_SUPPORT
810 imply USB_GADGET 949 imply USB_GADGET
811 950
951config ARCH_VERSAL
952 bool "Support Xilinx Versal Platform"
953 select ARM64
954 select CLK
955 select DM
956 select DM_ETH if NET
957 select DM_MMC if MMC
958 select DM_SERIAL
959 select OF_CONTROL
960
812config ARCH_VF610 961config ARCH_VF610
813 bool "Freescale Vybrid" 962 bool "Freescale Vybrid"
814 select CPU_V7A 963 select CPU_V7A
@@ -818,52 +967,65 @@ config ARCH_VF610
818 967
819config ARCH_ZYNQ 968config ARCH_ZYNQ
820 bool "Xilinx Zynq based platform" 969 bool "Xilinx Zynq based platform"
821 select BOARD_LATE_INIT
822 select CPU_V7A
823 select SUPPORT_SPL
824 select OF_CONTROL
825 select SPL_BOARD_INIT if SPL
826 select BOARD_EARLY_INIT_F if WDT 970 select BOARD_EARLY_INIT_F if WDT
827 select SPL_OF_CONTROL if SPL 971 select CLK
972 select CLK_ZYNQ
973 select CPU_V7A
828 select DM 974 select DM
829 select DM_ETH if NET 975 select DM_ETH if NET
830 select SPL_DM if SPL
831 select DM_MMC if MMC 976 select DM_MMC if MMC
832 select DM_SPI
833 select DM_SERIAL 977 select DM_SERIAL
978 select DM_SPI
834 select DM_SPI_FLASH 979 select DM_SPI_FLASH
835 select SPL_SEPARATE_BSS if SPL
836 select DM_USB if USB 980 select DM_USB if USB
837 select CLK 981 select OF_CONTROL
838 select SPL_CLK if SPL
839 select CLK_ZYNQ
840 select SPI 982 select SPI
983 select SPL_BOARD_INIT if SPL
984 select SPL_CLK if SPL
985 select SPL_DM if SPL
986 select SPL_OF_CONTROL if SPL
987 select SPL_SEPARATE_BSS if SPL
988 select SUPPORT_SPL
989 imply ARCH_EARLY_INIT_R
990 imply BOARD_LATE_INIT
841 imply CMD_CLK 991 imply CMD_CLK
842 imply FAT_WRITE 992 imply CMD_DM
843 imply CMD_SPL 993 imply CMD_SPL
844 imply ARCH_EARLY_INIT_R 994 imply FAT_WRITE
845 995
846config ARCH_ZYNQMP_R5 996config ARCH_ZYNQMP_R5
847 bool "Xilinx ZynqMP R5 based platform" 997 bool "Xilinx ZynqMP R5 based platform"
998 select CLK
848 select CPU_V7R 999 select CPU_V7R
849 select OF_CONTROL
850 select DM 1000 select DM
1001 select DM_ETH if NET
1002 select DM_MMC if MMC
851 select DM_SERIAL 1003 select DM_SERIAL
852 select CLK 1004 select OF_CONTROL
1005 imply CMD_DM
1006 imply DM_USB_GADGET
853 1007
854config ARCH_ZYNQMP 1008config ARCH_ZYNQMP
855 bool "Xilinx ZynqMP based platform" 1009 bool "Xilinx ZynqMP based platform"
856 select ARM64 1010 select ARM64
857 select BOARD_LATE_INIT 1011 select CLK
858 select DM 1012 select DM
859 select OF_CONTROL 1013 select DM_ETH if NET
1014 select DM_MMC if MMC
860 select DM_SERIAL 1015 select DM_SERIAL
861 select SUPPORT_SPL 1016 select DM_SPI if SPI
862 select CLK 1017 select DM_SPI_FLASH if DM_SPI
1018 select DM_USB if USB
1019 select OF_CONTROL
863 select SPL_BOARD_INIT if SPL 1020 select SPL_BOARD_INIT if SPL
864 select SPL_CLK if SPL 1021 select SPL_CLK if SPL
865 select DM_USB if USB 1022 select SPL_SEPARATE_BSS if SPL
1023 select SUPPORT_SPL
1024 imply BOARD_LATE_INIT
1025 imply CMD_DM
866 imply FAT_WRITE 1026 imply FAT_WRITE
1027 imply MP
1028 imply DM_USB_GADGET
867 1029
868config TEGRA 1030config TEGRA
869 bool "NVIDIA Tegra" 1031 bool "NVIDIA Tegra"
@@ -878,8 +1040,8 @@ config TARGET_VEXPRESS64_AEMV8A
878config TARGET_VEXPRESS64_BASE_FVP 1040config TARGET_VEXPRESS64_BASE_FVP
879 bool "Support Versatile Express ARMv8a FVP BASE model" 1041 bool "Support Versatile Express ARMv8a FVP BASE model"
880 select ARM64 1042 select ARM64
881 select SEMIHOSTING
882 select PL01X_SERIAL 1043 select PL01X_SERIAL
1044 select SEMIHOSTING
883 1045
884config TARGET_VEXPRESS64_BASE_FVP_DRAM 1046config TARGET_VEXPRESS64_BASE_FVP_DRAM
885 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM" 1047 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
@@ -899,9 +1061,10 @@ config TARGET_VEXPRESS64_JUNO
899config TARGET_LS2080A_EMU 1061config TARGET_LS2080A_EMU
900 bool "Support ls2080a_emu" 1062 bool "Support ls2080a_emu"
901 select ARCH_LS2080A 1063 select ARCH_LS2080A
1064 select ARCH_MISC_INIT
902 select ARM64 1065 select ARM64
903 select ARMV8_MULTIENTRY 1066 select ARMV8_MULTIENTRY
904 select ARCH_MISC_INIT 1067 select FSL_DDR_SYNC_REFRESH
905 help 1068 help
906 Support for Freescale LS2080A_EMU platform 1069 Support for Freescale LS2080A_EMU platform
907 The LS2080A Development System (EMULATOR) is a pre silicon 1070 The LS2080A Development System (EMULATOR) is a pre silicon
@@ -911,9 +1074,9 @@ config TARGET_LS2080A_EMU
911config TARGET_LS2080A_SIMU 1074config TARGET_LS2080A_SIMU
912 bool "Support ls2080a_simu" 1075 bool "Support ls2080a_simu"
913 select ARCH_LS2080A 1076 select ARCH_LS2080A
1077 select ARCH_MISC_INIT
914 select ARM64 1078 select ARM64
915 select ARMV8_MULTIENTRY 1079 select ARMV8_MULTIENTRY
916 select ARCH_MISC_INIT
917 help 1080 help
918 Support for Freescale LS2080A_SIMU platform 1081 Support for Freescale LS2080A_SIMU platform
919 The LS2080A Development System (QDS) is a pre silicon 1082 The LS2080A Development System (QDS) is a pre silicon
@@ -923,11 +1086,12 @@ config TARGET_LS2080A_SIMU
923config TARGET_LS1088AQDS 1086config TARGET_LS1088AQDS
924 bool "Support ls1088aqds" 1087 bool "Support ls1088aqds"
925 select ARCH_LS1088A 1088 select ARCH_LS1088A
1089 select ARCH_MISC_INIT
926 select ARM64 1090 select ARM64
927 select ARMV8_MULTIENTRY 1091 select ARMV8_MULTIENTRY
928 select ARCH_MISC_INIT
929 select BOARD_LATE_INIT 1092 select BOARD_LATE_INIT
930 select SUPPORT_SPL 1093 select SUPPORT_SPL
1094 select FSL_DDR_INTERACTIVE if !SD_BOOT
931 help 1095 help
932 Support for NXP LS1088AQDS platform 1096 Support for NXP LS1088AQDS platform
933 The LS1088A Development System (QDS) is a high-performance 1097 The LS1088A Development System (QDS) is a high-performance
@@ -937,13 +1101,15 @@ config TARGET_LS1088AQDS
937config TARGET_LS2080AQDS 1101config TARGET_LS2080AQDS
938 bool "Support ls2080aqds" 1102 bool "Support ls2080aqds"
939 select ARCH_LS2080A 1103 select ARCH_LS2080A
1104 select ARCH_MISC_INIT
940 select ARM64 1105 select ARM64
941 select ARMV8_MULTIENTRY 1106 select ARMV8_MULTIENTRY
942 select BOARD_LATE_INIT 1107 select BOARD_LATE_INIT
943 select SUPPORT_SPL 1108 select SUPPORT_SPL
944 select ARCH_MISC_INIT
945 imply SCSI 1109 imply SCSI
946 imply SCSI_AHCI 1110 imply SCSI_AHCI
1111 select FSL_DDR_BIST
1112 select FSL_DDR_INTERACTIVE if !SPL
947 help 1113 help
948 Support for Freescale LS2080AQDS platform 1114 Support for Freescale LS2080AQDS platform
949 The LS2080A Development System (QDS) is a high-performance 1115 The LS2080A Development System (QDS) is a high-performance
@@ -953,11 +1119,13 @@ config TARGET_LS2080AQDS
953config TARGET_LS2080ARDB 1119config TARGET_LS2080ARDB
954 bool "Support ls2080ardb" 1120 bool "Support ls2080ardb"
955 select ARCH_LS2080A 1121 select ARCH_LS2080A
1122 select ARCH_MISC_INIT
956 select ARM64 1123 select ARM64
957 select ARMV8_MULTIENTRY 1124 select ARMV8_MULTIENTRY
958 select BOARD_LATE_INIT 1125 select BOARD_LATE_INIT
959 select SUPPORT_SPL 1126 select SUPPORT_SPL
960 select ARCH_MISC_INIT 1127 select FSL_DDR_BIST
1128 select FSL_DDR_INTERACTIVE if !SPL
961 imply SCSI 1129 imply SCSI
962 imply SCSI_AHCI 1130 imply SCSI_AHCI
963 help 1131 help
@@ -969,17 +1137,43 @@ config TARGET_LS2080ARDB
969config TARGET_LS2081ARDB 1137config TARGET_LS2081ARDB
970 bool "Support ls2081ardb" 1138 bool "Support ls2081ardb"
971 select ARCH_LS2080A 1139 select ARCH_LS2080A
1140 select ARCH_MISC_INIT
972 select ARM64 1141 select ARM64
973 select ARMV8_MULTIENTRY 1142 select ARMV8_MULTIENTRY
974 select BOARD_LATE_INIT 1143 select BOARD_LATE_INIT
975 select SUPPORT_SPL 1144 select SUPPORT_SPL
976 select ARCH_MISC_INIT
977 help 1145 help
978 Support for Freescale LS2081ARDB platform. 1146 Support for Freescale LS2081ARDB platform.
979 The LS2081A Reference design board (RDB) is a high-performance 1147 The LS2081A Reference design board (RDB) is a high-performance
980 development platform that supports the QorIQ LS2081A/LS2041A 1148 development platform that supports the QorIQ LS2081A/LS2041A
981 Layerscape Architecture processor. 1149 Layerscape Architecture processor.
982 1150
1151config TARGET_LX2160ARDB
1152 bool "Support lx2160ardb"
1153 select ARCH_LX2160A
1154 select ARCH_MISC_INIT
1155 select ARM64
1156 select ARMV8_MULTIENTRY
1157 select BOARD_LATE_INIT
1158 help
1159 Support for NXP LX2160ARDB platform.
1160 The lx2160ardb (LX2160A Reference design board (RDB)
1161 is a high-performance development platform that supports the
1162 QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
1163
1164config TARGET_LX2160AQDS
1165 bool "Support lx2160aqds"
1166 select ARCH_LX2160A
1167 select ARCH_MISC_INIT
1168 select ARM64
1169 select ARMV8_MULTIENTRY
1170 select BOARD_LATE_INIT
1171 help
1172 Support for NXP LX2160AQDS platform.
1173 The lx2160aqds (LX2160A QorIQ Development System (QDS)
1174 is a high-performance development platform that supports the
1175 QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
1176
983config TARGET_HIKEY 1177config TARGET_HIKEY
984 bool "Support HiKey 96boards Consumer Edition Platform" 1178 bool "Support HiKey 96boards Consumer Edition Platform"
985 select ARM64 1179 select ARM64
@@ -989,6 +1183,7 @@ config TARGET_HIKEY
989 select OF_CONTROL 1183 select OF_CONTROL
990 select PL01X_SERIAL 1184 select PL01X_SERIAL
991 select SPECIFY_CONSOLE_INDEX 1185 select SPECIFY_CONSOLE_INDEX
1186 imply CMD_DM
992 help 1187 help
993 Support for HiKey 96boards platform. It features a HI6220 1188 Support for HiKey 96boards platform. It features a HI6220
994 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM. 1189 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
@@ -997,10 +1192,11 @@ config TARGET_POPLAR
997 bool "Support Poplar 96boards Enterprise Edition Platform" 1192 bool "Support Poplar 96boards Enterprise Edition Platform"
998 select ARM64 1193 select ARM64
999 select DM 1194 select DM
1000 select OF_CONTROL
1001 select DM_SERIAL 1195 select DM_SERIAL
1002 select DM_USB 1196 select DM_USB
1197 select OF_CONTROL
1003 select PL01X_SERIAL 1198 select PL01X_SERIAL
1199 imply CMD_DM
1004 help 1200 help
1005 Support for Poplar 96boards EE platform. It features a HI3798cv200 1201 Support for Poplar 96boards EE platform. It features a HI3798cv200
1006 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU 1202 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
@@ -1046,8 +1242,8 @@ config TARGET_LS1012A2G5RDB
1046config TARGET_LS1012AFRWY 1242config TARGET_LS1012AFRWY
1047 bool "Support ls1012afrwy" 1243 bool "Support ls1012afrwy"
1048 select ARCH_LS1012A 1244 select ARCH_LS1012A
1049 select BOARD_LATE_INIT
1050 select ARM64 1245 select ARM64
1246 select BOARD_LATE_INIT
1051 imply SCSI 1247 imply SCSI
1052 imply SCSI_AHCI 1248 imply SCSI_AHCI
1053 help 1249 help
@@ -1066,14 +1262,37 @@ config TARGET_LS1012AFRDM
1066 development platform that supports the QorIQ LS1012A 1262 development platform that supports the QorIQ LS1012A
1067 Layerscape Architecture processor. 1263 Layerscape Architecture processor.
1068 1264
1265config TARGET_LS1028AQDS
1266 bool "Support ls1028aqds"
1267 select ARCH_LS1028A
1268 select ARM64
1269 select ARMV8_MULTIENTRY
1270 help
1271 Support for Freescale LS1028AQDS platform
1272 The LS1028A Development System (QDS) is a high-performance
1273 development platform that supports the QorIQ LS1028A
1274 Layerscape Architecture processor.
1275
1276config TARGET_LS1028ARDB
1277 bool "Support ls1028ardb"
1278 select ARCH_LS1028A
1279 select ARM64
1280 select ARMV8_MULTIENTRY
1281 help
1282 Support for Freescale LS1028ARDB platform
1283 The LS1028A Development System (RDB) is a high-performance
1284 development platform that supports the QorIQ LS1028A
1285 Layerscape Architecture processor.
1286
1069config TARGET_LS1088ARDB 1287config TARGET_LS1088ARDB
1070 bool "Support ls1088ardb" 1288 bool "Support ls1088ardb"
1071 select ARCH_LS1088A 1289 select ARCH_LS1088A
1290 select ARCH_MISC_INIT
1072 select ARM64 1291 select ARM64
1073 select ARMV8_MULTIENTRY 1292 select ARMV8_MULTIENTRY
1074 select ARCH_MISC_INIT
1075 select BOARD_LATE_INIT 1293 select BOARD_LATE_INIT
1076 select SUPPORT_SPL 1294 select SUPPORT_SPL
1295 select FSL_DDR_INTERACTIVE if !SD_BOOT
1077 help 1296 help
1078 Support for NXP LS1088ARDB platform. 1297 Support for NXP LS1088ARDB platform.
1079 The LS1088A Reference design board (RDB) is a high-performance 1298 The LS1088A Reference design board (RDB) is a high-performance
@@ -1082,40 +1301,41 @@ config TARGET_LS1088ARDB
1082 1301
1083config TARGET_LS1021AQDS 1302config TARGET_LS1021AQDS
1084 bool "Support ls1021aqds" 1303 bool "Support ls1021aqds"
1304 select ARCH_LS1021A
1305 select ARCH_SUPPORT_PSCI
1306 select BOARD_EARLY_INIT_F
1085 select BOARD_LATE_INIT 1307 select BOARD_LATE_INIT
1086 select CPU_V7A 1308 select CPU_V7A
1087 select CPU_V7_HAS_NONSEC 1309 select CPU_V7_HAS_NONSEC
1088 select CPU_V7_HAS_VIRT 1310 select CPU_V7_HAS_VIRT
1089 select SUPPORT_SPL
1090 select ARCH_LS1021A
1091 select ARCH_SUPPORT_PSCI
1092 select LS1_DEEP_SLEEP 1311 select LS1_DEEP_SLEEP
1312 select SUPPORT_SPL
1093 select SYS_FSL_DDR 1313 select SYS_FSL_DDR
1094 select BOARD_EARLY_INIT_F 1314 select FSL_DDR_INTERACTIVE
1095 imply SCSI 1315 imply SCSI
1096 1316
1097config TARGET_LS1021ATWR 1317config TARGET_LS1021ATWR
1098 bool "Support ls1021atwr" 1318 bool "Support ls1021atwr"
1319 select ARCH_LS1021A
1320 select ARCH_SUPPORT_PSCI
1321 select BOARD_EARLY_INIT_F
1099 select BOARD_LATE_INIT 1322 select BOARD_LATE_INIT
1100 select CPU_V7A 1323 select CPU_V7A
1101 select CPU_V7_HAS_NONSEC 1324 select CPU_V7_HAS_NONSEC
1102 select CPU_V7_HAS_VIRT 1325 select CPU_V7_HAS_VIRT
1103 select SUPPORT_SPL
1104 select ARCH_LS1021A
1105 select ARCH_SUPPORT_PSCI
1106 select LS1_DEEP_SLEEP 1326 select LS1_DEEP_SLEEP
1107 select BOARD_EARLY_INIT_F 1327 select SUPPORT_SPL
1108 imply SCSI 1328 imply SCSI
1109 1329
1110config TARGET_LS1021AIOT 1330config TARGET_LS1021AIOT
1111 bool "Support ls1021aiot" 1331 bool "Support ls1021aiot"
1332 select ARCH_LS1021A
1333 select ARCH_SUPPORT_PSCI
1112 select BOARD_LATE_INIT 1334 select BOARD_LATE_INIT
1113 select CPU_V7A 1335 select CPU_V7A
1114 select CPU_V7_HAS_NONSEC 1336 select CPU_V7_HAS_NONSEC
1115 select CPU_V7_HAS_VIRT 1337 select CPU_V7_HAS_VIRT
1116 select SUPPORT_SPL 1338 select SUPPORT_SPL
1117 select ARCH_LS1021A
1118 select ARCH_SUPPORT_PSCI
1119 imply SCSI 1339 imply SCSI
1120 help 1340 help
1121 Support for Freescale LS1021AIOT platform. 1341 Support for Freescale LS1021AIOT platform.
@@ -1128,10 +1348,12 @@ config TARGET_LS1043AQDS
1128 select ARCH_LS1043A 1348 select ARCH_LS1043A
1129 select ARM64 1349 select ARM64
1130 select ARMV8_MULTIENTRY 1350 select ARMV8_MULTIENTRY
1351 select BOARD_EARLY_INIT_F
1131 select BOARD_LATE_INIT 1352 select BOARD_LATE_INIT
1132 select SUPPORT_SPL 1353 select SUPPORT_SPL
1133 select BOARD_EARLY_INIT_F 1354 select FSL_DDR_INTERACTIVE if !SPL
1134 imply SCSI 1355 imply SCSI
1356 imply SCSI_AHCI
1135 help 1357 help
1136 Support for Freescale LS1043AQDS platform. 1358 Support for Freescale LS1043AQDS platform.
1137 1359
@@ -1140,10 +1362,9 @@ config TARGET_LS1043ARDB
1140 select ARCH_LS1043A 1362 select ARCH_LS1043A
1141 select ARM64 1363 select ARM64
1142 select ARMV8_MULTIENTRY 1364 select ARMV8_MULTIENTRY
1365 select BOARD_EARLY_INIT_F
1143 select BOARD_LATE_INIT 1366 select BOARD_LATE_INIT
1144 select SUPPORT_SPL 1367 select SUPPORT_SPL
1145 select BOARD_EARLY_INIT_F
1146 imply SCSI
1147 help 1368 help
1148 Support for Freescale LS1043ARDB platform. 1369 Support for Freescale LS1043ARDB platform.
1149 1370
@@ -1152,10 +1373,13 @@ config TARGET_LS1046AQDS
1152 select ARCH_LS1046A 1373 select ARCH_LS1046A
1153 select ARM64 1374 select ARM64
1154 select ARMV8_MULTIENTRY 1375 select ARMV8_MULTIENTRY
1376 select BOARD_EARLY_INIT_F
1155 select BOARD_LATE_INIT 1377 select BOARD_LATE_INIT
1156 select SUPPORT_SPL
1157 select DM_SPI_FLASH if DM_SPI 1378 select DM_SPI_FLASH if DM_SPI
1158 select BOARD_EARLY_INIT_F 1379 select SUPPORT_SPL
1380 select FSL_DDR_BIST if !SPL
1381 select FSL_DDR_INTERACTIVE if !SPL
1382 select FSL_DDR_INTERACTIVE if !SPL
1159 imply SCSI 1383 imply SCSI
1160 help 1384 help
1161 Support for Freescale LS1046AQDS platform. 1385 Support for Freescale LS1046AQDS platform.
@@ -1168,11 +1392,13 @@ config TARGET_LS1046ARDB
1168 select ARCH_LS1046A 1392 select ARCH_LS1046A
1169 select ARM64 1393 select ARM64
1170 select ARMV8_MULTIENTRY 1394 select ARMV8_MULTIENTRY
1395 select BOARD_EARLY_INIT_F
1171 select BOARD_LATE_INIT 1396 select BOARD_LATE_INIT
1172 select SUPPORT_SPL
1173 select DM_SPI_FLASH if DM_SPI 1397 select DM_SPI_FLASH if DM_SPI
1174 select POWER_MC34VR500 1398 select POWER_MC34VR500
1175 select BOARD_EARLY_INIT_F 1399 select SUPPORT_SPL
1400 select FSL_DDR_BIST
1401 select FSL_DDR_INTERACTIVE if !SPL
1176 imply SCSI 1402 imply SCSI
1177 help 1403 help
1178 Support for Freescale LS1046ARDB platform. 1404 Support for Freescale LS1046ARDB platform.
@@ -1180,14 +1406,24 @@ config TARGET_LS1046ARDB
1180 development platform that supports the QorIQ LS1046A 1406 development platform that supports the QorIQ LS1046A
1181 Layerscape Architecture processor. 1407 Layerscape Architecture processor.
1182 1408
1409config TARGET_LS1046AFRWY
1410 bool "Support ls1046afrwy"
1411 select ARCH_LS1046A
1412 select ARM64
1413 select ARMV8_MULTIENTRY
1414 select BOARD_EARLY_INIT_F
1415 select BOARD_LATE_INIT
1416 select DM_SPI_FLASH if DM_SPI
1417 imply SCSI
1418 help
1419 Support for Freescale LS1046AFRWY platform.
1420 The LS1046A Freeway Board (FRWY) is a high-performance
1421 development platform that supports the QorIQ LS1046A
1422 Layerscape Architecture processor.
1183config TARGET_H2200 1423config TARGET_H2200
1184 bool "Support h2200" 1424 bool "Support h2200"
1185 select CPU_PXA 1425 select CPU_PXA
1186 1426
1187config TARGET_ZIPITZ2
1188 bool "Support zipitz2"
1189 select CPU_PXA
1190
1191config TARGET_COLIBRI_PXA270 1427config TARGET_COLIBRI_PXA270
1192 bool "Support colibri_pxa270" 1428 bool "Support colibri_pxa270"
1193 select CPU_PXA 1429 select CPU_PXA
@@ -1202,6 +1438,7 @@ config ARCH_UNIPHIER
1202 select DM_RESET 1438 select DM_RESET
1203 select DM_SERIAL 1439 select DM_SERIAL
1204 select DM_USB 1440 select DM_USB
1441 select OF_BOARD_SETUP
1205 select OF_CONTROL 1442 select OF_CONTROL
1206 select OF_LIBFDT 1443 select OF_LIBFDT
1207 select PINCTRL 1444 select PINCTRL
@@ -1212,6 +1449,8 @@ config ARCH_UNIPHIER
1212 select SPL_OF_CONTROL if SPL 1449 select SPL_OF_CONTROL if SPL
1213 select SPL_PINCTRL if SPL 1450 select SPL_PINCTRL if SPL
1214 select SUPPORT_SPL 1451 select SUPPORT_SPL
1452 imply CMD_DM
1453 imply DISTRO_DEFAULTS
1215 imply FAT_WRITE 1454 imply FAT_WRITE
1216 help 1455 help
1217 Support for UniPhier SoC family developed by Socionext Inc. 1456 Support for UniPhier SoC family developed by Socionext Inc.
@@ -1222,16 +1461,17 @@ config STM32
1222 select CPU_V7M 1461 select CPU_V7M
1223 select DM 1462 select DM
1224 select DM_SERIAL 1463 select DM_SERIAL
1225 select SYS_THUMB_BUILD 1464 imply CMD_DM
1226 1465
1227config ARCH_STI 1466config ARCH_STI
1228 bool "Support STMicrolectronics SoCs" 1467 bool "Support STMicrolectronics SoCs"
1468 select BLK
1229 select CPU_V7A 1469 select CPU_V7A
1230 select DM 1470 select DM
1231 select DM_SERIAL
1232 select BLK
1233 select DM_MMC 1471 select DM_MMC
1234 select DM_RESET 1472 select DM_RESET
1473 select DM_SERIAL
1474 imply CMD_DM
1235 help 1475 help
1236 Support for STMicroelectronics STiH407/10 SoC family. 1476 Support for STMicroelectronics STiH407/10 SoC family.
1237 This SoC is used on Linaro 96Board STiH410-B2260 1477 This SoC is used on Linaro 96Board STiH410-B2260
@@ -1245,67 +1485,77 @@ config ARCH_STM32MP
1245 select DM_GPIO 1485 select DM_GPIO
1246 select DM_RESET 1486 select DM_RESET
1247 select DM_SERIAL 1487 select DM_SERIAL
1488 select MISC
1248 select OF_CONTROL 1489 select OF_CONTROL
1249 select OF_LIBFDT 1490 select OF_LIBFDT
1250 select MISC
1251 select PINCTRL 1491 select PINCTRL
1252 select REGMAP 1492 select REGMAP
1253 select SUPPORT_SPL 1493 select SUPPORT_SPL
1254 select SYSCON 1494 select SYSCON
1255 select SYSRESET 1495 select SYSRESET
1256 select SYS_THUMB_BUILD 1496 select SYS_THUMB_BUILD
1497 imply SPL_SYSRESET
1498 imply CMD_DM
1499 imply CMD_POWEROFF
1500 imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1501 imply USE_PREBOOT
1257 help 1502 help
1258 Support for STM32MP SoC family developed by STMicroelectronics, 1503 Support for STM32MP SoC family developed by STMicroelectronics,
1259 MPUs based on ARM cortex A core 1504 MPUs based on ARM cortex A core
1260 U-BOOT is running in DDR and SPL support is the unsecure First Stage 1505 U-BOOT is running in DDR, loaded by the First Stage BootLoader (FSBL).
1261 BootLoader (FSBL) 1506 FSBL can be TF-A: Trusted Firmware for Cortex A, for trusted boot
1507 chain.
1508 SPL is the unsecure FSBL for the basic boot chain.
1262 1509
1263config ARCH_ROCKCHIP 1510config ARCH_ROCKCHIP
1264 bool "Support Rockchip SoCs" 1511 bool "Support Rockchip SoCs"
1265 select OF_CONTROL
1266 select BLK 1512 select BLK
1267 select DM 1513 select DM
1268 select SPL_DM if SPL
1269 select SYS_MALLOC_F
1270 select SYS_THUMB_BUILD if !ARM64
1271 select SPL_SYS_MALLOC_SIMPLE if SPL
1272 select DM_GPIO 1514 select DM_GPIO
1273 select DM_I2C 1515 select DM_I2C
1274 select DM_MMC 1516 select DM_MMC
1517 select DM_PWM
1518 select DM_REGULATOR
1275 select DM_SERIAL 1519 select DM_SERIAL
1276 select DM_SPI 1520 select DM_SPI
1277 select DM_SPI_FLASH 1521 select DM_SPI_FLASH
1278 select DM_USB if USB 1522 select DM_USB if USB
1279 select DM_PWM
1280 select DM_REGULATOR
1281 select ENABLE_ARM_SOC_BOOT0_HOOK 1523 select ENABLE_ARM_SOC_BOOT0_HOOK
1524 select OF_CONTROL
1282 select SPI 1525 select SPI
1526 select SPL_DM if SPL
1527 select SPL_SYS_MALLOC_SIMPLE if SPL
1528 select SYS_MALLOC_F
1529 select SYS_THUMB_BUILD if !ARM64
1530 imply ADC
1531 imply CMD_DM
1532 imply DEBUG_UART_BOARD_INIT
1283 imply DISTRO_DEFAULTS 1533 imply DISTRO_DEFAULTS
1284 imply FAT_WRITE 1534 imply FAT_WRITE
1285 imply USB_FUNCTION_FASTBOOT
1286 imply SPL_SYSRESET
1287 imply TPL_SYSRESET
1288 imply ADC
1289 imply SARADC_ROCKCHIP 1535 imply SARADC_ROCKCHIP
1536 imply SPL_SYSRESET
1290 imply SYS_NS16550 1537 imply SYS_NS16550
1538 imply TPL_SYSRESET
1539 imply USB_FUNCTION_FASTBOOT
1291 1540
1292config TARGET_THUNDERX_88XX 1541config TARGET_THUNDERX_88XX
1293 bool "Support ThunderX 88xx" 1542 bool "Support ThunderX 88xx"
1294 select ARM64 1543 select ARM64
1295 select OF_CONTROL 1544 select OF_CONTROL
1296 select SYS_CACHE_SHIFT_7
1297 select PL01X_SERIAL 1545 select PL01X_SERIAL
1546 select SYS_CACHE_SHIFT_7
1298 1547
1299config ARCH_ASPEED 1548config ARCH_ASPEED
1300 bool "Support Aspeed SoCs" 1549 bool "Support Aspeed SoCs"
1301 select OF_CONTROL
1302 select DM 1550 select DM
1551 select OF_CONTROL
1552 imply CMD_DM
1303 1553
1304endchoice 1554endchoice
1305 1555
1306config TI_SECURE_DEVICE 1556config TI_SECURE_DEVICE
1307 bool "HS Device Type Support" 1557 bool "HS Device Type Support"
1308 depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS 1558 depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3
1309 help 1559 help
1310 If a high secure (HS) device type is being used, this config 1560 If a high secure (HS) device type is being used, this config
1311 must be set. This option impacts various aspects of the 1561 must be set. This option impacts various aspects of the
@@ -1313,12 +1563,29 @@ config TI_SECURE_DEVICE
1313 authenticated) and the code. See the doc/README.ti-secure 1563 authenticated) and the code. See the doc/README.ti-secure
1314 file for further details. 1564 file for further details.
1315 1565
1566if AM43XX || AM33XX || OMAP54XX || ARCH_KEYSTONE
1567config ISW_ENTRY_ADDR
1568 hex "Address in memory or XIP address of bootloader entry point"
1569 default 0x402F4000 if AM43XX
1570 default 0x402F0400 if AM33XX
1571 default 0x40301350 if OMAP54XX
1572 help
1573 After any reset, the boot ROM searches the boot media for a valid
1574 boot image. For non-XIP devices, the ROM then copies the image into
1575 internal memory. For all boot modes, after the ROM processes the
1576 boot image it eventually computes the entry point address depending
1577 on the device type (secure/non-secure), boot media (xip/non-xip) and
1578 image headers.
1579endif
1580
1316source "arch/arm/mach-aspeed/Kconfig" 1581source "arch/arm/mach-aspeed/Kconfig"
1317 1582
1318source "arch/arm/mach-at91/Kconfig" 1583source "arch/arm/mach-at91/Kconfig"
1319 1584
1320source "arch/arm/mach-bcm283x/Kconfig" 1585source "arch/arm/mach-bcm283x/Kconfig"
1321 1586
1587source "arch/arm/mach-bcmstb/Kconfig"
1588
1322source "arch/arm/mach-davinci/Kconfig" 1589source "arch/arm/mach-davinci/Kconfig"
1323 1590
1324source "arch/arm/mach-exynos/Kconfig" 1591source "arch/arm/mach-exynos/Kconfig"
@@ -1327,10 +1594,14 @@ source "arch/arm/mach-highbank/Kconfig"
1327 1594
1328source "arch/arm/mach-integrator/Kconfig" 1595source "arch/arm/mach-integrator/Kconfig"
1329 1596
1597source "arch/arm/mach-k3/Kconfig"
1598
1330source "arch/arm/mach-keystone/Kconfig" 1599source "arch/arm/mach-keystone/Kconfig"
1331 1600
1332source "arch/arm/mach-kirkwood/Kconfig" 1601source "arch/arm/mach-kirkwood/Kconfig"
1333 1602
1603source "arch/arm/cpu/arm926ejs/lpc32xx/Kconfig"
1604
1334source "arch/arm/mach-mvebu/Kconfig" 1605source "arch/arm/mach-mvebu/Kconfig"
1335 1606
1336source "arch/arm/cpu/armv7/ls102xa/Kconfig" 1607source "arch/arm/cpu/armv7/ls102xa/Kconfig"
@@ -1347,7 +1618,9 @@ source "arch/arm/mach-imx/mx7/Kconfig"
1347 1618
1348source "arch/arm/mach-imx/mx7ulp/Kconfig" 1619source "arch/arm/mach-imx/mx7ulp/Kconfig"
1349 1620
1350source "arch/arm/mach-imx/mx8m/Kconfig" 1621source "arch/arm/mach-imx/imx8/Kconfig"
1622
1623source "arch/arm/mach-imx/imx8m/Kconfig"
1351 1624
1352source "arch/arm/mach-imx/mxs/Kconfig" 1625source "arch/arm/mach-imx/mxs/Kconfig"
1353 1626
@@ -1357,10 +1630,14 @@ source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1357 1630
1358source "arch/arm/mach-orion5x/Kconfig" 1631source "arch/arm/mach-orion5x/Kconfig"
1359 1632
1633source "arch/arm/mach-owl/Kconfig"
1634
1360source "arch/arm/mach-rmobile/Kconfig" 1635source "arch/arm/mach-rmobile/Kconfig"
1361 1636
1362source "arch/arm/mach-meson/Kconfig" 1637source "arch/arm/mach-meson/Kconfig"
1363 1638
1639source "arch/arm/mach-mediatek/Kconfig"
1640
1364source "arch/arm/mach-qemu/Kconfig" 1641source "arch/arm/mach-qemu/Kconfig"
1365 1642
1366source "arch/arm/mach-rockchip/Kconfig" 1643source "arch/arm/mach-rockchip/Kconfig"
@@ -1387,17 +1664,20 @@ source "arch/arm/cpu/armv7/vf610/Kconfig"
1387 1664
1388source "arch/arm/mach-zynq/Kconfig" 1665source "arch/arm/mach-zynq/Kconfig"
1389 1666
1667source "arch/arm/mach-zynqmp/Kconfig"
1668
1669source "arch/arm/mach-versal/Kconfig"
1670
1390source "arch/arm/mach-zynqmp-r5/Kconfig" 1671source "arch/arm/mach-zynqmp-r5/Kconfig"
1391 1672
1392source "arch/arm/cpu/armv7/Kconfig" 1673source "arch/arm/cpu/armv7/Kconfig"
1393 1674
1394source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1395
1396source "arch/arm/cpu/armv8/Kconfig" 1675source "arch/arm/cpu/armv8/Kconfig"
1397 1676
1398source "arch/arm/mach-imx/Kconfig" 1677source "arch/arm/mach-imx/Kconfig"
1399 1678
1400source "board/bosch/shc/Kconfig" 1679source "board/bosch/shc/Kconfig"
1680source "board/bosch/guardian/Kconfig"
1401source "board/CarMediaLab/flea3/Kconfig" 1681source "board/CarMediaLab/flea3/Kconfig"
1402source "board/Marvell/aspenite/Kconfig" 1682source "board/Marvell/aspenite/Kconfig"
1403source "board/Marvell/gplugd/Kconfig" 1683source "board/Marvell/gplugd/Kconfig"
@@ -1406,16 +1686,20 @@ source "board/armltd/vexpress/Kconfig"
1406source "board/armltd/vexpress64/Kconfig" 1686source "board/armltd/vexpress64/Kconfig"
1407source "board/broadcom/bcm23550_w1d/Kconfig" 1687source "board/broadcom/bcm23550_w1d/Kconfig"
1408source "board/broadcom/bcm28155_ap/Kconfig" 1688source "board/broadcom/bcm28155_ap/Kconfig"
1689source "board/broadcom/bcm963158/Kconfig"
1690source "board/broadcom/bcm968580xref/Kconfig"
1409source "board/broadcom/bcmcygnus/Kconfig" 1691source "board/broadcom/bcmcygnus/Kconfig"
1410source "board/broadcom/bcmnsp/Kconfig" 1692source "board/broadcom/bcmnsp/Kconfig"
1411source "board/broadcom/bcmns2/Kconfig" 1693source "board/broadcom/bcmns2/Kconfig"
1412source "board/cavium/thunderx/Kconfig" 1694source "board/cavium/thunderx/Kconfig"
1413source "board/cirrus/edb93xx/Kconfig" 1695source "board/cirrus/edb93xx/Kconfig"
1414source "board/eets/pdu001/Kconfig" 1696source "board/eets/pdu001/Kconfig"
1697source "board/emulation/qemu-arm/Kconfig"
1415source "board/freescale/ls2080a/Kconfig" 1698source "board/freescale/ls2080a/Kconfig"
1416source "board/freescale/ls2080aqds/Kconfig" 1699source "board/freescale/ls2080aqds/Kconfig"
1417source "board/freescale/ls2080ardb/Kconfig" 1700source "board/freescale/ls2080ardb/Kconfig"
1418source "board/freescale/ls1088a/Kconfig" 1701source "board/freescale/ls1088a/Kconfig"
1702source "board/freescale/ls1028a/Kconfig"
1419source "board/freescale/ls1021aqds/Kconfig" 1703source "board/freescale/ls1021aqds/Kconfig"
1420source "board/freescale/ls1043aqds/Kconfig" 1704source "board/freescale/ls1043aqds/Kconfig"
1421source "board/freescale/ls1021atwr/Kconfig" 1705source "board/freescale/ls1021atwr/Kconfig"
@@ -1423,12 +1707,13 @@ source "board/freescale/ls1021aiot/Kconfig"
1423source "board/freescale/ls1046aqds/Kconfig" 1707source "board/freescale/ls1046aqds/Kconfig"
1424source "board/freescale/ls1043ardb/Kconfig" 1708source "board/freescale/ls1043ardb/Kconfig"
1425source "board/freescale/ls1046ardb/Kconfig" 1709source "board/freescale/ls1046ardb/Kconfig"
1710source "board/freescale/ls1046afrwy/Kconfig"
1426source "board/freescale/ls1012aqds/Kconfig" 1711source "board/freescale/ls1012aqds/Kconfig"
1427source "board/freescale/ls1012ardb/Kconfig" 1712source "board/freescale/ls1012ardb/Kconfig"
1428source "board/freescale/ls1012afrdm/Kconfig" 1713source "board/freescale/ls1012afrdm/Kconfig"
1714source "board/freescale/lx2160a/Kconfig"
1429source "board/freescale/mx35pdk/Kconfig" 1715source "board/freescale/mx35pdk/Kconfig"
1430source "board/freescale/s32v234evb/Kconfig" 1716source "board/freescale/s32v234evb/Kconfig"
1431source "board/gdsys/a38x/Kconfig"
1432source "board/grinn/chiliboard/Kconfig" 1717source "board/grinn/chiliboard/Kconfig"
1433source "board/gumstix/pepper/Kconfig" 1718source "board/gumstix/pepper/Kconfig"
1434source "board/h2200/Kconfig" 1719source "board/h2200/Kconfig"
@@ -1444,22 +1729,23 @@ source "board/spear/spear600/Kconfig"
1444source "board/spear/x600/Kconfig" 1729source "board/spear/x600/Kconfig"
1445source "board/st/stv0991/Kconfig" 1730source "board/st/stv0991/Kconfig"
1446source "board/tcl/sl50/Kconfig" 1731source "board/tcl/sl50/Kconfig"
1732source "board/ucRobotics/bubblegum_96/Kconfig"
1447source "board/birdland/bav335x/Kconfig" 1733source "board/birdland/bav335x/Kconfig"
1448source "board/timll/devkit3250/Kconfig"
1449source "board/toradex/colibri_pxa270/Kconfig" 1734source "board/toradex/colibri_pxa270/Kconfig"
1735source "board/variscite/dart_6ul/Kconfig"
1450source "board/vscom/baltos/Kconfig" 1736source "board/vscom/baltos/Kconfig"
1451source "board/woodburn/Kconfig" 1737source "board/woodburn/Kconfig"
1452source "board/work-microwave/work_92105/Kconfig" 1738source "board/xilinx/Kconfig"
1739source "board/xilinx/zynq/Kconfig"
1453source "board/xilinx/zynqmp/Kconfig" 1740source "board/xilinx/zynqmp/Kconfig"
1454source "board/zipitz2/Kconfig"
1455 1741
1456source "arch/arm/Kconfig.debug" 1742source "arch/arm/Kconfig.debug"
1457 1743
1458endmenu 1744endmenu
1459 1745
1460config SPL_LDSCRIPT 1746config SPL_LDSCRIPT
1461 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK 1747 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
1462 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136 1748 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
1463 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64 1749 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
1464 1750
1465 1751