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