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