xref: /openbmc/linux/arch/arm64/Kconfig.platforms (revision 440b075b)
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
36menuconfig ARCH_BCM
37	bool "Broadcom SoC Support"
38
39if ARCH_BCM
40
41config 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
55config 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
63config 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
73config 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
81endif
82
83config 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
92config ARCH_BITMAIN
93	bool "Bitmain SoC Platforms"
94	help
95	  This enables support for the Bitmain SoC Family.
96
97config ARCH_EXYNOS
98	bool "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
110config ARCH_SPARX5
111	bool "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
124config 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
138config ARCH_LG1K
139	bool "LG Electronics LG1K SoC Family"
140	help
141	  This enables support for LG Electronics LG1K SoC Family
142
143config 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
151config ARCH_KEEMBAY
152	bool "Keem Bay SoC"
153	help
154	  This enables support for Intel Movidius SoC code-named Keem Bay.
155
156config 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
165config 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
171config 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 family, including:
191	   - Armada 3700 SoC Family
192	   - Armada 7K SoC Family
193	   - Armada 8K SoC Family
194	   - 98DX2530 SoC Family
195
196menuconfig ARCH_NXP
197	bool "NXP SoC support"
198
199if ARCH_NXP
200
201config ARCH_LAYERSCAPE
202	bool "Freescale Layerscape SoC family"
203	select EDAC_SUPPORT
204	help
205	  This enables support for the Freescale Layerscape SoC family.
206
207config ARCH_MXC
208	bool "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
221config ARCH_S32
222	bool "NXP S32 SoC Family"
223	help
224	  This enables support for the NXP S32 family of processors.
225
226endif
227
228config ARCH_MA35
229	bool "Nuvoton MA35 Architecture"
230	select GPIOLIB
231	select PINCTRL
232	select RESET_CONTROLLER
233	help
234	  This enables support for the ARMv8 based Nuvoton MA35 series SoCs.
235
236config ARCH_NPCM
237	bool "Nuvoton NPCM Architecture"
238	select PINCTRL
239	select GPIOLIB
240	select NPCM7XX_TIMER
241	select RESET_CONTROLLER
242	select MFD_SYSCON
243	help
244	  General support for NPCM8xx BMC (Arbel).
245	  Nuvoton NPCM8xx BMC based on the Cortex A35.
246
247config ARCH_QCOM
248	bool "Qualcomm Platforms"
249	select GPIOLIB
250	select PINCTRL
251	help
252	  This enables support for the ARMv8 based Qualcomm chipsets.
253
254config ARCH_REALTEK
255	bool "Realtek Platforms"
256	select RESET_CONTROLLER
257	help
258	  This enables support for the ARMv8 based Realtek chipsets,
259	  like the RTD1295.
260
261config ARCH_RENESAS
262	bool "Renesas SoC Platforms"
263	help
264	  This enables support for the ARMv8 based Renesas SoCs.
265
266config ARCH_ROCKCHIP
267	bool "Rockchip Platforms"
268	select ARCH_HAS_RESET_CONTROLLER
269	select PINCTRL
270	select PM
271	select ROCKCHIP_TIMER
272	help
273	  This enables support for the ARMv8 based Rockchip chipsets,
274	  like the RK3368.
275
276config ARCH_SEATTLE
277	bool "AMD Seattle SoC Family"
278	help
279	  This enables support for AMD Seattle SOC Family
280
281config ARCH_INTEL_SOCFPGA
282	bool "Intel's SoCFPGA ARMv8 Families"
283	help
284	  This enables support for Intel's SoCFPGA ARMv8 families:
285	  Stratix 10 (ex. Altera), Stratix10 Software Virtual Platform,
286	  Agilex and eASIC N5X.
287
288config ARCH_STM32
289	bool "STMicroelectronics STM32 SoC Family"
290	select GPIOLIB
291	select PINCTRL
292	select PINCTRL_STM32MP257
293	select ARM_SMC_MBOX
294	select ARM_SCMI_PROTOCOL
295	select COMMON_CLK_SCMI
296	help
297	  This enables support for ARMv8 based STMicroelectronics
298	  STM32 family, including:
299		- STM32MP25:
300			- STM32MP251, STM32MP253, STM32MP255 and STM32MP257.
301
302config ARCH_SYNQUACER
303	bool "Socionext SynQuacer SoC Family"
304	select IRQ_FASTEOI_HIERARCHY_HANDLERS
305
306config ARCH_TEGRA
307	bool "NVIDIA Tegra SoC Family"
308	select ARCH_HAS_RESET_CONTROLLER
309	select ARM_GIC_PM
310	select CLKSRC_MMIO
311	select TIMER_OF
312	select GPIOLIB
313	select PINCTRL
314	select PM
315	select PM_GENERIC_DOMAINS
316	select RESET_CONTROLLER
317	help
318	  This enables support for the NVIDIA Tegra SoC family.
319
320config ARCH_TESLA_FSD
321	bool "Tesla platform"
322	depends on ARCH_EXYNOS
323	help
324	  Support for ARMv8 based Tesla platforms.
325
326config ARCH_SPRD
327	bool "Spreadtrum SoC platform"
328	help
329	  Support for Spreadtrum ARM based SoCs
330
331config ARCH_THUNDER
332	bool "Cavium Inc. Thunder SoC Family"
333	help
334	  This enables support for Cavium's Thunder Family of SoCs.
335
336config ARCH_THUNDER2
337	bool "Cavium ThunderX2 Server Processors"
338	select GPIOLIB
339	help
340	  This enables support for Cavium's ThunderX2 CN99XX family of
341	  server processors.
342
343config ARCH_UNIPHIER
344	bool "Socionext UniPhier SoC Family"
345	select ARCH_HAS_RESET_CONTROLLER
346	select PINCTRL
347	select RESET_CONTROLLER
348	help
349	  This enables support for Socionext UniPhier SoC family.
350
351config ARCH_VEXPRESS
352	bool "ARMv8 software model (Versatile Express)"
353	select GPIOLIB
354	select PM
355	select PM_GENERIC_DOMAINS
356	help
357	  This enables support for the ARMv8 software model (Versatile
358	  Express).
359
360config ARCH_VISCONTI
361	bool "Toshiba Visconti SoC Family"
362	select PINCTRL
363	select PINCTRL_VISCONTI
364	help
365	  This enables support for Toshiba Visconti SoCs Family.
366
367config ARCH_XGENE
368	bool "AppliedMicro X-Gene SOC Family"
369	help
370	  This enables support for AppliedMicro X-Gene SOC Family
371
372config ARCH_ZYNQMP
373	bool "Xilinx ZynqMP Family"
374	help
375	  This enables support for Xilinx ZynqMP Family
376
377endmenu # "Platform selection"
378