xref: /linux/arch/arm/Kconfig.platforms (revision 20e3ab9ecb37a0e7ff4e820b79952280a3317d1d)
1# SPDX-License-Identifier: GPL-2.0-only
2
3menu "Platform selection"
4	depends on MMU
5
6comment "CPU Core family selection"
7
8config ARCH_MULTI_V4
9	bool "ARMv4 based platforms (FA526, StrongARM)"
10	depends on !ARCH_MULTI_V6_V7
11	# https://github.com/llvm/llvm-project/issues/50764
12	depends on !LD_IS_LLD || LLD_VERSION >= 160000
13	select ARCH_MULTI_V4_V5
14	select CPU_FA526 if !(CPU_SA110 || CPU_SA1100)
15
16config ARCH_MULTI_V4T
17	bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
18	depends on !ARCH_MULTI_V6_V7
19	# https://github.com/llvm/llvm-project/issues/50764
20	depends on !LD_IS_LLD || LLD_VERSION >= 160000
21	select ARCH_MULTI_V4_V5
22	select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
23		CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
24		CPU_ARM925T || CPU_ARM940T)
25
26config ARCH_MULTI_V5
27	bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
28	depends on !ARCH_MULTI_V6_V7
29	select ARCH_MULTI_V4_V5
30	select CPU_ARM926T if !(CPU_ARM946E || CPU_ARM1020 || \
31		CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || \
32		CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_FEROCEON)
33
34config ARCH_MULTI_V4_V5
35	bool
36
37config ARCH_MULTI_V6
38	bool "ARMv6 based platforms (ARM11)"
39	select ARCH_MULTI_V6_V7
40	select CPU_V6K
41
42config ARCH_MULTI_V7
43	bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)"
44	default y
45	select ARCH_MULTI_V6_V7
46	select CPU_V7
47	select HAVE_SMP
48
49config ARCH_MULTI_V6_V7
50	bool
51	select MIGHT_HAVE_CACHE_L2X0
52
53config ARCH_MULTI_CPU_AUTO
54	def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
55	select ARCH_MULTI_V5
56
57endmenu
58
59config ARCH_VIRT
60	bool "Dummy Virtual Machine"
61	depends on ARCH_MULTI_V7
62	select ARM_AMBA
63	select ARM_GIC
64	select ARM_GIC_V2M if PCI
65	select ARM_GIC_V3
66	select ARM_GIC_V3_ITS if PCI
67	select ARM_PSCI
68	select HAVE_ARM_ARCH_TIMER
69