xref: /linux/drivers/irqchip/Kconfig (revision e3610441d1fb47b1f00e4c38bdf333176e824729)
1# SPDX-License-Identifier: GPL-2.0-only
2menu "IRQ chip support"
3
4config IRQCHIP
5	def_bool y
6	depends on (OF_IRQ || ACPI_GENERIC_GSI)
7
8config ARM_GIC
9	bool
10	depends on OF
11	select IRQ_DOMAIN_HIERARCHY
12	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
13
14config ARM_GIC_PM
15	bool
16	depends on PM
17	select ARM_GIC
18
19config ARM_GIC_MAX_NR
20	int
21	depends on ARM_GIC
22	default 2 if ARCH_REALVIEW
23	default 1
24
25config ARM_GIC_V2M
26	bool
27	depends on PCI
28	select ARM_GIC
29	select IRQ_MSI_LIB
30	select PCI_MSI
31
32config GIC_NON_BANKED
33	bool
34
35config ARM_GIC_V3
36	bool
37	select IRQ_DOMAIN_HIERARCHY
38	select PARTITION_PERCPU
39	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
40	select HAVE_ARM_SMCCC_DISCOVERY
41
42config ARM_GIC_V3_ITS
43	bool
44	select GENERIC_MSI_IRQ
45	select IRQ_MSI_LIB
46	default ARM_GIC_V3
47
48config ARM_GIC_V3_ITS_FSL_MC
49	bool
50	depends on ARM_GIC_V3_ITS
51	depends on FSL_MC_BUS
52	default ARM_GIC_V3_ITS
53
54config ARM_NVIC
55	bool
56	select IRQ_DOMAIN_HIERARCHY
57	select GENERIC_IRQ_CHIP
58
59config ARM_VIC
60	bool
61	select IRQ_DOMAIN
62
63config ARM_VIC_NR
64	int
65	default 4 if ARCH_S5PV210
66	default 2
67	depends on ARM_VIC
68	help
69	  The maximum number of VICs available in the system, for
70	  power management.
71
72config IRQ_MSI_LIB
73	bool
74
75config ARMADA_370_XP_IRQ
76	bool
77	select GENERIC_IRQ_CHIP
78	select PCI_MSI if PCI
79	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
80
81config ALPINE_MSI
82	bool
83	depends on PCI
84	select PCI_MSI
85	select GENERIC_IRQ_CHIP
86
87config AL_FIC
88	bool "Amazon's Annapurna Labs Fabric Interrupt Controller"
89	depends on OF
90	depends on HAS_IOMEM
91	select GENERIC_IRQ_CHIP
92	select IRQ_DOMAIN
93	help
94	  Support Amazon's Annapurna Labs Fabric Interrupt Controller.
95
96config ATMEL_AIC_IRQ
97	bool
98	select GENERIC_IRQ_CHIP
99	select IRQ_DOMAIN
100	select SPARSE_IRQ
101
102config ATMEL_AIC5_IRQ
103	bool
104	select GENERIC_IRQ_CHIP
105	select IRQ_DOMAIN
106	select SPARSE_IRQ
107
108config I8259
109	bool
110	select IRQ_DOMAIN
111
112config BCM6345_L1_IRQ
113	bool
114	select GENERIC_IRQ_CHIP
115	select IRQ_DOMAIN
116	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
117
118config BCM7038_L1_IRQ
119	tristate "Broadcom STB 7038-style L1/L2 interrupt controller driver"
120	depends on ARCH_BRCMSTB || BMIPS_GENERIC
121	default ARCH_BRCMSTB || BMIPS_GENERIC
122	select GENERIC_IRQ_CHIP
123	select IRQ_DOMAIN
124	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
125
126config BCM7120_L2_IRQ
127	tristate "Broadcom STB 7120-style L2 interrupt controller driver"
128	depends on ARCH_BRCMSTB || BMIPS_GENERIC
129	default ARCH_BRCMSTB || BMIPS_GENERIC
130	select GENERIC_IRQ_CHIP
131	select IRQ_DOMAIN
132
133config BRCMSTB_L2_IRQ
134	tristate "Broadcom STB generic L2 interrupt controller driver"
135	depends on ARCH_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC
136	default ARCH_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC
137	select GENERIC_IRQ_CHIP
138	select IRQ_DOMAIN
139
140config DAVINCI_CP_INTC
141	bool
142	select GENERIC_IRQ_CHIP
143	select IRQ_DOMAIN
144
145config DW_APB_ICTL
146	bool
147	select GENERIC_IRQ_CHIP
148	select IRQ_DOMAIN_HIERARCHY
149
150config FARADAY_FTINTC010
151	bool
152	select IRQ_DOMAIN
153	select SPARSE_IRQ
154
155config HISILICON_IRQ_MBIGEN
156	bool
157	select ARM_GIC_V3
158	select ARM_GIC_V3_ITS
159
160config IMGPDC_IRQ
161	bool
162	select GENERIC_IRQ_CHIP
163	select IRQ_DOMAIN
164
165config IXP4XX_IRQ
166	bool
167	select IRQ_DOMAIN
168	select SPARSE_IRQ
169
170config LAN966X_OIC
171	tristate "Microchip LAN966x OIC Support"
172	select GENERIC_IRQ_CHIP
173	select IRQ_DOMAIN
174	help
175	  Enable support for the LAN966x Outbound Interrupt Controller.
176	  This controller is present on the Microchip LAN966x PCI device and
177	  maps the internal interrupts sources to PCIe interrupt.
178
179	  To compile this driver as a module, choose M here: the module
180	  will be called irq-lan966x-oic.
181
182config MADERA_IRQ
183	tristate
184
185config IRQ_MIPS_CPU
186	bool
187	select GENERIC_IRQ_CHIP
188	select GENERIC_IRQ_IPI if SMP && SYS_SUPPORTS_MULTITHREADING
189	select IRQ_DOMAIN
190	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
191
192config CLPS711X_IRQCHIP
193	bool
194	depends on ARCH_CLPS711X
195	select IRQ_DOMAIN
196	select SPARSE_IRQ
197	default y
198
199config OMPIC
200	bool
201
202config OR1K_PIC
203	bool
204	select IRQ_DOMAIN
205
206config OMAP_IRQCHIP
207	bool
208	select GENERIC_IRQ_CHIP
209	select IRQ_DOMAIN
210
211config ORION_IRQCHIP
212	bool
213	select IRQ_DOMAIN
214
215config PIC32_EVIC
216	bool
217	select GENERIC_IRQ_CHIP
218	select IRQ_DOMAIN
219
220config JCORE_AIC
221	bool "J-Core integrated AIC" if COMPILE_TEST
222	depends on OF
223	select IRQ_DOMAIN
224	help
225	  Support for the J-Core integrated AIC.
226
227config RDA_INTC
228	bool
229	select IRQ_DOMAIN
230
231config RENESAS_INTC_IRQPIN
232	bool "Renesas INTC External IRQ Pin Support" if COMPILE_TEST
233	select IRQ_DOMAIN
234	help
235	  Enable support for the Renesas Interrupt Controller for external
236	  interrupt pins, as found on SH/R-Mobile and R-Car Gen1 SoCs.
237
238config RENESAS_IRQC
239	bool "Renesas R-Mobile APE6, R-Car Gen{2,3} and RZ/G{1,2} IRQC support" if COMPILE_TEST
240	select GENERIC_IRQ_CHIP
241	select IRQ_DOMAIN
242	help
243	  Enable support for the Renesas Interrupt Controller for external
244	  devices, as found on R-Mobile APE6, R-Car Gen{2,3} and RZ/G{1,2} SoCs.
245
246config RENESAS_RZA1_IRQC
247	bool "Renesas RZ/A1 IRQC support" if COMPILE_TEST
248	select IRQ_DOMAIN_HIERARCHY
249	help
250	  Enable support for the Renesas RZ/A1 Interrupt Controller, to use up
251	  to 8 external interrupts with configurable sense select.
252
253config RENESAS_RZG2L_IRQC
254	bool "Renesas RZ/G2L (and alike SoC) IRQC support" if COMPILE_TEST
255	select GENERIC_IRQ_CHIP
256	select IRQ_DOMAIN_HIERARCHY
257	help
258	  Enable support for the Renesas RZ/G2L (and alike SoC) Interrupt Controller
259	  for external devices.
260
261config RENESAS_RZV2H_ICU
262	bool "Renesas RZ/V2H(P) ICU support" if COMPILE_TEST
263	select GENERIC_IRQ_CHIP
264	select IRQ_DOMAIN_HIERARCHY
265	help
266	  Enable support for the Renesas RZ/V2H(P) Interrupt Control Unit (ICU)
267
268config 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
276config ST_IRQCHIP
277	bool
278	select REGMAP
279	select MFD_SYSCON
280	help
281	  Enables SysCfg Controlled IRQs on STi based platforms.
282
283config SUN4I_INTC
284	bool
285
286config SUN6I_R_INTC
287	bool
288	select IRQ_DOMAIN_HIERARCHY
289	select IRQ_FASTEOI_HIERARCHY_HANDLERS
290
291config SUNXI_NMI_INTC
292	bool
293	select GENERIC_IRQ_CHIP
294
295config TB10X_IRQC
296	bool
297	select IRQ_DOMAIN
298	select GENERIC_IRQ_CHIP
299
300config TS4800_IRQ
301	tristate "TS-4800 IRQ controller"
302	select IRQ_DOMAIN
303	depends on HAS_IOMEM
304	depends on SOC_IMX51 || COMPILE_TEST
305	help
306	  Support for the TS-4800 FPGA IRQ controller
307
308config VERSATILE_FPGA_IRQ
309	bool
310	select IRQ_DOMAIN
311
312config VERSATILE_FPGA_IRQ_NR
313       int
314       default 4
315       depends on VERSATILE_FPGA_IRQ
316
317config XTENSA_MX
318	bool
319	select IRQ_DOMAIN
320	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
321
322config XILINX_INTC
323	bool "Xilinx Interrupt Controller IP"
324	depends on OF_ADDRESS
325	select IRQ_DOMAIN
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.
330
331config IRQ_CROSSBAR
332	bool
333	help
334	  Support for a CROSSBAR ip that precedes the main interrupt controller.
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.
338
339config 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
345
346config MIPS_GIC
347	bool
348	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
349	select GENERIC_IRQ_IPI if SMP
350	select IRQ_DOMAIN_HIERARCHY
351	select MIPS_CM
352
353config INGENIC_IRQ
354	bool
355	depends on MACH_INGENIC
356	default y
357
358config INGENIC_TCU_IRQ
359	bool "Ingenic JZ47xx TCU interrupt controller"
360	default MACH_INGENIC
361	depends on MIPS || COMPILE_TEST
362	select MFD_SYSCON
363	select GENERIC_IRQ_CHIP
364	help
365	  Support for interrupts in the Timer/Counter Unit (TCU) of the Ingenic
366	  JZ47xx SoCs.
367
368	  If unsure, say N.
369
370config IMX_GPCV2
371	bool
372	select IRQ_DOMAIN
373	help
374	  Enables the wakeup IRQs for IMX platforms with GPCv2 block
375
376config IRQ_MXS
377	def_bool y if MACH_ASM9260 || ARCH_MXS
378	select IRQ_DOMAIN
379	select STMP_DEVICE
380
381config MSCC_OCELOT_IRQ
382	bool
383	select IRQ_DOMAIN
384	select GENERIC_IRQ_CHIP
385
386config MVEBU_GICP
387	select IRQ_MSI_LIB
388	bool
389
390config MVEBU_ICU
391	bool
392
393config MVEBU_ODMI
394	bool
395	select IRQ_MSI_LIB
396	select GENERIC_MSI_IRQ
397
398config MVEBU_PIC
399	bool
400
401config MVEBU_SEI
402        bool
403
404config LS_EXTIRQ
405	def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
406	select MFD_SYSCON
407
408config LS_SCFG_MSI
409	def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
410	depends on PCI_MSI
411
412config PARTITION_PERCPU
413	bool
414
415config STM32MP_EXTI
416	tristate "STM32MP extended interrupts and event controller"
417	depends on (ARCH_STM32 && !ARM_SINGLE_ARMV7M) || COMPILE_TEST
418	default ARCH_STM32 && !ARM_SINGLE_ARMV7M
419	select IRQ_DOMAIN_HIERARCHY
420	select GENERIC_IRQ_CHIP
421	help
422	  Support STM32MP EXTI (extended interrupts and event) controller.
423
424config STM32_EXTI
425	bool
426	select IRQ_DOMAIN
427	select GENERIC_IRQ_CHIP
428
429config QCOM_IRQ_COMBINER
430	bool "QCOM IRQ combiner support"
431	depends on ARCH_QCOM && ACPI
432	select IRQ_DOMAIN_HIERARCHY
433	help
434	  Say yes here to add support for the IRQ combiner devices embedded
435	  in Qualcomm Technologies chips.
436
437config IRQ_UNIPHIER_AIDET
438	bool "UniPhier AIDET support" if COMPILE_TEST
439	depends on ARCH_UNIPHIER || COMPILE_TEST
440	default ARCH_UNIPHIER
441	select IRQ_DOMAIN_HIERARCHY
442	help
443	  Support for the UniPhier AIDET (ARM Interrupt Detector).
444
445config MESON_IRQ_GPIO
446       tristate "Meson GPIO Interrupt Multiplexer"
447       depends on ARCH_MESON || COMPILE_TEST
448       default ARCH_MESON
449       select IRQ_DOMAIN_HIERARCHY
450       help
451         Support Meson SoC Family GPIO Interrupt Multiplexer
452
453config GOLDFISH_PIC
454       bool "Goldfish programmable interrupt controller"
455       depends on MIPS && (GOLDFISH || COMPILE_TEST)
456       select GENERIC_IRQ_CHIP
457       select IRQ_DOMAIN
458       help
459         Say yes here to enable Goldfish interrupt controller driver used
460         for Goldfish based virtual platforms.
461
462config QCOM_PDC
463	tristate "QCOM PDC"
464	depends on ARCH_QCOM
465	select IRQ_DOMAIN_HIERARCHY
466	help
467	  Power Domain Controller driver to manage and configure wakeup
468	  IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
469
470config QCOM_MPM
471	tristate "QCOM MPM"
472	depends on ARCH_QCOM
473	depends on MAILBOX
474	select IRQ_DOMAIN_HIERARCHY
475	help
476	  MSM Power Manager driver to manage and configure wakeup
477	  IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
478
479config CSKY_MPINTC
480	bool
481	depends on CSKY
482	help
483	  Say yes here to enable C-SKY SMP interrupt controller driver used
484	  for C-SKY SMP system.
485	  In fact it's not mmio map in hardware and it uses ld/st to visit the
486	  controller's register inside CPU.
487
488config CSKY_APB_INTC
489	bool "C-SKY APB Interrupt Controller"
490	depends on CSKY
491	help
492	  Say yes here to enable C-SKY APB interrupt controller driver used
493	  by C-SKY single core SOC system. It uses mmio map apb-bus to visit
494	  the controller's register.
495
496config IMX_IRQSTEER
497	bool "i.MX IRQSTEER support"
498	depends on ARCH_MXC || COMPILE_TEST
499	default ARCH_MXC
500	select IRQ_DOMAIN
501	help
502	  Support for the i.MX IRQSTEER interrupt multiplexer/remapper.
503
504config IMX_INTMUX
505	bool "i.MX INTMUX support" if COMPILE_TEST
506	default y if ARCH_MXC
507	select IRQ_DOMAIN
508	help
509	  Support for the i.MX INTMUX interrupt multiplexer.
510
511config IMX_MU_MSI
512	tristate "i.MX MU used as MSI controller"
513	depends on OF && HAS_IOMEM
514	depends on ARCH_MXC || COMPILE_TEST
515	default m if ARCH_MXC
516	select IRQ_DOMAIN
517	select IRQ_DOMAIN_HIERARCHY
518	select GENERIC_MSI_IRQ
519	select IRQ_MSI_LIB
520	help
521	  Provide a driver for the i.MX Messaging Unit block used as a
522	  CPU-to-CPU MSI controller. This requires a specially crafted DT
523	  to make use of this driver.
524
525	  If unsure, say N
526
527config LS1X_IRQ
528	bool "Loongson-1 Interrupt Controller"
529	depends on MACH_LOONGSON32
530	default y
531	select IRQ_DOMAIN
532	select GENERIC_IRQ_CHIP
533	help
534	  Support for the Loongson-1 platform Interrupt Controller.
535
536config TI_SCI_INTR_IRQCHIP
537	tristate "TI SCI INTR Interrupt Controller"
538	depends on TI_SCI_PROTOCOL
539	depends on ARCH_K3 || COMPILE_TEST
540	select IRQ_DOMAIN_HIERARCHY
541	help
542	  This enables the irqchip driver support for K3 Interrupt router
543	  over TI System Control Interface available on some new TI's SoCs.
544	  If you wish to use interrupt router irq resources managed by the
545	  TI System Controller, say Y here. Otherwise, say N.
546
547config TI_SCI_INTA_IRQCHIP
548	tristate "TI SCI INTA Interrupt Controller"
549	depends on TI_SCI_PROTOCOL
550	depends on ARCH_K3 || (COMPILE_TEST && ARM64)
551	select IRQ_DOMAIN_HIERARCHY
552	select TI_SCI_INTA_MSI_DOMAIN
553	help
554	  This enables the irqchip driver support for K3 Interrupt aggregator
555	  over TI System Control Interface available on some new TI's SoCs.
556	  If you wish to use interrupt aggregator irq resources managed by the
557	  TI System Controller, say Y here. Otherwise, say N.
558
559config TI_PRUSS_INTC
560	tristate
561	depends on TI_PRUSS
562	default TI_PRUSS
563	select IRQ_DOMAIN
564	help
565	  This enables support for the PRU-ICSS Local Interrupt Controller
566	  present within a PRU-ICSS subsystem present on various TI SoCs.
567	  The PRUSS INTC enables various interrupts to be routed to multiple
568	  different processors within the SoC.
569
570config RISCV_INTC
571	bool
572	depends on RISCV
573	select IRQ_DOMAIN_HIERARCHY
574
575config RISCV_APLIC
576	bool
577	depends on RISCV
578	select IRQ_DOMAIN_HIERARCHY
579
580config RISCV_APLIC_MSI
581	bool
582	depends on RISCV_APLIC
583	select GENERIC_MSI_IRQ
584	default RISCV_APLIC
585
586config RISCV_IMSIC
587	bool
588	depends on RISCV
589	select IRQ_DOMAIN_HIERARCHY
590	select GENERIC_IRQ_MATRIX_ALLOCATOR
591	select GENERIC_MSI_IRQ
592
593config RISCV_IMSIC_PCI
594	bool
595	depends on RISCV_IMSIC
596	depends on PCI
597	depends on PCI_MSI
598	default RISCV_IMSIC
599
600config SIFIVE_PLIC
601	bool
602	depends on RISCV
603	select IRQ_DOMAIN_HIERARCHY
604	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
605
606config STARFIVE_JH8100_INTC
607	bool "StarFive JH8100 External Interrupt Controller"
608	depends on ARCH_STARFIVE || COMPILE_TEST
609	default ARCH_STARFIVE
610	select IRQ_DOMAIN_HIERARCHY
611	help
612	  This enables support for the INTC chip found in StarFive JH8100
613	  SoC.
614
615	  If you don't know what to do here, say Y.
616
617config THEAD_C900_ACLINT_SSWI
618	bool "THEAD C9XX ACLINT S-mode IPI Interrupt Controller"
619	depends on RISCV
620	depends on SMP
621	select IRQ_DOMAIN_HIERARCHY
622	select GENERIC_IRQ_IPI_MUX
623	help
624	  This enables support for T-HEAD specific ACLINT SSWI device
625	  support.
626
627	  If you don't know what to do here, say Y.
628
629config EXYNOS_IRQ_COMBINER
630	bool "Samsung Exynos IRQ combiner support" if COMPILE_TEST
631	depends on (ARCH_EXYNOS && ARM) || COMPILE_TEST
632	help
633	  Say yes here to add support for the IRQ combiner devices embedded
634	  in Samsung Exynos chips.
635
636config IRQ_LOONGARCH_CPU
637	bool
638	select GENERIC_IRQ_CHIP
639	select IRQ_DOMAIN
640	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
641	select LOONGSON_HTVEC
642	select LOONGSON_LIOINTC
643	select LOONGSON_EIOINTC
644	select LOONGSON_PCH_PIC
645	select LOONGSON_PCH_MSI
646	select LOONGSON_PCH_LPC
647	help
648	  Support for the LoongArch CPU Interrupt Controller. For details of
649	  irq chip hierarchy on LoongArch platforms please read the document
650	  Documentation/arch/loongarch/irq-chip-model.rst.
651
652config LOONGSON_LIOINTC
653	bool "Loongson Local I/O Interrupt Controller"
654	depends on MACH_LOONGSON64
655	default y
656	select IRQ_DOMAIN
657	select GENERIC_IRQ_CHIP
658	help
659	  Support for the Loongson Local I/O Interrupt Controller.
660
661config LOONGSON_EIOINTC
662	bool "Loongson Extend I/O Interrupt Controller"
663	depends on LOONGARCH
664	depends on MACH_LOONGSON64
665	default MACH_LOONGSON64
666	select IRQ_DOMAIN_HIERARCHY
667	select GENERIC_IRQ_CHIP
668	help
669	  Support for the Loongson3 Extend I/O Interrupt Vector Controller.
670
671config LOONGSON_HTPIC
672	bool "Loongson3 HyperTransport PIC Controller"
673	depends on MACH_LOONGSON64 && MIPS
674	default y
675	select IRQ_DOMAIN
676	select GENERIC_IRQ_CHIP
677	help
678	  Support for the Loongson-3 HyperTransport PIC Controller.
679
680config LOONGSON_HTVEC
681	bool "Loongson HyperTransport Interrupt Vector Controller"
682	depends on MACH_LOONGSON64
683	default MACH_LOONGSON64
684	select IRQ_DOMAIN_HIERARCHY
685	help
686	  Support for the Loongson HyperTransport Interrupt Vector Controller.
687
688config LOONGSON_PCH_PIC
689	bool "Loongson PCH PIC Controller"
690	depends on MACH_LOONGSON64
691	default MACH_LOONGSON64
692	select IRQ_DOMAIN_HIERARCHY
693	select IRQ_FASTEOI_HIERARCHY_HANDLERS
694	help
695	  Support for the Loongson PCH PIC Controller.
696
697config LOONGSON_PCH_MSI
698	bool "Loongson PCH MSI Controller"
699	depends on MACH_LOONGSON64
700	depends on PCI
701	default MACH_LOONGSON64
702	select IRQ_DOMAIN_HIERARCHY
703	select IRQ_MSI_LIB
704	select PCI_MSI
705	help
706	  Support for the Loongson PCH MSI Controller.
707
708config LOONGSON_PCH_LPC
709	bool "Loongson PCH LPC Controller"
710	depends on LOONGARCH
711	depends on MACH_LOONGSON64
712	default MACH_LOONGSON64
713	select IRQ_DOMAIN_HIERARCHY
714	help
715	  Support for the Loongson PCH LPC Controller.
716
717config MST_IRQ
718	bool "MStar Interrupt Controller"
719	depends on ARCH_MEDIATEK || ARCH_MSTARV7 || COMPILE_TEST
720	default ARCH_MEDIATEK
721	select IRQ_DOMAIN
722	select IRQ_DOMAIN_HIERARCHY
723	help
724	  Support MStar Interrupt Controller.
725
726config WPCM450_AIC
727	bool "Nuvoton WPCM450 Advanced Interrupt Controller"
728	depends on ARCH_WPCM450
729	help
730	  Support for the interrupt controller in the Nuvoton WPCM450 BMC SoC.
731
732config IRQ_IDT3243X
733	bool
734	select GENERIC_IRQ_CHIP
735	select IRQ_DOMAIN
736
737config APPLE_AIC
738	bool "Apple Interrupt Controller (AIC)"
739	depends on ARM64
740	depends on ARCH_APPLE || COMPILE_TEST
741	select GENERIC_IRQ_IPI_MUX
742	help
743	  Support for the Apple Interrupt Controller found on Apple Silicon SoCs,
744	  such as the M1.
745
746config MCHP_EIC
747	bool "Microchip External Interrupt Controller"
748	depends on ARCH_AT91 || COMPILE_TEST
749	select IRQ_DOMAIN
750	select IRQ_DOMAIN_HIERARCHY
751	help
752	  Support for Microchip External Interrupt Controller.
753
754config SUNPLUS_SP7021_INTC
755	bool "Sunplus SP7021 interrupt controller" if COMPILE_TEST
756	default SOC_SP7021
757	help
758	  Support for the Sunplus SP7021 Interrupt Controller IP core.
759	  SP7021 SoC has 2 Chips: C-Chip & P-Chip. This is used as a
760	  chained controller, routing all interrupt source in P-Chip to
761	  the primary controller on C-Chip.
762
763endmenu
764