1aa8b70732186e167f065b7175030529d2d1e293
[platform/kernel/linux-starfive.git] / arch / arm64 / Kconfig.platforms
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "Platform selection"
3
4 config ARCH_ACTIONS
5         bool "Actions Semi Platforms"
6         select OWL_TIMER
7         select PINCTRL
8         help
9           This enables support for the Actions Semiconductor S900 SoC family.
10
11 config ARCH_SUNXI
12         bool "Allwinner sunxi 64-bit SoC Family"
13         select ARCH_HAS_RESET_CONTROLLER
14         select GENERIC_IRQ_CHIP
15         select IRQ_DOMAIN_HIERARCHY
16         select IRQ_FASTEOI_HIERARCHY_HANDLERS
17         select PINCTRL
18         select RESET_CONTROLLER
19         select SUN4I_TIMER
20         help
21           This enables support for Allwinner sunxi based SoCs like the A64.
22
23 config ARCH_ALPINE
24         bool "Annapurna Labs Alpine platform"
25         select ALPINE_MSI if PCI
26         help
27           This enables support for the Annapurna Labs Alpine
28           Soc family.
29
30 config ARCH_APPLE
31         bool "Apple Silicon SoC family"
32         select APPLE_AIC
33         help
34           This enables support for Apple's in-house ARM SoC family, starting
35           with the Apple M1.
36
37 config ARCH_BCM2835
38         bool "Broadcom BCM2835 family"
39         select TIMER_OF
40         select GPIOLIB
41         select MFD_CORE
42         select PINCTRL
43         select PINCTRL_BCM2835
44         select ARM_AMBA
45         select ARM_GIC
46         select ARM_TIMER_SP804
47         help
48           This enables support for the Broadcom BCM2837 and BCM2711 SoC.
49           These SoCs are used in the Raspberry Pi 3 and 4 devices.
50
51 config ARCH_BCM4908
52         bool "Broadcom BCM4908 family"
53         select GPIOLIB
54         help
55           This enables support for the Broadcom BCM4906, BCM4908 and
56           BCM49408 SoCs. These SoCs use Brahma-B53 cores and can be
57           found in home routers.
58
59 config ARCH_BCM_IPROC
60         bool "Broadcom iProc SoC Family"
61         select COMMON_CLK_IPROC
62         select GPIOLIB
63         select PINCTRL
64         help
65           This enables support for Broadcom iProc based SoCs
66
67 config ARCH_BERLIN
68         bool "Marvell Berlin SoC Family"
69         select DW_APB_ICTL
70         select DW_APB_TIMER_OF
71         select GPIOLIB
72         select PINCTRL
73         help
74           This enables support for Marvell Berlin SoC Family
75
76 config ARCH_BITMAIN
77         bool "Bitmain SoC Platforms"
78         help
79           This enables support for the Bitmain SoC Family.
80
81 config ARCH_BRCMSTB
82         bool "Broadcom Set-Top-Box SoCs"
83         select ARCH_HAS_RESET_CONTROLLER
84         select GENERIC_IRQ_CHIP
85         select PINCTRL
86         help
87           This enables support for Broadcom's ARMv8 Set Top Box SoCs
88
89 config ARCH_EXYNOS
90         bool "ARMv8 based Samsung Exynos SoC family"
91         select COMMON_CLK_SAMSUNG
92         select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
93         select EXYNOS_PMU
94         select PINCTRL
95         select PINCTRL_EXYNOS
96         select PM_GENERIC_DOMAINS if PM
97         select SOC_SAMSUNG
98         help
99           This enables support for ARMv8 based Samsung Exynos SoC family.
100
101 config ARCH_SPARX5
102         bool "ARMv8 based Microchip Sparx5 SoC family"
103         select PINCTRL
104         select DW_APB_TIMER_OF
105         help
106           This enables support for the Microchip Sparx5 ARMv8-based
107           SoC family of TSN-capable gigabit switches.
108
109           The SparX-5 Ethernet switch family provides a rich set of
110           switching features such as advanced TCAM-based VLAN and QoS
111           processing enabling delivery of differentiated services, and
112           security through TCAM-based frame processing using versatile
113           content aware processor (VCAP).
114
115 config ARCH_K3
116         bool "Texas Instruments Inc. K3 multicore SoC architecture"
117         select PM_GENERIC_DOMAINS if PM
118         select MAILBOX
119         select SOC_TI
120         select TI_MESSAGE_MANAGER
121         select TI_SCI_PROTOCOL
122         select TI_SCI_INTR_IRQCHIP
123         select TI_SCI_INTA_IRQCHIP
124         select TI_K3_SOCINFO
125         help
126           This enables support for Texas Instruments' K3 multicore SoC
127           architecture.
128
129 config ARCH_LAYERSCAPE
130         bool "ARMv8 based Freescale Layerscape SoC family"
131         select EDAC_SUPPORT
132         help
133           This enables support for the Freescale Layerscape SoC family.
134
135 config ARCH_LG1K
136         bool "LG Electronics LG1K SoC Family"
137         help
138           This enables support for LG Electronics LG1K SoC Family
139
140 config ARCH_HISI
141         bool "Hisilicon SoC Family"
142         select ARM_TIMER_SP804
143         select HISILICON_IRQ_MBIGEN if PCI
144         select PINCTRL
145         help
146           This enables support for Hisilicon ARMv8 SoC family
147
148 config ARCH_KEEMBAY
149         bool "Keem Bay SoC"
150         help
151           This enables support for Intel Movidius SoC code-named Keem Bay.
152
153 config ARCH_MEDIATEK
154         bool "MediaTek SoC Family"
155         select ARM_GIC
156         select PINCTRL
157         select MTK_TIMER
158         help
159           This enables support for MediaTek MT27xx, MT65xx, MT76xx
160           & MT81xx ARMv8 SoCs
161
162 config ARCH_MESON
163         bool "Amlogic Platforms"
164         select COMMON_CLK
165         help
166           This enables support for the arm64 based Amlogic SoCs
167           such as the s905, S905X/D, S912, A113X/D or S905X/D2
168
169 config ARCH_MVEBU
170         bool "Marvell EBU SoC Family"
171         select ARMADA_AP806_SYSCON
172         select ARMADA_CP110_SYSCON
173         select ARMADA_37XX_CLK
174         select GPIOLIB
175         select GPIOLIB_IRQCHIP
176         select MVEBU_GICP
177         select MVEBU_ICU
178         select MVEBU_ODMI
179         select MVEBU_PIC
180         select MVEBU_SEI
181         select OF_GPIO
182         select PINCTRL
183         select PINCTRL_ARMADA_37XX
184         select PINCTRL_ARMADA_AP806
185         select PINCTRL_ARMADA_CP110
186         help
187           This enables support for Marvell EBU familly, including:
188            - Armada 3700 SoC Family
189            - Armada 7K SoC Family
190            - Armada 8K SoC Family
191
192 config ARCH_MXC
193         bool "ARMv8 based NXP i.MX SoC family"
194         select ARM64_ERRATUM_843419
195         select ARM64_ERRATUM_845719 if COMPAT
196         select IMX_GPCV2
197         select IMX_GPCV2_PM_DOMAINS
198         select PM
199         select PM_GENERIC_DOMAINS
200         select SOC_BUS
201         select TIMER_IMX_SYS_CTR
202         help
203           This enables support for the ARMv8 based SoCs in the
204           NXP i.MX family.
205
206 config ARCH_QCOM
207         bool "Qualcomm Platforms"
208         select GPIOLIB
209         select PINCTRL
210         help
211           This enables support for the ARMv8 based Qualcomm chipsets.
212
213 config ARCH_REALTEK
214         bool "Realtek Platforms"
215         select RESET_CONTROLLER
216         help
217           This enables support for the ARMv8 based Realtek chipsets,
218           like the RTD1295.
219
220 config ARCH_RENESAS
221         bool "Renesas SoC Platforms"
222         select GPIOLIB
223         select PINCTRL
224         select SOC_BUS
225         help
226           This enables support for the ARMv8 based Renesas SoCs.
227
228 config ARCH_ROCKCHIP
229         bool "Rockchip Platforms"
230         select ARCH_HAS_RESET_CONTROLLER
231         select PINCTRL
232         select PM
233         select ROCKCHIP_TIMER
234         help
235           This enables support for the ARMv8 based Rockchip chipsets,
236           like the RK3368.
237
238 config ARCH_S32
239         bool "NXP S32 SoC Family"
240         help
241           This enables support for the NXP S32 family of processors.
242
243 config ARCH_SEATTLE
244         bool "AMD Seattle SoC Family"
245         help
246           This enables support for AMD Seattle SOC Family
247
248 config ARCH_INTEL_SOCFPGA
249         bool "Intel's SoCFPGA ARMv8 Families"
250         help
251           This enables support for Intel's SoCFPGA ARMv8 families:
252           Stratix 10 (ex. Altera), Agilex and eASIC N5X.
253
254 config ARCH_SYNQUACER
255         bool "Socionext SynQuacer SoC Family"
256
257 config ARCH_TEGRA
258         bool "NVIDIA Tegra SoC Family"
259         select ARCH_HAS_RESET_CONTROLLER
260         select ARM_GIC_PM
261         select CLKSRC_MMIO
262         select TIMER_OF
263         select GPIOLIB
264         select PINCTRL
265         select PM
266         select PM_GENERIC_DOMAINS
267         select RESET_CONTROLLER
268         help
269           This enables support for the NVIDIA Tegra SoC family.
270
271 config ARCH_SPRD
272         bool "Spreadtrum SoC platform"
273         help
274           Support for Spreadtrum ARM based SoCs
275
276 config ARCH_THUNDER
277         bool "Cavium Inc. Thunder SoC Family"
278         help
279           This enables support for Cavium's Thunder Family of SoCs.
280
281 config ARCH_THUNDER2
282         bool "Cavium ThunderX2 Server Processors"
283         select GPIOLIB
284         help
285           This enables support for Cavium's ThunderX2 CN99XX family of
286           server processors.
287
288 config ARCH_UNIPHIER
289         bool "Socionext UniPhier SoC Family"
290         select ARCH_HAS_RESET_CONTROLLER
291         select PINCTRL
292         select RESET_CONTROLLER
293         help
294           This enables support for Socionext UniPhier SoC family.
295
296 config ARCH_VEXPRESS
297         bool "ARMv8 software model (Versatile Express)"
298         select GPIOLIB
299         select PM
300         select PM_GENERIC_DOMAINS
301         help
302           This enables support for the ARMv8 software model (Versatile
303           Express).
304
305 config ARCH_VISCONTI
306         bool "Toshiba Visconti SoC Family"
307         select PINCTRL
308         select PINCTRL_VISCONTI
309         help
310           This enables support for Toshiba Visconti SoCs Family.
311
312 config ARCH_VULCAN
313         def_bool n
314
315 config ARCH_XGENE
316         bool "AppliedMicro X-Gene SOC Family"
317         help
318           This enables support for AppliedMicro X-Gene SOC Family
319
320 config ARCH_ZYNQMP
321         bool "Xilinx ZynqMP Family"
322         help
323           This enables support for Xilinx ZynqMP Family
324
325 endmenu