Kconfig 10.1 KB
Newer Older
1
# SPDX-License-Identifier: GPL-2.0-only
Randy Dunlap's avatar
Randy Dunlap committed
2 3
menu "IRQ chip support"

4 5 6 7
config IRQCHIP
	def_bool y
	depends on OF_IRQ

8 9
config ARM_GIC
	bool
10
	select IRQ_DOMAIN_HIERARCHY
11
	select GENERIC_IRQ_MULTI_HANDLER
12
	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
13

14 15 16 17 18 19
config ARM_GIC_PM
	bool
	depends on PM
	select ARM_GIC
	select PM_CLK

20 21
config ARM_GIC_MAX_NR
	int
22
	depends on ARM_GIC
23 24 25
	default 2 if ARCH_REALVIEW
	default 1

26 27
config ARM_GIC_V2M
	bool
28 29 30
	depends on PCI
	select ARM_GIC
	select PCI_MSI
31

32 33 34
config GIC_NON_BANKED
	bool

35 36
config ARM_GIC_V3
	bool
37
	select GENERIC_IRQ_MULTI_HANDLER
38
	select IRQ_DOMAIN_HIERARCHY
39
	select PARTITION_PERCPU
40
	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
41

42 43
config ARM_GIC_V3_ITS
	bool
44 45 46 47 48 49
	select GENERIC_MSI_IRQ_DOMAIN
	default ARM_GIC_V3

config ARM_GIC_V3_ITS_PCI
	bool
	depends on ARM_GIC_V3_ITS
50 51
	depends on PCI
	depends on PCI_MSI
52
	default ARM_GIC_V3_ITS
53

54 55 56 57 58 59
config ARM_GIC_V3_ITS_FSL_MC
	bool
	depends on ARM_GIC_V3_ITS
	depends on FSL_MC_BUS
	default ARM_GIC_V3_ITS

60 61
config ARM_NVIC
	bool
62
	select IRQ_DOMAIN_HIERARCHY
63 64
	select GENERIC_IRQ_CHIP

65 66 67
config ARM_VIC
	bool
	select IRQ_DOMAIN
68
	select GENERIC_IRQ_MULTI_HANDLER
69 70 71 72 73 74 75 76 77 78

config ARM_VIC_NR
	int
	default 4 if ARCH_S5PV210
	default 2
	depends on ARM_VIC
	help
	  The maximum number of VICs available in the system, for
	  power management.

79 80 81
config ARMADA_370_XP_IRQ
	bool
	select GENERIC_IRQ_CHIP
82
	select PCI_MSI if PCI
83
	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
84

85 86
config ALPINE_MSI
	bool
87 88
	depends on PCI
	select PCI_MSI
89 90
	select GENERIC_IRQ_CHIP

91 92 93 94 95 96 97 98
config AL_FIC
	bool "Amazon's Annapurna Labs Fabric Interrupt Controller"
	depends on OF || COMPILE_TEST
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN
	help
	  Support Amazon's Annapurna Labs Fabric Interrupt Controller.

99 100 101 102
config ATMEL_AIC_IRQ
	bool
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN
103
	select GENERIC_IRQ_MULTI_HANDLER
104 105 106 107 108 109
	select SPARSE_IRQ

config ATMEL_AIC5_IRQ
	bool
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN
110
	select GENERIC_IRQ_MULTI_HANDLER
111 112
	select SPARSE_IRQ

113 114 115 116
config I8259
	bool
	select IRQ_DOMAIN

117 118 119 120
config BCM6345_L1_IRQ
	bool
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN
121
	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
122

123 124 125 126
config BCM7038_L1_IRQ
	bool
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN
127
	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
128

129 130 131 132 133
config BCM7120_L2_IRQ
	bool
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN

134 135 136 137 138
config BRCMSTB_L2_IRQ
	bool
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN

139 140 141 142 143
config DAVINCI_AINTC
	bool
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN

144 145 146 147 148
config DAVINCI_CP_INTC
	bool
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN

149 150
config DW_APB_ICTL
	bool
151
	select GENERIC_IRQ_CHIP
152 153
	select IRQ_DOMAIN

154 155 156
config FARADAY_FTINTC010
	bool
	select IRQ_DOMAIN
157
	select GENERIC_IRQ_MULTI_HANDLER
158 159
	select SPARSE_IRQ

160 161 162 163 164
config HISILICON_IRQ_MBIGEN
	bool
	select ARM_GIC_V3
	select ARM_GIC_V3_ITS

165 166 167 168 169
config IMGPDC_IRQ
	bool
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN

170 171 172 173 174 175
config IXP4XX_IRQ
	bool
	select IRQ_DOMAIN
	select GENERIC_IRQ_MULTI_HANDLER
	select SPARSE_IRQ

176 177 178
config MADERA_IRQ
	tristate

179 180 181
config IRQ_MIPS_CPU
	bool
	select GENERIC_IRQ_CHIP
182
	select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING
183
	select IRQ_DOMAIN
184
	select IRQ_DOMAIN_HIERARCHY if GENERIC_IRQ_IPI
185
	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
186

187 188 189 190
config CLPS711X_IRQCHIP
	bool
	depends on ARCH_CLPS711X
	select IRQ_DOMAIN
191
	select GENERIC_IRQ_MULTI_HANDLER
192 193 194
	select SPARSE_IRQ
	default y

195 196 197
config OMPIC
	bool

198 199 200 201
config OR1K_PIC
	bool
	select IRQ_DOMAIN

202 203 204 205 206
config OMAP_IRQCHIP
	bool
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN

207 208 209
config ORION_IRQCHIP
	bool
	select IRQ_DOMAIN
210
	select GENERIC_IRQ_MULTI_HANDLER
211

212 213 214 215 216
config PIC32_EVIC
	bool
	select GENERIC_IRQ_CHIP
	select IRQ_DOMAIN

217
config JCORE_AIC
218 219
	bool "J-Core integrated AIC" if COMPILE_TEST
	depends on OF
220 221 222 223
	select IRQ_DOMAIN
	help
	  Support for the J-Core integrated AIC.

224 225 226 227
config RDA_INTC
	bool
	select IRQ_DOMAIN

228
config RENESAS_INTC_IRQPIN
229
	bool "Renesas INTC External IRQ Pin Support" if COMPILE_TEST
230
	select IRQ_DOMAIN
231 232 233
	help
	  Enable support for the Renesas Interrupt Controller for external
	  interrupt pins, as found on SH/R-Mobile and R-Car Gen1 SoCs.
234

Magnus Damm's avatar
Magnus Damm committed
235
config RENESAS_IRQC
236
	bool "Renesas R-Mobile APE6 and R-Car IRQC support" if COMPILE_TEST
237
	select GENERIC_IRQ_CHIP
Magnus Damm's avatar
Magnus Damm committed
238
	select IRQ_DOMAIN
239 240 241
	help
	  Enable support for the Renesas Interrupt Controller for external
	  devices, as found on R-Mobile APE6, R-Car Gen2, and R-Car Gen3 SoCs.
Magnus Damm's avatar
Magnus Damm committed
242

243
config RENESAS_RZA1_IRQC
244
	bool "Renesas RZ/A1 IRQC support" if COMPILE_TEST
245
	select IRQ_DOMAIN_HIERARCHY
246 247 248
	help
	  Enable support for the Renesas RZ/A1 Interrupt Controller, to use up
	  to 8 external interrupts with configurable sense select.
249

250 251 252 253 254 255 256
config ST_IRQCHIP
	bool
	select REGMAP
	select MFD_SYSCON
	help
	  Enables SysCfg Controlled IRQs on STi based platforms.

257 258 259 260 261
config TANGO_IRQ
	bool
	select IRQ_DOMAIN
	select GENERIC_IRQ_CHIP

262 263 264 265 266
config TB10X_IRQC
	bool
	select IRQ_DOMAIN
	select GENERIC_IRQ_CHIP

267 268 269
config TS4800_IRQ
	tristate "TS-4800 IRQ controller"
	select IRQ_DOMAIN
270
	depends on HAS_IOMEM
271
	depends on SOC_IMX51 || COMPILE_TEST
272 273 274
	help
	  Support for the TS-4800 FPGA IRQ controller

275 276 277 278 279 280 281 282
config VERSATILE_FPGA_IRQ
	bool
	select IRQ_DOMAIN

config VERSATILE_FPGA_IRQ_NR
       int
       default 4
       depends on VERSATILE_FPGA_IRQ
Max Filippov's avatar
Max Filippov committed
283 284 285 286

config XTENSA_MX
	bool
	select IRQ_DOMAIN
287
	select GENERIC_IRQ_EFFECTIVE_AFF_MASK
288

289 290 291 292
config XILINX_INTC
	bool
	select IRQ_DOMAIN

293 294 295
config IRQ_CROSSBAR
	bool
	help
296
	  Support for a CROSSBAR ip that precedes the main interrupt controller.
297 298 299
	  The primary irqchip invokes the crossbar's callback which inturn allocates
	  a free irq and configures the IP. Thus the peripheral interrupts are
	  routed to one of the free irqchip interrupt lines.
300 301 302 303 304 305 306

config KEYSTONE_IRQ
	tristate "Keystone 2 IRQ controller IP"
	depends on ARCH_KEYSTONE
	help
		Support for Texas Instruments Keystone 2 IRQ controller IP which
		is part of the Keystone 2 IPC mechanism
307 308 309

config MIPS_GIC
	bool
310
	select GENERIC_IRQ_IPI
311
	select IRQ_DOMAIN_HIERARCHY
312
	select MIPS_CM
Yoshinori Sato's avatar
Yoshinori Sato committed
313

314 315 316 317
config INGENIC_IRQ
	bool
	depends on MACH_INGENIC
	default y
318

Yoshinori Sato's avatar
Yoshinori Sato committed
319 320 321 322 323
config RENESAS_H8300H_INTC
        bool
	select IRQ_DOMAIN

config RENESAS_H8S_INTC
324
	bool "Renesas H8S Interrupt Controller Support" if COMPILE_TEST
325
	select IRQ_DOMAIN
326 327 328
	help
	  Enable support for the Renesas H8/300 Interrupt Controller, as found
	  on Renesas H8S SoCs.
329 330 331 332 333 334

config IMX_GPCV2
	bool
	select IRQ_DOMAIN
	help
	  Enables the wakeup IRQs for IMX platforms with GPCv2 block
335 336 337 338 339

config IRQ_MXS
	def_bool y if MACH_ASM9260 || ARCH_MXS
	select IRQ_DOMAIN
	select STMP_DEVICE
340

341 342 343 344 345
config MSCC_OCELOT_IRQ
	bool
	select IRQ_DOMAIN
	select GENERIC_IRQ_CHIP

346 347 348
config MVEBU_GICP
	bool

349 350 351
config MVEBU_ICU
	bool

352 353
config MVEBU_ODMI
	bool
354
	select GENERIC_MSI_IRQ_DOMAIN
355

356 357 358
config MVEBU_PIC
	bool

359 360 361
config MVEBU_SEI
        bool

362 363 364 365
config LS_SCFG_MSI
	def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
	depends on PCI && PCI_MSI

366 367
config PARTITION_PERCPU
	bool
368

369 370
config EZNPS_GIC
	bool "NPS400 Global Interrupt Manager (GIM)"
371
	depends on ARC || (COMPILE_TEST && !64BIT)
372 373 374
	select IRQ_DOMAIN
	help
	  Support the EZchip NPS400 global interrupt controller
375 376 377 378

config STM32_EXTI
	bool
	select IRQ_DOMAIN
379
	select GENERIC_IRQ_CHIP
380 381 382 383 384 385 386 387

config QCOM_IRQ_COMBINER
	bool "QCOM IRQ combiner support"
	depends on ARCH_QCOM && ACPI
	select IRQ_DOMAIN_HIERARCHY
	help
	  Say yes here to add support for the IRQ combiner devices embedded
	  in Qualcomm Technologies chips.
388 389 390 391 392 393 394 395

config IRQ_UNIPHIER_AIDET
	bool "UniPhier AIDET support" if COMPILE_TEST
	depends on ARCH_UNIPHIER || COMPILE_TEST
	default ARCH_UNIPHIER
	select IRQ_DOMAIN_HIERARCHY
	help
	  Support for the UniPhier AIDET (ARM Interrupt Detector).
Randy Dunlap's avatar
Randy Dunlap committed
396

397 398
config MESON_IRQ_GPIO
       bool "Meson GPIO Interrupt Multiplexer"
399
       depends on ARCH_MESON
400 401 402 403
       select IRQ_DOMAIN_HIERARCHY
       help
         Support Meson SoC Family GPIO Interrupt Multiplexer

404 405 406 407 408 409 410 411
config GOLDFISH_PIC
       bool "Goldfish programmable interrupt controller"
       depends on MIPS && (GOLDFISH || COMPILE_TEST)
       select IRQ_DOMAIN
       help
         Say yes here to enable Goldfish interrupt controller driver used
         for Goldfish based virtual platforms.

412 413 414 415 416 417 418 419
config QCOM_PDC
	bool "QCOM PDC"
	depends on ARCH_QCOM
	select IRQ_DOMAIN_HIERARCHY
	help
	  Power Domain Controller driver to manage and configure wakeup
	  IRQs for Qualcomm Technologies Inc (QTI) mobile chips.

420 421 422 423 424 425 426 427 428
config CSKY_MPINTC
	bool "C-SKY Multi Processor Interrupt Controller"
	depends on CSKY
	help
	  Say yes here to enable C-SKY SMP interrupt controller driver used
	  for C-SKY SMP system.
	  In fact it's not mmio map in hw and it use ld/st to visit the
	  controller's register inside CPU.

429 430 431 432 433 434 435 436
config CSKY_APB_INTC
	bool "C-SKY APB Interrupt Controller"
	depends on CSKY
	help
	  Say yes here to enable C-SKY APB interrupt controller driver used
	  by C-SKY single core SOC system. It use mmio map apb-bus to visit
	  the controller's register.

437 438 439 440 441 442 443 444
config IMX_IRQSTEER
	bool "i.MX IRQSTEER support"
	depends on ARCH_MXC || COMPILE_TEST
	default ARCH_MXC
	select IRQ_DOMAIN
	help
	  Support for the i.MX IRQSTEER interrupt multiplexer/remapper.

445 446 447 448 449 450 451 452 453
config LS1X_IRQ
	bool "Loongson-1 Interrupt Controller"
	depends on MACH_LOONGSON32
	default y
	select IRQ_DOMAIN
	select GENERIC_IRQ_CHIP
	help
	  Support for the Loongson-1 platform Interrupt Controller.

454 455 456 457 458 459 460 461 462 463
config TI_SCI_INTR_IRQCHIP
	bool
	depends on TI_SCI_PROTOCOL
	select IRQ_DOMAIN_HIERARCHY
	help
	  This enables the irqchip driver support for K3 Interrupt router
	  over TI System Control Interface available on some new TI's SoCs.
	  If you wish to use interrupt router irq resources managed by the
	  TI System Controller, say Y here. Otherwise, say N.

464 465 466 467
config TI_SCI_INTA_IRQCHIP
	bool
	depends on TI_SCI_PROTOCOL
	select IRQ_DOMAIN_HIERARCHY
468
	select TI_SCI_INTA_MSI_DOMAIN
469 470 471 472 473 474
	help
	  This enables the irqchip driver support for K3 Interrupt aggregator
	  over TI System Control Interface available on some new TI's SoCs.
	  If you wish to use interrupt aggregator irq resources managed by the
	  TI System Controller, say Y here. Otherwise, say N.

Randy Dunlap's avatar
Randy Dunlap committed
475
endmenu
476 477 478 479 480 481 482 483 484 485 486 487

config SIFIVE_PLIC
	bool "SiFive Platform-Level Interrupt Controller"
	depends on RISCV
	help
	   This enables support for the PLIC chip found in SiFive (and
	   potentially other) RISC-V systems.  The PLIC controls devices
	   interrupts and connects them to each core's local interrupt
	   controller.  Aside from timer and software interrupts, all other
	   interrupt sources are subordinate to the PLIC.

	   If you don't know what to do here, say Y.