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_AIROHA
12	bool "Airoha SoC Support"
13	select ARM_PSCI
14	select HAVE_ARM_ARCH_TIMER
15	help
16	  This enables support for the ARM64 based Airoha SoCs.
17
18config ARCH_SUNXI
19	bool "Allwinner sunxi 64-bit SoC Family"
20	select ARCH_HAS_RESET_CONTROLLER
21	select PINCTRL
22	select RESET_CONTROLLER
23	select SUN4I_TIMER
24	select SUN6I_R_INTC
25	select SUNXI_NMI_INTC
26	help
27	  This enables support for Allwinner sunxi based SoCs like the A64.
28
29config ARCH_ALPINE
30	bool "Annapurna Labs Alpine platform"
31	select ALPINE_MSI if PCI
32	help
33	  This enables support for the Annapurna Labs Alpine
34	  Soc family.
35
36config ARCH_APPLE
37	bool "Apple Silicon SoC family"
38	select APPLE_AIC
39	help
40	  This enables support for Apple's in-house ARM SoC family, starting
41	  with the Apple M1.
42
43menuconfig ARCH_BCM
44	bool "Broadcom SoC Support"
45
46if ARCH_BCM
47
48config ARCH_BCM2835
49	bool "Broadcom BCM2835 family"
50	select TIMER_OF
51	select GPIOLIB
52	select MFD_CORE
53	select PINCTRL
54	select PINCTRL_BCM2835
55	select ARM_AMBA
56	select ARM_GIC
57	select ARM_TIMER_SP804
58	help
59	  This enables support for the Broadcom BCM2837 and BCM2711 SoC.
60	  These SoCs are used in the Raspberry Pi 3 and 4 devices.
61
62config ARCH_BCM_IPROC
63	bool "Broadcom iProc SoC Family"
64	select COMMON_CLK_IPROC
65	select GPIOLIB
66	select PINCTRL
67	help
68	  This enables support for Broadcom iProc based SoCs
69
70config ARCH_BCMBCA
71	bool "Broadcom Broadband Carrier Access (BCA) origin SoC"
72	select GPIOLIB
73	help
74	  Say Y if you intend to run the kernel on a Broadcom Broadband ARM-based
75	  BCA chipset.
76
77	  This enables support for Broadcom BCA ARM-based broadband chipsets,
78	  including the DSL, PON and Wireless family of chips.
79
80config ARCH_BRCMSTB
81	bool "Broadcom Set-Top-Box SoCs"
82	select ARCH_HAS_RESET_CONTROLLER
83	select GENERIC_IRQ_CHIP
84	select PINCTRL
85	help
86	  This enables support for Broadcom's ARMv8 Set Top Box SoCs
87
88endif
89
90config ARCH_BERLIN
91	bool "Marvell Berlin SoC Family"
92	select DW_APB_ICTL
93	select DW_APB_TIMER_OF
94	select GPIOLIB
95	select PINCTRL
96	help
97	  This enables support for Marvell Berlin SoC Family
98
99config ARCH_BITMAIN
100	bool "Bitmain SoC Platforms"
101	help
102	  This enables support for the Bitmain SoC Family.
103
104config ARCH_EXYNOS
105	bool "Samsung Exynos SoC family"
106	select COMMON_CLK_SAMSUNG
107	select CLKSRC_EXYNOS_MCT
108	select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
109	select EXYNOS_PMU
110	select PINCTRL
111	select PINCTRL_EXYNOS
112	select PM_GENERIC_DOMAINS if PM
113	select SOC_SAMSUNG
114	help
115	  This enables support for ARMv8 based Samsung Exynos SoC family.
116
117config ARCH_SPARX5
118	bool "Microchip Sparx5 SoC family"
119	select PINCTRL
120	select DW_APB_TIMER_OF
121	help
122	  This enables support for the Microchip Sparx5 ARMv8-based
123	  SoC family of TSN-capable gigabit switches.
124
125	  The SparX-5 Ethernet switch family provides a rich set of
126	  switching features such as advanced TCAM-based VLAN and QoS
127	  processing enabling delivery of differentiated services, and
128	  security through TCAM-based frame processing using versatile
129	  content aware processor (VCAP).
130
131config ARCH_K3
132	bool "Texas Instruments Inc. K3 multicore SoC architecture"
133	select PM_GENERIC_DOMAINS if PM
134	select MAILBOX
135	select SOC_TI
136	select TI_MESSAGE_MANAGER
137	select TI_SCI_PROTOCOL
138	select TI_SCI_INTR_IRQCHIP
139	select TI_SCI_INTA_IRQCHIP
140	select TI_K3_SOCINFO
141	help
142	  This enables support for Texas Instruments' K3 multicore SoC
143	  architecture.
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 family, including:
198	   - Armada 3700 SoC Family
199	   - Armada 7K SoC Family
200	   - Armada 8K SoC Family
201	   - 98DX2530 SoC Family
202
203menuconfig ARCH_NXP
204	bool "NXP SoC support"
205
206if ARCH_NXP
207
208config ARCH_LAYERSCAPE
209	bool "Freescale Layerscape SoC family"
210	help
211	  This enables support for the Freescale Layerscape SoC family.
212
213config ARCH_MXC
214	bool "NXP i.MX SoC family"
215	select ARM64_ERRATUM_843419
216	select ARM64_ERRATUM_845719 if COMPAT
217	select IMX_GPCV2
218	select IMX_GPCV2_PM_DOMAINS
219	select PM
220	select PM_GENERIC_DOMAINS
221	select SOC_BUS
222	select TIMER_IMX_SYS_CTR
223	help
224	  This enables support for the ARMv8 based SoCs in the
225	  NXP i.MX family.
226
227config ARCH_S32
228	bool "NXP S32 SoC Family"
229	help
230	  This enables support for the NXP S32 family of processors.
231
232endif
233
234config ARCH_MA35
235	bool "Nuvoton MA35 Architecture"
236	select GPIOLIB
237	select PINCTRL
238	select RESET_CONTROLLER
239	help
240	  This enables support for the ARMv8 based Nuvoton MA35 series SoCs.
241
242config ARCH_NPCM
243	bool "Nuvoton NPCM Architecture"
244	select PINCTRL
245	select GPIOLIB
246	select NPCM7XX_TIMER
247	select RESET_CONTROLLER
248	select MFD_SYSCON
249	help
250	  General support for NPCM8xx BMC (Arbel).
251	  Nuvoton NPCM8xx BMC based on the Cortex A35.
252
253config ARCH_PENSANDO
254	bool "AMD Pensando Platforms"
255	help
256	  This enables support for the ARMv8 based AMD Pensando SoC
257	  family to include the Elba SoC.
258
259	  AMD Pensando SoCs support a range of Distributed Services
260	  Cards in PCIe format installed into servers.  The Elba
261	  SoC includes 16 Cortex A-72 CPU cores, 144 P4-programmable
262	  cores for a minimal latency/jitter datapath, and network
263	  interfaces up to 200 Gb/s.
264
265config ARCH_QCOM
266	bool "Qualcomm Platforms"
267	select GPIOLIB
268	select PINCTRL
269	select HAVE_PWRCTL if PCI
270	help
271	  This enables support for the ARMv8 based Qualcomm chipsets.
272
273config ARCH_REALTEK
274	bool "Realtek Platforms"
275	select RESET_CONTROLLER
276	help
277	  This enables support for the ARMv8 based Realtek chipsets,
278	  like the RTD1295.
279
280config ARCH_RENESAS
281	bool "Renesas SoC Platforms"
282	help
283	  This enables support for the ARMv8 based Renesas SoCs.
284
285config ARCH_ROCKCHIP
286	bool "Rockchip Platforms"
287	select ARCH_HAS_RESET_CONTROLLER
288	select PINCTRL
289	select PM
290	select ROCKCHIP_TIMER
291	help
292	  This enables support for the ARMv8 based Rockchip chipsets,
293	  like the RK3368.
294
295config ARCH_SEATTLE
296	bool "AMD Seattle SoC Family"
297	help
298	  This enables support for AMD Seattle SOC Family
299
300config ARCH_INTEL_SOCFPGA
301	bool "Intel's SoCFPGA ARMv8 Families"
302	help
303	  This enables support for Intel's SoCFPGA ARMv8 families:
304	  Stratix 10 (ex. Altera), Stratix10 Software Virtual Platform,
305	  Agilex and eASIC N5X.
306
307config ARCH_STM32
308	bool "STMicroelectronics STM32 SoC Family"
309	select GPIOLIB
310	select PINCTRL
311	select PINCTRL_STM32MP257
312	select ARM_SMC_MBOX
313	select ARM_SCMI_PROTOCOL
314	select REGULATOR
315	select REGULATOR_ARM_SCMI
316	select COMMON_CLK_SCMI
317	select STM32_FIREWALL
318	help
319	  This enables support for ARMv8 based STMicroelectronics
320	  STM32 family, including:
321		- STM32MP25:
322			- STM32MP251, STM32MP253, STM32MP255 and STM32MP257.
323
324config ARCH_SYNQUACER
325	bool "Socionext SynQuacer SoC Family"
326	select IRQ_FASTEOI_HIERARCHY_HANDLERS
327
328config ARCH_TEGRA
329	bool "NVIDIA Tegra SoC Family"
330	select ARCH_HAS_RESET_CONTROLLER
331	select ARM_GIC_PM
332	select CLKSRC_MMIO
333	select TIMER_OF
334	select GPIOLIB
335	select PINCTRL
336	select PM
337	select PM_GENERIC_DOMAINS
338	select RESET_CONTROLLER
339	help
340	  This enables support for the NVIDIA Tegra SoC family.
341
342config ARCH_TESLA_FSD
343	bool "Tesla platform"
344	depends on ARCH_EXYNOS
345	help
346	  Support for ARMv8 based Tesla platforms.
347
348config ARCH_SPRD
349	bool "Spreadtrum SoC platform"
350	help
351	  Support for Spreadtrum ARM based SoCs
352
353config ARCH_THUNDER
354	bool "Cavium Inc. Thunder SoC Family"
355	help
356	  This enables support for Cavium's Thunder Family of SoCs.
357
358config ARCH_THUNDER2
359	bool "Cavium ThunderX2 Server Processors"
360	select GPIOLIB
361	help
362	  This enables support for Cavium's ThunderX2 CN99XX family of
363	  server processors.
364
365config ARCH_UNIPHIER
366	bool "Socionext UniPhier SoC Family"
367	select ARCH_HAS_RESET_CONTROLLER
368	select PINCTRL
369	select RESET_CONTROLLER
370	help
371	  This enables support for Socionext UniPhier SoC family.
372
373config ARCH_VEXPRESS
374	bool "ARMv8 software model (Versatile Express)"
375	select GPIOLIB
376	select PM
377	select PM_GENERIC_DOMAINS
378	help
379	  This enables support for the ARMv8 software model (Versatile
380	  Express).
381
382config ARCH_VISCONTI
383	bool "Toshiba Visconti SoC Family"
384	select PINCTRL
385	select PINCTRL_VISCONTI
386	help
387	  This enables support for Toshiba Visconti SoCs Family.
388
389config ARCH_XGENE
390	bool "AppliedMicro X-Gene SOC Family"
391	help
392	  This enables support for AppliedMicro X-Gene SOC Family
393
394config ARCH_ZYNQMP
395	bool "Xilinx ZynqMP Family"
396	help
397	  This enables support for Xilinx ZynqMP Family
398
399endmenu # "Platform selection"
400