Merge tag 'v2022.04-rc4' into next
[platform/kernel/u-boot.git] / arch / arm / Kconfig
index 95102d3..474ce4a 100644 (file)
@@ -82,8 +82,6 @@ config GICV3
 
 config GIC_V3_ITS
        bool "ARM GICV3 ITS"
-       select REGMAP
-       select SYSCON
        select IRQ
        help
          ARM GICV3 Interrupt translation service (ITS).
@@ -313,6 +311,10 @@ config CPU_PXA
        select SYS_CACHE_SHIFT_5
        imply SYS_ARM_MMU
 
+config CPU_PXA27X
+       bool
+       select CPU_PXA
+
 config CPU_SA1100
        bool
        select SYS_CACHE_SHIFT_5
@@ -450,13 +452,10 @@ config ENABLE_ARM_SOC_BOOT0_HOOK
          values, then choose this option, and create a file included as
          <asm/arch/boot0.h> which contains the required assembler code.
 
-config ARM_CORTEX_CPU_IS_UP
-       bool
-
 config USE_ARCH_MEMCPY
        bool "Use an assembly optimized implementation of memcpy"
-       default y
-       depends on !ARM64
+       default y if !ARM64
+       depends on !ARM64 || (ARM64 && (GCC_VERSION >= 90400))
        help
          Enable the generation of an optimized version of memcpy.
          Such an implementation may be faster under some conditions
@@ -465,7 +464,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 && SPL
+       depends on SPL
        help
          Enable the generation of an optimized version of memcpy.
          Such an implementation may be faster under some conditions
@@ -474,16 +473,43 @@ 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 && TPL
+       depends on TPL
        help
          Enable the generation of an optimized version of memcpy.
          Such an implementation may be faster under some conditions
          but may increase the binary size.
 
+config USE_ARCH_MEMMOVE
+       bool "Use an assembly optimized implementation of memmove" if !ARM64
+       default USE_ARCH_MEMCPY if ARM64
+       depends on ARM64
+       help
+         Enable the generation of an optimized version of memmove.
+         Such an implementation may be faster under some conditions
+         but may increase the binary size.
+
+config SPL_USE_ARCH_MEMMOVE
+       bool "Use an assembly optimized implementation of memmove for SPL" if !ARM64
+       default SPL_USE_ARCH_MEMCPY if ARM64
+       depends on SPL && ARM64
+       help
+         Enable the generation of an optimized version of memmove.
+         Such an implementation may be faster under some conditions
+         but may increase the binary size.
+
+config TPL_USE_ARCH_MEMMOVE
+       bool "Use an assembly optimized implementation of memmove for TPL" if !ARM64
+       default TPL_USE_ARCH_MEMCPY if ARM64
+       depends on TPL && ARM64
+       help
+         Enable the generation of an optimized version of memmove.
+         Such an 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"
-       default y
-       depends on !ARM64
+       default y if !ARM64
+       depends on !ARM64 || (ARM64 && (GCC_VERSION >= 90400))
        help
          Enable the generation of an optimized version of memset.
          Such an implementation may be faster under some conditions
@@ -492,7 +518,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 && SPL
+       depends on SPL
        help
          Enable the generation of an optimized version of memset.
          Such an implementation may be faster under some conditions
@@ -501,7 +527,7 @@ 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 && TPL
+       depends on TPL
        help
          Enable the generation of an optimized version of memset.
          Such an implementation may be faster under some conditions
@@ -524,11 +550,6 @@ config ARCH_AT91
        select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
        select SPL_SEPARATE_BSS if SPL
 
-config TARGET_ASPENITE
-       bool "Support aspenite"
-       select CPU_ARM926EJS
-       select GPIO_EXTRA_HEADER
-
 config ARCH_DAVINCI
        bool "TI DaVinci"
        select CPU_ARM926EJS
@@ -578,11 +599,6 @@ config TARGET_STV0991
        select SPI_FLASH
        imply CMD_DM
 
-config TARGET_FLEA3
-       bool "Support flea3"
-       select CPU_ARM1136
-       select GPIO_EXTRA_HEADER
-
 config ARCH_BCM283X
        bool "Broadcom BCM283X family"
        select DM
@@ -601,6 +617,13 @@ config ARCH_BCM63158
        select OF_CONTROL
        imply CMD_DM
 
+config ARCH_BCM6753
+       bool "Broadcom BCM6753 family"
+       select CPU_V7A
+       select DM
+       select OF_CONTROL
+       imply CMD_DM
+
 config ARCH_BCM68360
        bool "Broadcom BCM68360 family"
        select DM
@@ -619,12 +642,17 @@ config ARCH_BCMSTB
        select DM
        select GPIO_EXTRA_HEADER
        select OF_CONTROL
-       select OF_PRIOR_STAGE
        imply CMD_DM
+       imply OF_HAS_PRIOR_STAGE
        help
          This enables support for Broadcom ARM-based set-top box
          chipsets, including the 7445 family of chips.
 
+config TARGET_VEXPRESS_CA9X4
+       bool "Support vexpress_ca9x4"
+       select CPU_V7A
+       select PL011_SERIAL
+
 config TARGET_BCMCYGNUS
        bool "Support bcmcygnus"
        select CPU_V7A
@@ -688,12 +716,12 @@ config ARCH_HIGHBANK
        select DM
        select DM_SERIAL
        select OF_CONTROL
-       select OF_BOARD
        select CLK
        select CLK_CCF
        select AHCI
        select DM_ETH
        select PHYS_64BIT
+       imply OF_HAS_PRIOR_STAGE
 
 config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
@@ -746,6 +774,7 @@ config ARCH_OMAP2PLUS
        select SUPPORT_SPL
        imply TI_SYSC if DM && OF_CONTROL
        imply FIT
+       imply DM_EVENT
 
 config ARCH_MESON
        bool "Amlogic Meson"
@@ -790,6 +819,7 @@ config ARCH_IMX8
        select MACH_IMX
        select OF_CONTROL
        select ENABLE_ARM_SOC_BOOT0_HOOK
+       imply DM_EVENT
 
 config ARCH_IMX8M
        bool "NXP i.MX8M platform"
@@ -803,6 +833,7 @@ config ARCH_IMX8M
        select DM
        select SUPPORT_SPL
        imply CMD_DM
+       imply DM_EVENT
 
 config ARCH_IMX8ULP
        bool "NXP i.MX8ULP platform"
@@ -813,6 +844,7 @@ config ARCH_IMX8ULP
        select SUPPORT_SPL
        select GPIO_EXTRA_HEADER
        imply CMD_DM
+       imply DM_EVENT
 
 config ARCH_IMXRT
        bool "NXP i.MXRT platform"
@@ -832,13 +864,6 @@ config ARCH_MX23
        select PL011_SERIAL
        select SUPPORT_SPL
 
-config ARCH_MX25
-       bool "NXP MX25"
-       select CPU_ARM926EJS
-       select GPIO_EXTRA_HEADER
-       select MACH_IMX
-       imply MXC_GPIO
-
 config ARCH_MX28
        bool "NXP i.MX28 family"
        select CPU_ARM926EJS
@@ -855,6 +880,7 @@ config ARCH_MX31
 
 config ARCH_MX7ULP
        bool "NXP MX7ULP"
+       select BOARD_POSTCLK_INIT
        select CPU_V7A
        select GPIO_EXTRA_HEADER
        select MACH_IMX
@@ -880,6 +906,7 @@ config ARCH_MX7
 
 config ARCH_MX6
        bool "Freescale MX6"
+       select BOARD_POSTCLK_INIT
        select CPU_V7A
        select GPIO_EXTRA_HEADER
        select MACH_IMX
@@ -908,6 +935,39 @@ config ARCH_NEXELL
        select DM
        select GPIO_EXTRA_HEADER
 
+config ARCH_APPLE
+       bool "Apple SoCs"
+       select ARM64
+       select BLK
+       select CLK
+       select CMD_USB
+       select DM
+       select DM_GPIO
+       select DM_KEYBOARD
+       select DM_MAILBOX
+       select DM_RESET
+       select DM_SERIAL
+       select DM_SPI
+       select DM_USB
+       select DM_VIDEO
+       select IOMMU
+       select LINUX_KERNEL_IMAGE_HEADER
+       select OF_CONTROL
+       select PINCTRL
+       select POSITION_INDEPENDENT
+       select POWER_DOMAIN
+       select REGMAP
+       select SPI
+       select SYSCON
+       select SYSRESET
+       select SYSRESET_WATCHDOG
+       select SYSRESET_WATCHDOG_AUTO
+       select USB
+       imply CMD_DM
+       imply CMD_GPT
+       imply DISTRO_DEFAULTS
+       imply OF_HAS_PRIOR_STAGE
+
 config ARCH_OWL
        bool "Actions Semi OWL SoCs"
        select DM
@@ -931,6 +991,7 @@ config ARCH_QEMU
        imply DM_RNG
        imply DM_RTC
        imply RTC_PL031
+       imply OF_HAS_PRIOR_STAGE
 
 config ARCH_RMOBILE
        bool "Renesas ARM SoCs"
@@ -1013,6 +1074,9 @@ config ARCH_SUNXI
        select DM
        select DM_ETH
        select DM_GPIO
+       select DM_I2C if I2C
+       select DM_SPI if SPI
+       select DM_SPI_FLASH if SPI
        select DM_KEYBOARD
        select DM_MMC if MMC
        select DM_SCSI if SCSI
@@ -1022,6 +1086,7 @@ config ARCH_SUNXI
        select OF_CONTROL
        select OF_SEPARATE
        select SPECIFY_CONSOLE_INDEX
+       select SPL_SEPARATE_BSS if SPL
        select SPL_STACK_R if SPL
        select SPL_SYS_MALLOC_SIMPLE if SPL
        select SPL_SYS_THUMB_BUILD if !ARM64
@@ -1049,7 +1114,11 @@ config ARCH_SUNXI
        imply SPL_MMC if MMC
        imply SPL_POWER
        imply SPL_SERIAL
+       imply SYSRESET
+       imply SYSRESET_WATCHDOG
+       imply SYSRESET_WATCHDOG_AUTO
        imply USB_GADGET
+       imply WDT
 
 config ARCH_U8500
        bool "ST-Ericsson U8500 Series"
@@ -1085,7 +1154,6 @@ config ARCH_VERSAL
        select DM_MMC if MMC
        select DM_SERIAL
        select GICV3
-       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select SOC_DEVICE
        imply BOARD_LATE_INIT
@@ -1105,13 +1173,13 @@ config ARCH_ZYNQ
        select CLK
        select CLK_ZYNQ
        select CPU_V7A
+       select DEBUG_UART_BOARD_INIT if SPL && DEBUG_UART
        select DM
        select DM_ETH if NET
        select DM_MMC if MMC
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
-       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select SPI
        select SPL_BOARD_INIT if SPL
@@ -1138,7 +1206,6 @@ config ARCH_ZYNQMP_R5
        select DM_ETH if NET
        select DM_MMC if MMC
        select DM_SERIAL
-       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        imply CMD_DM
        imply DM_USB_GADGET
@@ -1148,15 +1215,15 @@ config ARCH_ZYNQMP
        select ARM64
        select CLK
        select DM
+       select DEBUG_UART_BOARD_INIT if SPL && DEBUG_UART
        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 FIRMWARE
+       imply FIRMWARE
        select GICV2
-       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select SPL_BOARD_INIT if SPL
        select SPL_CLK if SPL
@@ -1164,7 +1231,7 @@ config ARCH_ZYNQMP
        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
+       imply SPL_FIRMWARE if SPL
        select SPL_SEPARATE_BSS if SPL
        select SUPPORT_SPL
        select ZYNQMP_IPI
@@ -1175,6 +1242,7 @@ config ARCH_ZYNQMP
        imply FAT_WRITE
        imply MP
        imply DM_USB_GADGET
+       imply ZYNQMP_GPIO_MODEPIN if DM_GPIO && USB
 
 config ARCH_TEGRA
        bool "NVIDIA Tegra"
@@ -1202,7 +1270,6 @@ config TARGET_VEXPRESS64_JUNO
        select PL01X_SERIAL
        select DM
        select OF_CONTROL
-       select OF_BOARD
        select CLK
        select DM_SERIAL
        select ARM_PSCI_FW
@@ -1210,6 +1277,7 @@ config TARGET_VEXPRESS64_JUNO
        select DM_ETH
        select BLK
        select USB
+       imply OF_HAS_PRIOR_STAGE
 
 config TARGET_TOTAL_COMPUTE
        bool "Support Total Compute Platform"
@@ -1722,9 +1790,24 @@ config TARGET_SL28
        help
          Support for Kontron SMARC-sAL28 board.
 
+config TARGET_TEN64
+       bool "Support ten64"
+       select ARCH_LS1088A
+       select ARCH_MISC_INIT
+       select ARM64
+       select ARMV8_MULTIENTRY
+       select ARCH_SUPPORT_TFABOOT
+       select BOARD_LATE_INIT
+       select SUPPORT_SPL
+       select FSL_DDR_INTERACTIVE if !SD_BOOT
+       select GPIO_EXTRA_HEADER
+       help
+         Support for Traverse Technologies Ten64 board, based
+         on NXP LS1088A.
+
 config TARGET_COLIBRI_PXA270
        bool "Support colibri_pxa270"
-       select CPU_PXA
+       select CPU_PXA27X
        select GPIO_EXTRA_HEADER
 
 config ARCH_UNIPHIER
@@ -1774,7 +1857,6 @@ config ARCH_STM32
        select CPU_V7M
        select DM
        select DM_SERIAL
-       select GPIO_EXTRA_HEADER
        imply CMD_DM
 
 config ARCH_STI
@@ -1800,7 +1882,6 @@ config ARCH_STM32MP
        select DM_GPIO
        select DM_RESET
        select DM_SERIAL
-       select GPIO_EXTRA_HEADER
        select MISC
        select OF_CONTROL
        select OF_LIBFDT
@@ -1817,6 +1898,7 @@ config ARCH_STM32MP
        imply OF_LIBFDT_OVERLAY
        imply ENV_VARS_UBOOT_RUNTIME_CONFIG
        imply USE_PREBOOT
+       imply TIMESTAMP
        help
          Support for STM32MP SoC family developed by STMicroelectronics,
          MPUs based on ARM cortex A core
@@ -1868,6 +1950,8 @@ config ARCH_OCTEONTX
        select OF_LIVE
        select BOARD_LATE_INIT
        select SYS_CACHE_SHIFT_7
+       select SYS_PCI_64BIT if PCI
+       imply OF_HAS_PRIOR_STAGE
 
 config ARCH_OCTEONTX2
        bool "Support OcteonTX2 SoCs"
@@ -1879,6 +1963,8 @@ config ARCH_OCTEONTX2
        select OF_LIVE
        select BOARD_LATE_INIT
        select SYS_CACHE_SHIFT_7
+       select SYS_PCI_64BIT if PCI
+       imply OF_HAS_PRIOR_STAGE
 
 config TARGET_THUNDERX_88XX
        bool "Support ThunderX 88xx"
@@ -1902,6 +1988,25 @@ config TARGET_DURIAN
          Support for durian platform.
          It has 2GB Sdram, uart and pcie.
 
+config TARGET_POMELO
+       bool "Support Phytium Pomelo Platform"
+       select ARM64
+       select DM
+       select AHCI
+       select SCSI_AHCI
+       select AHCI_PCI
+       select BLK
+       select PCI
+       select DM_PCI
+       select SCSI
+       select DM_SCSI
+       select DM_SERIAL
+       select DM_ETH if NET
+       imply CMD_PCI
+       help
+          Support for pomelo platform.
+          It has 8GB Sdram, uart and pcie.
+
 config TARGET_PRESIDIO_ASIC
        bool "Support Cortina Presidio ASIC Platform"
        select ARM64
@@ -1915,6 +2020,8 @@ config TARGET_XENGUEST_ARM64
        select LINUX_KERNEL_IMAGE_HEADER
        select XEN_SERIAL
        select SSCANF
+       imply OF_HAS_PRIOR_STAGE
+
 endchoice
 
 config SUPPORT_PASSING_ATAGS
@@ -2001,6 +2108,16 @@ config ISW_ENTRY_ADDR
          image headers.
 endif
 
+config SYS_KWD_CONFIG
+       string "kwbimage config file path"
+       depends on ARCH_KIRKWOOD || ARCH_MVEBU
+       default "arch/arm/mach-mvebu/kwbimage.cfg"
+       help
+         Path within the source directory to the kwbimage.cfg file to use
+         when packaging the U-Boot image for use.
+
+source "arch/arm/mach-apple/Kconfig"
+
 source "arch/arm/mach-aspeed/Kconfig"
 
 source "arch/arm/mach-at91/Kconfig"
@@ -2035,8 +2152,6 @@ source "arch/arm/mach-octeontx2/Kconfig"
 
 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
 
-source "arch/arm/mach-imx/mx2/Kconfig"
-
 source "arch/arm/mach-imx/mx3/Kconfig"
 
 source "arch/arm/mach-imx/mx5/Kconfig"
@@ -2117,13 +2232,13 @@ 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/octeontx/Kconfig"
 source "board/Marvell/octeontx2/Kconfig"
+source "board/armltd/vexpress/Kconfig"
 source "board/armltd/vexpress64/Kconfig"
 source "board/cortina/presidio-asic/Kconfig"
 source "board/broadcom/bcm963158/Kconfig"
+source "board/broadcom/bcm96753ref/Kconfig"
 source "board/broadcom/bcm968360bg/Kconfig"
 source "board/broadcom/bcm968580xref/Kconfig"
 source "board/broadcom/bcmns3/Kconfig"
@@ -2159,9 +2274,11 @@ source "board/socionext/developerbox/Kconfig"
 source "board/st/stv0991/Kconfig"
 source "board/tcl/sl50/Kconfig"
 source "board/toradex/colibri_pxa270/Kconfig"
+source "board/traverse/ten64/Kconfig"
 source "board/variscite/dart_6ul/Kconfig"
 source "board/vscom/baltos/Kconfig"
 source "board/phytium/durian/Kconfig"
+source "board/phytium/pomelo/Kconfig"
 source "board/xen/xenguest_arm64/Kconfig"
 source "board/keymile/Kconfig"