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, such
41	  as 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_BLAIZE
105	bool "Blaize SoC Platforms"
106	help
107	  This enables support for the Blaize SoC family
108
109config ARCH_EXYNOS
110	bool "Samsung Exynos SoC family"
111	select COMMON_CLK_SAMSUNG
112	select CLKSRC_EXYNOS_MCT
113	select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
114	select EXYNOS_PMU
115	select PINCTRL
116	select PINCTRL_EXYNOS
117	select PM_GENERIC_DOMAINS if PM
118	select SOC_SAMSUNG
119	help
120	  This enables support for ARMv8 based Samsung Exynos SoC family.
121
122config ARCH_SPARX5
123	bool "Microchip Sparx5 SoC family"
124	select PINCTRL
125	select DW_APB_TIMER_OF
126	help
127	  This enables support for the Microchip Sparx5 ARMv8-based
128	  SoC family of TSN-capable gigabit switches.
129
130	  The SparX-5 Ethernet switch family provides a rich set of
131	  switching features such as advanced TCAM-based VLAN and QoS
132	  processing enabling delivery of differentiated services, and
133	  security through TCAM-based frame processing using versatile
134	  content aware processor (VCAP).
135
136config ARCH_K3
137	bool "Texas Instruments Inc. K3 multicore SoC architecture"
138	select PM_GENERIC_DOMAINS if PM
139	select MAILBOX
140	select SOC_TI
141	select TI_MESSAGE_MANAGER
142	select TI_SCI_PROTOCOL
143	select TI_K3_SOCINFO
144	help
145	  This enables support for Texas Instruments' K3 multicore SoC
146	  architecture.
147
148config ARCH_LG1K
149	bool "LG Electronics LG1K SoC Family"
150	help
151	  This enables support for LG Electronics LG1K SoC Family
152
153config ARCH_HISI
154	bool "Hisilicon SoC Family"
155	select ARM_TIMER_SP804
156	select HISILICON_IRQ_MBIGEN if PCI
157	select PINCTRL
158	help
159	  This enables support for Hisilicon ARMv8 SoC family
160
161config ARCH_KEEMBAY
162	bool "Keem Bay SoC"
163	help
164	  This enables support for Intel Movidius SoC code-named Keem Bay.
165
166config ARCH_MEDIATEK
167	bool "MediaTek SoC Family"
168	select ARM_GIC
169	select PINCTRL
170	select MTK_TIMER
171	help
172	  This enables support for MediaTek MT27xx, MT65xx, MT76xx
173	  & MT81xx ARMv8 SoCs
174
175config ARCH_MESON
176	bool "Amlogic Platforms"
177	help
178	  This enables support for the arm64 based Amlogic SoCs
179	  such as the s905, S905X/D, S912, A113X/D or S905X/D2
180
181config ARCH_MVEBU
182	bool "Marvell EBU SoC Family"
183	select ARMADA_AP806_SYSCON
184	select ARMADA_CP110_SYSCON
185	select ARMADA_37XX_CLK
186	select GPIOLIB
187	select GPIOLIB_IRQCHIP
188	select MVEBU_GICP
189	select MVEBU_ICU
190	select MVEBU_ODMI
191	select MVEBU_PIC
192	select MVEBU_SEI
193	select OF_GPIO
194	select PINCTRL
195	select PINCTRL_ARMADA_37XX
196	select PINCTRL_ARMADA_AP806
197	select PINCTRL_ARMADA_CP110
198	select PINCTRL_AC5
199	help
200	  This enables support for Marvell EBU family, including:
201	   - Armada 3700 SoC Family
202	   - Armada 7K SoC Family
203	   - Armada 8K SoC Family
204	   - 98DX2530 SoC Family
205
206menuconfig ARCH_NXP
207	bool "NXP SoC support"
208
209if ARCH_NXP
210
211config ARCH_LAYERSCAPE
212	bool "Freescale Layerscape SoC family"
213	help
214	  This enables support for the Freescale Layerscape SoC family.
215
216config ARCH_MXC
217	bool "NXP i.MX SoC family"
218	select ARM64_ERRATUM_843419
219	select ARM64_ERRATUM_845719 if COMPAT
220	select IMX_GPCV2
221	select IMX_GPCV2_PM_DOMAINS
222	select PM
223	select PM_GENERIC_DOMAINS
224	select SOC_BUS
225	select TIMER_IMX_SYS_CTR
226	help
227	  This enables support for the ARMv8 based SoCs in the
228	  NXP i.MX family.
229
230config ARCH_S32
231	bool "NXP S32 SoC Family"
232	help
233	  This enables support for the NXP S32 family of processors.
234
235endif
236
237config ARCH_MA35
238	bool "Nuvoton MA35 Architecture"
239	select GPIOLIB
240	select PINCTRL
241	select RESET_CONTROLLER
242	help
243	  This enables support for the ARMv8 based Nuvoton MA35 series SoCs.
244
245config ARCH_NPCM
246	bool "Nuvoton NPCM Architecture"
247	select PINCTRL
248	select GPIOLIB
249	select NPCM7XX_TIMER
250	select RESET_CONTROLLER
251	select MFD_SYSCON
252	help
253	  General support for NPCM8xx BMC (Arbel).
254	  Nuvoton NPCM8xx BMC based on the Cortex A35.
255
256config ARCH_PENSANDO
257	bool "AMD Pensando Platforms"
258	help
259	  This enables support for the ARMv8 based AMD Pensando SoC
260	  family to include the Elba SoC.
261
262	  AMD Pensando SoCs support a range of Distributed Services
263	  Cards in PCIe format installed into servers.  The Elba
264	  SoC includes 16 Cortex A-72 CPU cores, 144 P4-programmable
265	  cores for a minimal latency/jitter datapath, and network
266	  interfaces up to 200 Gb/s.
267
268config ARCH_QCOM
269	bool "Qualcomm Platforms"
270	select GPIOLIB
271	select PINCTRL
272	select HAVE_PWRCTL if PCI
273	help
274	  This enables support for the ARMv8 based Qualcomm chipsets.
275
276config ARCH_REALTEK
277	bool "Realtek Platforms"
278	select RESET_CONTROLLER
279	help
280	  This enables support for the ARMv8 based Realtek chipsets,
281	  like the RTD1295.
282
283config ARCH_RENESAS
284	bool "Renesas SoC Platforms"
285	help
286	  This enables support for the ARMv8 based Renesas SoCs.
287
288config ARCH_ROCKCHIP
289	bool "Rockchip Platforms"
290	select ARCH_HAS_RESET_CONTROLLER
291	select PINCTRL
292	select PM
293	select ROCKCHIP_TIMER
294	help
295	  This enables support for the ARMv8 based Rockchip chipsets,
296	  like the RK3368.
297
298config ARCH_SEATTLE
299	bool "AMD Seattle SoC Family"
300	help
301	  This enables support for AMD Seattle SOC Family
302
303config ARCH_INTEL_SOCFPGA
304	bool "Intel's SoCFPGA ARMv8 Families"
305	help
306	  This enables support for Intel's SoCFPGA ARMv8 families:
307	  Stratix 10 (ex. Altera), Stratix10 Software Virtual Platform,
308	  Agilex and eASIC N5X.
309
310config ARCH_STM32
311	bool "STMicroelectronics STM32 SoC Family"
312	select GPIOLIB
313	select PINCTRL
314	select PINCTRL_STM32MP257
315	select ARM_SMC_MBOX
316	select ARM_SCMI_PROTOCOL
317	select REGULATOR
318	select REGULATOR_ARM_SCMI
319	select COMMON_CLK_SCMI
320	select STM32_FIREWALL
321	help
322	  This enables support for ARMv8 based STMicroelectronics
323	  STM32 family, including:
324		- STM32MP25:
325			- STM32MP251, STM32MP253, STM32MP255 and STM32MP257.
326
327config ARCH_SYNQUACER
328	bool "Socionext SynQuacer SoC Family"
329	select IRQ_FASTEOI_HIERARCHY_HANDLERS
330
331config ARCH_TEGRA
332	bool "NVIDIA Tegra SoC Family"
333	select ARCH_HAS_RESET_CONTROLLER
334	select ARM_GIC_PM
335	select CLKSRC_MMIO
336	select TIMER_OF
337	select GPIOLIB
338	select PINCTRL
339	select PM
340	select PM_GENERIC_DOMAINS
341	select RESET_CONTROLLER
342	help
343	  This enables support for the NVIDIA Tegra SoC family.
344
345config ARCH_TESLA_FSD
346	bool "Tesla platform"
347	depends on ARCH_EXYNOS
348	help
349	  Support for ARMv8 based Tesla platforms.
350
351config ARCH_SPRD
352	bool "Spreadtrum SoC platform"
353	help
354	  Support for Spreadtrum ARM based SoCs
355
356config ARCH_THUNDER
357	bool "Cavium Inc. Thunder SoC Family"
358	help
359	  This enables support for Cavium's Thunder Family of SoCs.
360
361config ARCH_THUNDER2
362	bool "Cavium ThunderX2 Server Processors"
363	select GPIOLIB
364	help
365	  This enables support for Cavium's ThunderX2 CN99XX family of
366	  server processors.
367
368config ARCH_UNIPHIER
369	bool "Socionext UniPhier SoC Family"
370	select ARCH_HAS_RESET_CONTROLLER
371	select PINCTRL
372	select RESET_CONTROLLER
373	help
374	  This enables support for Socionext UniPhier SoC family.
375
376config ARCH_VEXPRESS
377	bool "ARMv8 software model (Versatile Express)"
378	select GPIOLIB
379	select PM
380	select PM_GENERIC_DOMAINS
381	help
382	  This enables support for the ARMv8 software model (Versatile
383	  Express).
384
385config ARCH_VISCONTI
386	bool "Toshiba Visconti SoC Family"
387	select PINCTRL
388	select PINCTRL_VISCONTI
389	help
390	  This enables support for Toshiba Visconti SoCs Family.
391
392config ARCH_XGENE
393	bool "AppliedMicro X-Gene SOC Family"
394	help
395	  This enables support for AppliedMicro X-Gene SOC Family
396
397config ARCH_ZYNQMP
398	bool "Xilinx ZynqMP Family"
399	help
400	  This enables support for Xilinx ZynqMP Family
401
402endmenu # "Platform selection"
403