Merge tag 'riscv-for-linus-4.19-mw0' of git://git.kernel.org/pub/scm/linux/kernel...
[muen/linux.git] / drivers / irqchip / Kconfig
1 menu "IRQ chip support"
2
3 config IRQCHIP
4         def_bool y
5         depends on OF_IRQ
6
7 config ARM_GIC
8         bool
9         select IRQ_DOMAIN
10         select IRQ_DOMAIN_HIERARCHY
11         select GENERIC_IRQ_MULTI_HANDLER
12         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
13
14 config ARM_GIC_PM
15         bool
16         depends on PM
17         select ARM_GIC
18         select PM_CLK
19
20 config ARM_GIC_MAX_NR
21         int
22         default 2 if ARCH_REALVIEW
23         default 1
24
25 config ARM_GIC_V2M
26         bool
27         depends on PCI
28         select ARM_GIC
29         select PCI_MSI
30
31 config GIC_NON_BANKED
32         bool
33
34 config ARM_GIC_V3
35         bool
36         select IRQ_DOMAIN
37         select GENERIC_IRQ_MULTI_HANDLER
38         select IRQ_DOMAIN_HIERARCHY
39         select PARTITION_PERCPU
40         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
41
42 config ARM_GIC_V3_ITS
43         bool
44         select GENERIC_MSI_IRQ_DOMAIN
45         default ARM_GIC_V3
46
47 config ARM_GIC_V3_ITS_PCI
48         bool
49         depends on ARM_GIC_V3_ITS
50         depends on PCI
51         depends on PCI_MSI
52         default ARM_GIC_V3_ITS
53
54 config ARM_GIC_V3_ITS_FSL_MC
55         bool
56         depends on ARM_GIC_V3_ITS
57         depends on FSL_MC_BUS
58         default ARM_GIC_V3_ITS
59
60 config ARM_NVIC
61         bool
62         select IRQ_DOMAIN
63         select IRQ_DOMAIN_HIERARCHY
64         select GENERIC_IRQ_CHIP
65
66 config ARM_VIC
67         bool
68         select IRQ_DOMAIN
69         select GENERIC_IRQ_MULTI_HANDLER
70
71 config ARM_VIC_NR
72         int
73         default 4 if ARCH_S5PV210
74         default 2
75         depends on ARM_VIC
76         help
77           The maximum number of VICs available in the system, for
78           power management.
79
80 config ARMADA_370_XP_IRQ
81         bool
82         select GENERIC_IRQ_CHIP
83         select PCI_MSI if PCI
84         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
85
86 config ALPINE_MSI
87         bool
88         depends on PCI
89         select PCI_MSI
90         select GENERIC_IRQ_CHIP
91
92 config ATMEL_AIC_IRQ
93         bool
94         select GENERIC_IRQ_CHIP
95         select IRQ_DOMAIN
96         select GENERIC_IRQ_MULTI_HANDLER
97         select SPARSE_IRQ
98
99 config ATMEL_AIC5_IRQ
100         bool
101         select GENERIC_IRQ_CHIP
102         select IRQ_DOMAIN
103         select GENERIC_IRQ_MULTI_HANDLER
104         select SPARSE_IRQ
105
106 config I8259
107         bool
108         select IRQ_DOMAIN
109
110 config BCM6345_L1_IRQ
111         bool
112         select GENERIC_IRQ_CHIP
113         select IRQ_DOMAIN
114         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
115
116 config BCM7038_L1_IRQ
117         bool
118         select GENERIC_IRQ_CHIP
119         select IRQ_DOMAIN
120         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
121
122 config BCM7120_L2_IRQ
123         bool
124         select GENERIC_IRQ_CHIP
125         select IRQ_DOMAIN
126
127 config BRCMSTB_L2_IRQ
128         bool
129         select GENERIC_IRQ_CHIP
130         select IRQ_DOMAIN
131
132 config DW_APB_ICTL
133         bool
134         select GENERIC_IRQ_CHIP
135         select IRQ_DOMAIN
136
137 config FARADAY_FTINTC010
138         bool
139         select IRQ_DOMAIN
140         select GENERIC_IRQ_MULTI_HANDLER
141         select SPARSE_IRQ
142
143 config HISILICON_IRQ_MBIGEN
144         bool
145         select ARM_GIC_V3
146         select ARM_GIC_V3_ITS
147
148 config IMGPDC_IRQ
149         bool
150         select GENERIC_IRQ_CHIP
151         select IRQ_DOMAIN
152
153 config IRQ_MIPS_CPU
154         bool
155         select GENERIC_IRQ_CHIP
156         select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING
157         select IRQ_DOMAIN
158         select IRQ_DOMAIN_HIERARCHY if GENERIC_IRQ_IPI
159         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
160
161 config CLPS711X_IRQCHIP
162         bool
163         depends on ARCH_CLPS711X
164         select IRQ_DOMAIN
165         select GENERIC_IRQ_MULTI_HANDLER
166         select SPARSE_IRQ
167         default y
168
169 config OMPIC
170         bool
171
172 config OR1K_PIC
173         bool
174         select IRQ_DOMAIN
175
176 config OMAP_IRQCHIP
177         bool
178         select GENERIC_IRQ_CHIP
179         select IRQ_DOMAIN
180
181 config ORION_IRQCHIP
182         bool
183         select IRQ_DOMAIN
184         select GENERIC_IRQ_MULTI_HANDLER
185
186 config PIC32_EVIC
187         bool
188         select GENERIC_IRQ_CHIP
189         select IRQ_DOMAIN
190
191 config JCORE_AIC
192         bool "J-Core integrated AIC" if COMPILE_TEST
193         depends on OF
194         select IRQ_DOMAIN
195         help
196           Support for the J-Core integrated AIC.
197
198 config RENESAS_INTC_IRQPIN
199         bool
200         select IRQ_DOMAIN
201
202 config RENESAS_IRQC
203         bool
204         select GENERIC_IRQ_CHIP
205         select IRQ_DOMAIN
206
207 config ST_IRQCHIP
208         bool
209         select REGMAP
210         select MFD_SYSCON
211         help
212           Enables SysCfg Controlled IRQs on STi based platforms.
213
214 config TANGO_IRQ
215         bool
216         select IRQ_DOMAIN
217         select GENERIC_IRQ_CHIP
218
219 config TB10X_IRQC
220         bool
221         select IRQ_DOMAIN
222         select GENERIC_IRQ_CHIP
223
224 config TS4800_IRQ
225         tristate "TS-4800 IRQ controller"
226         select IRQ_DOMAIN
227         depends on HAS_IOMEM
228         depends on SOC_IMX51 || COMPILE_TEST
229         help
230           Support for the TS-4800 FPGA IRQ controller
231
232 config VERSATILE_FPGA_IRQ
233         bool
234         select IRQ_DOMAIN
235
236 config VERSATILE_FPGA_IRQ_NR
237        int
238        default 4
239        depends on VERSATILE_FPGA_IRQ
240
241 config XTENSA_MX
242         bool
243         select IRQ_DOMAIN
244         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
245
246 config XILINX_INTC
247         bool
248         select IRQ_DOMAIN
249
250 config IRQ_CROSSBAR
251         bool
252         help
253           Support for a CROSSBAR ip that precedes the main interrupt controller.
254           The primary irqchip invokes the crossbar's callback which inturn allocates
255           a free irq and configures the IP. Thus the peripheral interrupts are
256           routed to one of the free irqchip interrupt lines.
257
258 config KEYSTONE_IRQ
259         tristate "Keystone 2 IRQ controller IP"
260         depends on ARCH_KEYSTONE
261         help
262                 Support for Texas Instruments Keystone 2 IRQ controller IP which
263                 is part of the Keystone 2 IPC mechanism
264
265 config MIPS_GIC
266         bool
267         select GENERIC_IRQ_IPI
268         select IRQ_DOMAIN_HIERARCHY
269         select MIPS_CM
270
271 config INGENIC_IRQ
272         bool
273         depends on MACH_INGENIC
274         default y
275
276 config RENESAS_H8300H_INTC
277         bool
278         select IRQ_DOMAIN
279
280 config RENESAS_H8S_INTC
281         bool
282         select IRQ_DOMAIN
283
284 config IMX_GPCV2
285         bool
286         select IRQ_DOMAIN
287         help
288           Enables the wakeup IRQs for IMX platforms with GPCv2 block
289
290 config IRQ_MXS
291         def_bool y if MACH_ASM9260 || ARCH_MXS
292         select IRQ_DOMAIN
293         select STMP_DEVICE
294
295 config MSCC_OCELOT_IRQ
296         bool
297         select IRQ_DOMAIN
298         select GENERIC_IRQ_CHIP
299
300 config MVEBU_GICP
301         bool
302
303 config MVEBU_ICU
304         bool
305
306 config MVEBU_ODMI
307         bool
308         select GENERIC_MSI_IRQ_DOMAIN
309
310 config MVEBU_PIC
311         bool
312
313 config LS_SCFG_MSI
314         def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
315         depends on PCI && PCI_MSI
316
317 config PARTITION_PERCPU
318         bool
319
320 config EZNPS_GIC
321         bool "NPS400 Global Interrupt Manager (GIM)"
322         depends on ARC || (COMPILE_TEST && !64BIT)
323         select IRQ_DOMAIN
324         help
325           Support the EZchip NPS400 global interrupt controller
326
327 config STM32_EXTI
328         bool
329         select IRQ_DOMAIN
330         select GENERIC_IRQ_CHIP
331
332 config QCOM_IRQ_COMBINER
333         bool "QCOM IRQ combiner support"
334         depends on ARCH_QCOM && ACPI
335         select IRQ_DOMAIN
336         select IRQ_DOMAIN_HIERARCHY
337         help
338           Say yes here to add support for the IRQ combiner devices embedded
339           in Qualcomm Technologies chips.
340
341 config IRQ_UNIPHIER_AIDET
342         bool "UniPhier AIDET support" if COMPILE_TEST
343         depends on ARCH_UNIPHIER || COMPILE_TEST
344         default ARCH_UNIPHIER
345         select IRQ_DOMAIN_HIERARCHY
346         help
347           Support for the UniPhier AIDET (ARM Interrupt Detector).
348
349 config MESON_IRQ_GPIO
350        bool "Meson GPIO Interrupt Multiplexer"
351        depends on ARCH_MESON
352        select IRQ_DOMAIN
353        select IRQ_DOMAIN_HIERARCHY
354        help
355          Support Meson SoC Family GPIO Interrupt Multiplexer
356
357 config GOLDFISH_PIC
358        bool "Goldfish programmable interrupt controller"
359        depends on MIPS && (GOLDFISH || COMPILE_TEST)
360        select IRQ_DOMAIN
361        help
362          Say yes here to enable Goldfish interrupt controller driver used
363          for Goldfish based virtual platforms.
364
365 config QCOM_PDC
366         bool "QCOM PDC"
367         depends on ARCH_QCOM
368         select IRQ_DOMAIN
369         select IRQ_DOMAIN_HIERARCHY
370         help
371           Power Domain Controller driver to manage and configure wakeup
372           IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
373
374 endmenu
375
376 config SIFIVE_PLIC
377         bool "SiFive Platform-Level Interrupt Controller"
378         depends on RISCV
379         help
380            This enables support for the PLIC chip found in SiFive (and
381            potentially other) RISC-V systems.  The PLIC controls devices
382            interrupts and connects them to each core's local interrupt
383            controller.  Aside from timer and software interrupts, all other
384            interrupt sources are subordinate to the PLIC.
385
386            If you don't know what to do here, say Y.