162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenu "IRQ chip support"
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciconfig IRQCHIP
562306a36Sopenharmony_ci	def_bool y
662306a36Sopenharmony_ci	depends on (OF_IRQ || ACPI_GENERIC_GSI)
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciconfig ARM_GIC
962306a36Sopenharmony_ci	bool
1062306a36Sopenharmony_ci	depends on OF
1162306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
1262306a36Sopenharmony_ci	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciconfig ARM_GIC_PM
1562306a36Sopenharmony_ci	bool
1662306a36Sopenharmony_ci	depends on PM
1762306a36Sopenharmony_ci	select ARM_GIC
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig ARM_GIC_MAX_NR
2062306a36Sopenharmony_ci	int
2162306a36Sopenharmony_ci	depends on ARM_GIC
2262306a36Sopenharmony_ci	default 2 if ARCH_REALVIEW
2362306a36Sopenharmony_ci	default 1
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciconfig ARM_GIC_V2M
2662306a36Sopenharmony_ci	bool
2762306a36Sopenharmony_ci	depends on PCI
2862306a36Sopenharmony_ci	select ARM_GIC
2962306a36Sopenharmony_ci	select PCI_MSI
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciconfig GIC_NON_BANKED
3262306a36Sopenharmony_ci	bool
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciconfig ARM_GIC_V3
3562306a36Sopenharmony_ci	bool
3662306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
3762306a36Sopenharmony_ci	select PARTITION_PERCPU
3862306a36Sopenharmony_ci	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
3962306a36Sopenharmony_ci	select HAVE_ARM_SMCCC_DISCOVERY
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciconfig ARM_GIC_V3_ITS
4262306a36Sopenharmony_ci	bool
4362306a36Sopenharmony_ci	select GENERIC_MSI_IRQ
4462306a36Sopenharmony_ci	default ARM_GIC_V3
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ciconfig ARM_GIC_V3_ITS_PCI
4762306a36Sopenharmony_ci	bool
4862306a36Sopenharmony_ci	depends on ARM_GIC_V3_ITS
4962306a36Sopenharmony_ci	depends on PCI
5062306a36Sopenharmony_ci	depends on PCI_MSI
5162306a36Sopenharmony_ci	default ARM_GIC_V3_ITS
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciconfig ARM_GIC_V3_ITS_FSL_MC
5462306a36Sopenharmony_ci	bool
5562306a36Sopenharmony_ci	depends on ARM_GIC_V3_ITS
5662306a36Sopenharmony_ci	depends on FSL_MC_BUS
5762306a36Sopenharmony_ci	default ARM_GIC_V3_ITS
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciconfig ARM_NVIC
6062306a36Sopenharmony_ci	bool
6162306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
6262306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciconfig ARM_VIC
6562306a36Sopenharmony_ci	bool
6662306a36Sopenharmony_ci	select IRQ_DOMAIN
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ciconfig ARM_VIC_NR
6962306a36Sopenharmony_ci	int
7062306a36Sopenharmony_ci	default 4 if ARCH_S5PV210
7162306a36Sopenharmony_ci	default 2
7262306a36Sopenharmony_ci	depends on ARM_VIC
7362306a36Sopenharmony_ci	help
7462306a36Sopenharmony_ci	  The maximum number of VICs available in the system, for
7562306a36Sopenharmony_ci	  power management.
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ciconfig ARMADA_370_XP_IRQ
7862306a36Sopenharmony_ci	bool
7962306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
8062306a36Sopenharmony_ci	select PCI_MSI if PCI
8162306a36Sopenharmony_ci	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ciconfig ALPINE_MSI
8462306a36Sopenharmony_ci	bool
8562306a36Sopenharmony_ci	depends on PCI
8662306a36Sopenharmony_ci	select PCI_MSI
8762306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ciconfig AL_FIC
9062306a36Sopenharmony_ci	bool "Amazon's Annapurna Labs Fabric Interrupt Controller"
9162306a36Sopenharmony_ci	depends on OF
9262306a36Sopenharmony_ci	depends on HAS_IOMEM
9362306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
9462306a36Sopenharmony_ci	select IRQ_DOMAIN
9562306a36Sopenharmony_ci	help
9662306a36Sopenharmony_ci	  Support Amazon's Annapurna Labs Fabric Interrupt Controller.
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ciconfig ATMEL_AIC_IRQ
9962306a36Sopenharmony_ci	bool
10062306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
10162306a36Sopenharmony_ci	select IRQ_DOMAIN
10262306a36Sopenharmony_ci	select SPARSE_IRQ
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ciconfig ATMEL_AIC5_IRQ
10562306a36Sopenharmony_ci	bool
10662306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
10762306a36Sopenharmony_ci	select IRQ_DOMAIN
10862306a36Sopenharmony_ci	select SPARSE_IRQ
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ciconfig I8259
11162306a36Sopenharmony_ci	bool
11262306a36Sopenharmony_ci	select IRQ_DOMAIN
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ciconfig BCM6345_L1_IRQ
11562306a36Sopenharmony_ci	bool
11662306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
11762306a36Sopenharmony_ci	select IRQ_DOMAIN
11862306a36Sopenharmony_ci	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ciconfig BCM7038_L1_IRQ
12162306a36Sopenharmony_ci	tristate "Broadcom STB 7038-style L1/L2 interrupt controller driver"
12262306a36Sopenharmony_ci	depends on ARCH_BRCMSTB || BMIPS_GENERIC
12362306a36Sopenharmony_ci	default ARCH_BRCMSTB || BMIPS_GENERIC
12462306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
12562306a36Sopenharmony_ci	select IRQ_DOMAIN
12662306a36Sopenharmony_ci	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ciconfig BCM7120_L2_IRQ
12962306a36Sopenharmony_ci	tristate "Broadcom STB 7120-style L2 interrupt controller driver"
13062306a36Sopenharmony_ci	depends on ARCH_BRCMSTB || BMIPS_GENERIC
13162306a36Sopenharmony_ci	default ARCH_BRCMSTB || BMIPS_GENERIC
13262306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
13362306a36Sopenharmony_ci	select IRQ_DOMAIN
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ciconfig BRCMSTB_L2_IRQ
13662306a36Sopenharmony_ci	tristate "Broadcom STB generic L2 interrupt controller driver"
13762306a36Sopenharmony_ci	depends on ARCH_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC
13862306a36Sopenharmony_ci	default ARCH_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC
13962306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
14062306a36Sopenharmony_ci	select IRQ_DOMAIN
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ciconfig DAVINCI_CP_INTC
14362306a36Sopenharmony_ci	bool
14462306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
14562306a36Sopenharmony_ci	select IRQ_DOMAIN
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ciconfig DW_APB_ICTL
14862306a36Sopenharmony_ci	bool
14962306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
15062306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ciconfig FARADAY_FTINTC010
15362306a36Sopenharmony_ci	bool
15462306a36Sopenharmony_ci	select IRQ_DOMAIN
15562306a36Sopenharmony_ci	select SPARSE_IRQ
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ciconfig HISILICON_IRQ_MBIGEN
15862306a36Sopenharmony_ci	bool
15962306a36Sopenharmony_ci	select ARM_GIC_V3
16062306a36Sopenharmony_ci	select ARM_GIC_V3_ITS
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ciconfig IMGPDC_IRQ
16362306a36Sopenharmony_ci	bool
16462306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
16562306a36Sopenharmony_ci	select IRQ_DOMAIN
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ciconfig IXP4XX_IRQ
16862306a36Sopenharmony_ci	bool
16962306a36Sopenharmony_ci	select IRQ_DOMAIN
17062306a36Sopenharmony_ci	select SPARSE_IRQ
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ciconfig MADERA_IRQ
17362306a36Sopenharmony_ci	tristate
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ciconfig IRQ_MIPS_CPU
17662306a36Sopenharmony_ci	bool
17762306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
17862306a36Sopenharmony_ci	select GENERIC_IRQ_IPI if SMP && SYS_SUPPORTS_MULTITHREADING
17962306a36Sopenharmony_ci	select IRQ_DOMAIN
18062306a36Sopenharmony_ci	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ciconfig CLPS711X_IRQCHIP
18362306a36Sopenharmony_ci	bool
18462306a36Sopenharmony_ci	depends on ARCH_CLPS711X
18562306a36Sopenharmony_ci	select IRQ_DOMAIN
18662306a36Sopenharmony_ci	select SPARSE_IRQ
18762306a36Sopenharmony_ci	default y
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ciconfig OMPIC
19062306a36Sopenharmony_ci	bool
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ciconfig OR1K_PIC
19362306a36Sopenharmony_ci	bool
19462306a36Sopenharmony_ci	select IRQ_DOMAIN
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ciconfig OMAP_IRQCHIP
19762306a36Sopenharmony_ci	bool
19862306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
19962306a36Sopenharmony_ci	select IRQ_DOMAIN
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ciconfig ORION_IRQCHIP
20262306a36Sopenharmony_ci	bool
20362306a36Sopenharmony_ci	select IRQ_DOMAIN
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ciconfig PIC32_EVIC
20662306a36Sopenharmony_ci	bool
20762306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
20862306a36Sopenharmony_ci	select IRQ_DOMAIN
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ciconfig JCORE_AIC
21162306a36Sopenharmony_ci	bool "J-Core integrated AIC" if COMPILE_TEST
21262306a36Sopenharmony_ci	depends on OF
21362306a36Sopenharmony_ci	select IRQ_DOMAIN
21462306a36Sopenharmony_ci	help
21562306a36Sopenharmony_ci	  Support for the J-Core integrated AIC.
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ciconfig RDA_INTC
21862306a36Sopenharmony_ci	bool
21962306a36Sopenharmony_ci	select IRQ_DOMAIN
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ciconfig RENESAS_INTC_IRQPIN
22262306a36Sopenharmony_ci	bool "Renesas INTC External IRQ Pin Support" if COMPILE_TEST
22362306a36Sopenharmony_ci	select IRQ_DOMAIN
22462306a36Sopenharmony_ci	help
22562306a36Sopenharmony_ci	  Enable support for the Renesas Interrupt Controller for external
22662306a36Sopenharmony_ci	  interrupt pins, as found on SH/R-Mobile and R-Car Gen1 SoCs.
22762306a36Sopenharmony_ci
22862306a36Sopenharmony_ciconfig RENESAS_IRQC
22962306a36Sopenharmony_ci	bool "Renesas R-Mobile APE6, R-Car Gen{2,3} and RZ/G{1,2} IRQC support" if COMPILE_TEST
23062306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
23162306a36Sopenharmony_ci	select IRQ_DOMAIN
23262306a36Sopenharmony_ci	help
23362306a36Sopenharmony_ci	  Enable support for the Renesas Interrupt Controller for external
23462306a36Sopenharmony_ci	  devices, as found on R-Mobile APE6, R-Car Gen{2,3} and RZ/G{1,2} SoCs.
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ciconfig RENESAS_RZA1_IRQC
23762306a36Sopenharmony_ci	bool "Renesas RZ/A1 IRQC support" if COMPILE_TEST
23862306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
23962306a36Sopenharmony_ci	help
24062306a36Sopenharmony_ci	  Enable support for the Renesas RZ/A1 Interrupt Controller, to use up
24162306a36Sopenharmony_ci	  to 8 external interrupts with configurable sense select.
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ciconfig RENESAS_RZG2L_IRQC
24462306a36Sopenharmony_ci	bool "Renesas RZ/G2L (and alike SoC) IRQC support" if COMPILE_TEST
24562306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
24662306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
24762306a36Sopenharmony_ci	help
24862306a36Sopenharmony_ci	  Enable support for the Renesas RZ/G2L (and alike SoC) Interrupt Controller
24962306a36Sopenharmony_ci	  for external devices.
25062306a36Sopenharmony_ci
25162306a36Sopenharmony_ciconfig SL28CPLD_INTC
25262306a36Sopenharmony_ci	bool "Kontron sl28cpld IRQ controller"
25362306a36Sopenharmony_ci	depends on MFD_SL28CPLD=y || COMPILE_TEST
25462306a36Sopenharmony_ci	select REGMAP_IRQ
25562306a36Sopenharmony_ci	help
25662306a36Sopenharmony_ci	  Interrupt controller driver for the board management controller
25762306a36Sopenharmony_ci	  found on the Kontron sl28 CPLD.
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ciconfig ST_IRQCHIP
26062306a36Sopenharmony_ci	bool
26162306a36Sopenharmony_ci	select REGMAP
26262306a36Sopenharmony_ci	select MFD_SYSCON
26362306a36Sopenharmony_ci	help
26462306a36Sopenharmony_ci	  Enables SysCfg Controlled IRQs on STi based platforms.
26562306a36Sopenharmony_ci
26662306a36Sopenharmony_ciconfig SUN4I_INTC
26762306a36Sopenharmony_ci	bool
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ciconfig SUN6I_R_INTC
27062306a36Sopenharmony_ci	bool
27162306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
27262306a36Sopenharmony_ci	select IRQ_FASTEOI_HIERARCHY_HANDLERS
27362306a36Sopenharmony_ci
27462306a36Sopenharmony_ciconfig SUNXI_NMI_INTC
27562306a36Sopenharmony_ci	bool
27662306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ciconfig TB10X_IRQC
27962306a36Sopenharmony_ci	bool
28062306a36Sopenharmony_ci	select IRQ_DOMAIN
28162306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
28262306a36Sopenharmony_ci
28362306a36Sopenharmony_ciconfig TS4800_IRQ
28462306a36Sopenharmony_ci	tristate "TS-4800 IRQ controller"
28562306a36Sopenharmony_ci	select IRQ_DOMAIN
28662306a36Sopenharmony_ci	depends on HAS_IOMEM
28762306a36Sopenharmony_ci	depends on SOC_IMX51 || COMPILE_TEST
28862306a36Sopenharmony_ci	help
28962306a36Sopenharmony_ci	  Support for the TS-4800 FPGA IRQ controller
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ciconfig VERSATILE_FPGA_IRQ
29262306a36Sopenharmony_ci	bool
29362306a36Sopenharmony_ci	select IRQ_DOMAIN
29462306a36Sopenharmony_ci
29562306a36Sopenharmony_ciconfig VERSATILE_FPGA_IRQ_NR
29662306a36Sopenharmony_ci       int
29762306a36Sopenharmony_ci       default 4
29862306a36Sopenharmony_ci       depends on VERSATILE_FPGA_IRQ
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ciconfig XTENSA_MX
30162306a36Sopenharmony_ci	bool
30262306a36Sopenharmony_ci	select IRQ_DOMAIN
30362306a36Sopenharmony_ci	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_ciconfig XILINX_INTC
30662306a36Sopenharmony_ci	bool "Xilinx Interrupt Controller IP"
30762306a36Sopenharmony_ci	depends on OF_ADDRESS
30862306a36Sopenharmony_ci	select IRQ_DOMAIN
30962306a36Sopenharmony_ci	help
31062306a36Sopenharmony_ci	  Support for the Xilinx Interrupt Controller IP core.
31162306a36Sopenharmony_ci	  This is used as a primary controller with MicroBlaze and can also
31262306a36Sopenharmony_ci	  be used as a secondary chained controller on other platforms.
31362306a36Sopenharmony_ci
31462306a36Sopenharmony_ciconfig IRQ_CROSSBAR
31562306a36Sopenharmony_ci	bool
31662306a36Sopenharmony_ci	help
31762306a36Sopenharmony_ci	  Support for a CROSSBAR ip that precedes the main interrupt controller.
31862306a36Sopenharmony_ci	  The primary irqchip invokes the crossbar's callback which inturn allocates
31962306a36Sopenharmony_ci	  a free irq and configures the IP. Thus the peripheral interrupts are
32062306a36Sopenharmony_ci	  routed to one of the free irqchip interrupt lines.
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_ciconfig KEYSTONE_IRQ
32362306a36Sopenharmony_ci	tristate "Keystone 2 IRQ controller IP"
32462306a36Sopenharmony_ci	depends on ARCH_KEYSTONE
32562306a36Sopenharmony_ci	help
32662306a36Sopenharmony_ci		Support for Texas Instruments Keystone 2 IRQ controller IP which
32762306a36Sopenharmony_ci		is part of the Keystone 2 IPC mechanism
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ciconfig MIPS_GIC
33062306a36Sopenharmony_ci	bool
33162306a36Sopenharmony_ci	select GENERIC_IRQ_IPI if SMP
33262306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
33362306a36Sopenharmony_ci	select MIPS_CM
33462306a36Sopenharmony_ci
33562306a36Sopenharmony_ciconfig INGENIC_IRQ
33662306a36Sopenharmony_ci	bool
33762306a36Sopenharmony_ci	depends on MACH_INGENIC
33862306a36Sopenharmony_ci	default y
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ciconfig INGENIC_TCU_IRQ
34162306a36Sopenharmony_ci	bool "Ingenic JZ47xx TCU interrupt controller"
34262306a36Sopenharmony_ci	default MACH_INGENIC
34362306a36Sopenharmony_ci	depends on MIPS || COMPILE_TEST
34462306a36Sopenharmony_ci	select MFD_SYSCON
34562306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
34662306a36Sopenharmony_ci	help
34762306a36Sopenharmony_ci	  Support for interrupts in the Timer/Counter Unit (TCU) of the Ingenic
34862306a36Sopenharmony_ci	  JZ47xx SoCs.
34962306a36Sopenharmony_ci
35062306a36Sopenharmony_ci	  If unsure, say N.
35162306a36Sopenharmony_ci
35262306a36Sopenharmony_ciconfig IMX_GPCV2
35362306a36Sopenharmony_ci	bool
35462306a36Sopenharmony_ci	select IRQ_DOMAIN
35562306a36Sopenharmony_ci	help
35662306a36Sopenharmony_ci	  Enables the wakeup IRQs for IMX platforms with GPCv2 block
35762306a36Sopenharmony_ci
35862306a36Sopenharmony_ciconfig IRQ_MXS
35962306a36Sopenharmony_ci	def_bool y if MACH_ASM9260 || ARCH_MXS
36062306a36Sopenharmony_ci	select IRQ_DOMAIN
36162306a36Sopenharmony_ci	select STMP_DEVICE
36262306a36Sopenharmony_ci
36362306a36Sopenharmony_ciconfig MSCC_OCELOT_IRQ
36462306a36Sopenharmony_ci	bool
36562306a36Sopenharmony_ci	select IRQ_DOMAIN
36662306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
36762306a36Sopenharmony_ci
36862306a36Sopenharmony_ciconfig MVEBU_GICP
36962306a36Sopenharmony_ci	bool
37062306a36Sopenharmony_ci
37162306a36Sopenharmony_ciconfig MVEBU_ICU
37262306a36Sopenharmony_ci	bool
37362306a36Sopenharmony_ci
37462306a36Sopenharmony_ciconfig MVEBU_ODMI
37562306a36Sopenharmony_ci	bool
37662306a36Sopenharmony_ci	select GENERIC_MSI_IRQ
37762306a36Sopenharmony_ci
37862306a36Sopenharmony_ciconfig MVEBU_PIC
37962306a36Sopenharmony_ci	bool
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ciconfig MVEBU_SEI
38262306a36Sopenharmony_ci        bool
38362306a36Sopenharmony_ci
38462306a36Sopenharmony_ciconfig LS_EXTIRQ
38562306a36Sopenharmony_ci	def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
38662306a36Sopenharmony_ci	select MFD_SYSCON
38762306a36Sopenharmony_ci
38862306a36Sopenharmony_ciconfig LS_SCFG_MSI
38962306a36Sopenharmony_ci	def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
39062306a36Sopenharmony_ci	depends on PCI_MSI
39162306a36Sopenharmony_ci
39262306a36Sopenharmony_ciconfig PARTITION_PERCPU
39362306a36Sopenharmony_ci	bool
39462306a36Sopenharmony_ci
39562306a36Sopenharmony_ciconfig STM32_EXTI
39662306a36Sopenharmony_ci	bool
39762306a36Sopenharmony_ci	select IRQ_DOMAIN
39862306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
39962306a36Sopenharmony_ci
40062306a36Sopenharmony_ciconfig QCOM_IRQ_COMBINER
40162306a36Sopenharmony_ci	bool "QCOM IRQ combiner support"
40262306a36Sopenharmony_ci	depends on ARCH_QCOM && ACPI
40362306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
40462306a36Sopenharmony_ci	help
40562306a36Sopenharmony_ci	  Say yes here to add support for the IRQ combiner devices embedded
40662306a36Sopenharmony_ci	  in Qualcomm Technologies chips.
40762306a36Sopenharmony_ci
40862306a36Sopenharmony_ciconfig IRQ_UNIPHIER_AIDET
40962306a36Sopenharmony_ci	bool "UniPhier AIDET support" if COMPILE_TEST
41062306a36Sopenharmony_ci	depends on ARCH_UNIPHIER || COMPILE_TEST
41162306a36Sopenharmony_ci	default ARCH_UNIPHIER
41262306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
41362306a36Sopenharmony_ci	help
41462306a36Sopenharmony_ci	  Support for the UniPhier AIDET (ARM Interrupt Detector).
41562306a36Sopenharmony_ci
41662306a36Sopenharmony_ciconfig MESON_IRQ_GPIO
41762306a36Sopenharmony_ci       tristate "Meson GPIO Interrupt Multiplexer"
41862306a36Sopenharmony_ci       depends on ARCH_MESON || COMPILE_TEST
41962306a36Sopenharmony_ci       default ARCH_MESON
42062306a36Sopenharmony_ci       select IRQ_DOMAIN_HIERARCHY
42162306a36Sopenharmony_ci       help
42262306a36Sopenharmony_ci         Support Meson SoC Family GPIO Interrupt Multiplexer
42362306a36Sopenharmony_ci
42462306a36Sopenharmony_ciconfig GOLDFISH_PIC
42562306a36Sopenharmony_ci       bool "Goldfish programmable interrupt controller"
42662306a36Sopenharmony_ci       depends on MIPS && (GOLDFISH || COMPILE_TEST)
42762306a36Sopenharmony_ci       select GENERIC_IRQ_CHIP
42862306a36Sopenharmony_ci       select IRQ_DOMAIN
42962306a36Sopenharmony_ci       help
43062306a36Sopenharmony_ci         Say yes here to enable Goldfish interrupt controller driver used
43162306a36Sopenharmony_ci         for Goldfish based virtual platforms.
43262306a36Sopenharmony_ci
43362306a36Sopenharmony_ciconfig QCOM_PDC
43462306a36Sopenharmony_ci	tristate "QCOM PDC"
43562306a36Sopenharmony_ci	depends on ARCH_QCOM
43662306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
43762306a36Sopenharmony_ci	help
43862306a36Sopenharmony_ci	  Power Domain Controller driver to manage and configure wakeup
43962306a36Sopenharmony_ci	  IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
44062306a36Sopenharmony_ci
44162306a36Sopenharmony_ciconfig QCOM_MPM
44262306a36Sopenharmony_ci	tristate "QCOM MPM"
44362306a36Sopenharmony_ci	depends on ARCH_QCOM
44462306a36Sopenharmony_ci	depends on MAILBOX
44562306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
44662306a36Sopenharmony_ci	help
44762306a36Sopenharmony_ci	  MSM Power Manager driver to manage and configure wakeup
44862306a36Sopenharmony_ci	  IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
44962306a36Sopenharmony_ci
45062306a36Sopenharmony_ciconfig CSKY_MPINTC
45162306a36Sopenharmony_ci	bool
45262306a36Sopenharmony_ci	depends on CSKY
45362306a36Sopenharmony_ci	help
45462306a36Sopenharmony_ci	  Say yes here to enable C-SKY SMP interrupt controller driver used
45562306a36Sopenharmony_ci	  for C-SKY SMP system.
45662306a36Sopenharmony_ci	  In fact it's not mmio map in hardware and it uses ld/st to visit the
45762306a36Sopenharmony_ci	  controller's register inside CPU.
45862306a36Sopenharmony_ci
45962306a36Sopenharmony_ciconfig CSKY_APB_INTC
46062306a36Sopenharmony_ci	bool "C-SKY APB Interrupt Controller"
46162306a36Sopenharmony_ci	depends on CSKY
46262306a36Sopenharmony_ci	help
46362306a36Sopenharmony_ci	  Say yes here to enable C-SKY APB interrupt controller driver used
46462306a36Sopenharmony_ci	  by C-SKY single core SOC system. It uses mmio map apb-bus to visit
46562306a36Sopenharmony_ci	  the controller's register.
46662306a36Sopenharmony_ci
46762306a36Sopenharmony_ciconfig IMX_IRQSTEER
46862306a36Sopenharmony_ci	bool "i.MX IRQSTEER support"
46962306a36Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
47062306a36Sopenharmony_ci	default ARCH_MXC
47162306a36Sopenharmony_ci	select IRQ_DOMAIN
47262306a36Sopenharmony_ci	help
47362306a36Sopenharmony_ci	  Support for the i.MX IRQSTEER interrupt multiplexer/remapper.
47462306a36Sopenharmony_ci
47562306a36Sopenharmony_ciconfig IMX_INTMUX
47662306a36Sopenharmony_ci	bool "i.MX INTMUX support" if COMPILE_TEST
47762306a36Sopenharmony_ci	default y if ARCH_MXC
47862306a36Sopenharmony_ci	select IRQ_DOMAIN
47962306a36Sopenharmony_ci	help
48062306a36Sopenharmony_ci	  Support for the i.MX INTMUX interrupt multiplexer.
48162306a36Sopenharmony_ci
48262306a36Sopenharmony_ciconfig IMX_MU_MSI
48362306a36Sopenharmony_ci	tristate "i.MX MU used as MSI controller"
48462306a36Sopenharmony_ci	depends on OF && HAS_IOMEM
48562306a36Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
48662306a36Sopenharmony_ci	default m if ARCH_MXC
48762306a36Sopenharmony_ci	select IRQ_DOMAIN
48862306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
48962306a36Sopenharmony_ci	select GENERIC_MSI_IRQ
49062306a36Sopenharmony_ci	help
49162306a36Sopenharmony_ci	  Provide a driver for the i.MX Messaging Unit block used as a
49262306a36Sopenharmony_ci	  CPU-to-CPU MSI controller. This requires a specially crafted DT
49362306a36Sopenharmony_ci	  to make use of this driver.
49462306a36Sopenharmony_ci
49562306a36Sopenharmony_ci	  If unsure, say N
49662306a36Sopenharmony_ci
49762306a36Sopenharmony_ciconfig LS1X_IRQ
49862306a36Sopenharmony_ci	bool "Loongson-1 Interrupt Controller"
49962306a36Sopenharmony_ci	depends on MACH_LOONGSON32
50062306a36Sopenharmony_ci	default y
50162306a36Sopenharmony_ci	select IRQ_DOMAIN
50262306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
50362306a36Sopenharmony_ci	help
50462306a36Sopenharmony_ci	  Support for the Loongson-1 platform Interrupt Controller.
50562306a36Sopenharmony_ci
50662306a36Sopenharmony_ciconfig TI_SCI_INTR_IRQCHIP
50762306a36Sopenharmony_ci	bool
50862306a36Sopenharmony_ci	depends on TI_SCI_PROTOCOL
50962306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
51062306a36Sopenharmony_ci	help
51162306a36Sopenharmony_ci	  This enables the irqchip driver support for K3 Interrupt router
51262306a36Sopenharmony_ci	  over TI System Control Interface available on some new TI's SoCs.
51362306a36Sopenharmony_ci	  If you wish to use interrupt router irq resources managed by the
51462306a36Sopenharmony_ci	  TI System Controller, say Y here. Otherwise, say N.
51562306a36Sopenharmony_ci
51662306a36Sopenharmony_ciconfig TI_SCI_INTA_IRQCHIP
51762306a36Sopenharmony_ci	bool
51862306a36Sopenharmony_ci	depends on TI_SCI_PROTOCOL
51962306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
52062306a36Sopenharmony_ci	select TI_SCI_INTA_MSI_DOMAIN
52162306a36Sopenharmony_ci	help
52262306a36Sopenharmony_ci	  This enables the irqchip driver support for K3 Interrupt aggregator
52362306a36Sopenharmony_ci	  over TI System Control Interface available on some new TI's SoCs.
52462306a36Sopenharmony_ci	  If you wish to use interrupt aggregator irq resources managed by the
52562306a36Sopenharmony_ci	  TI System Controller, say Y here. Otherwise, say N.
52662306a36Sopenharmony_ci
52762306a36Sopenharmony_ciconfig TI_PRUSS_INTC
52862306a36Sopenharmony_ci	tristate
52962306a36Sopenharmony_ci	depends on TI_PRUSS
53062306a36Sopenharmony_ci	default TI_PRUSS
53162306a36Sopenharmony_ci	select IRQ_DOMAIN
53262306a36Sopenharmony_ci	help
53362306a36Sopenharmony_ci	  This enables support for the PRU-ICSS Local Interrupt Controller
53462306a36Sopenharmony_ci	  present within a PRU-ICSS subsystem present on various TI SoCs.
53562306a36Sopenharmony_ci	  The PRUSS INTC enables various interrupts to be routed to multiple
53662306a36Sopenharmony_ci	  different processors within the SoC.
53762306a36Sopenharmony_ci
53862306a36Sopenharmony_ciconfig RISCV_INTC
53962306a36Sopenharmony_ci	bool
54062306a36Sopenharmony_ci	depends on RISCV
54162306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
54262306a36Sopenharmony_ci
54362306a36Sopenharmony_ciconfig SIFIVE_PLIC
54462306a36Sopenharmony_ci	bool
54562306a36Sopenharmony_ci	depends on RISCV
54662306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
54762306a36Sopenharmony_ci	select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
54862306a36Sopenharmony_ci
54962306a36Sopenharmony_ciconfig EXYNOS_IRQ_COMBINER
55062306a36Sopenharmony_ci	bool "Samsung Exynos IRQ combiner support" if COMPILE_TEST
55162306a36Sopenharmony_ci	depends on (ARCH_EXYNOS && ARM) || COMPILE_TEST
55262306a36Sopenharmony_ci	help
55362306a36Sopenharmony_ci	  Say yes here to add support for the IRQ combiner devices embedded
55462306a36Sopenharmony_ci	  in Samsung Exynos chips.
55562306a36Sopenharmony_ci
55662306a36Sopenharmony_ciconfig IRQ_LOONGARCH_CPU
55762306a36Sopenharmony_ci	bool
55862306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
55962306a36Sopenharmony_ci	select IRQ_DOMAIN
56062306a36Sopenharmony_ci	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
56162306a36Sopenharmony_ci	select LOONGSON_HTVEC
56262306a36Sopenharmony_ci	select LOONGSON_LIOINTC
56362306a36Sopenharmony_ci	select LOONGSON_EIOINTC
56462306a36Sopenharmony_ci	select LOONGSON_PCH_PIC
56562306a36Sopenharmony_ci	select LOONGSON_PCH_MSI
56662306a36Sopenharmony_ci	select LOONGSON_PCH_LPC
56762306a36Sopenharmony_ci	help
56862306a36Sopenharmony_ci	  Support for the LoongArch CPU Interrupt Controller. For details of
56962306a36Sopenharmony_ci	  irq chip hierarchy on LoongArch platforms please read the document
57062306a36Sopenharmony_ci	  Documentation/arch/loongarch/irq-chip-model.rst.
57162306a36Sopenharmony_ci
57262306a36Sopenharmony_ciconfig LOONGSON_LIOINTC
57362306a36Sopenharmony_ci	bool "Loongson Local I/O Interrupt Controller"
57462306a36Sopenharmony_ci	depends on MACH_LOONGSON64
57562306a36Sopenharmony_ci	default y
57662306a36Sopenharmony_ci	select IRQ_DOMAIN
57762306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
57862306a36Sopenharmony_ci	help
57962306a36Sopenharmony_ci	  Support for the Loongson Local I/O Interrupt Controller.
58062306a36Sopenharmony_ci
58162306a36Sopenharmony_ciconfig LOONGSON_EIOINTC
58262306a36Sopenharmony_ci	bool "Loongson Extend I/O Interrupt Controller"
58362306a36Sopenharmony_ci	depends on LOONGARCH
58462306a36Sopenharmony_ci	depends on MACH_LOONGSON64
58562306a36Sopenharmony_ci	default MACH_LOONGSON64
58662306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
58762306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
58862306a36Sopenharmony_ci	help
58962306a36Sopenharmony_ci	  Support for the Loongson3 Extend I/O Interrupt Vector Controller.
59062306a36Sopenharmony_ci
59162306a36Sopenharmony_ciconfig LOONGSON_HTPIC
59262306a36Sopenharmony_ci	bool "Loongson3 HyperTransport PIC Controller"
59362306a36Sopenharmony_ci	depends on MACH_LOONGSON64 && MIPS
59462306a36Sopenharmony_ci	default y
59562306a36Sopenharmony_ci	select IRQ_DOMAIN
59662306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
59762306a36Sopenharmony_ci	help
59862306a36Sopenharmony_ci	  Support for the Loongson-3 HyperTransport PIC Controller.
59962306a36Sopenharmony_ci
60062306a36Sopenharmony_ciconfig LOONGSON_HTVEC
60162306a36Sopenharmony_ci	bool "Loongson HyperTransport Interrupt Vector Controller"
60262306a36Sopenharmony_ci	depends on MACH_LOONGSON64
60362306a36Sopenharmony_ci	default MACH_LOONGSON64
60462306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
60562306a36Sopenharmony_ci	help
60662306a36Sopenharmony_ci	  Support for the Loongson HyperTransport Interrupt Vector Controller.
60762306a36Sopenharmony_ci
60862306a36Sopenharmony_ciconfig LOONGSON_PCH_PIC
60962306a36Sopenharmony_ci	bool "Loongson PCH PIC Controller"
61062306a36Sopenharmony_ci	depends on MACH_LOONGSON64
61162306a36Sopenharmony_ci	default MACH_LOONGSON64
61262306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
61362306a36Sopenharmony_ci	select IRQ_FASTEOI_HIERARCHY_HANDLERS
61462306a36Sopenharmony_ci	help
61562306a36Sopenharmony_ci	  Support for the Loongson PCH PIC Controller.
61662306a36Sopenharmony_ci
61762306a36Sopenharmony_ciconfig LOONGSON_PCH_MSI
61862306a36Sopenharmony_ci	bool "Loongson PCH MSI Controller"
61962306a36Sopenharmony_ci	depends on MACH_LOONGSON64
62062306a36Sopenharmony_ci	depends on PCI
62162306a36Sopenharmony_ci	default MACH_LOONGSON64
62262306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
62362306a36Sopenharmony_ci	select PCI_MSI
62462306a36Sopenharmony_ci	help
62562306a36Sopenharmony_ci	  Support for the Loongson PCH MSI Controller.
62662306a36Sopenharmony_ci
62762306a36Sopenharmony_ciconfig LOONGSON_PCH_LPC
62862306a36Sopenharmony_ci	bool "Loongson PCH LPC Controller"
62962306a36Sopenharmony_ci	depends on LOONGARCH
63062306a36Sopenharmony_ci	depends on MACH_LOONGSON64
63162306a36Sopenharmony_ci	default MACH_LOONGSON64
63262306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
63362306a36Sopenharmony_ci	help
63462306a36Sopenharmony_ci	  Support for the Loongson PCH LPC Controller.
63562306a36Sopenharmony_ci
63662306a36Sopenharmony_ciconfig MST_IRQ
63762306a36Sopenharmony_ci	bool "MStar Interrupt Controller"
63862306a36Sopenharmony_ci	depends on ARCH_MEDIATEK || ARCH_MSTARV7 || COMPILE_TEST
63962306a36Sopenharmony_ci	default ARCH_MEDIATEK
64062306a36Sopenharmony_ci	select IRQ_DOMAIN
64162306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
64262306a36Sopenharmony_ci	help
64362306a36Sopenharmony_ci	  Support MStar Interrupt Controller.
64462306a36Sopenharmony_ci
64562306a36Sopenharmony_ciconfig WPCM450_AIC
64662306a36Sopenharmony_ci	bool "Nuvoton WPCM450 Advanced Interrupt Controller"
64762306a36Sopenharmony_ci	depends on ARCH_WPCM450
64862306a36Sopenharmony_ci	help
64962306a36Sopenharmony_ci	  Support for the interrupt controller in the Nuvoton WPCM450 BMC SoC.
65062306a36Sopenharmony_ci
65162306a36Sopenharmony_ciconfig IRQ_IDT3243X
65262306a36Sopenharmony_ci	bool
65362306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
65462306a36Sopenharmony_ci	select IRQ_DOMAIN
65562306a36Sopenharmony_ci
65662306a36Sopenharmony_ciconfig APPLE_AIC
65762306a36Sopenharmony_ci	bool "Apple Interrupt Controller (AIC)"
65862306a36Sopenharmony_ci	depends on ARM64
65962306a36Sopenharmony_ci	depends on ARCH_APPLE || COMPILE_TEST
66062306a36Sopenharmony_ci	select GENERIC_IRQ_IPI_MUX
66162306a36Sopenharmony_ci	help
66262306a36Sopenharmony_ci	  Support for the Apple Interrupt Controller found on Apple Silicon SoCs,
66362306a36Sopenharmony_ci	  such as the M1.
66462306a36Sopenharmony_ci
66562306a36Sopenharmony_ciconfig MCHP_EIC
66662306a36Sopenharmony_ci	bool "Microchip External Interrupt Controller"
66762306a36Sopenharmony_ci	depends on ARCH_AT91 || COMPILE_TEST
66862306a36Sopenharmony_ci	select IRQ_DOMAIN
66962306a36Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
67062306a36Sopenharmony_ci	help
67162306a36Sopenharmony_ci	  Support for Microchip External Interrupt Controller.
67262306a36Sopenharmony_ci
67362306a36Sopenharmony_ciconfig SUNPLUS_SP7021_INTC
67462306a36Sopenharmony_ci	bool "Sunplus SP7021 interrupt controller" if COMPILE_TEST
67562306a36Sopenharmony_ci	default SOC_SP7021
67662306a36Sopenharmony_ci	help
67762306a36Sopenharmony_ci	  Support for the Sunplus SP7021 Interrupt Controller IP core.
67862306a36Sopenharmony_ci	  SP7021 SoC has 2 Chips: C-Chip & P-Chip. This is used as a
67962306a36Sopenharmony_ci	  chained controller, routing all interrupt source in P-Chip to
68062306a36Sopenharmony_ci	  the primary controller on C-Chip.
68162306a36Sopenharmony_ci
68262306a36Sopenharmony_ciendmenu
683