1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "Platform selection"
3 
4 config 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 
11 config 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 
18 config 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 
29 config 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 
36 config 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 
43 menuconfig ARCH_BCM
44 	bool "Broadcom SoC Support"
45 
46 if ARCH_BCM
47 
48 config 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 
62 config 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 
70 config 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 
80 config 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 
88 endif
89 
90 config 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 
99 config ARCH_BITMAIN
100 	bool "Bitmain SoC Platforms"
101 	help
102 	  This enables support for the Bitmain SoC Family.
103 
104 config 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 
117 config 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 
131 config 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 
145 config ARCH_LG1K
146 	bool "LG Electronics LG1K SoC Family"
147 	help
148 	  This enables support for LG Electronics LG1K SoC Family
149 
150 config 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 
158 config ARCH_KEEMBAY
159 	bool "Keem Bay SoC"
160 	help
161 	  This enables support for Intel Movidius SoC code-named Keem Bay.
162 
163 config 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 
172 config 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 
178 config 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 
203 menuconfig ARCH_NXP
204 	bool "NXP SoC support"
205 
206 if ARCH_NXP
207 
208 config ARCH_LAYERSCAPE
209 	bool "Freescale Layerscape SoC family"
210 	help
211 	  This enables support for the Freescale Layerscape SoC family.
212 
213 config 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 
227 config ARCH_S32
228 	bool "NXP S32 SoC Family"
229 	help
230 	  This enables support for the NXP S32 family of processors.
231 
232 endif
233 
234 config 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 
242 config 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 
253 config 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 
265 config 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 
273 config 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 
280 config ARCH_RENESAS
281 	bool "Renesas SoC Platforms"
282 	help
283 	  This enables support for the ARMv8 based Renesas SoCs.
284 
285 config 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 
295 config ARCH_SEATTLE
296 	bool "AMD Seattle SoC Family"
297 	help
298 	  This enables support for AMD Seattle SOC Family
299 
300 config 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 
307 config 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 
324 config ARCH_SYNQUACER
325 	bool "Socionext SynQuacer SoC Family"
326 	select IRQ_FASTEOI_HIERARCHY_HANDLERS
327 
328 config 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 
342 config ARCH_TESLA_FSD
343 	bool "Tesla platform"
344 	depends on ARCH_EXYNOS
345 	help
346 	  Support for ARMv8 based Tesla platforms.
347 
348 config ARCH_SPRD
349 	bool "Spreadtrum SoC platform"
350 	help
351 	  Support for Spreadtrum ARM based SoCs
352 
353 config ARCH_THUNDER
354 	bool "Cavium Inc. Thunder SoC Family"
355 	help
356 	  This enables support for Cavium's Thunder Family of SoCs.
357 
358 config 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 
365 config 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 
373 config 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 
382 config 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 
389 config ARCH_XGENE
390 	bool "AppliedMicro X-Gene SOC Family"
391 	help
392 	  This enables support for AppliedMicro X-Gene SOC Family
393 
394 config ARCH_ZYNQMP
395 	bool "Xilinx ZynqMP Family"
396 	help
397 	  This enables support for Xilinx ZynqMP Family
398 
399 endmenu # "Platform selection"
400