Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
[linux-2.6-block.git] / drivers / irqchip / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
c94fb639
RD
2menu "IRQ chip support"
3
f6e916b8
TP
4config IRQCHIP
5 def_bool y
6 depends on OF_IRQ
7
81243e44
RH
8config ARM_GIC
9 bool
9a1091ef 10 select IRQ_DOMAIN_HIERARCHY
4f7799d9 11 select GENERIC_IRQ_MULTI_HANDLER
0c9e4982 12 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
81243e44 13
9c8edddf
JH
14config ARM_GIC_PM
15 bool
16 depends on PM
17 select ARM_GIC
9c8edddf 18
a27d21e0
LW
19config ARM_GIC_MAX_NR
20 int
70265523 21 depends on ARM_GIC
a27d21e0
LW
22 default 2 if ARCH_REALVIEW
23 default 1
24
853a33ce
SS
25config ARM_GIC_V2M
26 bool
3ee80364
AB
27 depends on PCI
28 select ARM_GIC
29 select PCI_MSI
853a33ce 30
81243e44
RH
31config GIC_NON_BANKED
32 bool
33
021f6537
MZ
34config ARM_GIC_V3
35 bool
4f7799d9 36 select GENERIC_IRQ_MULTI_HANDLER
443acc4f 37 select IRQ_DOMAIN_HIERARCHY
e3825ba1 38 select PARTITION_PERCPU
956ae91a 39 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
021f6537 40
19812729
MZ
41config ARM_GIC_V3_ITS
42 bool
29f41139
MZ
43 select GENERIC_MSI_IRQ_DOMAIN
44 default ARM_GIC_V3
45
46config ARM_GIC_V3_ITS_PCI
47 bool
48 depends on ARM_GIC_V3_ITS
3ee80364
AB
49 depends on PCI
50 depends on PCI_MSI
29f41139 51 default ARM_GIC_V3_ITS
021f6537 52
7afe031c
BP
53config ARM_GIC_V3_ITS_FSL_MC
54 bool
55 depends on ARM_GIC_V3_ITS
56 depends on FSL_MC_BUS
57 default ARM_GIC_V3_ITS
58
292ec080
UKK
59config ARM_NVIC
60 bool
2d9f59f7 61 select IRQ_DOMAIN_HIERARCHY
292ec080
UKK
62 select GENERIC_IRQ_CHIP
63
44430ec0
RH
64config ARM_VIC
65 bool
66 select IRQ_DOMAIN
4f7799d9 67 select GENERIC_IRQ_MULTI_HANDLER
44430ec0
RH
68
69config ARM_VIC_NR
70 int
71 default 4 if ARCH_S5PV210
44430ec0
RH
72 default 2
73 depends on ARM_VIC
74 help
75 The maximum number of VICs available in the system, for
76 power management.
77
fed6d336
TP
78config ARMADA_370_XP_IRQ
79 bool
fed6d336 80 select GENERIC_IRQ_CHIP
3ee80364 81 select PCI_MSI if PCI
e31793a3 82 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
fed6d336 83
e6b78f2c
AT
84config ALPINE_MSI
85 bool
3ee80364
AB
86 depends on PCI
87 select PCI_MSI
e6b78f2c 88 select GENERIC_IRQ_CHIP
e6b78f2c 89
1eb77c3b
TS
90config AL_FIC
91 bool "Amazon's Annapurna Labs Fabric Interrupt Controller"
92 depends on OF || COMPILE_TEST
93 select GENERIC_IRQ_CHIP
94 select IRQ_DOMAIN
95 help
96 Support Amazon's Annapurna Labs Fabric Interrupt Controller.
97
b1479ebb
BB
98config ATMEL_AIC_IRQ
99 bool
100 select GENERIC_IRQ_CHIP
101 select IRQ_DOMAIN
4f7799d9 102 select GENERIC_IRQ_MULTI_HANDLER
b1479ebb
BB
103 select SPARSE_IRQ
104
105config ATMEL_AIC5_IRQ
106 bool
107 select GENERIC_IRQ_CHIP
108 select IRQ_DOMAIN
4f7799d9 109 select GENERIC_IRQ_MULTI_HANDLER
b1479ebb
BB
110 select SPARSE_IRQ
111
0509cfde
RB
112config I8259
113 bool
114 select IRQ_DOMAIN
115
c7c42ec2
SA
116config BCM6345_L1_IRQ
117 bool
118 select GENERIC_IRQ_CHIP
119 select IRQ_DOMAIN
d0ed5e8e 120 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
c7c42ec2 121
5f7f0317
KC
122config BCM7038_L1_IRQ
123 bool
124 select GENERIC_IRQ_CHIP
125 select IRQ_DOMAIN
b8d9884a 126 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
5f7f0317 127
a4fcbb86
KC
128config BCM7120_L2_IRQ
129 bool
130 select GENERIC_IRQ_CHIP
131 select IRQ_DOMAIN
132
7f646e92
FF
133config BRCMSTB_L2_IRQ
134 bool
7f646e92
FF
135 select GENERIC_IRQ_CHIP
136 select IRQ_DOMAIN
137
0145beed
BG
138config DAVINCI_AINTC
139 bool
140 select GENERIC_IRQ_CHIP
141 select IRQ_DOMAIN
142
0fc3d74c
BG
143config DAVINCI_CP_INTC
144 bool
145 select GENERIC_IRQ_CHIP
146 select IRQ_DOMAIN
147
350d71b9
SH
148config DW_APB_ICTL
149 bool
e1588490 150 select GENERIC_IRQ_CHIP
350d71b9
SH
151 select IRQ_DOMAIN
152
6ee532e2
LW
153config FARADAY_FTINTC010
154 bool
155 select IRQ_DOMAIN
4f7799d9 156 select GENERIC_IRQ_MULTI_HANDLER
6ee532e2
LW
157 select SPARSE_IRQ
158
9a7c4abd
M
159config HISILICON_IRQ_MBIGEN
160 bool
161 select ARM_GIC_V3
162 select ARM_GIC_V3_ITS
9a7c4abd 163
b6ef9161
JH
164config IMGPDC_IRQ
165 bool
166 select GENERIC_IRQ_CHIP
167 select IRQ_DOMAIN
168
5b978c10
LW
169config IXP4XX_IRQ
170 bool
171 select IRQ_DOMAIN
172 select GENERIC_IRQ_MULTI_HANDLER
173 select SPARSE_IRQ
174
da0abe1a
RF
175config MADERA_IRQ
176 tristate
177
67e38cf2
RB
178config IRQ_MIPS_CPU
179 bool
180 select GENERIC_IRQ_CHIP
3838a547 181 select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING
67e38cf2 182 select IRQ_DOMAIN
3838a547 183 select IRQ_DOMAIN_HIERARCHY if GENERIC_IRQ_IPI
18416e45 184 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
67e38cf2 185
afc98d90
AS
186config CLPS711X_IRQCHIP
187 bool
188 depends on ARCH_CLPS711X
189 select IRQ_DOMAIN
4f7799d9 190 select GENERIC_IRQ_MULTI_HANDLER
afc98d90
AS
191 select SPARSE_IRQ
192 default y
193
9b54470a
SH
194config OMPIC
195 bool
196
4db8e6d2
SK
197config OR1K_PIC
198 bool
199 select IRQ_DOMAIN
200
8598066c
FB
201config OMAP_IRQCHIP
202 bool
203 select GENERIC_IRQ_CHIP
204 select IRQ_DOMAIN
205
9dbd90f1
SH
206config ORION_IRQCHIP
207 bool
208 select IRQ_DOMAIN
4f7799d9 209 select GENERIC_IRQ_MULTI_HANDLER
9dbd90f1 210
aaa8666a
CB
211config PIC32_EVIC
212 bool
213 select GENERIC_IRQ_CHIP
214 select IRQ_DOMAIN
215
981b58f6 216config JCORE_AIC
3602ffde
RF
217 bool "J-Core integrated AIC" if COMPILE_TEST
218 depends on OF
981b58f6
RF
219 select IRQ_DOMAIN
220 help
221 Support for the J-Core integrated AIC.
222
d852e62a
MS
223config RDA_INTC
224 bool
225 select IRQ_DOMAIN
226
44358048 227config RENESAS_INTC_IRQPIN
02d7e041 228 bool "Renesas INTC External IRQ Pin Support" if COMPILE_TEST
44358048 229 select IRQ_DOMAIN
02d7e041
GU
230 help
231 Enable support for the Renesas Interrupt Controller for external
232 interrupt pins, as found on SH/R-Mobile and R-Car Gen1 SoCs.
44358048 233
fbc83b7f 234config RENESAS_IRQC
02d7e041 235 bool "Renesas R-Mobile APE6 and R-Car IRQC support" if COMPILE_TEST
99c221df 236 select GENERIC_IRQ_CHIP
fbc83b7f 237 select IRQ_DOMAIN
02d7e041
GU
238 help
239 Enable support for the Renesas Interrupt Controller for external
240 devices, as found on R-Mobile APE6, R-Car Gen2, and R-Car Gen3 SoCs.
fbc83b7f 241
a644ccb8 242config RENESAS_RZA1_IRQC
02d7e041 243 bool "Renesas RZ/A1 IRQC support" if COMPILE_TEST
a644ccb8 244 select IRQ_DOMAIN_HIERARCHY
02d7e041
GU
245 help
246 Enable support for the Renesas RZ/A1 Interrupt Controller, to use up
247 to 8 external interrupts with configurable sense select.
a644ccb8 248
07088484
LJ
249config ST_IRQCHIP
250 bool
251 select REGMAP
252 select MFD_SYSCON
253 help
254 Enables SysCfg Controlled IRQs on STi based platforms.
255
4bba6689
MR
256config TANGO_IRQ
257 bool
258 select IRQ_DOMAIN
259 select GENERIC_IRQ_CHIP
260
b06eb017
CR
261config TB10X_IRQC
262 bool
263 select IRQ_DOMAIN
264 select GENERIC_IRQ_CHIP
265
d01f8633
DR
266config TS4800_IRQ
267 tristate "TS-4800 IRQ controller"
268 select IRQ_DOMAIN
0df337cf 269 depends on HAS_IOMEM
d2b383dc 270 depends on SOC_IMX51 || COMPILE_TEST
d01f8633
DR
271 help
272 Support for the TS-4800 FPGA IRQ controller
273
2389d501
LW
274config VERSATILE_FPGA_IRQ
275 bool
276 select IRQ_DOMAIN
277
278config VERSATILE_FPGA_IRQ_NR
279 int
280 default 4
281 depends on VERSATILE_FPGA_IRQ
26a8e96a
MF
282
283config XTENSA_MX
284 bool
285 select IRQ_DOMAIN
50091212 286 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
96ca848e 287
0547dc78
ZLK
288config XILINX_INTC
289 bool
290 select IRQ_DOMAIN
291
96ca848e
S
292config IRQ_CROSSBAR
293 bool
294 help
f54619f2 295 Support for a CROSSBAR ip that precedes the main interrupt controller.
96ca848e
S
296 The primary irqchip invokes the crossbar's callback which inturn allocates
297 a free irq and configures the IP. Thus the peripheral interrupts are
298 routed to one of the free irqchip interrupt lines.
89323f8c
GS
299
300config KEYSTONE_IRQ
301 tristate "Keystone 2 IRQ controller IP"
302 depends on ARCH_KEYSTONE
303 help
304 Support for Texas Instruments Keystone 2 IRQ controller IP which
305 is part of the Keystone 2 IPC mechanism
8a19b8f1
AB
306
307config MIPS_GIC
308 bool
bb11cff3 309 select GENERIC_IRQ_IPI
2af70a96 310 select IRQ_DOMAIN_HIERARCHY
8a19b8f1 311 select MIPS_CM
8a764482 312
44e08e70
PB
313config INGENIC_IRQ
314 bool
315 depends on MACH_INGENIC
316 default y
78c10e55 317
8a764482
YS
318config RENESAS_H8300H_INTC
319 bool
320 select IRQ_DOMAIN
321
322config RENESAS_H8S_INTC
02d7e041 323 bool "Renesas H8S Interrupt Controller Support" if COMPILE_TEST
78c10e55 324 select IRQ_DOMAIN
02d7e041
GU
325 help
326 Enable support for the Renesas H8/300 Interrupt Controller, as found
327 on Renesas H8S SoCs.
e324c4dc
SW
328
329config IMX_GPCV2
330 bool
331 select IRQ_DOMAIN
332 help
333 Enables the wakeup IRQs for IMX platforms with GPCv2 block
7e4ac676
OR
334
335config IRQ_MXS
336 def_bool y if MACH_ASM9260 || ARCH_MXS
337 select IRQ_DOMAIN
338 select STMP_DEVICE
c27f29bb 339
19d99164
AB
340config MSCC_OCELOT_IRQ
341 bool
342 select IRQ_DOMAIN
343 select GENERIC_IRQ_CHIP
344
a68a63cb
TP
345config MVEBU_GICP
346 bool
347
e0de91a9
TP
348config MVEBU_ICU
349 bool
350
c27f29bb
TP
351config MVEBU_ODMI
352 bool
fa23b9d1 353 select GENERIC_MSI_IRQ_DOMAIN
9e2c986c 354
a109893b
TP
355config MVEBU_PIC
356 bool
357
61ce8d8d
MR
358config MVEBU_SEI
359 bool
360
b8f3ebe6
ML
361config LS_SCFG_MSI
362 def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
363 depends on PCI && PCI_MSI
b8f3ebe6 364
9e2c986c
MZ
365config PARTITION_PERCPU
366 bool
0efacbba 367
44df427c
NC
368config EZNPS_GIC
369 bool "NPS400 Global Interrupt Manager (GIM)"
ffd565e3 370 depends on ARC || (COMPILE_TEST && !64BIT)
44df427c
NC
371 select IRQ_DOMAIN
372 help
373 Support the EZchip NPS400 global interrupt controller
e0720416
AT
374
375config STM32_EXTI
376 bool
377 select IRQ_DOMAIN
0e7d7807 378 select GENERIC_IRQ_CHIP
f20cc9b0
AVF
379
380config QCOM_IRQ_COMBINER
381 bool "QCOM IRQ combiner support"
382 depends on ARCH_QCOM && ACPI
f20cc9b0
AVF
383 select IRQ_DOMAIN_HIERARCHY
384 help
385 Say yes here to add support for the IRQ combiner devices embedded
386 in Qualcomm Technologies chips.
5ed34d3a
MY
387
388config IRQ_UNIPHIER_AIDET
389 bool "UniPhier AIDET support" if COMPILE_TEST
390 depends on ARCH_UNIPHIER || COMPILE_TEST
391 default ARCH_UNIPHIER
392 select IRQ_DOMAIN_HIERARCHY
393 help
394 Support for the UniPhier AIDET (ARM Interrupt Detector).
c94fb639 395
215f4cc0
JB
396config MESON_IRQ_GPIO
397 bool "Meson GPIO Interrupt Multiplexer"
d9ee91c1 398 depends on ARCH_MESON
215f4cc0
JB
399 select IRQ_DOMAIN_HIERARCHY
400 help
401 Support Meson SoC Family GPIO Interrupt Multiplexer
402
4235ff50
MD
403config GOLDFISH_PIC
404 bool "Goldfish programmable interrupt controller"
405 depends on MIPS && (GOLDFISH || COMPILE_TEST)
406 select IRQ_DOMAIN
407 help
408 Say yes here to enable Goldfish interrupt controller driver used
409 for Goldfish based virtual platforms.
410
f55c73ae
AS
411config QCOM_PDC
412 bool "QCOM PDC"
413 depends on ARCH_QCOM
f55c73ae
AS
414 select IRQ_DOMAIN_HIERARCHY
415 help
416 Power Domain Controller driver to manage and configure wakeup
417 IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
418
d8a5f5f7
GR
419config CSKY_MPINTC
420 bool "C-SKY Multi Processor Interrupt Controller"
421 depends on CSKY
422 help
423 Say yes here to enable C-SKY SMP interrupt controller driver used
424 for C-SKY SMP system.
425 In fact it's not mmio map in hw and it use ld/st to visit the
426 controller's register inside CPU.
427
edff1b48
GR
428config CSKY_APB_INTC
429 bool "C-SKY APB Interrupt Controller"
430 depends on CSKY
431 help
432 Say yes here to enable C-SKY APB interrupt controller driver used
433 by C-SKY single core SOC system. It use mmio map apb-bus to visit
434 the controller's register.
435
0136afa0
LS
436config IMX_IRQSTEER
437 bool "i.MX IRQSTEER support"
438 depends on ARCH_MXC || COMPILE_TEST
439 default ARCH_MXC
440 select IRQ_DOMAIN
441 help
442 Support for the i.MX IRQSTEER interrupt multiplexer/remapper.
443
9e543e22
JY
444config LS1X_IRQ
445 bool "Loongson-1 Interrupt Controller"
446 depends on MACH_LOONGSON32
447 default y
448 select IRQ_DOMAIN
449 select GENERIC_IRQ_CHIP
450 help
451 Support for the Loongson-1 platform Interrupt Controller.
452
cd844b07
LV
453config TI_SCI_INTR_IRQCHIP
454 bool
455 depends on TI_SCI_PROTOCOL
456 select IRQ_DOMAIN_HIERARCHY
457 help
458 This enables the irqchip driver support for K3 Interrupt router
459 over TI System Control Interface available on some new TI's SoCs.
460 If you wish to use interrupt router irq resources managed by the
461 TI System Controller, say Y here. Otherwise, say N.
462
9f1463b8
LV
463config TI_SCI_INTA_IRQCHIP
464 bool
465 depends on TI_SCI_PROTOCOL
466 select IRQ_DOMAIN_HIERARCHY
f011df61 467 select TI_SCI_INTA_MSI_DOMAIN
9f1463b8
LV
468 help
469 This enables the irqchip driver support for K3 Interrupt aggregator
470 over TI System Control Interface available on some new TI's SoCs.
471 If you wish to use interrupt aggregator irq resources managed by the
472 TI System Controller, say Y here. Otherwise, say N.
473
c94fb639 474endmenu
8237f8bc
CH
475
476config SIFIVE_PLIC
477 bool "SiFive Platform-Level Interrupt Controller"
478 depends on RISCV
479 help
480 This enables support for the PLIC chip found in SiFive (and
481 potentially other) RISC-V systems. The PLIC controls devices
482 interrupts and connects them to each core's local interrupt
483 controller. Aside from timer and software interrupts, all other
484 interrupt sources are subordinate to the PLIC.
485
486 If you don't know what to do here, say Y.