treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / arch / arm64 / Kconfig.platforms
blobb2b504ea6fd694951b7fd41fc5e0d9d818bf6492
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_AGILEX
12         bool "Intel's Agilex SoCFPGA Family"
13         help
14           This enables support for Intel's Agilex SoCFPGA Family.
16 config 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.
25 config 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.
32 config 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         select HAVE_ARM_ARCH_TIMER
43         help
44           This enables support for the Broadcom BCM2837 and BCM2711 SoC.
45           These SoCs are used in the Raspberry Pi 3 and 4 devices.
47 config ARCH_BCM_IPROC
48         bool "Broadcom iProc SoC Family"
49         select COMMON_CLK_IPROC
50         select GPIOLIB
51         select PINCTRL
52         help
53           This enables support for Broadcom iProc based SoCs
55 config ARCH_BERLIN
56         bool "Marvell Berlin SoC Family"
57         select DW_APB_ICTL
58         select GPIOLIB
59         select PINCTRL
60         help
61           This enables support for Marvell Berlin SoC Family
63 config ARCH_BITMAIN
64         bool "Bitmain SoC Platforms"
65         help
66           This enables support for the Bitmain SoC Family.
68 config 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
78 config 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_S3C2410_WATCHDOG if WATCHDOG
85         select HAVE_S3C_RTC if RTC_CLASS
86         select PINCTRL
87         select PINCTRL_EXYNOS
88         select PM_GENERIC_DOMAINS if PM
89         select SOC_SAMSUNG
90         help
91           This enables support for ARMv8 based Samsung Exynos SoC family.
93 config ARCH_K3
94         bool "Texas Instruments Inc. K3 multicore SoC architecture"
95         select PM_GENERIC_DOMAINS if PM
96         select MAILBOX
97         select SOC_TI
98         select TI_MESSAGE_MANAGER
99         select TI_SCI_PROTOCOL
100         select TI_SCI_INTR_IRQCHIP
101         select TI_SCI_INTA_IRQCHIP
102         help
103           This enables support for Texas Instruments' K3 multicore SoC
104           architecture.
106 config ARCH_LAYERSCAPE
107         bool "ARMv8 based Freescale Layerscape SoC family"
108         select EDAC_SUPPORT
109         help
110           This enables support for the Freescale Layerscape SoC family.
112 config ARCH_LG1K
113         bool "LG Electronics LG1K SoC Family"
114         help
115           This enables support for LG Electronics LG1K SoC Family
117 config ARCH_HISI
118         bool "Hisilicon SoC Family"
119         select ARM_TIMER_SP804
120         select HISILICON_IRQ_MBIGEN if PCI
121         select PINCTRL
122         help
123           This enables support for Hisilicon ARMv8 SoC family
125 config ARCH_MEDIATEK
126         bool "MediaTek SoC Family"
127         select ARM_GIC
128         select PINCTRL
129         select MTK_TIMER
130         help
131           This enables support for MediaTek MT27xx, MT65xx, MT76xx
132           & MT81xx ARMv8 SoCs
134 config ARCH_MESON
135         bool "Amlogic Platforms"
136         select PINCTRL
137         select PINCTRL_MESON
138         select COMMON_CLK_GXBB
139         select COMMON_CLK_AXG
140         select COMMON_CLK_G12A
141         select MESON_IRQ_GPIO
142         help
143           This enables support for the arm64 based Amlogic SoCs
144           such as the s905, S905X/D, S912, A113X/D or S905X/D2
146 config ARCH_MVEBU
147         bool "Marvell EBU SoC Family"
148         select ARMADA_AP806_SYSCON
149         select ARMADA_CP110_SYSCON
150         select ARMADA_37XX_CLK
151         select GPIOLIB
152         select GPIOLIB_IRQCHIP
153         select MVEBU_GICP
154         select MVEBU_ICU
155         select MVEBU_ODMI
156         select MVEBU_PIC
157         select MVEBU_SEI
158         select OF_GPIO
159         select PINCTRL
160         select PINCTRL_ARMADA_37XX
161         select PINCTRL_ARMADA_AP806
162         select PINCTRL_ARMADA_CP110
163         help
164           This enables support for Marvell EBU familly, including:
165            - Armada 3700 SoC Family
166            - Armada 7K SoC Family
167            - Armada 8K SoC Family
169 config ARCH_MXC
170         bool "ARMv8 based NXP i.MX SoC family"
171         select ARM64_ERRATUM_843419
172         select ARM64_ERRATUM_845719 if COMPAT
173         select IMX_GPCV2
174         select IMX_GPCV2_PM_DOMAINS
175         select PM
176         select PM_GENERIC_DOMAINS
177         select SOC_BUS
178         select TIMER_IMX_SYS_CTR
179         help
180           This enables support for the ARMv8 based SoCs in the
181           NXP i.MX family.
183 config ARCH_QCOM
184         bool "Qualcomm Platforms"
185         select GPIOLIB
186         select PINCTRL
187         help
188           This enables support for the ARMv8 based Qualcomm chipsets.
190 config ARCH_REALTEK
191         bool "Realtek Platforms"
192         select RESET_CONTROLLER
193         help
194           This enables support for the ARMv8 based Realtek chipsets,
195           like the RTD1295.
197 config ARCH_RENESAS
198         bool "Renesas SoC Platforms"
199         select GPIOLIB
200         select PINCTRL
201         select SOC_BUS
202         help
203           This enables support for the ARMv8 based Renesas SoCs.
205 config ARCH_ROCKCHIP
206         bool "Rockchip Platforms"
207         select ARCH_HAS_RESET_CONTROLLER
208         select GPIOLIB
209         select PINCTRL
210         select PINCTRL_ROCKCHIP
211         select PM
212         select ROCKCHIP_TIMER
213         help
214           This enables support for the ARMv8 based Rockchip chipsets,
215           like the RK3368.
217 config ARCH_S32
218         bool "NXP S32 SoC Family"
219         help
220           This enables support for the NXP S32 family of processors.
222 config ARCH_SEATTLE
223         bool "AMD Seattle SoC Family"
224         help
225           This enables support for AMD Seattle SOC Family
227 config ARCH_STRATIX10
228         bool "Altera's Stratix 10 SoCFPGA Family"
229         help
230           This enables support for Altera's Stratix 10 SoCFPGA Family.
232 config ARCH_SYNQUACER
233         bool "Socionext SynQuacer SoC Family"
235 config ARCH_TEGRA
236         bool "NVIDIA Tegra SoC Family"
237         select ARCH_HAS_RESET_CONTROLLER
238         select ARM_GIC_PM
239         select CLKDEV_LOOKUP
240         select CLKSRC_MMIO
241         select TIMER_OF
242         select GENERIC_CLOCKEVENTS
243         select GPIOLIB
244         select PINCTRL
245         select PM
246         select PM_GENERIC_DOMAINS
247         select RESET_CONTROLLER
248         help
249           This enables support for the NVIDIA Tegra SoC family.
251 config ARCH_SPRD
252         bool "Spreadtrum SoC platform"
253         help
254           Support for Spreadtrum ARM based SoCs
256 config ARCH_THUNDER
257         bool "Cavium Inc. Thunder SoC Family"
258         help
259           This enables support for Cavium's Thunder Family of SoCs.
261 config ARCH_THUNDER2
262         bool "Cavium ThunderX2 Server Processors"
263         select GPIOLIB
264         help
265           This enables support for Cavium's ThunderX2 CN99XX family of
266           server processors.
268 config ARCH_UNIPHIER
269         bool "Socionext UniPhier SoC Family"
270         select ARCH_HAS_RESET_CONTROLLER
271         select PINCTRL
272         select RESET_CONTROLLER
273         help
274           This enables support for Socionext UniPhier SoC family.
276 config ARCH_VEXPRESS
277         bool "ARMv8 software model (Versatile Express)"
278         select COMMON_CLK_VERSATILE
279         select GPIOLIB
280         select PM
281         select PM_GENERIC_DOMAINS
282         select POWER_RESET_VEXPRESS
283         select VEXPRESS_CONFIG
284         help
285           This enables support for the ARMv8 software model (Versatile
286           Express).
288 config ARCH_VULCAN
289         def_bool n
291 config ARCH_XGENE
292         bool "AppliedMicro X-Gene SOC Family"
293         help
294           This enables support for AppliedMicro X-Gene SOC Family
296 config ARCH_ZX
297         bool "ZTE ZX SoC Family"
298         select PINCTRL
299         help
300           This enables support for ZTE ZX SoC Family
302 config ARCH_ZYNQMP
303         bool "Xilinx ZynqMP Family"
304         select ZYNQMP_FIRMWARE
305         help
306           This enables support for Xilinx ZynqMP Family
308 endmenu