GNU Linux-libre 5.4.274-gnu1
[releases.git] / arch / arm64 / Kconfig.platforms
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_AGILEX
12         bool "Intel's Agilex SoCFPGA Family"
13         help
14           This enables support for Intel's Agilex SoCFPGA Family.
15
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.
24
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.
31
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_TIMER_SP804
41         select HAVE_ARM_ARCH_TIMER
42         help
43           This enables support for the Broadcom BCM2837 SoC.
44           This SoC is used in the Raspberry Pi 3 device.
45
46 config 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
54 config 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
63 config ARCH_BITMAIN
64         bool "Bitmain SoC Platforms"
65         help
66           This enables support for the Bitmain SoC Family.
67
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
77
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.
92
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.
105
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.
111
112 config ARCH_LG1K
113         bool "LG Electronics LG1K SoC Family"
114         help
115           This enables support for LG Electronics LG1K SoC Family
116
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
124
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
133
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
145
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
168
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.
182
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.
189
190 config ARCH_REALTEK
191         bool "Realtek Platforms"
192         help
193           This enables support for the ARMv8 based Realtek chipsets,
194           like the RTD1295.
195
196 config ARCH_RENESAS
197         bool "Renesas SoC Platforms"
198         select GPIOLIB
199         select PINCTRL
200         select SOC_BUS
201         help
202           This enables support for the ARMv8 based Renesas SoCs.
203
204 config ARCH_ROCKCHIP
205         bool "Rockchip Platforms"
206         select ARCH_HAS_RESET_CONTROLLER
207         select GPIOLIB
208         select PINCTRL
209         select PINCTRL_ROCKCHIP
210         select PM
211         select ROCKCHIP_TIMER
212         help
213           This enables support for the ARMv8 based Rockchip chipsets,
214           like the RK3368.
215
216 config ARCH_SEATTLE
217         bool "AMD Seattle SoC Family"
218         help
219           This enables support for AMD Seattle SOC Family
220
221 config ARCH_STRATIX10
222         bool "Altera's Stratix 10 SoCFPGA Family"
223         help
224           This enables support for Altera's Stratix 10 SoCFPGA Family.
225
226 config ARCH_SYNQUACER
227         bool "Socionext SynQuacer SoC Family"
228         select IRQ_FASTEOI_HIERARCHY_HANDLERS
229
230 config ARCH_TEGRA
231         bool "NVIDIA Tegra SoC Family"
232         select ARCH_HAS_RESET_CONTROLLER
233         select ARM_GIC_PM
234         select CLKDEV_LOOKUP
235         select CLKSRC_MMIO
236         select TIMER_OF
237         select GENERIC_CLOCKEVENTS
238         select GPIOLIB
239         select PINCTRL
240         select PM
241         select PM_GENERIC_DOMAINS
242         select RESET_CONTROLLER
243         help
244           This enables support for the NVIDIA Tegra SoC family.
245
246 config ARCH_SPRD
247         bool "Spreadtrum SoC platform"
248         help
249           Support for Spreadtrum ARM based SoCs
250
251 config ARCH_THUNDER
252         bool "Cavium Inc. Thunder SoC Family"
253         help
254           This enables support for Cavium's Thunder Family of SoCs.
255
256 config ARCH_THUNDER2
257         bool "Cavium ThunderX2 Server Processors"
258         select GPIOLIB
259         help
260           This enables support for Cavium's ThunderX2 CN99XX family of
261           server processors.
262
263 config ARCH_UNIPHIER
264         bool "Socionext UniPhier SoC Family"
265         select ARCH_HAS_RESET_CONTROLLER
266         select PINCTRL
267         select RESET_CONTROLLER
268         help
269           This enables support for Socionext UniPhier SoC family.
270
271 config ARCH_VEXPRESS
272         bool "ARMv8 software model (Versatile Express)"
273         select COMMON_CLK_VERSATILE
274         select GPIOLIB
275         select PM
276         select PM_GENERIC_DOMAINS
277         select POWER_RESET_VEXPRESS
278         select VEXPRESS_CONFIG
279         help
280           This enables support for the ARMv8 software model (Versatile
281           Express).
282
283 config ARCH_VULCAN
284         def_bool n
285
286 config ARCH_XGENE
287         bool "AppliedMicro X-Gene SOC Family"
288         help
289           This enables support for AppliedMicro X-Gene SOC Family
290
291 config ARCH_ZX
292         bool "ZTE ZX SoC Family"
293         select PINCTRL
294         help
295           This enables support for ZTE ZX SoC Family
296
297 config ARCH_ZYNQMP
298         bool "Xilinx ZynqMP Family"
299         select ZYNQMP_FIRMWARE
300         help
301           This enables support for Xilinx ZynqMP Family
302
303 endmenu