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