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_PENSANDO
248	bool "AMD Pensando Platforms"
249	help
250	  This enables support for the ARMv8 based AMD Pensando SoC
251	  family to include the Elba SoC.
252
253	  AMD Pensando SoCs support a range of Distributed Services
254	  Cards in PCIe format installed into servers.  The Elba
255	  SoC includes 16 Cortex A-72 CPU cores, 144 P4-programmable
256	  cores for a minimal latency/jitter datapath, and network
257	  interfaces up to 200 Gb/s.
258
259config ARCH_QCOM
260	bool "Qualcomm Platforms"
261	select GPIOLIB
262	select PINCTRL
263	help
264	  This enables support for the ARMv8 based Qualcomm chipsets.
265
266config ARCH_REALTEK
267	bool "Realtek Platforms"
268	select RESET_CONTROLLER
269	help
270	  This enables support for the ARMv8 based Realtek chipsets,
271	  like the RTD1295.
272
273config ARCH_RENESAS
274	bool "Renesas SoC Platforms"
275	help
276	  This enables support for the ARMv8 based Renesas SoCs.
277
278config ARCH_ROCKCHIP
279	bool "Rockchip Platforms"
280	select ARCH_HAS_RESET_CONTROLLER
281	select PINCTRL
282	select PM
283	select ROCKCHIP_TIMER
284	help
285	  This enables support for the ARMv8 based Rockchip chipsets,
286	  like the RK3368.
287
288config ARCH_SEATTLE
289	bool "AMD Seattle SoC Family"
290	help
291	  This enables support for AMD Seattle SOC Family
292
293config ARCH_INTEL_SOCFPGA
294	bool "Intel's SoCFPGA ARMv8 Families"
295	help
296	  This enables support for Intel's SoCFPGA ARMv8 families:
297	  Stratix 10 (ex. Altera), Stratix10 Software Virtual Platform,
298	  Agilex and eASIC N5X.
299
300config ARCH_STM32
301	bool "STMicroelectronics STM32 SoC Family"
302	select GPIOLIB
303	select PINCTRL
304	select PINCTRL_STM32MP257
305	select ARM_SMC_MBOX
306	select ARM_SCMI_PROTOCOL
307	select COMMON_CLK_SCMI
308	help
309	  This enables support for ARMv8 based STMicroelectronics
310	  STM32 family, including:
311		- STM32MP25:
312			- STM32MP251, STM32MP253, STM32MP255 and STM32MP257.
313
314config ARCH_SYNQUACER
315	bool "Socionext SynQuacer SoC Family"
316	select IRQ_FASTEOI_HIERARCHY_HANDLERS
317
318config ARCH_TEGRA
319	bool "NVIDIA Tegra SoC Family"
320	select ARCH_HAS_RESET_CONTROLLER
321	select ARM_GIC_PM
322	select CLKSRC_MMIO
323	select TIMER_OF
324	select GPIOLIB
325	select PINCTRL
326	select PM
327	select PM_GENERIC_DOMAINS
328	select RESET_CONTROLLER
329	help
330	  This enables support for the NVIDIA Tegra SoC family.
331
332config ARCH_TESLA_FSD
333	bool "Tesla platform"
334	depends on ARCH_EXYNOS
335	help
336	  Support for ARMv8 based Tesla platforms.
337
338config ARCH_SPRD
339	bool "Spreadtrum SoC platform"
340	help
341	  Support for Spreadtrum ARM based SoCs
342
343config ARCH_THUNDER
344	bool "Cavium Inc. Thunder SoC Family"
345	help
346	  This enables support for Cavium's Thunder Family of SoCs.
347
348config ARCH_THUNDER2
349	bool "Cavium ThunderX2 Server Processors"
350	select GPIOLIB
351	help
352	  This enables support for Cavium's ThunderX2 CN99XX family of
353	  server processors.
354
355config ARCH_UNIPHIER
356	bool "Socionext UniPhier SoC Family"
357	select ARCH_HAS_RESET_CONTROLLER
358	select PINCTRL
359	select RESET_CONTROLLER
360	help
361	  This enables support for Socionext UniPhier SoC family.
362
363config ARCH_VEXPRESS
364	bool "ARMv8 software model (Versatile Express)"
365	select GPIOLIB
366	select PM
367	select PM_GENERIC_DOMAINS
368	help
369	  This enables support for the ARMv8 software model (Versatile
370	  Express).
371
372config ARCH_VISCONTI
373	bool "Toshiba Visconti SoC Family"
374	select PINCTRL
375	select PINCTRL_VISCONTI
376	help
377	  This enables support for Toshiba Visconti SoCs Family.
378
379config ARCH_XGENE
380	bool "AppliedMicro X-Gene SOC Family"
381	help
382	  This enables support for AppliedMicro X-Gene SOC Family
383
384config ARCH_ZYNQMP
385	bool "Xilinx ZynqMP Family"
386	help
387	  This enables support for Xilinx ZynqMP Family
388
389endmenu # "Platform selection"
390