Merge tag 'xilinx-for-v2020.01' of https://gitlab.denx.de/u-boot/custodians/u-boot...
[platform/kernel/u-boot.git] / arch / arm / Kconfig
index 1cd7aeb..c5027c1 100644 (file)
@@ -329,6 +329,12 @@ config SYS_CACHELINE_SIZE
        default 64 if SYS_CACHE_SHIFT_6
        default 32 if SYS_CACHE_SHIFT_5
 
+config ARCH_CPU_INIT
+       bool "Enable ARCH_CPU_INIT"
+       help
+         Some architectures require a call to arch_cpu_init()
+         Say Y here to enable it
+
 config SYS_ARCH_TIMER
        bool "ARM Generic Timer support"
        depends on CPU_V7A || ARM64
@@ -367,7 +373,7 @@ config SYS_THUMB_BUILD
 config SPL_SYS_THUMB_BUILD
        bool "Build SPL using the Thumb instruction set"
        default y if SYS_THUMB_BUILD
-       depends on !ARM64
+       depends on !ARM64 && SPL
        help
           Use this flag to build SPL using the Thumb instruction set for
           ARM architectures. Thumb instruction set provides better code
@@ -414,7 +420,7 @@ config USE_ARCH_MEMCPY
 config SPL_USE_ARCH_MEMCPY
        bool "Use an assembly optimized implementation of memcpy for SPL"
        default y if USE_ARCH_MEMCPY
-       depends on !ARM64
+       depends on !ARM64 && SPL
        help
          Enable the generation of an optimized version of memcpy.
          Such implementation may be faster under some conditions
@@ -423,7 +429,7 @@ config SPL_USE_ARCH_MEMCPY
 config TPL_USE_ARCH_MEMCPY
        bool "Use an assembly optimized implementation of memcpy for TPL"
        default y if USE_ARCH_MEMCPY
-       depends on !ARM64
+       depends on !ARM64 && TPL
        help
          Enable the generation of an optimized version of memcpy.
          Such implementation may be faster under some conditions
@@ -441,7 +447,7 @@ config USE_ARCH_MEMSET
 config SPL_USE_ARCH_MEMSET
        bool "Use an assembly optimized implementation of memset for SPL"
        default y if USE_ARCH_MEMSET
-       depends on !ARM64
+       depends on !ARM64 && SPL
        help
          Enable the generation of an optimized version of memset.
          Such implementation may be faster under some conditions
@@ -450,15 +456,32 @@ config SPL_USE_ARCH_MEMSET
 config TPL_USE_ARCH_MEMSET
        bool "Use an assembly optimized implementation of memset for TPL"
        default y if USE_ARCH_MEMSET
-       depends on !ARM64
+       depends on !ARM64 && TPL
        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 SET_STACK_SIZE
+       bool "Enable an option to set max stack size that can be used"
+       default y if ARCH_VERSAL || ARCH_ZYNQMP
+       help
+         This will enable an option to set max stack size that can be
+         used by u-boot.
+
+config STACK_SIZE
+       hex "Define max stack size that can be used by u-boot"
+       depends on SET_STACK_SIZE
+       default 0x4000000 if ARCH_VERSAL || ARCH_ZYNQMP
+       help
+         Defines Max stack size that can be used by u-boot so that the
+         initrd_high will be calculated as base stack pointer minus this
+         stack size.
+
 config ARM64_SUPPORT_AARCH32
        bool "ARM64 system support AArch32 execution state"
-       default y if ARM64 && !TARGET_THUNDERX_88XX
+       depends on ARM64
+       default y if !TARGET_THUNDERX_88XX
        help
          This ARM64 system supports AArch32 execution state.
 
@@ -805,7 +828,7 @@ config ARCH_MX7
        select ARCH_MISC_INIT
        select BOARD_EARLY_INIT_F
        select CPU_V7A
-       select SYS_FSL_HAS_SEC if SECURE_BOOT
+       select SYS_FSL_HAS_SEC if IMX_HAB
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
        imply MXC_GPIO
@@ -813,7 +836,7 @@ config ARCH_MX7
 config ARCH_MX6
        bool "Freescale MX6"
        select CPU_V7A
-       select SYS_FSL_HAS_SEC if SECURE_BOOT
+       select SYS_FSL_HAS_SEC if IMX_HAB
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
        select SYS_THUMB_BUILD if SPL
@@ -895,10 +918,14 @@ config ARCH_SOCFPGA
        select SPL_OF_CONTROL
        select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
        select SPL_SERIAL_SUPPORT
+       select SPL_SYSRESET
        select SPL_WATCHDOG_SUPPORT
        select SUPPORT_SPL
        select SYS_NS16550
        select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
+       select SYSRESET
+       select SYSRESET_SOCFPGA if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
+       select SYSRESET_SOCFPGA_S10 if TARGET_SOCFPGA_STRATIX10
        imply CMD_DM
        imply CMD_MTDPARTS
        imply CRC32_VERIFY
@@ -943,7 +970,7 @@ config ARCH_SUNXI
        select USB if DISTRO_DEFAULTS
        select USB_KEYBOARD if DISTRO_DEFAULTS
        select USB_STORAGE if DISTRO_DEFAULTS
-       select USE_TINY_PRINTF
+       select SPL_USE_TINY_PRINTF
        imply CMD_DM
        imply CMD_GPT
        imply CMD_UBI if NAND
@@ -969,6 +996,7 @@ config ARCH_VERSAL
        select DM_MMC if MMC
        select DM_SERIAL
        select OF_CONTROL
+       imply BOARD_LATE_INIT
 
 config ARCH_VF610
        bool "Freescale Vybrid"
@@ -1023,16 +1051,21 @@ config ARCH_ZYNQMP
        select CLK
        select DM
        select DM_ETH if NET
+       select DM_MAILBOX
        select DM_MMC if MMC
        select DM_SERIAL
        select DM_SPI if SPI
        select DM_SPI_FLASH if DM_SPI
        select DM_USB if USB
+       select FIRMWARE
        select OF_CONTROL
        select SPL_BOARD_INIT if SPL
        select SPL_CLK if SPL
+       select SPL_DM_MAILBOX if SPL
+       select SPL_FIRMWARE if SPL
        select SPL_SEPARATE_BSS if SPL
        select SUPPORT_SPL
+       select ZYNQMP_IPI
        imply BOARD_LATE_INIT
        imply CMD_DM
        imply FAT_WRITE
@@ -1055,16 +1088,6 @@ config TARGET_VEXPRESS64_BASE_FVP
        select PL01X_SERIAL
        select SEMIHOSTING
 
-config TARGET_VEXPRESS64_BASE_FVP_DRAM
-       bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
-       select ARM64
-       select PL01X_SERIAL
-       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.
-
 config TARGET_VEXPRESS64_JUNO
        bool "Support Versatile Express Juno Development Platform"
        select ARM64
@@ -1089,6 +1112,7 @@ config TARGET_LS2080A_SIMU
        select ARCH_MISC_INIT
        select ARM64
        select ARMV8_MULTIENTRY
+       select BOARD_LATE_INIT
        help
          Support for Freescale LS2080A_SIMU platform
          The LS2080A Development System (QDS) is a pre silicon
@@ -1205,6 +1229,18 @@ config TARGET_HIKEY
          Support for HiKey 96boards platform. It features a HI6220
          SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
 
+config TARGET_HIKEY960
+       bool "Support HiKey960 96boards Consumer Edition Platform"
+       select ARM64
+       select DM
+       select DM_SERIAL
+       select OF_CONTROL
+       select PL01X_SERIAL
+       imply CMD_DM
+         help
+         Support for HiKey960 96boards platform. It features a HI3660
+         SoC, with 4xA73 CPU, 4xA53 CPU, MALI-G71 GPU, and 3GB RAM.
+
 config TARGET_POPLAR
        bool "Support Poplar 96boards Enterprise Edition Platform"
        select ARM64
@@ -1290,6 +1326,8 @@ config TARGET_LS1028AQDS
        select ARM64
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
+       select BOARD_LATE_INIT
+       select ARCH_MISC_INIT
        help
          Support for Freescale LS1028AQDS platform
          The LS1028A Development System (QDS) is a high-performance
@@ -1541,6 +1579,7 @@ config ARCH_STM32MP
        imply SPL_SYSRESET
        imply CMD_DM
        imply CMD_POWEROFF
+       imply OF_LIBFDT_OVERLAY
        imply ENV_VARS_UBOOT_RUNTIME_CONFIG
        imply USE_PREBOOT
        help
@@ -1774,6 +1813,7 @@ source "board/grinn/chiliboard/Kconfig"
 source "board/gumstix/pepper/Kconfig"
 source "board/h2200/Kconfig"
 source "board/hisilicon/hikey/Kconfig"
+source "board/hisilicon/hikey960/Kconfig"
 source "board/hisilicon/poplar/Kconfig"
 source "board/isee/igep003x/Kconfig"
 source "board/phytec/pcm051/Kconfig"