GNU Linux-libre 6.8.9-gnu
[releases.git] / arch / arm / Kconfig.platforms
1 # SPDX-License-Identifier: GPL-2.0-only
2
3 menu "Platform selection"
4         depends on MMU
5
6 comment "CPU Core family selection"
7
8 config 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
16 config 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
26 config 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
34 config ARCH_MULTI_V4_V5
35         bool
36
37 config ARCH_MULTI_V6
38         bool "ARMv6 based platforms (ARM11)"
39         select ARCH_MULTI_V6_V7
40         select CPU_V6K
41
42 config 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
49 config ARCH_MULTI_V6_V7
50         bool
51         select MIGHT_HAVE_CACHE_L2X0
52
53 config ARCH_MULTI_CPU_AUTO
54         def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
55         select ARCH_MULTI_V5
56
57 endmenu
58
59 config 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
70 config ARCH_AIROHA
71         bool "Airoha SoC Support"
72         depends on ARCH_MULTI_V7
73         select ARM_AMBA
74         select ARM_GIC
75         select ARM_GIC_V3
76         select ARM_PSCI
77         select HAVE_ARM_ARCH_TIMER
78         help
79           Support for Airoha EN7523 SoCs
80
81 config MACH_ASM9260
82         bool "Alphascale ASM9260"
83         depends on ARCH_MULTI_V5
84         depends on CPU_LITTLE_ENDIAN
85         select CPU_ARM926T
86         select ASM9260_TIMER
87         help
88           Support for Alphascale ASM9260 based platform.
89
90 menuconfig ARCH_MOXART
91         bool "MOXA ART SoC"
92         depends on ARCH_MULTI_V4
93         depends on CPU_LITTLE_ENDIAN
94         select CPU_FA526
95         select ARM_DMA_MEM_BUFFERABLE
96         select FARADAY_FTINTC010
97         select FTTMR010_TIMER
98         select GPIOLIB
99         select PHYLIB if NETDEVICES
100         help
101           Say Y here if you want to run your kernel on hardware with a
102           MOXA ART SoC.
103           The MOXA ART SoC is based on a Faraday FA526 ARMv4 32-bit
104           192 MHz CPU with MMU and 16KB/8KB D/I-cache (UC-7112-LX).
105           Used on models UC-7101, UC-7112/UC-7110, IA240/IA241, IA3341.
106
107 if ARCH_MOXART
108
109 config MACH_UC7112LX
110         bool "MOXA UC-7112-LX"
111         depends on ARCH_MOXART
112         help
113           Say Y here if you intend to run this kernel on a MOXA
114           UC-7112-LX embedded computer.
115
116 endif
117
118 config ARCH_NSPIRE
119         bool "TI-NSPIRE based"
120         depends on ARCH_MULTI_V4T
121         depends on CPU_LITTLE_ENDIAN
122         select CPU_ARM926T
123         select GENERIC_IRQ_CHIP
124         select ARM_AMBA
125         select ARM_VIC
126         select ARM_TIMER_SP804
127         select NSPIRE_TIMER
128         select POWER_RESET
129         select POWER_RESET_SYSCON
130         help
131           This enables support for systems using the TI-NSPIRE CPU
132
133 config ARCH_RDA
134         bool "RDA Micro SoCs"
135         depends on ARCH_MULTI_V7
136         select RDA_INTC
137         select RDA_TIMER
138         help
139           This enables support for the RDA Micro 8810PL SoC family.
140
141 menuconfig ARCH_SUNPLUS
142         bool "Sunplus SoCs"
143         depends on ARCH_MULTI_V7
144         help
145           Support for Sunplus SoC family: SP7021 and succeeding SoC-based systems,
146           such as the Banana Pi BPI-F2S development board (and derivatives).
147           (<http://www.sinovoip.com.cn/ecp_view.asp?id=586>)
148           (<https://tibbo.com/store/plus1.html>)
149
150 if ARCH_SUNPLUS
151
152 config SOC_SP7021
153         bool "Sunplus SP7021 SoC support"
154         default ARCH_SUNPLUS
155         select HAVE_ARM_ARCH_TIMER
156         select ARM_GIC
157         select ARM_PSCI
158         select PINCTRL
159         select PINCTRL_SPPCTL
160         select SERIAL_SUNPLUS if TTY
161         select SERIAL_SUNPLUS_CONSOLE if TTY
162         help
163           Support for Sunplus SP7021 SoC. It is based on ARM 4-core
164           Cortex-A7 with various peripherals (e.g.: I2C, SPI, SDIO,
165           Ethernet, etc.), FPGA interface,  chip-to-chip bus.
166           It is designed for industrial control.
167
168 endif
169
170 config ARCH_UNIPHIER
171         bool "Socionext UniPhier SoCs"
172         depends on ARCH_MULTI_V7
173         select ARCH_HAS_RESET_CONTROLLER
174         select ARM_AMBA
175         select ARM_GLOBAL_TIMER
176         select ARM_GIC
177         select HAVE_ARM_SCU
178         select HAVE_ARM_TWD if SMP
179         select PINCTRL
180         select RESET_CONTROLLER
181         help
182           Support for UniPhier SoC family developed by Socionext Inc.
183           (formerly, System LSI Business Division of Panasonic Corporation)