Merge remote-tracking branch 'torvalds/master' into perf/core
[linux-2.6-microblaze.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         help
20           This enables support for Allwinner sunxi based SoCs like the A64.
21
22 config ARCH_ALPINE
23         bool "Annapurna Labs Alpine platform"
24         select ALPINE_MSI if PCI
25         help
26           This enables support for the Annapurna Labs Alpine
27           Soc family.
28
29 config ARCH_APPLE
30         bool "Apple Silicon SoC family"
31         select APPLE_AIC
32         help
33           This enables support for Apple's in-house ARM SoC family, starting
34           with the Apple M1.
35
36 config ARCH_BCM2835
37         bool "Broadcom BCM2835 family"
38         select TIMER_OF
39         select GPIOLIB
40         select MFD_CORE
41         select PINCTRL
42         select PINCTRL_BCM2835
43         select ARM_AMBA
44         select ARM_GIC
45         select ARM_TIMER_SP804
46         select BRCMSTB_L2_IRQ
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 BCM7038_L1_IRQ
85         select BRCMSTB_L2_IRQ
86         select GENERIC_IRQ_CHIP
87         select PINCTRL
88         help
89           This enables support for Broadcom's ARMv8 Set Top Box SoCs
90
91 config ARCH_EXYNOS
92         bool "ARMv8 based Samsung Exynos SoC family"
93         select COMMON_CLK_SAMSUNG
94         select EXYNOS_CHIPID
95         select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
96         select EXYNOS_PMU
97         select HAVE_S3C_RTC if RTC_CLASS
98         select PINCTRL
99         select PINCTRL_EXYNOS
100         select PM_GENERIC_DOMAINS if PM
101         select SOC_SAMSUNG
102         help
103           This enables support for ARMv8 based Samsung Exynos SoC family.
104
105 config ARCH_SPARX5
106         bool "ARMv8 based Microchip Sparx5 SoC family"
107         select PINCTRL
108         select DW_APB_TIMER_OF
109         help
110           This enables support for the Microchip Sparx5 ARMv8-based
111           SoC family of TSN-capable gigabit switches.
112
113           The SparX-5 Ethernet switch family provides a rich set of
114           switching features such as advanced TCAM-based VLAN and QoS
115           processing enabling delivery of differentiated services, and
116           security through TCAM-based frame processing using versatile
117           content aware processor (VCAP).
118
119 config ARCH_K3
120         bool "Texas Instruments Inc. K3 multicore SoC architecture"
121         select PM_GENERIC_DOMAINS if PM
122         select MAILBOX
123         select SOC_TI
124         select TI_MESSAGE_MANAGER
125         select TI_SCI_PROTOCOL
126         select TI_SCI_INTR_IRQCHIP
127         select TI_SCI_INTA_IRQCHIP
128         select TI_K3_SOCINFO
129         help
130           This enables support for Texas Instruments' K3 multicore SoC
131           architecture.
132
133 config ARCH_LAYERSCAPE
134         bool "ARMv8 based Freescale Layerscape SoC family"
135         select EDAC_SUPPORT
136         help
137           This enables support for the Freescale Layerscape SoC family.
138
139 config ARCH_LG1K
140         bool "LG Electronics LG1K SoC Family"
141         help
142           This enables support for LG Electronics LG1K SoC Family
143
144 config ARCH_HISI
145         bool "Hisilicon SoC Family"
146         select ARM_TIMER_SP804
147         select HISILICON_IRQ_MBIGEN if PCI
148         select PINCTRL
149         help
150           This enables support for Hisilicon ARMv8 SoC family
151
152 config ARCH_KEEMBAY
153         bool "Keem Bay SoC"
154         help
155           This enables support for Intel Movidius SoC code-named Keem Bay.
156
157 config ARCH_MEDIATEK
158         bool "MediaTek SoC Family"
159         select ARM_GIC
160         select PINCTRL
161         select MTK_TIMER
162         help
163           This enables support for MediaTek MT27xx, MT65xx, MT76xx
164           & MT81xx ARMv8 SoCs
165
166 config ARCH_MESON
167         bool "Amlogic Platforms"
168         select COMMON_CLK
169         select MESON_IRQ_GPIO
170         help
171           This enables support for the arm64 based Amlogic SoCs
172           such as the s905, S905X/D, S912, A113X/D or S905X/D2
173
174 config ARCH_MVEBU
175         bool "Marvell EBU SoC Family"
176         select ARMADA_AP806_SYSCON
177         select ARMADA_CP110_SYSCON
178         select ARMADA_37XX_CLK
179         select GPIOLIB
180         select GPIOLIB_IRQCHIP
181         select MVEBU_GICP
182         select MVEBU_ICU
183         select MVEBU_ODMI
184         select MVEBU_PIC
185         select MVEBU_SEI
186         select OF_GPIO
187         select PINCTRL
188         select PINCTRL_ARMADA_37XX
189         select PINCTRL_ARMADA_AP806
190         select PINCTRL_ARMADA_CP110
191         help
192           This enables support for Marvell EBU familly, including:
193            - Armada 3700 SoC Family
194            - Armada 7K SoC Family
195            - Armada 8K SoC Family
196
197 config ARCH_MXC
198         bool "ARMv8 based NXP i.MX SoC family"
199         select ARM64_ERRATUM_843419
200         select ARM64_ERRATUM_845719 if COMPAT
201         select IMX_GPCV2
202         select IMX_GPCV2_PM_DOMAINS
203         select PM
204         select PM_GENERIC_DOMAINS
205         select SOC_BUS
206         select TIMER_IMX_SYS_CTR
207         help
208           This enables support for the ARMv8 based SoCs in the
209           NXP i.MX family.
210
211 config ARCH_QCOM
212         bool "Qualcomm Platforms"
213         select GPIOLIB
214         select PINCTRL
215         help
216           This enables support for the ARMv8 based Qualcomm chipsets.
217
218 config ARCH_REALTEK
219         bool "Realtek Platforms"
220         select RESET_CONTROLLER
221         help
222           This enables support for the ARMv8 based Realtek chipsets,
223           like the RTD1295.
224
225 config ARCH_RENESAS
226         bool "Renesas SoC Platforms"
227         select GPIOLIB
228         select PINCTRL
229         select SOC_BUS
230         help
231           This enables support for the ARMv8 based Renesas SoCs.
232
233 config ARCH_ROCKCHIP
234         bool "Rockchip Platforms"
235         select ARCH_HAS_RESET_CONTROLLER
236         select PINCTRL
237         select PM
238         select ROCKCHIP_TIMER
239         help
240           This enables support for the ARMv8 based Rockchip chipsets,
241           like the RK3368.
242
243 config ARCH_S32
244         bool "NXP S32 SoC Family"
245         help
246           This enables support for the NXP S32 family of processors.
247
248 config ARCH_SEATTLE
249         bool "AMD Seattle SoC Family"
250         help
251           This enables support for AMD Seattle SOC Family
252
253 config ARCH_INTEL_SOCFPGA
254         bool "Intel's SoCFPGA ARMv8 Families"
255         help
256           This enables support for Intel's SoCFPGA ARMv8 families:
257           Stratix 10 (ex. Altera), Agilex and eASIC N5X.
258
259 config ARCH_SYNQUACER
260         bool "Socionext SynQuacer SoC Family"
261
262 config ARCH_TEGRA
263         bool "NVIDIA Tegra SoC Family"
264         select ARCH_HAS_RESET_CONTROLLER
265         select ARM_GIC_PM
266         select CLKSRC_MMIO
267         select TIMER_OF
268         select GPIOLIB
269         select PINCTRL
270         select PM
271         select PM_GENERIC_DOMAINS
272         select RESET_CONTROLLER
273         help
274           This enables support for the NVIDIA Tegra SoC family.
275
276 config ARCH_SPRD
277         bool "Spreadtrum SoC platform"
278         help
279           Support for Spreadtrum ARM based SoCs
280
281 config ARCH_THUNDER
282         bool "Cavium Inc. Thunder SoC Family"
283         help
284           This enables support for Cavium's Thunder Family of SoCs.
285
286 config ARCH_THUNDER2
287         bool "Cavium ThunderX2 Server Processors"
288         select GPIOLIB
289         help
290           This enables support for Cavium's ThunderX2 CN99XX family of
291           server processors.
292
293 config ARCH_UNIPHIER
294         bool "Socionext UniPhier SoC Family"
295         select ARCH_HAS_RESET_CONTROLLER
296         select PINCTRL
297         select RESET_CONTROLLER
298         help
299           This enables support for Socionext UniPhier SoC family.
300
301 config ARCH_VEXPRESS
302         bool "ARMv8 software model (Versatile Express)"
303         select GPIOLIB
304         select PM
305         select PM_GENERIC_DOMAINS
306         help
307           This enables support for the ARMv8 software model (Versatile
308           Express).
309
310 config ARCH_VISCONTI
311         bool "Toshiba Visconti SoC Family"
312         select PINCTRL
313         select PINCTRL_VISCONTI
314         help
315           This enables support for Toshiba Visconti SoCs Family.
316
317 config ARCH_VULCAN
318         def_bool n
319
320 config ARCH_XGENE
321         bool "AppliedMicro X-Gene SOC Family"
322         help
323           This enables support for AppliedMicro X-Gene SOC Family
324
325 config ARCH_ZYNQMP
326         bool "Xilinx ZynqMP Family"
327         help
328           This enables support for Xilinx ZynqMP Family
329
330 endmenu