summaryrefslogtreecommitdiffstats
path: root/arch/arm/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r--arch/arm/Kconfig311
1 files changed, 168 insertions, 143 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index b532d3fe2f..1377679ac9 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
config ARM
bool
select HAS_KALLSYMS
@@ -5,8 +7,9 @@ config ARM
select HAVE_CONFIGURABLE_TEXT_BASE if !RELOCATABLE
select HAVE_IMAGE_COMPRESSION
select HAVE_ARCH_KASAN
- select HAS_ARCH_SJLJ
+ select ARCH_HAS_SJLJ
select ARM_OPTIMZED_STRING_FUNCTIONS if KASAN
+ select HAVE_EFI_STUB
default y
config ARM_LINUX
@@ -14,9 +17,6 @@ config ARM_LINUX
default y
depends on CMD_BOOTZ || CMD_BOOTU || BOOTM
-config HAVE_MACH_ARM_HEAD
- bool
-
config ARM_USE_COMPRESSED_DTB
bool
select USE_COMPRESSED_DTB
@@ -27,49 +27,56 @@ config TEXT_BASE
menu "System Type"
+config ARCH_STM32
+ bool
+ help
+ Selected by both STM32 MCUs and MPUs to restrict driver
+ visibility.
+
+config ARCH_OMAP
+ bool
+ select HAS_DEBUG_LL
+ select GPIOLIB
+
choice
prompt "ARM system type"
+config ARCH_MULTIARCH
+ bool "Allow multiple archs to be selected"
+
config ARCH_AT91
bool "Atmel AT91"
+ depends on 32BIT
select GPIOLIB
select CLKDEV_LOOKUP
+ select HAVE_PBL_MULTI_IMAGES
select HAS_DEBUG_LL
select HAVE_CLK
select COMMON_CLK_AT91 if COMMON_CLK_OF_PROVIDER
-
-config ARCH_BCM283X
- bool "Broadcom BCM283x based boards"
- select GPIOLIB
- select CLKDEV_LOOKUP
- select COMMON_CLK
- select COMMON_CLK_OF_PROVIDER
- select CLOCKSOURCE_BCM283X
- select ARM_AMBA
- select HAS_DEBUG_LL
- select RELOCATABLE
- select OFTREE
- select OFDEVICE
- select HAVE_PBL_MULTI_IMAGES
-
config ARCH_CLPS711X
bool "Cirrus Logic EP711x/EP721x/EP731x"
- select CLKDEV_LOOKUP
+ depends on 32BIT
select CLOCKSOURCE_CLPS711X
select COMMON_CLK
+ select COMMON_CLK_OF_PROVIDER
select CPU_32v4T
select GPIOLIB
+ select HAS_DEBUG_LL
+ select HAVE_PBL_MULTI_IMAGES
select MFD_SYSCON
+ select RELOCATABLE
config ARCH_DAVINCI
bool "TI Davinci"
+ depends on 32BIT
select CPU_ARM926T
select HAS_DEBUG_LL
select GPIOLIB
config ARCH_DIGIC
bool "Canon DIGIC-based cameras"
+ depends on 32BIT
select CPU_ARM946E
select HAS_DEBUG_LL
select CLOCKSOURCE_DIGIC
@@ -79,37 +86,17 @@ config ARCH_DIGIC
config ARCH_EP93XX
bool "Cirrus Logic EP93xx"
+ depends on 32BIT
select CPU_ARM920T
select GENERIC_GPIO
-config ARCH_IMX
- bool "Freescale iMX-based"
- select GPIOLIB
- select COMMON_CLK
- select CLKDEV_LOOKUP
- select WATCHDOG_IMX_RESET_SOURCE
- select HAS_DEBUG_LL
-
-config ARCH_LAYERSCAPE
- bool "NXP Layerscape based"
- select GPIOLIB
- select HAS_DEBUG_LL
- select HAVE_PBL_MULTI_IMAGES
- select COMMON_CLK
- select CLKDEV_LOOKUP
- select COMMON_CLK_OF_PROVIDER
- select HW_HAS_PCI
- select OFTREE
- select OFDEVICE
-
config ARCH_MVEBU
bool "Marvell EBU platforms"
+ depends on 32BIT
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
- select CLKDEV_LOOKUP
select GPIOLIB
select HAS_DEBUG_LL
- select HAVE_MACH_ARM_HEAD
select HAVE_PBL_MULTI_IMAGES
select HW_HAS_PCI
select MVEBU_MBUS
@@ -119,77 +106,169 @@ config ARCH_MVEBU
config ARCH_MXS
bool "Freescale i.MX23/28 (mxs) based"
+ depends on 32BIT
select GPIOLIB
select GENERIC_GPIO
select COMMON_CLK
- select CLKDEV_LOOKUP
select HAS_DEBUG_LL
select HAVE_PBL_MULTI_IMAGES
config ARCH_NOMADIK
bool "STMicroelectronics Nomadik"
+ depends on 32BIT
select CPU_ARM926T
select CLOCKSOURCE_NOMADIK
- select HAVE_CLK
+ select HAVE_LEGACY_CLK
help
Support for the Nomadik platform by ST-Ericsson
-config ARCH_OMAP
+config ARCH_OMAP_SINGLE
bool "TI OMAP"
- select HAS_DEBUG_LL
- select GPIOLIB
+ depends on 32BIT
+ select ARCH_OMAP
config ARCH_PXA
bool "Intel/Marvell PXA based"
+ depends on 32BIT
select GENERIC_GPIO
-config ARCH_ROCKCHIP
- bool "Rockchip RX3xxx"
+config ARCH_SOCFPGA
+ bool "Altera SOCFPGA"
+ depends on 32BIT
+ select HAS_DEBUG_LL
+ select ARM_SMP_TWD
+ select CPU_V7
+ select COMMON_CLK
+
+config ARCH_TEGRA
+ bool "NVIDIA Tegra"
+ depends on 32BIT
+ select CPU_V7
+ select HAS_DEBUG_LL
+ select HW_HAS_PCI
select COMMON_CLK
- select CLKDEV_LOOKUP
select COMMON_CLK_OF_PROVIDER
select GPIOLIB
+ select GPIO_TEGRA
+ select HAVE_PBL_MULTI_IMAGES
+ select OFDEVICE
+ select OFTREE
+ select RELOCATABLE
+ select RESET_CONTROLLER
select PINCTRL
- select PINCTRL_ROCKCHIP
+
+config ARCH_UEMD
+ bool "RC Module UEMD Platform"
+ depends on 32BIT
+ select CPU_ARM1176
+ select COMMON_CLK
+ select COMMON_CLK_OF_PROVIDER
+ select OFDEVICE
select OFTREE
+ select CLOCKSOURCE_UEMD
+ select HAS_DEBUG_LL
+
+config ARCH_ZYNQ
+ bool "Xilinx Zynq-based boards"
+ depends on 32BIT
+ select HAS_DEBUG_LL
+ select PBL_IMAGE
+ select GPIOLIB
+
+endchoice
+
+config ARCH_ARM64_VIRT
+ bool "ARM64 QEMU Virt board"
+ depends on 64BIT
+ select CPU_V8
select HAVE_PBL_MULTI_IMAGES
+ select OFDEVICE
+ select OFTREE
+ select RELOCATABLE
+ select ARM_AMBA
+ select BOARD_ARM_VIRT
+ select HW_HAS_PCI
select HAS_DEBUG_LL
-config ARCH_SOCFPGA
- bool "Altera SOCFPGA"
+config ARCH_BCM283X
+ bool "Broadcom BCM283x based boards"
+ select GPIOLIB
+ select COMMON_CLK
+ select COMMON_CLK_OF_PROVIDER
+ select CLOCKSOURCE_BCM283X
+ select ARM_AMBA
select HAS_DEBUG_LL
- select ARM_SMP_TWD
- select CPU_V7
+ select RELOCATABLE
+ select OFTREE
+ select OFDEVICE
+ select HAVE_PBL_MULTI_IMAGES
+
+config ARCH_IMX
+ bool "Freescale iMX-based"
+ depends on ARCH_MULTIARCH
+ select GPIOLIB
select COMMON_CLK
- select CLKDEV_LOOKUP
+ select WATCHDOG_IMX_RESET_SOURCE
+ select HAS_DEBUG_LL
+ select HAVE_PBL_MULTI_IMAGES
+ select RELOCATABLE
-config ARCH_S3C24xx
- bool "Samsung S3C2410, S3C2440"
- select ARCH_SAMSUNG
- select CPU_ARM920T
- select GENERIC_GPIO
+config ARCH_K3
+ bool "Texas Instruments Inc. K3 multicore SoC architecture"
+ depends on 64BIT
+ select CPU_V8
+ select GPIOLIB
+ select COMMON_CLK
+ select HAVE_PBL_MULTI_IMAGES
+ select HAS_DEBUG_LL
+ select COMMON_CLK_OF_PROVIDER
+ select PM_GENERIC_DOMAINS
-config ARCH_S5PCxx
- bool "Samsung S5PC110, S5PV210"
- select ARCH_SAMSUNG
- select CPU_V7
- select GENERIC_GPIO
+config ARCH_LAYERSCAPE
+ bool "NXP Layerscape based"
+ depends on ARCH_MULTIARCH
+ select GPIOLIB
+ select HAS_DEBUG_LL
+ select HAVE_PBL_MULTI_IMAGES
+ select COMMON_CLK
+ select COMMON_CLK_OF_PROVIDER
+ select HW_HAS_PCI
+ select OFTREE
+ select OFDEVICE
+ select ARM_USE_COMPRESSED_DTB
+ select OF_DMA_COHERENCY
-config ARCH_S3C64xx
- bool "Samsung S3C64xx"
- select ARCH_SAMSUNG
- select CPU_V6
- select GENERIC_GPIO
+config ARCH_OMAP_MULTI
+ bool "TI OMAP"
+ depends on 32BIT
+ depends on ARCH_MULTIARCH
+ select OMAP_MULTI_BOARDS
+ select ARCH_OMAP
+ select HAS_DEBUG_LL
+ select GPIOLIB
+
+config ARCH_ROCKCHIP
+ bool "Rockchip RX3xxx"
+ depends on ARCH_MULTIARCH
+ select COMMON_CLK
+ select COMMON_CLK_OF_PROVIDER
+ select GPIOLIB
+ select PINCTRL
+ select PINCTRL_ROCKCHIP
+ select OFTREE
+ select HAVE_PBL_MULTI_IMAGES
+ select HAS_DEBUG_LL
+ imply GPIO_ROCKCHIP
config ARCH_STM32MP
bool "STMicroelectronics STM32MP"
+ depends on 32BIT
+ select ARCH_STM32
select CPU_V7
select HAVE_PBL_MULTI_IMAGES
- select CLKDEV_LOOKUP
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
select HAS_DEBUG_LL
- select HAVE_CLK
select GPIOLIB
select ARCH_HAS_RESET_CONTROLLER
select ARM_AMBA
@@ -198,17 +277,22 @@ config ARCH_STM32MP
config ARCH_VERSATILE
bool "ARM Versatile boards (ARM926EJ-S)"
+ depends on 32BIT
select GPIOLIB
- select HAVE_CLK
+ select ARM_AMBA
+ select AMBA_SP804
select HAS_DEBUG_LL
+ select COMMON_CLK
+ select COMMON_CLK_OF_PROVIDER
+ select HAVE_PBL_MULTI_IMAGES
config ARCH_VEXPRESS
bool "ARM Vexpress & virt boards"
+ depends on 32BIT
select HAS_DEBUG_LL
select CPU_V7
select ARM_AMBA
select AMBA_SP804
- select CLKDEV_LOOKUP
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
select OFTREE
@@ -216,70 +300,21 @@ config ARCH_VEXPRESS
select RELOCATABLE
select HAVE_PBL_MULTI_IMAGES
-config ARCH_TEGRA
- bool "NVIDIA Tegra"
- select CPU_V7
- select HAS_DEBUG_LL
- select HW_HAS_PCI
- select COMMON_CLK
- select COMMON_CLK_OF_PROVIDER
- select CLKDEV_LOOKUP
- select GPIOLIB
- select GPIO_TEGRA
- select HAVE_PBL_MULTI_IMAGES
- select OFDEVICE
- select OFTREE
- select RELOCATABLE
- select RESET_CONTROLLER
- select PINCTRL
-
-config ARCH_UEMD
- bool "RC Module UEMD Platform"
- select CPU_ARM1176
- select COMMON_CLK
- select COMMON_CLK_OF_PROVIDER
- select CLKDEV_LOOKUP
- select OFDEVICE
- select OFTREE
- select CLOCKSOURCE_UEMD
- select HAS_DEBUG_LL
-
-config ARCH_ZYNQ
- bool "Xilinx Zynq-based boards"
- select HAS_DEBUG_LL
- select PBL_IMAGE
- select GPIOLIB
-
config ARCH_ZYNQMP
bool "Xilinx ZynqMP-based boards"
+ depends on 64BIT
select CPU_V8
select HAS_DEBUG_LL
select HAVE_PBL_MULTI_IMAGES
select ARM_SMCCC
select COMMON_CLK
select COMMON_CLK_OF_PROVIDER
- select CLKDEV_LOOKUP
select GPIOLIB
select OFDEVICE
select OFTREE
select RELOCATABLE
- select SYS_SUPPORTS_64BIT_KERNEL
select HAS_MACB
-config ARCH_ARM64_VIRT
- bool "ARM64 QEMU Virt board"
- select CPU_V8
- select HAVE_PBL_MULTI_IMAGES
- select OFDEVICE
- select OFTREE
- select RELOCATABLE
- select SYS_SUPPORTS_64BIT_KERNEL
- select ARM_AMBA
- select BOARD_ARM_VIRT
- select HW_HAS_PCI
-
-endchoice
-
source "arch/arm/cpu/Kconfig"
source "arch/arm/mach-at91/Kconfig"
source "arch/arm/mach-bcm283x/Kconfig"
@@ -292,10 +327,10 @@ source "arch/arm/mach-layerscape/Kconfig"
source "arch/arm/mach-mxs/Kconfig"
source "arch/arm/mach-mvebu/Kconfig"
source "arch/arm/mach-nomadik/Kconfig"
+source "arch/arm/mach-k3/Kconfig"
source "arch/arm/mach-omap/Kconfig"
source "arch/arm/mach-pxa/Kconfig"
source "arch/arm/mach-rockchip/Kconfig"
-source "arch/arm/mach-samsung/Kconfig"
source "arch/arm/mach-socfpga/Kconfig"
source "arch/arm/mach-stm32mp/Kconfig"
source "arch/arm/mach-versatile/Kconfig"
@@ -374,28 +409,18 @@ config ARM_BOARD_PREPEND_ATAG
endmenu
-choice
- prompt "Barebox code model"
- help
- You should only select this option if you have a workload that
- actually benefits from 64-bit processing or if your machine has
- large memory. You will only be presented a single option in this
- menu if your system does not support both 32-bit and 64-bit modes.
-
-config 32BIT
- bool "32-bit barebox"
- depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
- help
- Select this option if you want to build a 32-bit barebox.
-
config 64BIT
- bool "64-bit barebox"
- depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
+ bool "64bit barebox" if "$(ARCH)" != "arm64"
+ default "$(ARCH)" = "arm64"
select ARCH_DMA_ADDR_T_64BIT
help
Select this option if you want to build a 64-bit barebox.
-endchoice
+config 32BIT
+ bool
+ default !64BIT
+ help
+ Select this option if you want to build a 32-bit barebox.
menu "ARM specific settings"