]>
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 | |
612d5494 | 6 | depends on (OF_IRQ || ACPI_GENERIC_GSI) |
f6e916b8 | 7 | |
81243e44 RH |
8 | config ARM_GIC |
9 | bool | |
dee23403 | 10 | depends on OF |
9a1091ef | 11 | select IRQ_DOMAIN_HIERARCHY |
0e6c027c | 12 | select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP |
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 | |
74e44454 | 29 | select IRQ_MSI_LIB |
3ee80364 | 30 | select PCI_MSI |
853a33ce | 31 | |
81243e44 RH |
32 | config GIC_NON_BANKED |
33 | bool | |
34 | ||
021f6537 MZ |
35 | config ARM_GIC_V3 |
36 | bool | |
443acc4f | 37 | select IRQ_DOMAIN_HIERARCHY |
e3825ba1 | 38 | select PARTITION_PERCPU |
0e6c027c | 39 | select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP |
35727af2 | 40 | select HAVE_ARM_SMCCC_DISCOVERY |
021f6537 | 41 | |
19812729 MZ |
42 | config ARM_GIC_V3_ITS |
43 | bool | |
13e7accb | 44 | select GENERIC_MSI_IRQ |
48f71d56 | 45 | select IRQ_MSI_LIB |
29f41139 MZ |
46 | default ARM_GIC_V3 |
47 | ||
48 | config ARM_GIC_V3_ITS_PCI | |
49 | bool | |
50 | depends on ARM_GIC_V3_ITS | |
3ee80364 AB |
51 | depends on PCI |
52 | depends on PCI_MSI | |
29f41139 | 53 | default ARM_GIC_V3_ITS |
021f6537 | 54 | |
7afe031c BP |
55 | config ARM_GIC_V3_ITS_FSL_MC |
56 | bool | |
57 | depends on ARM_GIC_V3_ITS | |
58 | depends on FSL_MC_BUS | |
59 | default ARM_GIC_V3_ITS | |
60 | ||
292ec080 UKK |
61 | config ARM_NVIC |
62 | bool | |
2d9f59f7 | 63 | select IRQ_DOMAIN_HIERARCHY |
292ec080 UKK |
64 | select GENERIC_IRQ_CHIP |
65 | ||
44430ec0 RH |
66 | config ARM_VIC |
67 | bool | |
68 | select IRQ_DOMAIN | |
44430ec0 RH |
69 | |
70 | config ARM_VIC_NR | |
71 | int | |
72 | default 4 if ARCH_S5PV210 | |
44430ec0 RH |
73 | default 2 |
74 | depends on ARM_VIC | |
75 | help | |
76 | The maximum number of VICs available in the system, for | |
77 | power management. | |
78 | ||
72e257c6 TG |
79 | config IRQ_MSI_LIB |
80 | bool | |
81 | ||
fed6d336 TP |
82 | config ARMADA_370_XP_IRQ |
83 | bool | |
fed6d336 | 84 | select GENERIC_IRQ_CHIP |
3ee80364 | 85 | select PCI_MSI if PCI |
0e6c027c | 86 | select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP |
fed6d336 | 87 | |
e6b78f2c AT |
88 | config ALPINE_MSI |
89 | bool | |
3ee80364 AB |
90 | depends on PCI |
91 | select PCI_MSI | |
e6b78f2c | 92 | select GENERIC_IRQ_CHIP |
e6b78f2c | 93 | |
1eb77c3b TS |
94 | config AL_FIC |
95 | bool "Amazon's Annapurna Labs Fabric Interrupt Controller" | |
9869f37a | 96 | depends on OF |
35e0cd77 | 97 | depends on HAS_IOMEM |
1eb77c3b TS |
98 | select GENERIC_IRQ_CHIP |
99 | select IRQ_DOMAIN | |
100 | help | |
101 | Support Amazon's Annapurna Labs Fabric Interrupt Controller. | |
102 | ||
b1479ebb BB |
103 | config ATMEL_AIC_IRQ |
104 | bool | |
105 | select GENERIC_IRQ_CHIP | |
106 | select IRQ_DOMAIN | |
b1479ebb BB |
107 | select SPARSE_IRQ |
108 | ||
109 | config ATMEL_AIC5_IRQ | |
110 | bool | |
111 | select GENERIC_IRQ_CHIP | |
112 | select IRQ_DOMAIN | |
b1479ebb BB |
113 | select SPARSE_IRQ |
114 | ||
0509cfde RB |
115 | config I8259 |
116 | bool | |
117 | select IRQ_DOMAIN | |
118 | ||
c7c42ec2 SA |
119 | config BCM6345_L1_IRQ |
120 | bool | |
121 | select GENERIC_IRQ_CHIP | |
122 | select IRQ_DOMAIN | |
0e6c027c | 123 | select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP |
c7c42ec2 | 124 | |
5f7f0317 | 125 | config BCM7038_L1_IRQ |
c057c799 FF |
126 | tristate "Broadcom STB 7038-style L1/L2 interrupt controller driver" |
127 | depends on ARCH_BRCMSTB || BMIPS_GENERIC | |
128 | default ARCH_BRCMSTB || BMIPS_GENERIC | |
5f7f0317 KC |
129 | select GENERIC_IRQ_CHIP |
130 | select IRQ_DOMAIN | |
0e6c027c | 131 | select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP |
5f7f0317 | 132 | |
a4fcbb86 | 133 | config BCM7120_L2_IRQ |
3ac268d5 FF |
134 | tristate "Broadcom STB 7120-style L2 interrupt controller driver" |
135 | depends on ARCH_BRCMSTB || BMIPS_GENERIC | |
136 | default ARCH_BRCMSTB || BMIPS_GENERIC | |
a4fcbb86 KC |
137 | select GENERIC_IRQ_CHIP |
138 | select IRQ_DOMAIN | |
139 | ||
7f646e92 | 140 | config BRCMSTB_L2_IRQ |
51d9db5c FF |
141 | tristate "Broadcom STB generic L2 interrupt controller driver" |
142 | depends on ARCH_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC | |
143 | default ARCH_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC | |
7f646e92 FF |
144 | select GENERIC_IRQ_CHIP |
145 | select IRQ_DOMAIN | |
146 | ||
0fc3d74c BG |
147 | config DAVINCI_CP_INTC |
148 | bool | |
149 | select GENERIC_IRQ_CHIP | |
150 | select IRQ_DOMAIN | |
151 | ||
350d71b9 | 152 | config DW_APB_ICTL |
be5e5f3a | 153 | bool |
e1588490 | 154 | select GENERIC_IRQ_CHIP |
54a38440 | 155 | select IRQ_DOMAIN_HIERARCHY |
350d71b9 | 156 | |
6ee532e2 LW |
157 | config FARADAY_FTINTC010 |
158 | bool | |
159 | select IRQ_DOMAIN | |
6ee532e2 LW |
160 | select SPARSE_IRQ |
161 | ||
9a7c4abd M |
162 | config HISILICON_IRQ_MBIGEN |
163 | bool | |
164 | select ARM_GIC_V3 | |
165 | select ARM_GIC_V3_ITS | |
9a7c4abd | 166 | |
b6ef9161 JH |
167 | config IMGPDC_IRQ |
168 | bool | |
169 | select GENERIC_IRQ_CHIP | |
170 | select IRQ_DOMAIN | |
171 | ||
5b978c10 LW |
172 | config IXP4XX_IRQ |
173 | bool | |
174 | select IRQ_DOMAIN | |
5b978c10 LW |
175 | select SPARSE_IRQ |
176 | ||
3e3a7b35 HC |
177 | config LAN966X_OIC |
178 | tristate "Microchip LAN966x OIC Support" | |
179 | select GENERIC_IRQ_CHIP | |
180 | select IRQ_DOMAIN | |
181 | help | |
182 | Enable support for the LAN966x Outbound Interrupt Controller. | |
183 | This controller is present on the Microchip LAN966x PCI device and | |
184 | maps the internal interrupts sources to PCIe interrupt. | |
185 | ||
186 | To compile this driver as a module, choose M here: the module | |
187 | will be called irq-lan966x-oic. | |
188 | ||
da0abe1a RF |
189 | config MADERA_IRQ |
190 | tristate | |
191 | ||
67e38cf2 RB |
192 | config IRQ_MIPS_CPU |
193 | bool | |
194 | select GENERIC_IRQ_CHIP | |
0f5209fe | 195 | select GENERIC_IRQ_IPI if SMP && SYS_SUPPORTS_MULTITHREADING |
67e38cf2 | 196 | select IRQ_DOMAIN |
0e6c027c | 197 | select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP |
67e38cf2 | 198 | |
afc98d90 AS |
199 | config CLPS711X_IRQCHIP |
200 | bool | |
201 | depends on ARCH_CLPS711X | |
202 | select IRQ_DOMAIN | |
afc98d90 AS |
203 | select SPARSE_IRQ |
204 | default y | |
205 | ||
9b54470a SH |
206 | config OMPIC |
207 | bool | |
208 | ||
4db8e6d2 SK |
209 | config OR1K_PIC |
210 | bool | |
211 | select IRQ_DOMAIN | |
212 | ||
8598066c FB |
213 | config OMAP_IRQCHIP |
214 | bool | |
215 | select GENERIC_IRQ_CHIP | |
216 | select IRQ_DOMAIN | |
217 | ||
9dbd90f1 SH |
218 | config ORION_IRQCHIP |
219 | bool | |
220 | select IRQ_DOMAIN | |
9dbd90f1 | 221 | |
aaa8666a CB |
222 | config PIC32_EVIC |
223 | bool | |
224 | select GENERIC_IRQ_CHIP | |
225 | select IRQ_DOMAIN | |
226 | ||
981b58f6 | 227 | config JCORE_AIC |
3602ffde RF |
228 | bool "J-Core integrated AIC" if COMPILE_TEST |
229 | depends on OF | |
981b58f6 RF |
230 | select IRQ_DOMAIN |
231 | help | |
232 | Support for the J-Core integrated AIC. | |
233 | ||
d852e62a MS |
234 | config RDA_INTC |
235 | bool | |
236 | select IRQ_DOMAIN | |
237 | ||
44358048 | 238 | config RENESAS_INTC_IRQPIN |
02d7e041 | 239 | bool "Renesas INTC External IRQ Pin Support" if COMPILE_TEST |
44358048 | 240 | select IRQ_DOMAIN |
02d7e041 GU |
241 | help |
242 | Enable support for the Renesas Interrupt Controller for external | |
243 | interrupt pins, as found on SH/R-Mobile and R-Car Gen1 SoCs. | |
44358048 | 244 | |
fbc83b7f | 245 | config RENESAS_IRQC |
72d44c0c | 246 | bool "Renesas R-Mobile APE6, R-Car Gen{2,3} and RZ/G{1,2} IRQC support" if COMPILE_TEST |
99c221df | 247 | select GENERIC_IRQ_CHIP |
fbc83b7f | 248 | select IRQ_DOMAIN |
02d7e041 GU |
249 | help |
250 | Enable support for the Renesas Interrupt Controller for external | |
72d44c0c | 251 | devices, as found on R-Mobile APE6, R-Car Gen{2,3} and RZ/G{1,2} SoCs. |
fbc83b7f | 252 | |
a644ccb8 | 253 | config RENESAS_RZA1_IRQC |
02d7e041 | 254 | bool "Renesas RZ/A1 IRQC support" if COMPILE_TEST |
a644ccb8 | 255 | select IRQ_DOMAIN_HIERARCHY |
02d7e041 GU |
256 | help |
257 | Enable support for the Renesas RZ/A1 Interrupt Controller, to use up | |
258 | to 8 external interrupts with configurable sense select. | |
a644ccb8 | 259 | |
3fed0955 LP |
260 | config RENESAS_RZG2L_IRQC |
261 | bool "Renesas RZ/G2L (and alike SoC) IRQC support" if COMPILE_TEST | |
262 | select GENERIC_IRQ_CHIP | |
263 | select IRQ_DOMAIN_HIERARCHY | |
264 | help | |
265 | Enable support for the Renesas RZ/G2L (and alike SoC) Interrupt Controller | |
266 | for external devices. | |
267 | ||
03ac990e MW |
268 | config SL28CPLD_INTC |
269 | bool "Kontron sl28cpld IRQ controller" | |
270 | depends on MFD_SL28CPLD=y || COMPILE_TEST | |
271 | select REGMAP_IRQ | |
272 | help | |
273 | Interrupt controller driver for the board management controller | |
274 | found on the Kontron sl28 CPLD. | |
275 | ||
07088484 LJ |
276 | config ST_IRQCHIP |
277 | bool | |
278 | select REGMAP | |
279 | select MFD_SYSCON | |
280 | help | |
281 | Enables SysCfg Controlled IRQs on STi based platforms. | |
282 | ||
d421fd6d SH |
283 | config SUN4I_INTC |
284 | bool | |
285 | ||
286 | config SUN6I_R_INTC | |
287 | bool | |
288 | select IRQ_DOMAIN_HIERARCHY | |
289 | select IRQ_FASTEOI_HIERARCHY_HANDLERS | |
290 | ||
291 | config SUNXI_NMI_INTC | |
292 | bool | |
293 | select GENERIC_IRQ_CHIP | |
294 | ||
b06eb017 CR |
295 | config TB10X_IRQC |
296 | bool | |
297 | select IRQ_DOMAIN | |
298 | select GENERIC_IRQ_CHIP | |
299 | ||
d01f8633 DR |
300 | config TS4800_IRQ |
301 | tristate "TS-4800 IRQ controller" | |
302 | select IRQ_DOMAIN | |
0df337cf | 303 | depends on HAS_IOMEM |
d2b383dc | 304 | depends on SOC_IMX51 || COMPILE_TEST |
d01f8633 DR |
305 | help |
306 | Support for the TS-4800 FPGA IRQ controller | |
307 | ||
2389d501 LW |
308 | config VERSATILE_FPGA_IRQ |
309 | bool | |
310 | select IRQ_DOMAIN | |
311 | ||
312 | config VERSATILE_FPGA_IRQ_NR | |
313 | int | |
314 | default 4 | |
315 | depends on VERSATILE_FPGA_IRQ | |
26a8e96a MF |
316 | |
317 | config XTENSA_MX | |
318 | bool | |
319 | select IRQ_DOMAIN | |
0e6c027c | 320 | select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP |
96ca848e | 321 | |
0547dc78 | 322 | config XILINX_INTC |
debf69cf | 323 | bool "Xilinx Interrupt Controller IP" |
fd31000d | 324 | depends on OF_ADDRESS |
0547dc78 | 325 | select IRQ_DOMAIN |
debf69cf RH |
326 | help |
327 | Support for the Xilinx Interrupt Controller IP core. | |
328 | This is used as a primary controller with MicroBlaze and can also | |
329 | be used as a secondary chained controller on other platforms. | |
0547dc78 | 330 | |
96ca848e S |
331 | config IRQ_CROSSBAR |
332 | bool | |
333 | help | |
f54619f2 | 334 | Support for a CROSSBAR ip that precedes the main interrupt controller. |
96ca848e S |
335 | The primary irqchip invokes the crossbar's callback which inturn allocates |
336 | a free irq and configures the IP. Thus the peripheral interrupts are | |
337 | routed to one of the free irqchip interrupt lines. | |
89323f8c GS |
338 | |
339 | config KEYSTONE_IRQ | |
340 | tristate "Keystone 2 IRQ controller IP" | |
341 | depends on ARCH_KEYSTONE | |
342 | help | |
343 | Support for Texas Instruments Keystone 2 IRQ controller IP which | |
344 | is part of the Keystone 2 IPC mechanism | |
8a19b8f1 AB |
345 | |
346 | config MIPS_GIC | |
347 | bool | |
8190cc57 SH |
348 | select GENERIC_IRQ_IPI if SMP |
349 | select IRQ_DOMAIN_HIERARCHY | |
8a19b8f1 | 350 | select MIPS_CM |
8a764482 | 351 | |
44e08e70 PB |
352 | config INGENIC_IRQ |
353 | bool | |
354 | depends on MACH_INGENIC | |
355 | default y | |
78c10e55 | 356 | |
9536eba0 PC |
357 | config INGENIC_TCU_IRQ |
358 | bool "Ingenic JZ47xx TCU interrupt controller" | |
359 | default MACH_INGENIC | |
360 | depends on MIPS || COMPILE_TEST | |
361 | select MFD_SYSCON | |
8084499b | 362 | select GENERIC_IRQ_CHIP |
9536eba0 PC |
363 | help |
364 | Support for interrupts in the Timer/Counter Unit (TCU) of the Ingenic | |
365 | JZ47xx SoCs. | |
366 | ||
367 | If unsure, say N. | |
368 | ||
e324c4dc SW |
369 | config IMX_GPCV2 |
370 | bool | |
371 | select IRQ_DOMAIN | |
372 | help | |
373 | Enables the wakeup IRQs for IMX platforms with GPCv2 block | |
7e4ac676 OR |
374 | |
375 | config IRQ_MXS | |
376 | def_bool y if MACH_ASM9260 || ARCH_MXS | |
377 | select IRQ_DOMAIN | |
378 | select STMP_DEVICE | |
c27f29bb | 379 | |
19d99164 AB |
380 | config MSCC_OCELOT_IRQ |
381 | bool | |
382 | select IRQ_DOMAIN | |
383 | select GENERIC_IRQ_CHIP | |
384 | ||
a68a63cb | 385 | config MVEBU_GICP |
cdb23872 | 386 | select IRQ_MSI_LIB |
a68a63cb TP |
387 | bool |
388 | ||
e0de91a9 TP |
389 | config MVEBU_ICU |
390 | bool | |
391 | ||
c27f29bb TP |
392 | config MVEBU_ODMI |
393 | bool | |
e0b99c4c | 394 | select IRQ_MSI_LIB |
13e7accb | 395 | select GENERIC_MSI_IRQ |
9e2c986c | 396 | |
a109893b TP |
397 | config MVEBU_PIC |
398 | bool | |
399 | ||
61ce8d8d MR |
400 | config MVEBU_SEI |
401 | bool | |
402 | ||
0dcd9f87 RV |
403 | config LS_EXTIRQ |
404 | def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE | |
405 | select MFD_SYSCON | |
406 | ||
b8f3ebe6 ML |
407 | config LS_SCFG_MSI |
408 | def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE | |
9c1a7bfc | 409 | depends on PCI_MSI |
b8f3ebe6 | 410 | |
9e2c986c MZ |
411 | config PARTITION_PERCPU |
412 | bool | |
0efacbba | 413 | |
b20cf2dc | 414 | config STM32MP_EXTI |
0be58e05 AB |
415 | tristate "STM32MP extended interrupts and event controller" |
416 | depends on (ARCH_STM32 && !ARM_SINGLE_ARMV7M) || COMPILE_TEST | |
417 | default y | |
418 | select IRQ_DOMAIN_HIERARCHY | |
350755e2 | 419 | select GENERIC_IRQ_CHIP |
0be58e05 AB |
420 | help |
421 | Support STM32MP EXTI (extended interrupts and event) controller. | |
b20cf2dc | 422 | |
e0720416 AT |
423 | config STM32_EXTI |
424 | bool | |
425 | select IRQ_DOMAIN | |
0e7d7807 | 426 | select GENERIC_IRQ_CHIP |
f20cc9b0 AVF |
427 | |
428 | config QCOM_IRQ_COMBINER | |
429 | bool "QCOM IRQ combiner support" | |
430 | depends on ARCH_QCOM && ACPI | |
f20cc9b0 AVF |
431 | select IRQ_DOMAIN_HIERARCHY |
432 | help | |
433 | Say yes here to add support for the IRQ combiner devices embedded | |
434 | in Qualcomm Technologies chips. | |
5ed34d3a MY |
435 | |
436 | config IRQ_UNIPHIER_AIDET | |
437 | bool "UniPhier AIDET support" if COMPILE_TEST | |
438 | depends on ARCH_UNIPHIER || COMPILE_TEST | |
439 | default ARCH_UNIPHIER | |
440 | select IRQ_DOMAIN_HIERARCHY | |
441 | help | |
442 | Support for the UniPhier AIDET (ARM Interrupt Detector). | |
c94fb639 | 443 | |
215f4cc0 | 444 | config MESON_IRQ_GPIO |
a947aa00 NA |
445 | tristate "Meson GPIO Interrupt Multiplexer" |
446 | depends on ARCH_MESON || COMPILE_TEST | |
447 | default ARCH_MESON | |
215f4cc0 JB |
448 | select IRQ_DOMAIN_HIERARCHY |
449 | help | |
450 | Support Meson SoC Family GPIO Interrupt Multiplexer | |
451 | ||
4235ff50 MD |
452 | config GOLDFISH_PIC |
453 | bool "Goldfish programmable interrupt controller" | |
454 | depends on MIPS && (GOLDFISH || COMPILE_TEST) | |
969ac78d | 455 | select GENERIC_IRQ_CHIP |
4235ff50 MD |
456 | select IRQ_DOMAIN |
457 | help | |
458 | Say yes here to enable Goldfish interrupt controller driver used | |
459 | for Goldfish based virtual platforms. | |
460 | ||
f55c73ae | 461 | config QCOM_PDC |
4acd8a4b | 462 | tristate "QCOM PDC" |
f55c73ae | 463 | depends on ARCH_QCOM |
f55c73ae AS |
464 | select IRQ_DOMAIN_HIERARCHY |
465 | help | |
466 | Power Domain Controller driver to manage and configure wakeup | |
467 | IRQs for Qualcomm Technologies Inc (QTI) mobile chips. | |
468 | ||
a6199bb5 SG |
469 | config QCOM_MPM |
470 | tristate "QCOM MPM" | |
471 | depends on ARCH_QCOM | |
fa4dcc88 | 472 | depends on MAILBOX |
a6199bb5 SG |
473 | select IRQ_DOMAIN_HIERARCHY |
474 | help | |
475 | MSM Power Manager driver to manage and configure wakeup | |
476 | IRQs for Qualcomm Technologies Inc (QTI) mobile chips. | |
477 | ||
d8a5f5f7 | 478 | config CSKY_MPINTC |
be1abc5b | 479 | bool |
d8a5f5f7 GR |
480 | depends on CSKY |
481 | help | |
482 | Say yes here to enable C-SKY SMP interrupt controller driver used | |
483 | for C-SKY SMP system. | |
656b42de | 484 | In fact it's not mmio map in hardware and it uses ld/st to visit the |
d8a5f5f7 GR |
485 | controller's register inside CPU. |
486 | ||
edff1b48 GR |
487 | config CSKY_APB_INTC |
488 | bool "C-SKY APB Interrupt Controller" | |
489 | depends on CSKY | |
490 | help | |
491 | Say yes here to enable C-SKY APB interrupt controller driver used | |
656b42de | 492 | by C-SKY single core SOC system. It uses mmio map apb-bus to visit |
edff1b48 GR |
493 | the controller's register. |
494 | ||
0136afa0 LS |
495 | config IMX_IRQSTEER |
496 | bool "i.MX IRQSTEER support" | |
497 | depends on ARCH_MXC || COMPILE_TEST | |
498 | default ARCH_MXC | |
499 | select IRQ_DOMAIN | |
500 | help | |
501 | Support for the i.MX IRQSTEER interrupt multiplexer/remapper. | |
502 | ||
2fbb1396 | 503 | config IMX_INTMUX |
a890caeb GU |
504 | bool "i.MX INTMUX support" if COMPILE_TEST |
505 | default y if ARCH_MXC | |
2fbb1396 JZ |
506 | select IRQ_DOMAIN |
507 | help | |
508 | Support for the i.MX INTMUX interrupt multiplexer. | |
509 | ||
70afdab9 FL |
510 | config IMX_MU_MSI |
511 | tristate "i.MX MU used as MSI controller" | |
512 | depends on OF && HAS_IOMEM | |
6c9f7434 | 513 | depends on ARCH_MXC || COMPILE_TEST |
70afdab9 FL |
514 | default m if ARCH_MXC |
515 | select IRQ_DOMAIN | |
516 | select IRQ_DOMAIN_HIERARCHY | |
13e7accb | 517 | select GENERIC_MSI_IRQ |
7b2f8aa0 | 518 | select IRQ_MSI_LIB |
70afdab9 | 519 | help |
6c9f7434 GU |
520 | Provide a driver for the i.MX Messaging Unit block used as a |
521 | CPU-to-CPU MSI controller. This requires a specially crafted DT | |
522 | to make use of this driver. | |
70afdab9 FL |
523 | |
524 | If unsure, say N | |
525 | ||
9e543e22 JY |
526 | config LS1X_IRQ |
527 | bool "Loongson-1 Interrupt Controller" | |
528 | depends on MACH_LOONGSON32 | |
529 | default y | |
530 | select IRQ_DOMAIN | |
531 | select GENERIC_IRQ_CHIP | |
532 | help | |
533 | Support for the Loongson-1 platform Interrupt Controller. | |
534 | ||
cd844b07 LV |
535 | config TI_SCI_INTR_IRQCHIP |
536 | bool | |
537 | depends on TI_SCI_PROTOCOL | |
538 | select IRQ_DOMAIN_HIERARCHY | |
539 | help | |
540 | This enables the irqchip driver support for K3 Interrupt router | |
541 | over TI System Control Interface available on some new TI's SoCs. | |
542 | If you wish to use interrupt router irq resources managed by the | |
543 | TI System Controller, say Y here. Otherwise, say N. | |
544 | ||
9f1463b8 LV |
545 | config TI_SCI_INTA_IRQCHIP |
546 | bool | |
547 | depends on TI_SCI_PROTOCOL | |
548 | select IRQ_DOMAIN_HIERARCHY | |
f011df61 | 549 | select TI_SCI_INTA_MSI_DOMAIN |
9f1463b8 LV |
550 | help |
551 | This enables the irqchip driver support for K3 Interrupt aggregator | |
552 | over TI System Control Interface available on some new TI's SoCs. | |
553 | If you wish to use interrupt aggregator irq resources managed by the | |
554 | TI System Controller, say Y here. Otherwise, say N. | |
555 | ||
04e2d1e0 | 556 | config TI_PRUSS_INTC |
b8e594fa SA |
557 | tristate |
558 | depends on TI_PRUSS | |
559 | default TI_PRUSS | |
04e2d1e0 GJ |
560 | select IRQ_DOMAIN |
561 | help | |
562 | This enables support for the PRU-ICSS Local Interrupt Controller | |
563 | present within a PRU-ICSS subsystem present on various TI SoCs. | |
564 | The PRUSS INTC enables various interrupts to be routed to multiple | |
565 | different processors within the SoC. | |
566 | ||
6b7ce892 | 567 | config RISCV_INTC |
d8fb1307 | 568 | bool |
6b7ce892 | 569 | depends on RISCV |
832f15f4 | 570 | select IRQ_DOMAIN_HIERARCHY |
6b7ce892 | 571 | |
2333df5a AP |
572 | config RISCV_APLIC |
573 | bool | |
574 | depends on RISCV | |
575 | select IRQ_DOMAIN_HIERARCHY | |
576 | ||
ca8df97f AP |
577 | config RISCV_APLIC_MSI |
578 | bool | |
579 | depends on RISCV_APLIC | |
580 | select GENERIC_MSI_IRQ | |
581 | default RISCV_APLIC | |
582 | ||
21a8f8a0 AP |
583 | config RISCV_IMSIC |
584 | bool | |
585 | depends on RISCV | |
586 | select IRQ_DOMAIN_HIERARCHY | |
587 | select GENERIC_IRQ_MATRIX_ALLOCATOR | |
588 | select GENERIC_MSI_IRQ | |
589 | ||
5c5a71d0 AP |
590 | config RISCV_IMSIC_PCI |
591 | bool | |
592 | depends on RISCV_IMSIC | |
593 | depends on PCI | |
594 | depends on PCI_MSI | |
595 | default RISCV_IMSIC | |
596 | ||
8237f8bc | 597 | config SIFIVE_PLIC |
fdb1742a | 598 | bool |
8237f8bc | 599 | depends on RISCV |
466008f9 | 600 | select IRQ_DOMAIN_HIERARCHY |
de078949 | 601 | select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP |
01493855 | 602 | |
e4e53503 CL |
603 | config STARFIVE_JH8100_INTC |
604 | bool "StarFive JH8100 External Interrupt Controller" | |
605 | depends on ARCH_STARFIVE || COMPILE_TEST | |
606 | default ARCH_STARFIVE | |
607 | select IRQ_DOMAIN_HIERARCHY | |
608 | help | |
609 | This enables support for the INTC chip found in StarFive JH8100 | |
610 | SoC. | |
611 | ||
612 | If you don't know what to do here, say Y. | |
613 | ||
b74416db HK |
614 | config EXYNOS_IRQ_COMBINER |
615 | bool "Samsung Exynos IRQ combiner support" if COMPILE_TEST | |
616 | depends on (ARCH_EXYNOS && ARM) || COMPILE_TEST | |
617 | help | |
618 | Say yes here to add support for the IRQ combiner devices embedded | |
619 | in Samsung Exynos chips. | |
620 | ||
b2d3e335 HC |
621 | config IRQ_LOONGARCH_CPU |
622 | bool | |
623 | select GENERIC_IRQ_CHIP | |
624 | select IRQ_DOMAIN | |
42a7d887 | 625 | select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP |
70f7b6c0 | 626 | select LOONGSON_HTVEC |
8d5356f9 HC |
627 | select LOONGSON_LIOINTC |
628 | select LOONGSON_EIOINTC | |
629 | select LOONGSON_PCH_PIC | |
630 | select LOONGSON_PCH_MSI | |
631 | select LOONGSON_PCH_LPC | |
b2d3e335 HC |
632 | help |
633 | Support for the LoongArch CPU Interrupt Controller. For details of | |
634 | irq chip hierarchy on LoongArch platforms please read the document | |
51712e49 | 635 | Documentation/arch/loongarch/irq-chip-model.rst. |
b2d3e335 | 636 | |
dbb15226 JY |
637 | config LOONGSON_LIOINTC |
638 | bool "Loongson Local I/O Interrupt Controller" | |
639 | depends on MACH_LOONGSON64 | |
640 | default y | |
641 | select IRQ_DOMAIN | |
642 | select GENERIC_IRQ_CHIP | |
643 | help | |
644 | Support for the Loongson Local I/O Interrupt Controller. | |
645 | ||
dd281e1a HC |
646 | config LOONGSON_EIOINTC |
647 | bool "Loongson Extend I/O Interrupt Controller" | |
648 | depends on LOONGARCH | |
649 | depends on MACH_LOONGSON64 | |
650 | default MACH_LOONGSON64 | |
651 | select IRQ_DOMAIN_HIERARCHY | |
652 | select GENERIC_IRQ_CHIP | |
653 | help | |
654 | Support for the Loongson3 Extend I/O Interrupt Vector Controller. | |
655 | ||
a93f1d90 JY |
656 | config LOONGSON_HTPIC |
657 | bool "Loongson3 HyperTransport PIC Controller" | |
987a3e03 | 658 | depends on MACH_LOONGSON64 && MIPS |
a93f1d90 JY |
659 | default y |
660 | select IRQ_DOMAIN | |
661 | select GENERIC_IRQ_CHIP | |
a93f1d90 JY |
662 | help |
663 | Support for the Loongson-3 HyperTransport PIC Controller. | |
664 | ||
818e915f | 665 | config LOONGSON_HTVEC |
987a3e03 | 666 | bool "Loongson HyperTransport Interrupt Vector Controller" |
d77aeb5d | 667 | depends on MACH_LOONGSON64 |
818e915f JY |
668 | default MACH_LOONGSON64 |
669 | select IRQ_DOMAIN_HIERARCHY | |
670 | help | |
987a3e03 | 671 | Support for the Loongson HyperTransport Interrupt Vector Controller. |
818e915f | 672 | |
ef8c01eb JY |
673 | config LOONGSON_PCH_PIC |
674 | bool "Loongson PCH PIC Controller" | |
bcdd75c5 | 675 | depends on MACH_LOONGSON64 |
ef8c01eb JY |
676 | default MACH_LOONGSON64 |
677 | select IRQ_DOMAIN_HIERARCHY | |
678 | select IRQ_FASTEOI_HIERARCHY_HANDLERS | |
679 | help | |
680 | Support for the Loongson PCH PIC Controller. | |
681 | ||
632dcc2c | 682 | config LOONGSON_PCH_MSI |
a23df9a4 | 683 | bool "Loongson PCH MSI Controller" |
02308732 | 684 | depends on MACH_LOONGSON64 |
632dcc2c JY |
685 | depends on PCI |
686 | default MACH_LOONGSON64 | |
687 | select IRQ_DOMAIN_HIERARCHY | |
688 | select PCI_MSI | |
689 | help | |
690 | Support for the Loongson PCH MSI Controller. | |
691 | ||
ee73f14e HC |
692 | config LOONGSON_PCH_LPC |
693 | bool "Loongson PCH LPC Controller" | |
e7ccba77 | 694 | depends on LOONGARCH |
ee73f14e | 695 | depends on MACH_LOONGSON64 |
e7ccba77 | 696 | default MACH_LOONGSON64 |
ee73f14e HC |
697 | select IRQ_DOMAIN_HIERARCHY |
698 | help | |
699 | Support for the Loongson PCH LPC Controller. | |
700 | ||
ad4c938c MPT |
701 | config MST_IRQ |
702 | bool "MStar Interrupt Controller" | |
61b0648d | 703 | depends on ARCH_MEDIATEK || ARCH_MSTARV7 || COMPILE_TEST |
ad4c938c MPT |
704 | default ARCH_MEDIATEK |
705 | select IRQ_DOMAIN | |
706 | select IRQ_DOMAIN_HIERARCHY | |
707 | help | |
708 | Support MStar Interrupt Controller. | |
709 | ||
fead4dd4 JN |
710 | config WPCM450_AIC |
711 | bool "Nuvoton WPCM450 Advanced Interrupt Controller" | |
94bc9420 | 712 | depends on ARCH_WPCM450 |
fead4dd4 JN |
713 | help |
714 | Support for the interrupt controller in the Nuvoton WPCM450 BMC SoC. | |
715 | ||
529ea368 TB |
716 | config IRQ_IDT3243X |
717 | bool | |
718 | select GENERIC_IRQ_CHIP | |
719 | select IRQ_DOMAIN | |
720 | ||
76cde263 HM |
721 | config APPLE_AIC |
722 | bool "Apple Interrupt Controller (AIC)" | |
723 | depends on ARM64 | |
5b44955d | 724 | depends on ARCH_APPLE || COMPILE_TEST |
c19f8971 | 725 | select GENERIC_IRQ_IPI_MUX |
76cde263 HM |
726 | help |
727 | Support for the Apple Interrupt Controller found on Apple Silicon SoCs, | |
728 | such as the M1. | |
729 | ||
00fa3461 CB |
730 | config MCHP_EIC |
731 | bool "Microchip External Interrupt Controller" | |
732 | depends on ARCH_AT91 || COMPILE_TEST | |
733 | select IRQ_DOMAIN | |
734 | select IRQ_DOMAIN_HIERARCHY | |
735 | help | |
736 | Support for Microchip External Interrupt Controller. | |
737 | ||
f7189d93 QJ |
738 | config SUNPLUS_SP7021_INTC |
739 | bool "Sunplus SP7021 interrupt controller" if COMPILE_TEST | |
740 | default SOC_SP7021 | |
741 | help | |
742 | Support for the Sunplus SP7021 Interrupt Controller IP core. | |
743 | SP7021 SoC has 2 Chips: C-Chip & P-Chip. This is used as a | |
744 | chained controller, routing all interrupt source in P-Chip to | |
745 | the primary controller on C-Chip. | |
746 | ||
01493855 | 747 | endmenu |