Merge tag 'u-boot-atmel-fixes-2021.01-b' of https://gitlab.denx.de/u-boot/custodians...
[platform/kernel/u-boot.git] / arch / arm / Kconfig
index e04a2c6..fbe9087 100644 (file)
@@ -12,17 +12,18 @@ config ARM64
 if ARM64
 config POSITION_INDEPENDENT
        bool "Generate position-independent pre-relocation code"
-       select INIT_SP_RELATIVE
        help
          U-Boot expects to be linked to a specific hard-coded address, and to
          be loaded to and run from that address. This option lifts that
-         restriction, thus allowing the code to be loaded to and executed
-         from almost any address. This logic relies on the relocation
+         restriction, thus allowing the code to be loaded to and executed from
+         almost any 4K aligned address. This logic relies on the relocation
          information that is embedded in the binary to support U-Boot
          relocating itself to the top-of-RAM later during execution.
 
 config INIT_SP_RELATIVE
        bool "Specify the early stack pointer relative to the .bss section"
+       default n if ARCH_QEMU
+       default y if POSITION_INDEPENDENT
        help
          U-Boot typically uses a hard-coded value for the stack pointer
          before relocation. Enable this option to instead calculate the
@@ -64,6 +65,8 @@ endif
 
 config GIC_V3_ITS
        bool "ARM GICV3 ITS"
+       select REGMAP
+       select SYSCON
        help
          ARM GICV3 Interrupt translation service (ITS).
          Basic support for programming locality specific peripheral
@@ -74,7 +77,7 @@ config GIC_V3_ITS
 
 config STATIC_RELA
        bool
-       default y if ARM64 && !POSITION_INDEPENDENT
+       default y if ARM64
 
 config DMA_ADDR_T_64BIT
        bool
@@ -501,23 +504,6 @@ config TPL_USE_ARCH_MEMSET
          Such an 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 || ARCH_ZYNQ
-       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
-       default 0x1000000 if ARCH_ZYNQ
-       help
-         Define 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"
        depends on ARM64
@@ -782,8 +768,11 @@ config ARCH_IPQ40XX
        select DM
        select DM_GPIO
        select DM_SERIAL
+       select DM_RESET
+       select MSM_SMEM
        select PINCTRL
        select CLK
+       select SMEM
        select OF_CONTROL
        imply CMD_DM
 
@@ -944,20 +933,20 @@ config ARCH_OWL
 
 config ARCH_QEMU
        bool "QEMU Virtual Platform"
-       select ARCH_SUPPORT_TFABOOT
        select DM
        select DM_SERIAL
        select OF_CONTROL
        select PL01X_SERIAL
        imply CMD_DM
+       imply DM_RNG
        imply DM_RTC
        imply RTC_PL031
 
 config ARCH_RMOBILE
        bool "Renesas ARM SoCs"
-       select BOARD_EARLY_INIT_F if !RZA1
        select DM
        select DM_SERIAL
+       imply BOARD_EARLY_INIT_F
        imply CMD_DM
        imply FAT_WRITE
        imply SYS_THUMB_BUILD
@@ -1006,7 +995,7 @@ config ARCH_SOCFPGA
        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
+       select SYSRESET_SOCFPGA_SOC64 if TARGET_SOCFPGA_STRATIX10 || TARGET_SOCFPGA_AGILEX
        imply CMD_DM
        imply CMD_MTDPARTS
        imply CRC32_VERIFY
@@ -1100,6 +1089,7 @@ config ARCH_VERSAL
        select DM_SERIAL
        select OF_CONTROL
        imply BOARD_LATE_INIT
+       imply ENV_VARS_UBOOT_RUNTIME_CONFIG
 
 config ARCH_VF610
        bool "Freescale Vybrid"
@@ -1135,6 +1125,7 @@ config ARCH_ZYNQ
        imply CMD_CLK
        imply CMD_DM
        imply CMD_SPL
+       imply ENV_VARS_UBOOT_RUNTIME_CONFIG
        imply FAT_WRITE
 
 config ARCH_ZYNQMP_R5
@@ -1165,7 +1156,8 @@ config ARCH_ZYNQMP
        select OF_CONTROL
        select SPL_BOARD_INIT if SPL
        select SPL_CLK if SPL
-       select SPL_DM_SPI if SPI
+       select SPL_DM if SPL
+       select SPL_DM_SPI if SPI && SPL_DM
        select SPL_DM_SPI_FLASH if SPL_DM_SPI
        select SPL_DM_MAILBOX if SPL
        select SPL_FIRMWARE if SPL
@@ -1174,6 +1166,7 @@ config ARCH_ZYNQMP
        select ZYNQMP_IPI
        imply BOARD_LATE_INIT
        imply CMD_DM
+       imply ENV_VARS_UBOOT_RUNTIME_CONFIG
        imply FAT_WRITE
        imply MP
        imply DM_USB_GADGET
@@ -1210,6 +1203,15 @@ config TARGET_VEXPRESS64_JUNO
        select USB
        select DM_USB
 
+config TARGET_TOTAL_COMPUTE
+       bool "Support Total Compute Platform"
+       select ARM64
+       select PL01X_SERIAL
+       select DM
+       select DM_SERIAL
+       select DM_MMC
+       select DM_GPIO
+
 config TARGET_LS2080A_EMU
        bool "Support ls2080a_emu"
        select ARCH_LS2080A
@@ -1324,6 +1326,18 @@ config TARGET_LX2160AQDS
          is a high-performance development platform that supports the
          QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
 
+config TARGET_LX2162AQDS
+       bool "Support lx2162aqds"
+       select ARCH_LX2162A
+       select ARCH_MISC_INIT
+       select ARM64
+       select ARMV8_MULTIENTRY
+       select ARCH_SUPPORT_TFABOOT
+       select BOARD_LATE_INIT
+       help
+         Support for NXP LX2162AQDS platform.
+         The lx2162aqds support is based on LX2160A Layerscape Architecture processor.
+
 config TARGET_HIKEY
        bool "Support HiKey 96boards Consumer Edition Platform"
        select ARM64
@@ -1618,6 +1632,16 @@ config TARGET_LS1046AFRWY
          development platform that supports the QorIQ LS1046A
          Layerscape Architecture processor.
 
+config TARGET_SL28
+       bool "Support sl28"
+       select ARCH_LS1028A
+       select ARM64
+       select ARMV8_MULTIENTRY
+       select SUPPORT_SPL
+       select BINMAN
+       help
+         Support for Kontron SMARC-sAL28 board.
+
 config TARGET_COLIBRI_PXA270
        bool "Support colibri_pxa270"
        select CPU_PXA
@@ -1709,7 +1733,7 @@ config ARCH_STM32MP
 config ARCH_ROCKCHIP
        bool "Support Rockchip SoCs"
        select BLK
-       select BINMAN if !ARM64
+       select BINMAN if SPL_OPTEE
        select DM
        select DM_GPIO
        select DM_I2C
@@ -1740,6 +1764,26 @@ config ARCH_ROCKCHIP
        imply TPL_SYSRESET
        imply USB_FUNCTION_FASTBOOT
 
+config ARCH_OCTEONTX
+       bool "Support OcteonTX SoCs"
+       select CLK
+       select DM
+       select ARM64
+       select OF_CONTROL
+       select OF_LIVE
+       select BOARD_LATE_INIT
+       select SYS_CACHE_SHIFT_7
+
+config ARCH_OCTEONTX2
+       bool "Support OcteonTX2 SoCs"
+       select CLK
+       select DM
+       select ARM64
+       select OF_CONTROL
+       select OF_LIVE
+       select BOARD_LATE_INIT
+       select SYS_CACHE_SHIFT_7
+
 config TARGET_THUNDERX_88XX
        bool "Support ThunderX 88xx"
        select ARM64
@@ -1764,6 +1808,14 @@ config TARGET_PRESIDIO_ASIC
        bool "Support Cortina Presidio ASIC Platform"
        select ARM64
 
+config TARGET_XENGUEST_ARM64
+       bool "Xen guest ARM64"
+       select ARM64
+       select XEN
+       select OF_CONTROL
+       select LINUX_KERNEL_IMAGE_HEADER
+       select XEN_SERIAL
+       select SSCANF
 endchoice
 
 config ARCH_SUPPORT_TFABOOT
@@ -1774,8 +1826,13 @@ config TFABOOT
        depends on ARCH_SUPPORT_TFABOOT
        default n
        help
-         Enabling this will make a U-Boot binary that is capable of being
-         booted via TF-A (Trusted Firmware for Cortex-A).
+         Some platforms support the setup of secure registers (for instance
+         for CPU errata handling) or provide secure services like PSCI.
+         Those services could also be provided by other firmware parts
+         like TF-A (Trusted Firmware for Cortex-A), in which case U-Boot
+         does not need to (and cannot) execute this code.
+         Enabling this option will make a U-Boot binary that is relying
+         on other firmware layers to provide secure functionality.
 
 config TI_SECURE_DEVICE
        bool "HS Device Type Support"
@@ -1830,6 +1887,10 @@ source "arch/arm/mach-lpc32xx/Kconfig"
 
 source "arch/arm/mach-mvebu/Kconfig"
 
+source "arch/arm/mach-octeontx/Kconfig"
+
+source "arch/arm/mach-octeontx2/Kconfig"
+
 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
 
 source "arch/arm/mach-imx/mx2/Kconfig"
@@ -1908,11 +1969,15 @@ source "arch/arm/mach-imx/Kconfig"
 
 source "arch/arm/mach-nexell/Kconfig"
 
+source "board/armltd/total_compute/Kconfig"
+
 source "board/bosch/shc/Kconfig"
 source "board/bosch/guardian/Kconfig"
 source "board/CarMediaLab/flea3/Kconfig"
 source "board/Marvell/aspenite/Kconfig"
 source "board/Marvell/gplugd/Kconfig"
+source "board/Marvell/octeontx/Kconfig"
+source "board/Marvell/octeontx2/Kconfig"
 source "board/armadeus/apf27/Kconfig"
 source "board/armltd/vexpress/Kconfig"
 source "board/armltd/vexpress64/Kconfig"
@@ -1955,6 +2020,8 @@ source "board/hisilicon/hikey/Kconfig"
 source "board/hisilicon/hikey960/Kconfig"
 source "board/hisilicon/poplar/Kconfig"
 source "board/isee/igep003x/Kconfig"
+source "board/kontron/sl28/Kconfig"
+source "board/myir/mys_6ulx/Kconfig"
 source "board/spear/spear300/Kconfig"
 source "board/spear/spear310/Kconfig"
 source "board/spear/spear320/Kconfig"
@@ -1965,10 +2032,8 @@ source "board/tcl/sl50/Kconfig"
 source "board/toradex/colibri_pxa270/Kconfig"
 source "board/variscite/dart_6ul/Kconfig"
 source "board/vscom/baltos/Kconfig"
-source "board/xilinx/Kconfig"
-source "board/xilinx/zynq/Kconfig"
-source "board/xilinx/zynqmp/Kconfig"
 source "board/phytium/durian/Kconfig"
+source "board/xen/xenguest_arm64/Kconfig"
 
 source "arch/arm/Kconfig.debug"