Merge tag 'mm-stable-2022-12-13' of git://git.kernel.org/pub/scm/linux/kernel/git...
[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 PINCTRL
15         select RESET_CONTROLLER
16         select SUN4I_TIMER
17         select SUN6I_R_INTC
18         select SUNXI_NMI_INTC
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 menuconfig ARCH_BCM
37         bool "Broadcom SoC Support"
38
39 if ARCH_BCM
40
41 config ARCH_BCM2835
42         bool "Broadcom BCM2835 family"
43         select TIMER_OF
44         select GPIOLIB
45         select MFD_CORE
46         select PINCTRL
47         select PINCTRL_BCM2835
48         select ARM_AMBA
49         select ARM_GIC
50         select ARM_TIMER_SP804
51         help
52           This enables support for the Broadcom BCM2837 and BCM2711 SoC.
53           These SoCs are used in the Raspberry Pi 3 and 4 devices.
54
55 config ARCH_BCM_IPROC
56         bool "Broadcom iProc SoC Family"
57         select COMMON_CLK_IPROC
58         select GPIOLIB
59         select PINCTRL
60         help
61           This enables support for Broadcom iProc based SoCs
62
63 config ARCH_BCMBCA
64         bool "Broadcom Broadband Carrier Access (BCA) origin SoC"
65         select GPIOLIB
66         help
67           Say Y if you intend to run the kernel on a Broadcom Broadband ARM-based
68           BCA chipset.
69
70           This enables support for Broadcom BCA ARM-based broadband chipsets,
71           including the DSL, PON and Wireless family of chips.
72
73 config ARCH_BRCMSTB
74         bool "Broadcom Set-Top-Box SoCs"
75         select ARCH_HAS_RESET_CONTROLLER
76         select GENERIC_IRQ_CHIP
77         select PINCTRL
78         help
79           This enables support for Broadcom's ARMv8 Set Top Box SoCs
80
81 endif
82
83 config ARCH_BERLIN
84         bool "Marvell Berlin SoC Family"
85         select DW_APB_ICTL
86         select DW_APB_TIMER_OF
87         select GPIOLIB
88         select PINCTRL
89         help
90           This enables support for Marvell Berlin SoC Family
91
92 config ARCH_BITMAIN
93         bool "Bitmain SoC Platforms"
94         help
95           This enables support for the Bitmain SoC Family.
96
97 config ARCH_EXYNOS
98         bool "ARMv8 based Samsung Exynos SoC family"
99         select COMMON_CLK_SAMSUNG
100         select CLKSRC_EXYNOS_MCT
101         select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
102         select EXYNOS_PMU
103         select PINCTRL
104         select PINCTRL_EXYNOS
105         select PM_GENERIC_DOMAINS if PM
106         select SOC_SAMSUNG
107         help
108           This enables support for ARMv8 based Samsung Exynos SoC family.
109
110 config ARCH_SPARX5
111         bool "ARMv8 based Microchip Sparx5 SoC family"
112         select PINCTRL
113         select DW_APB_TIMER_OF
114         help
115           This enables support for the Microchip Sparx5 ARMv8-based
116           SoC family of TSN-capable gigabit switches.
117
118           The SparX-5 Ethernet switch family provides a rich set of
119           switching features such as advanced TCAM-based VLAN and QoS
120           processing enabling delivery of differentiated services, and
121           security through TCAM-based frame processing using versatile
122           content aware processor (VCAP).
123
124 config ARCH_K3
125         bool "Texas Instruments Inc. K3 multicore SoC architecture"
126         select PM_GENERIC_DOMAINS if PM
127         select MAILBOX
128         select SOC_TI
129         select TI_MESSAGE_MANAGER
130         select TI_SCI_PROTOCOL
131         select TI_SCI_INTR_IRQCHIP
132         select TI_SCI_INTA_IRQCHIP
133         select TI_K3_SOCINFO
134         help
135           This enables support for Texas Instruments' K3 multicore SoC
136           architecture.
137
138 config ARCH_LG1K
139         bool "LG Electronics LG1K SoC Family"
140         help
141           This enables support for LG Electronics LG1K SoC Family
142
143 config ARCH_HISI
144         bool "Hisilicon SoC Family"
145         select ARM_TIMER_SP804
146         select HISILICON_IRQ_MBIGEN if PCI
147         select PINCTRL
148         help
149           This enables support for Hisilicon ARMv8 SoC family
150
151 config ARCH_KEEMBAY
152         bool "Keem Bay SoC"
153         help
154           This enables support for Intel Movidius SoC code-named Keem Bay.
155
156 config ARCH_MEDIATEK
157         bool "MediaTek SoC Family"
158         select ARM_GIC
159         select PINCTRL
160         select MTK_TIMER
161         help
162           This enables support for MediaTek MT27xx, MT65xx, MT76xx
163           & MT81xx ARMv8 SoCs
164
165 config ARCH_MESON
166         bool "Amlogic Platforms"
167         help
168           This enables support for the arm64 based Amlogic SoCs
169           such as the s905, S905X/D, S912, A113X/D or S905X/D2
170
171 config ARCH_MVEBU
172         bool "Marvell EBU SoC Family"
173         select ARMADA_AP806_SYSCON
174         select ARMADA_CP110_SYSCON
175         select ARMADA_37XX_CLK
176         select GPIOLIB
177         select GPIOLIB_IRQCHIP
178         select MVEBU_GICP
179         select MVEBU_ICU
180         select MVEBU_ODMI
181         select MVEBU_PIC
182         select MVEBU_SEI
183         select OF_GPIO
184         select PINCTRL
185         select PINCTRL_ARMADA_37XX
186         select PINCTRL_ARMADA_AP806
187         select PINCTRL_ARMADA_CP110
188         select PINCTRL_AC5
189         help
190           This enables support for Marvell EBU familly, including:
191            - Armada 3700 SoC Family
192            - Armada 7K SoC Family
193            - Armada 8K SoC Family
194            - 98DX2530 SoC Family
195
196 menuconfig ARCH_NXP
197         bool "NXP SoC support"
198
199 if ARCH_NXP
200
201 config ARCH_LAYERSCAPE
202         bool "ARMv8 based Freescale Layerscape SoC family"
203         select EDAC_SUPPORT
204         help
205           This enables support for the Freescale Layerscape SoC family.
206
207 config ARCH_MXC
208         bool "ARMv8 based NXP i.MX SoC family"
209         select ARM64_ERRATUM_843419
210         select ARM64_ERRATUM_845719 if COMPAT
211         select IMX_GPCV2
212         select IMX_GPCV2_PM_DOMAINS
213         select PM
214         select PM_GENERIC_DOMAINS
215         select SOC_BUS
216         select TIMER_IMX_SYS_CTR
217         help
218           This enables support for the ARMv8 based SoCs in the
219           NXP i.MX family.
220
221 config ARCH_S32
222         bool "NXP S32 SoC Family"
223         help
224           This enables support for the NXP S32 family of processors.
225
226 endif
227
228 config ARCH_NPCM
229         bool "Nuvoton NPCM Architecture"
230         select PINCTRL
231         select GPIOLIB
232         select NPCM7XX_TIMER
233         select RESET_CONTROLLER
234         select MFD_SYSCON
235         help
236           General support for NPCM8xx BMC (Arbel).
237           Nuvoton NPCM8xx BMC based on the Cortex A35.
238
239 config ARCH_QCOM
240         bool "Qualcomm Platforms"
241         select GPIOLIB
242         select PINCTRL
243         help
244           This enables support for the ARMv8 based Qualcomm chipsets.
245
246 config ARCH_REALTEK
247         bool "Realtek Platforms"
248         select RESET_CONTROLLER
249         help
250           This enables support for the ARMv8 based Realtek chipsets,
251           like the RTD1295.
252
253 config ARCH_RENESAS
254         bool "Renesas SoC Platforms"
255         help
256           This enables support for the ARMv8 based Renesas SoCs.
257
258 config ARCH_ROCKCHIP
259         bool "Rockchip Platforms"
260         select ARCH_HAS_RESET_CONTROLLER
261         select PINCTRL
262         select PM
263         select ROCKCHIP_TIMER
264         help
265           This enables support for the ARMv8 based Rockchip chipsets,
266           like the RK3368.
267
268 config ARCH_SEATTLE
269         bool "AMD Seattle SoC Family"
270         help
271           This enables support for AMD Seattle SOC Family
272
273 config ARCH_INTEL_SOCFPGA
274         bool "Intel's SoCFPGA ARMv8 Families"
275         help
276           This enables support for Intel's SoCFPGA ARMv8 families:
277           Stratix 10 (ex. Altera), Stratix10 Software Virtual Platform,
278           Agilex and eASIC N5X.
279
280 config ARCH_SYNQUACER
281         bool "Socionext SynQuacer SoC Family"
282         select IRQ_FASTEOI_HIERARCHY_HANDLERS
283
284 config ARCH_TEGRA
285         bool "NVIDIA Tegra SoC Family"
286         select ARCH_HAS_RESET_CONTROLLER
287         select ARM_GIC_PM
288         select CLKSRC_MMIO
289         select TIMER_OF
290         select GPIOLIB
291         select PINCTRL
292         select PM
293         select PM_GENERIC_DOMAINS
294         select RESET_CONTROLLER
295         help
296           This enables support for the NVIDIA Tegra SoC family.
297
298 config ARCH_TESLA_FSD
299         bool "ARMv8 based Tesla platform"
300         depends on ARCH_EXYNOS
301         help
302           Support for ARMv8 based Tesla platforms.
303
304 config ARCH_SPRD
305         bool "Spreadtrum SoC platform"
306         help
307           Support for Spreadtrum ARM based SoCs
308
309 config ARCH_THUNDER
310         bool "Cavium Inc. Thunder SoC Family"
311         help
312           This enables support for Cavium's Thunder Family of SoCs.
313
314 config ARCH_THUNDER2
315         bool "Cavium ThunderX2 Server Processors"
316         select GPIOLIB
317         help
318           This enables support for Cavium's ThunderX2 CN99XX family of
319           server processors.
320
321 config ARCH_UNIPHIER
322         bool "Socionext UniPhier SoC Family"
323         select ARCH_HAS_RESET_CONTROLLER
324         select PINCTRL
325         select RESET_CONTROLLER
326         help
327           This enables support for Socionext UniPhier SoC family.
328
329 config ARCH_VEXPRESS
330         bool "ARMv8 software model (Versatile Express)"
331         select GPIOLIB
332         select PM
333         select PM_GENERIC_DOMAINS
334         help
335           This enables support for the ARMv8 software model (Versatile
336           Express).
337
338 config ARCH_VISCONTI
339         bool "Toshiba Visconti SoC Family"
340         select PINCTRL
341         select PINCTRL_VISCONTI
342         help
343           This enables support for Toshiba Visconti SoCs Family.
344
345 config ARCH_XGENE
346         bool "AppliedMicro X-Gene SOC Family"
347         help
348           This enables support for AppliedMicro X-Gene SOC Family
349
350 config ARCH_ZYNQMP
351         bool "Xilinx ZynqMP Family"
352         help
353           This enables support for Xilinx ZynqMP Family
354
355 endmenu # "Platform selection"