xref: /openbmc/linux/arch/arm64/Kconfig.platforms (revision a5575df5)
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 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
23config 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
30config 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
37config 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
51config 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
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_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
76config ARCH_BITMAIN
77	bool "Bitmain SoC Platforms"
78	help
79	  This enables support for the Bitmain SoC Family.
80
81config 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
89config ARCH_EXYNOS
90	bool "ARMv8 based Samsung Exynos SoC family"
91	select COMMON_CLK_SAMSUNG
92	select CLKSRC_EXYNOS_MCT
93	select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
94	select EXYNOS_PMU
95	select PINCTRL
96	select PINCTRL_EXYNOS
97	select PM_GENERIC_DOMAINS if PM
98	select SOC_SAMSUNG
99	help
100	  This enables support for ARMv8 based Samsung Exynos SoC family.
101
102config ARCH_SPARX5
103	bool "ARMv8 based Microchip Sparx5 SoC family"
104	select PINCTRL
105	select DW_APB_TIMER_OF
106	help
107	  This enables support for the Microchip Sparx5 ARMv8-based
108	  SoC family of TSN-capable gigabit switches.
109
110	  The SparX-5 Ethernet switch family provides a rich set of
111	  switching features such as advanced TCAM-based VLAN and QoS
112	  processing enabling delivery of differentiated services, and
113	  security through TCAM-based frame processing using versatile
114	  content aware processor (VCAP).
115
116config ARCH_K3
117	bool "Texas Instruments Inc. K3 multicore SoC architecture"
118	select PM_GENERIC_DOMAINS if PM
119	select MAILBOX
120	select SOC_TI
121	select TI_MESSAGE_MANAGER
122	select TI_SCI_PROTOCOL
123	select TI_SCI_INTR_IRQCHIP
124	select TI_SCI_INTA_IRQCHIP
125	select TI_K3_SOCINFO
126	help
127	  This enables support for Texas Instruments' K3 multicore SoC
128	  architecture.
129
130config ARCH_LAYERSCAPE
131	bool "ARMv8 based Freescale Layerscape SoC family"
132	select EDAC_SUPPORT
133	help
134	  This enables support for the Freescale Layerscape SoC family.
135
136config ARCH_LG1K
137	bool "LG Electronics LG1K SoC Family"
138	help
139	  This enables support for LG Electronics LG1K SoC Family
140
141config ARCH_HISI
142	bool "Hisilicon SoC Family"
143	select ARM_TIMER_SP804
144	select HISILICON_IRQ_MBIGEN if PCI
145	select PINCTRL
146	help
147	  This enables support for Hisilicon ARMv8 SoC family
148
149config ARCH_KEEMBAY
150	bool "Keem Bay SoC"
151	help
152	  This enables support for Intel Movidius SoC code-named Keem Bay.
153
154config ARCH_MEDIATEK
155	bool "MediaTek SoC Family"
156	select ARM_GIC
157	select PINCTRL
158	select MTK_TIMER
159	help
160	  This enables support for MediaTek MT27xx, MT65xx, MT76xx
161	  & MT81xx ARMv8 SoCs
162
163config ARCH_MESON
164	bool "Amlogic Platforms"
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
169config 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
192config 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
206config 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
213config 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
220config 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
228config 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
238config ARCH_S32
239	bool "NXP S32 SoC Family"
240	help
241	  This enables support for the NXP S32 family of processors.
242
243config ARCH_SEATTLE
244	bool "AMD Seattle SoC Family"
245	help
246	  This enables support for AMD Seattle SOC Family
247
248config 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
254config ARCH_SYNQUACER
255	bool "Socionext SynQuacer SoC Family"
256
257config 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
271config ARCH_SPRD
272	bool "Spreadtrum SoC platform"
273	help
274	  Support for Spreadtrum ARM based SoCs
275
276config ARCH_THUNDER
277	bool "Cavium Inc. Thunder SoC Family"
278	help
279	  This enables support for Cavium's Thunder Family of SoCs.
280
281config 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
288config 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
296config 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
305config 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
312config ARCH_XGENE
313	bool "AppliedMicro X-Gene SOC Family"
314	help
315	  This enables support for AppliedMicro X-Gene SOC Family
316
317config ARCH_ZYNQMP
318	bool "Xilinx ZynqMP Family"
319	help
320	  This enables support for Xilinx ZynqMP Family
321
322endmenu
323