Merge tag 'exfat-for-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linki...
[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
54a38440 151 select IRQ_DOMAIN_HIERARCHY
350d71b9 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
72d44c0c 235 bool "Renesas R-Mobile APE6, R-Car Gen{2,3} and RZ/G{1,2} 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
72d44c0c 240 devices, as found on R-Mobile APE6, R-Car Gen{2,3} and RZ/G{1,2} 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
03ac990e
MW
249config SL28CPLD_INTC
250 bool "Kontron sl28cpld IRQ controller"
251 depends on MFD_SL28CPLD=y || COMPILE_TEST
252 select REGMAP_IRQ
253 help
254 Interrupt controller driver for the board management controller
255 found on the Kontron sl28 CPLD.
256
07088484
LJ
257config ST_IRQCHIP
258 bool
259 select REGMAP
260 select MFD_SYSCON
261 help
262 Enables SysCfg Controlled IRQs on STi based platforms.
263
4bba6689
MR
264config TANGO_IRQ
265 bool
266 select IRQ_DOMAIN
267 select GENERIC_IRQ_CHIP
268
b06eb017
CR
269config TB10X_IRQC
270 bool
271 select IRQ_DOMAIN
272 select GENERIC_IRQ_CHIP
273
d01f8633
DR
274config TS4800_IRQ
275 tristate "TS-4800 IRQ controller"
276 select IRQ_DOMAIN
0df337cf 277 depends on HAS_IOMEM
d2b383dc 278 depends on SOC_IMX51 || COMPILE_TEST
d01f8633
DR
279 help
280 Support for the TS-4800 FPGA IRQ controller
281
2389d501
LW
282config VERSATILE_FPGA_IRQ
283 bool
284 select IRQ_DOMAIN
285
286config VERSATILE_FPGA_IRQ_NR
287 int
288 default 4
289 depends on VERSATILE_FPGA_IRQ
26a8e96a
MF
290
291config XTENSA_MX
292 bool
293 select IRQ_DOMAIN
50091212 294 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
96ca848e 295
0547dc78
ZLK
296config XILINX_INTC
297 bool
298 select IRQ_DOMAIN
299
96ca848e
S
300config IRQ_CROSSBAR
301 bool
302 help
f54619f2 303 Support for a CROSSBAR ip that precedes the main interrupt controller.
96ca848e
S
304 The primary irqchip invokes the crossbar's callback which inturn allocates
305 a free irq and configures the IP. Thus the peripheral interrupts are
306 routed to one of the free irqchip interrupt lines.
89323f8c
GS
307
308config KEYSTONE_IRQ
309 tristate "Keystone 2 IRQ controller IP"
310 depends on ARCH_KEYSTONE
311 help
312 Support for Texas Instruments Keystone 2 IRQ controller IP which
313 is part of the Keystone 2 IPC mechanism
8a19b8f1
AB
314
315config MIPS_GIC
316 bool
bb11cff3 317 select GENERIC_IRQ_IPI
2af70a96 318 select IRQ_DOMAIN_HIERARCHY
8a19b8f1 319 select MIPS_CM
8a764482 320
44e08e70
PB
321config INGENIC_IRQ
322 bool
323 depends on MACH_INGENIC
324 default y
78c10e55 325
9536eba0
PC
326config INGENIC_TCU_IRQ
327 bool "Ingenic JZ47xx TCU interrupt controller"
328 default MACH_INGENIC
329 depends on MIPS || COMPILE_TEST
330 select MFD_SYSCON
8084499b 331 select GENERIC_IRQ_CHIP
9536eba0
PC
332 help
333 Support for interrupts in the Timer/Counter Unit (TCU) of the Ingenic
334 JZ47xx SoCs.
335
336 If unsure, say N.
337
8a764482
YS
338config RENESAS_H8300H_INTC
339 bool
340 select IRQ_DOMAIN
341
342config RENESAS_H8S_INTC
02d7e041 343 bool "Renesas H8S Interrupt Controller Support" if COMPILE_TEST
78c10e55 344 select IRQ_DOMAIN
02d7e041
GU
345 help
346 Enable support for the Renesas H8/300 Interrupt Controller, as found
347 on Renesas H8S SoCs.
e324c4dc
SW
348
349config IMX_GPCV2
350 bool
351 select IRQ_DOMAIN
352 help
353 Enables the wakeup IRQs for IMX platforms with GPCv2 block
7e4ac676
OR
354
355config IRQ_MXS
356 def_bool y if MACH_ASM9260 || ARCH_MXS
357 select IRQ_DOMAIN
358 select STMP_DEVICE
c27f29bb 359
19d99164
AB
360config MSCC_OCELOT_IRQ
361 bool
362 select IRQ_DOMAIN
363 select GENERIC_IRQ_CHIP
364
a68a63cb
TP
365config MVEBU_GICP
366 bool
367
e0de91a9
TP
368config MVEBU_ICU
369 bool
370
c27f29bb
TP
371config MVEBU_ODMI
372 bool
fa23b9d1 373 select GENERIC_MSI_IRQ_DOMAIN
9e2c986c 374
a109893b
TP
375config MVEBU_PIC
376 bool
377
61ce8d8d
MR
378config MVEBU_SEI
379 bool
380
0dcd9f87
RV
381config LS_EXTIRQ
382 def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
383 select MFD_SYSCON
384
b8f3ebe6
ML
385config LS_SCFG_MSI
386 def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
387 depends on PCI && PCI_MSI
b8f3ebe6 388
9e2c986c
MZ
389config PARTITION_PERCPU
390 bool
0efacbba 391
44df427c
NC
392config EZNPS_GIC
393 bool "NPS400 Global Interrupt Manager (GIM)"
ffd565e3 394 depends on ARC || (COMPILE_TEST && !64BIT)
44df427c
NC
395 select IRQ_DOMAIN
396 help
397 Support the EZchip NPS400 global interrupt controller
e0720416
AT
398
399config STM32_EXTI
400 bool
401 select IRQ_DOMAIN
0e7d7807 402 select GENERIC_IRQ_CHIP
f20cc9b0
AVF
403
404config QCOM_IRQ_COMBINER
405 bool "QCOM IRQ combiner support"
406 depends on ARCH_QCOM && ACPI
f20cc9b0
AVF
407 select IRQ_DOMAIN_HIERARCHY
408 help
409 Say yes here to add support for the IRQ combiner devices embedded
410 in Qualcomm Technologies chips.
5ed34d3a
MY
411
412config IRQ_UNIPHIER_AIDET
413 bool "UniPhier AIDET support" if COMPILE_TEST
414 depends on ARCH_UNIPHIER || COMPILE_TEST
415 default ARCH_UNIPHIER
416 select IRQ_DOMAIN_HIERARCHY
417 help
418 Support for the UniPhier AIDET (ARM Interrupt Detector).
c94fb639 419
215f4cc0
JB
420config MESON_IRQ_GPIO
421 bool "Meson GPIO Interrupt Multiplexer"
d9ee91c1 422 depends on ARCH_MESON
215f4cc0
JB
423 select IRQ_DOMAIN_HIERARCHY
424 help
425 Support Meson SoC Family GPIO Interrupt Multiplexer
426
4235ff50
MD
427config GOLDFISH_PIC
428 bool "Goldfish programmable interrupt controller"
429 depends on MIPS && (GOLDFISH || COMPILE_TEST)
430 select IRQ_DOMAIN
431 help
432 Say yes here to enable Goldfish interrupt controller driver used
433 for Goldfish based virtual platforms.
434
f55c73ae 435config QCOM_PDC
a150dac5 436 bool "QCOM PDC"
f55c73ae 437 depends on ARCH_QCOM
f55c73ae
AS
438 select IRQ_DOMAIN_HIERARCHY
439 help
440 Power Domain Controller driver to manage and configure wakeup
441 IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
442
d8a5f5f7
GR
443config CSKY_MPINTC
444 bool "C-SKY Multi Processor Interrupt Controller"
445 depends on CSKY
446 help
447 Say yes here to enable C-SKY SMP interrupt controller driver used
448 for C-SKY SMP system.
656b42de 449 In fact it's not mmio map in hardware and it uses ld/st to visit the
d8a5f5f7
GR
450 controller's register inside CPU.
451
edff1b48
GR
452config CSKY_APB_INTC
453 bool "C-SKY APB Interrupt Controller"
454 depends on CSKY
455 help
456 Say yes here to enable C-SKY APB interrupt controller driver used
656b42de 457 by C-SKY single core SOC system. It uses mmio map apb-bus to visit
edff1b48
GR
458 the controller's register.
459
0136afa0
LS
460config IMX_IRQSTEER
461 bool "i.MX IRQSTEER support"
462 depends on ARCH_MXC || COMPILE_TEST
463 default ARCH_MXC
464 select IRQ_DOMAIN
465 help
466 Support for the i.MX IRQSTEER interrupt multiplexer/remapper.
467
2fbb1396 468config IMX_INTMUX
66968d7d 469 def_bool y if ARCH_MXC || COMPILE_TEST
2fbb1396
JZ
470 select IRQ_DOMAIN
471 help
472 Support for the i.MX INTMUX interrupt multiplexer.
473
9e543e22
JY
474config LS1X_IRQ
475 bool "Loongson-1 Interrupt Controller"
476 depends on MACH_LOONGSON32
477 default y
478 select IRQ_DOMAIN
479 select GENERIC_IRQ_CHIP
480 help
481 Support for the Loongson-1 platform Interrupt Controller.
482
cd844b07
LV
483config TI_SCI_INTR_IRQCHIP
484 bool
485 depends on TI_SCI_PROTOCOL
486 select IRQ_DOMAIN_HIERARCHY
487 help
488 This enables the irqchip driver support for K3 Interrupt router
489 over TI System Control Interface available on some new TI's SoCs.
490 If you wish to use interrupt router irq resources managed by the
491 TI System Controller, say Y here. Otherwise, say N.
492
9f1463b8
LV
493config TI_SCI_INTA_IRQCHIP
494 bool
495 depends on TI_SCI_PROTOCOL
496 select IRQ_DOMAIN_HIERARCHY
f011df61 497 select TI_SCI_INTA_MSI_DOMAIN
9f1463b8
LV
498 help
499 This enables the irqchip driver support for K3 Interrupt aggregator
500 over TI System Control Interface available on some new TI's SoCs.
501 If you wish to use interrupt aggregator irq resources managed by the
502 TI System Controller, say Y here. Otherwise, say N.
503
04e2d1e0
GJ
504config TI_PRUSS_INTC
505 tristate "TI PRU-ICSS Interrupt Controller"
7e92dee6 506 depends on ARCH_DAVINCI || SOC_AM33XX || SOC_AM43XX || SOC_DRA7XX || ARCH_KEYSTONE || ARCH_K3
04e2d1e0
GJ
507 select IRQ_DOMAIN
508 help
509 This enables support for the PRU-ICSS Local Interrupt Controller
510 present within a PRU-ICSS subsystem present on various TI SoCs.
511 The PRUSS INTC enables various interrupts to be routed to multiple
512 different processors within the SoC.
513
6b7ce892
AP
514config RISCV_INTC
515 bool "RISC-V Local Interrupt Controller"
516 depends on RISCV
517 default y
518 help
519 This enables support for the per-HART local interrupt controller
520 found in standard RISC-V systems. The per-HART local interrupt
521 controller handles timer interrupts, software interrupts, and
522 hardware interrupts. Without a per-HART local interrupt controller,
523 a RISC-V system will be unable to handle any interrupts.
524
525 If you don't know what to do here, say Y.
526
8237f8bc
CH
527config SIFIVE_PLIC
528 bool "SiFive Platform-Level Interrupt Controller"
529 depends on RISCV
466008f9 530 select IRQ_DOMAIN_HIERARCHY
8237f8bc
CH
531 help
532 This enables support for the PLIC chip found in SiFive (and
533 potentially other) RISC-V systems. The PLIC controls devices
534 interrupts and connects them to each core's local interrupt
535 controller. Aside from timer and software interrupts, all other
536 interrupt sources are subordinate to the PLIC.
537
538 If you don't know what to do here, say Y.
01493855 539
b74416db
HK
540config EXYNOS_IRQ_COMBINER
541 bool "Samsung Exynos IRQ combiner support" if COMPILE_TEST
542 depends on (ARCH_EXYNOS && ARM) || COMPILE_TEST
543 help
544 Say yes here to add support for the IRQ combiner devices embedded
545 in Samsung Exynos chips.
546
dbb15226
JY
547config LOONGSON_LIOINTC
548 bool "Loongson Local I/O Interrupt Controller"
549 depends on MACH_LOONGSON64
550 default y
551 select IRQ_DOMAIN
552 select GENERIC_IRQ_CHIP
553 help
554 Support for the Loongson Local I/O Interrupt Controller.
555
a93f1d90
JY
556config LOONGSON_HTPIC
557 bool "Loongson3 HyperTransport PIC Controller"
558 depends on MACH_LOONGSON64
559 default y
560 select IRQ_DOMAIN
561 select GENERIC_IRQ_CHIP
a93f1d90
JY
562 help
563 Support for the Loongson-3 HyperTransport PIC Controller.
564
818e915f
JY
565config LOONGSON_HTVEC
566 bool "Loongson3 HyperTransport Interrupt Vector Controller"
d77aeb5d 567 depends on MACH_LOONGSON64
818e915f
JY
568 default MACH_LOONGSON64
569 select IRQ_DOMAIN_HIERARCHY
570 help
571 Support for the Loongson3 HyperTransport Interrupt Vector Controller.
572
ef8c01eb
JY
573config LOONGSON_PCH_PIC
574 bool "Loongson PCH PIC Controller"
575 depends on MACH_LOONGSON64 || COMPILE_TEST
576 default MACH_LOONGSON64
577 select IRQ_DOMAIN_HIERARCHY
578 select IRQ_FASTEOI_HIERARCHY_HANDLERS
579 help
580 Support for the Loongson PCH PIC Controller.
581
632dcc2c 582config LOONGSON_PCH_MSI
a23df9a4 583 bool "Loongson PCH MSI Controller"
632dcc2c
JY
584 depends on MACH_LOONGSON64 || COMPILE_TEST
585 depends on PCI
586 default MACH_LOONGSON64
587 select IRQ_DOMAIN_HIERARCHY
588 select PCI_MSI
589 help
590 Support for the Loongson PCH MSI Controller.
591
ad4c938c
MPT
592config MST_IRQ
593 bool "MStar Interrupt Controller"
594 default ARCH_MEDIATEK
595 select IRQ_DOMAIN
596 select IRQ_DOMAIN_HIERARCHY
597 help
598 Support MStar Interrupt Controller.
599
01493855 600endmenu