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