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