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