diff options
author | Arnd Bergmann <arnd@arndb.de> | 2022-07-26 14:16:37 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2022-08-18 16:44:59 +0200 |
commit | 6fd09c9afa49b343d17cecedd7879d097f37f2a9 (patch) | |
tree | c1290dcaeb1d3dfb4be14e32ac623bdc24d6b841 /arch/arm/Kconfig | |
parent | 8c7d29a75397198154f66541c2af18a8feccac42 (diff) |
ARM: Kconfig: clean up platform selection
The top-level platform selection is mostly meaningless these days after
almost everything is sorted below the CONFIG_ARCH_MULTIPLATFORM, with
the only exception being the 20+ year old StrongARM based machines.
Make this more consistent by removing the entire choice statement and
moving the StrongARM specific options into regular platform specific
Kconfig files.
The three platforms (footbridge, rpc and sa1100) are still mutually
exclusive and cannot coexist with other ARMv4/v5 machines, but since
there are only three of them and we will not add more, this can be
expressed using Kconfig 'depends on' statements.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 114 |
1 files changed, 18 insertions, 96 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 6894b4758bfb..3066ce82cffc 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -28,7 +28,6 @@ config ARM select ARCH_HAS_GCOV_PROFILE_ALL select ARCH_KEEP_MEMBLOCK select ARCH_MIGHT_HAVE_PC_PARPORT - select ARCH_NO_SG_CHAIN if !ARM_HAS_SG_CHAIN select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7 select ARCH_SUPPORTS_ATOMIC_RMW @@ -42,6 +41,7 @@ config ARM select ARCH_WANT_LD_ORPHAN_WARN select BINFMT_FLAT_ARGVP_ENVP_ON_STACK select BUILDTIME_TABLE_SORT if MMU + select COMMON_CLK if !(ARCH_RPC || ARCH_FOOTBRIDGE) select CLONE_BACKWARDS select CPU_PM if SUSPEND || CPU_IDLE select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS @@ -110,6 +110,7 @@ config ARM select HAVE_MOD_ARCH_SPECIFIC select HAVE_NMI select HAVE_OPTPROBES if !THUMB2_KERNEL + select HAVE_PCI select HAVE_PERF_EVENTS select HAVE_PERF_REGS select HAVE_PERF_USER_STACK_DUMP @@ -126,13 +127,17 @@ config ARM select OF_EARLY_FLATTREE if OF select OLD_SIGACTION select OLD_SIGSUSPEND3 + select PCI_DOMAINS_GENERIC if PCI select PCI_SYSCALL if PCI select PERF_USE_VMALLOC select RTC_LIB + select SPARSE_IRQ if !(ARCH_FOOTBRIDGE || ARCH_RPC) select SYS_SUPPORTS_APM_EMULATION select THREAD_INFO_IN_TASK + select TIMER_OF if OF select HAVE_ARCH_VMAP_STACK if MMU && ARM_HAS_GROUP_RELOCS select TRACE_IRQFLAGS_SUPPORT if !CPU_V7M + select USE_OF if !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100) # Above selects are sorted alphabetically; please add new ones # according to that. Thanks. help @@ -154,12 +159,8 @@ config ARM_HAS_GROUP_RELOCS which is usually sufficient, but not for allyesconfig, so we disable this feature when doing compile testing. -config ARM_HAS_SG_CHAIN - bool - config ARM_DMA_USE_IOMMU bool - select ARM_HAS_SG_CHAIN select NEED_SG_DMA_LENGTH if ARM_DMA_USE_IOMMU @@ -307,13 +308,8 @@ config MMU config ARM_SINGLE_ARMV7M def_bool !MMU select ARM_NVIC - select AUTO_ZRELADDR - select TIMER_OF - select COMMON_CLK select CPU_V7M select NO_IOPORT_MAP - select SPARSE_IRQ - select USE_OF config ARCH_MMAP_RND_BITS_MIN default 8 @@ -323,94 +319,19 @@ config ARCH_MMAP_RND_BITS_MAX default 15 if PAGE_OFFSET=0x80000000 default 16 -# -# The "ARM system type" choice list is ordered alphabetically by option -# text. Please add new entries in the option alphabetic order. -# -choice - prompt "ARM system type" - depends on MMU - default ARCH_MULTIPLATFORM - config ARCH_MULTIPLATFORM - bool "Allow multiple platforms to be selected" - select ARCH_FLATMEM_ENABLE - select ARCH_SPARSEMEM_ENABLE - select ARCH_SELECT_MEMORY_MODEL - select ARM_HAS_SG_CHAIN - select ARM_PATCH_PHYS_VIRT - select AUTO_ZRELADDR - select TIMER_OF - select COMMON_CLK - select HAVE_PCI - select PCI_DOMAINS_GENERIC if PCI - select SPARSE_IRQ - select USE_OF - -config ARCH_FOOTBRIDGE - bool "FootBridge" - depends on CPU_LITTLE_ENDIAN - depends on ATAGS - select CPU_SA110 - select FOOTBRIDGE - select NEED_MACH_MEMORY_H - help - Support for systems based on the DC21285 companion chip - ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. - -config ARCH_RPC - bool "RiscPC" - depends on !CC_IS_CLANG && GCC_VERSION < 90100 && GCC_VERSION >= 60000 - depends on CPU_LITTLE_ENDIAN - depends on ATAGS - select ARCH_ACORN - select ARCH_MAY_HAVE_PC_FDC - select ARCH_SPARSEMEM_ENABLE - select ARM_HAS_SG_CHAIN - select CPU_SA110 - select FIQ - select HAVE_PATA_PLATFORM - select ISA_DMA_API - select LEGACY_TIMER_TICK - select NEED_MACH_IO_H - select NEED_MACH_MEMORY_H - select NO_IOPORT_MAP - help - On the Acorn Risc-PC, Linux can support the internal IDE disk and - CD-ROM interface, serial and parallel port, and the floppy drive. - -config ARCH_SA1100 - bool "SA1100-based" - depends on CPU_LITTLE_ENDIAN - depends on ATAGS - select ARCH_MTD_XIP - select ARCH_SPARSEMEM_ENABLE - select CLKSRC_MMIO - select CLKSRC_PXA - select TIMER_OF if OF - select COMMON_CLK - select CPU_FREQ - select CPU_SA1100 - select GPIOLIB - select IRQ_DOMAIN - select ISA - select NEED_MACH_MEMORY_H - select SPARSE_IRQ - help - Support for StrongARM 11x0 based boards. + def_bool MMU && !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100) -endchoice - -menu "Multiple platform selection" - depends on ARCH_MULTIPLATFORM +menu "Platform selection" + depends on MMU comment "CPU Core family selection" config ARCH_MULTI_V4 - bool "ARMv4 based platforms (FA526)" + bool "ARMv4 based platforms (FA526, StrongARM)" depends on !ARCH_MULTI_V6_V7 select ARCH_MULTI_V4_V5 - select CPU_FA526 + select CPU_FA526 if !(CPU_SA110 || CPU_SA1100) config ARCH_MULTI_V4T bool "ARMv4T based platforms (ARM720T, ARM920T, ...)" @@ -472,7 +393,6 @@ config ARCH_AIROHA select ARM_GIC_V3 select ARM_PSCI select HAVE_ARM_ARCH_TIMER - select COMMON_CLK help Support for Airoha EN7523 SoCs @@ -573,6 +493,8 @@ source "arch/arm/mach-rda/Kconfig" source "arch/arm/mach-realtek/Kconfig" +source "arch/arm/mach-rpc/Kconfig" + source "arch/arm/mach-rockchip/Kconfig" source "arch/arm/mach-s3c/Kconfig" @@ -638,7 +560,6 @@ config ARCH_ACORN config PLAT_ORION bool select CLKSRC_MMIO - select COMMON_CLK select GENERIC_IRQ_CHIP select IRQ_DOMAIN @@ -1358,13 +1279,13 @@ config OABI_COMPAT at all). If in doubt say N. config ARCH_SELECT_MEMORY_MODEL - bool + def_bool y config ARCH_FLATMEM_ENABLE - bool + def_bool !(ARCH_RPC || ARCH_SA1100) config ARCH_SPARSEMEM_ENABLE - bool + def_bool !ARCH_FOOTBRIDGE select SPARSEMEM_STATIC if SPARSEMEM config HIGHMEM @@ -1772,7 +1693,8 @@ config CRASH_DUMP For more details see Documentation/admin-guide/kdump/kdump.rst config AUTO_ZRELADDR - bool "Auto calculation of the decompressed kernel image address" + bool "Auto calculation of the decompressed kernel image address" if !ARCH_MULTIPLATFORM + default !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100) help ZRELADDR is the physical address where the decompressed kernel image will be placed. If AUTO_ZRELADDR is selected, the address |