Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
c94fb639 RD |
2 | menu "IRQ chip support" |
3 | ||
f6e916b8 TP |
4 | config IRQCHIP |
5 | def_bool y | |
6 | depends on OF_IRQ | |
7 | ||
81243e44 RH |
8 | config 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 |
14 | config ARM_GIC_PM |
15 | bool | |
16 | depends on PM | |
17 | select ARM_GIC | |
9c8edddf | 18 | |
a27d21e0 LW |
19 | config 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 |
25 | config ARM_GIC_V2M |
26 | bool | |
3ee80364 AB |
27 | depends on PCI |
28 | select ARM_GIC | |
29 | select PCI_MSI | |
853a33ce | 30 | |
81243e44 RH |
31 | config GIC_NON_BANKED |
32 | bool | |
33 | ||
021f6537 MZ |
34 | config 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 |
41 | config ARM_GIC_V3_ITS |
42 | bool | |
29f41139 MZ |
43 | select GENERIC_MSI_IRQ_DOMAIN |
44 | default ARM_GIC_V3 | |
45 | ||
46 | config 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 |
53 | config 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 |
59 | config ARM_NVIC |
60 | bool | |
2d9f59f7 | 61 | select IRQ_DOMAIN_HIERARCHY |
292ec080 UKK |
62 | select GENERIC_IRQ_CHIP |
63 | ||
44430ec0 RH |
64 | config ARM_VIC |
65 | bool | |
66 | select IRQ_DOMAIN | |
4f7799d9 | 67 | select GENERIC_IRQ_MULTI_HANDLER |
44430ec0 RH |
68 | |
69 | config 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 |
78 | config 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 |
84 | config ALPINE_MSI |
85 | bool | |
3ee80364 AB |
86 | depends on PCI |
87 | select PCI_MSI | |
e6b78f2c | 88 | select GENERIC_IRQ_CHIP |
e6b78f2c | 89 | |
1eb77c3b TS |
90 | config 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 |
98 | config 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 | ||
105 | config 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 |
112 | config I8259 |
113 | bool | |
114 | select IRQ_DOMAIN | |
115 | ||
c7c42ec2 SA |
116 | config 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 |
122 | config 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 |
128 | config BCM7120_L2_IRQ |
129 | bool | |
130 | select GENERIC_IRQ_CHIP | |
131 | select IRQ_DOMAIN | |
132 | ||
7f646e92 FF |
133 | config BRCMSTB_L2_IRQ |
134 | bool | |
7f646e92 FF |
135 | select GENERIC_IRQ_CHIP |
136 | select IRQ_DOMAIN | |
137 | ||
0145beed BG |
138 | config DAVINCI_AINTC |
139 | bool | |
140 | select GENERIC_IRQ_CHIP | |
141 | select IRQ_DOMAIN | |
142 | ||
0fc3d74c BG |
143 | config DAVINCI_CP_INTC |
144 | bool | |
145 | select GENERIC_IRQ_CHIP | |
146 | select IRQ_DOMAIN | |
147 | ||
350d71b9 SH |
148 | config DW_APB_ICTL |
149 | bool | |
e1588490 | 150 | select GENERIC_IRQ_CHIP |
350d71b9 SH |
151 | select IRQ_DOMAIN |
152 | ||
6ee532e2 LW |
153 | config FARADAY_FTINTC010 |
154 | bool | |
155 | select IRQ_DOMAIN | |
4f7799d9 | 156 | select GENERIC_IRQ_MULTI_HANDLER |
6ee532e2 LW |
157 | select SPARSE_IRQ |
158 | ||
9a7c4abd M |
159 | config HISILICON_IRQ_MBIGEN |
160 | bool | |
161 | select ARM_GIC_V3 | |
162 | select ARM_GIC_V3_ITS | |
9a7c4abd | 163 | |
b6ef9161 JH |
164 | config IMGPDC_IRQ |
165 | bool | |
166 | select GENERIC_IRQ_CHIP | |
167 | select IRQ_DOMAIN | |
168 | ||
5b978c10 LW |
169 | config IXP4XX_IRQ |
170 | bool | |
171 | select IRQ_DOMAIN | |
172 | select GENERIC_IRQ_MULTI_HANDLER | |
173 | select SPARSE_IRQ | |
174 | ||
da0abe1a RF |
175 | config MADERA_IRQ |
176 | tristate | |
177 | ||
67e38cf2 RB |
178 | config 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 |
186 | config 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 |
194 | config OMPIC |
195 | bool | |
196 | ||
4db8e6d2 SK |
197 | config OR1K_PIC |
198 | bool | |
199 | select IRQ_DOMAIN | |
200 | ||
8598066c FB |
201 | config OMAP_IRQCHIP |
202 | bool | |
203 | select GENERIC_IRQ_CHIP | |
204 | select IRQ_DOMAIN | |
205 | ||
9dbd90f1 SH |
206 | config ORION_IRQCHIP |
207 | bool | |
208 | select IRQ_DOMAIN | |
4f7799d9 | 209 | select GENERIC_IRQ_MULTI_HANDLER |
9dbd90f1 | 210 | |
aaa8666a CB |
211 | config PIC32_EVIC |
212 | bool | |
213 | select GENERIC_IRQ_CHIP | |
214 | select IRQ_DOMAIN | |
215 | ||
981b58f6 | 216 | config 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 |
223 | config RDA_INTC |
224 | bool | |
225 | select IRQ_DOMAIN | |
226 | ||
44358048 | 227 | config 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 | 234 | config 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 | 242 | config 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 |
249 | config 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 |
256 | config TANGO_IRQ |
257 | bool | |
258 | select IRQ_DOMAIN | |
259 | select GENERIC_IRQ_CHIP | |
260 | ||
b06eb017 CR |
261 | config TB10X_IRQC |
262 | bool | |
263 | select IRQ_DOMAIN | |
264 | select GENERIC_IRQ_CHIP | |
265 | ||
d01f8633 DR |
266 | config 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 |
274 | config VERSATILE_FPGA_IRQ |
275 | bool | |
276 | select IRQ_DOMAIN | |
277 | ||
278 | config VERSATILE_FPGA_IRQ_NR | |
279 | int | |
280 | default 4 | |
281 | depends on VERSATILE_FPGA_IRQ | |
26a8e96a MF |
282 | |
283 | config XTENSA_MX | |
284 | bool | |
285 | select IRQ_DOMAIN | |
50091212 | 286 | select GENERIC_IRQ_EFFECTIVE_AFF_MASK |
96ca848e | 287 | |
0547dc78 ZLK |
288 | config XILINX_INTC |
289 | bool | |
290 | select IRQ_DOMAIN | |
291 | ||
96ca848e S |
292 | config 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 | |
300 | config 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 | |
307 | config 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 |
313 | config INGENIC_IRQ |
314 | bool | |
315 | depends on MACH_INGENIC | |
316 | default y | |
78c10e55 | 317 | |
8a764482 YS |
318 | config RENESAS_H8300H_INTC |
319 | bool | |
320 | select IRQ_DOMAIN | |
321 | ||
322 | config 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 | |
329 | config IMX_GPCV2 | |
330 | bool | |
331 | select IRQ_DOMAIN | |
332 | help | |
333 | Enables the wakeup IRQs for IMX platforms with GPCv2 block | |
7e4ac676 OR |
334 | |
335 | config IRQ_MXS | |
336 | def_bool y if MACH_ASM9260 || ARCH_MXS | |
337 | select IRQ_DOMAIN | |
338 | select STMP_DEVICE | |
c27f29bb | 339 | |
19d99164 AB |
340 | config MSCC_OCELOT_IRQ |
341 | bool | |
342 | select IRQ_DOMAIN | |
343 | select GENERIC_IRQ_CHIP | |
344 | ||
a68a63cb TP |
345 | config MVEBU_GICP |
346 | bool | |
347 | ||
e0de91a9 TP |
348 | config MVEBU_ICU |
349 | bool | |
350 | ||
c27f29bb TP |
351 | config MVEBU_ODMI |
352 | bool | |
fa23b9d1 | 353 | select GENERIC_MSI_IRQ_DOMAIN |
9e2c986c | 354 | |
a109893b TP |
355 | config MVEBU_PIC |
356 | bool | |
357 | ||
61ce8d8d MR |
358 | config MVEBU_SEI |
359 | bool | |
360 | ||
b8f3ebe6 ML |
361 | config LS_SCFG_MSI |
362 | def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE | |
363 | depends on PCI && PCI_MSI | |
b8f3ebe6 | 364 | |
9e2c986c MZ |
365 | config PARTITION_PERCPU |
366 | bool | |
0efacbba | 367 | |
44df427c NC |
368 | config 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 | |
375 | config STM32_EXTI | |
376 | bool | |
377 | select IRQ_DOMAIN | |
0e7d7807 | 378 | select GENERIC_IRQ_CHIP |
f20cc9b0 AVF |
379 | |
380 | config 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 | |
388 | config 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 |
396 | config 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 |
403 | config 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 |
411 | config 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 |
419 | config 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 |
428 | config 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 |
436 | config 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 |
444 | config 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 |
453 | config 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 |
463 | config 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 | 474 | endmenu |
8237f8bc CH |
475 | |
476 | config 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. |