Merge tag 'x86-urgent-2025-01-28' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / arch / arm64 / Kconfig.platforms
blob02f9248f7c84da36619ddb8dac55a4bfd96d65e3
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "Platform selection"
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.
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.
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.
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.
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, such
41           as the Apple M1.
43 menuconfig ARCH_BCM
44         bool "Broadcom SoC Support"
46 if ARCH_BCM
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.
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
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.
77           This enables support for Broadcom BCA ARM-based broadband chipsets,
78           including the DSL, PON and Wireless family of chips.
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
88 endif
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
99 config ARCH_BITMAIN
100         bool "Bitmain SoC Platforms"
101         help
102           This enables support for the Bitmain SoC Family.
104 config ARCH_BLAIZE
105         bool "Blaize SoC Platforms"
106         help
107           This enables support for the Blaize SoC family
109 config 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.
122 config 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.
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).
136 config 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.
148 config ARCH_LG1K
149         bool "LG Electronics LG1K SoC Family"
150         help
151           This enables support for LG Electronics LG1K SoC Family
153 config 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
161 config ARCH_KEEMBAY
162         bool "Keem Bay SoC"
163         help
164           This enables support for Intel Movidius SoC code-named Keem Bay.
166 config 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
175 config 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
181 config 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
206 menuconfig ARCH_NXP
207         bool "NXP SoC support"
209 if ARCH_NXP
211 config ARCH_LAYERSCAPE
212         bool "Freescale Layerscape SoC family"
213         help
214           This enables support for the Freescale Layerscape SoC family.
216 config 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.
230 config ARCH_S32
231         bool "NXP S32 SoC Family"
232         help
233           This enables support for the NXP S32 family of processors.
235 endif
237 config 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.
245 config 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.
256 config 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.
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.
268 config 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.
276 config 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.
283 config ARCH_RENESAS
284         bool "Renesas SoC Platforms"
285         help
286           This enables support for the ARMv8 based Renesas SoCs.
288 config 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.
298 config ARCH_SEATTLE
299         bool "AMD Seattle SoC Family"
300         help
301           This enables support for AMD Seattle SOC Family
303 config 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.
310 config 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.
327 config ARCH_SYNQUACER
328         bool "Socionext SynQuacer SoC Family"
329         select IRQ_FASTEOI_HIERARCHY_HANDLERS
331 config 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.
345 config ARCH_TESLA_FSD
346         bool "Tesla platform"
347         depends on ARCH_EXYNOS
348         help
349           Support for ARMv8 based Tesla platforms.
351 config ARCH_SPRD
352         bool "Spreadtrum SoC platform"
353         help
354           Support for Spreadtrum ARM based SoCs
356 config ARCH_THUNDER
357         bool "Cavium Inc. Thunder SoC Family"
358         help
359           This enables support for Cavium's Thunder Family of SoCs.
361 config 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.
368 config 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.
376 config 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).
385 config 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.
392 config ARCH_XGENE
393         bool "AppliedMicro X-Gene SOC Family"
394         help
395           This enables support for AppliedMicro X-Gene SOC Family
397 config ARCH_ZYNQMP
398         bool "Xilinx ZynqMP Family"
399         help
400           This enables support for Xilinx ZynqMP Family
402 endmenu # "Platform selection"