blob: ea0eb82bf1d2ebb9b0045704cdf3748832363570 [file] [log] [blame]
Randy Dunlapc94fb632017-10-16 11:04:33 -07001menu "IRQ chip support"
2
Thomas Petazzonif6e916b2012-11-20 23:00:52 +01003config IRQCHIP
4 def_bool y
5 depends on OF_IRQ
6
Rob Herring81243e42012-11-20 21:21:40 -06007config ARM_GIC
8 bool
9 select IRQ_DOMAIN
Yingjoe Chen9a1091e2014-11-25 16:04:19 +080010 select IRQ_DOMAIN_HIERARCHY
Palmer Dabbelt4f7799d2018-06-22 10:01:26 -070011 select GENERIC_IRQ_MULTI_HANDLER
Marc Zyngier0c9e4982017-08-18 09:39:16 +010012 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
Rob Herring81243e42012-11-20 21:21:40 -060013
Jon Hunter9c8eddd2016-06-07 16:12:34 +010014config ARM_GIC_PM
15 bool
16 depends on PM
17 select ARM_GIC
18 select PM_CLK
19
Linus Walleija27d21e2015-12-18 10:44:53 +010020config ARM_GIC_MAX_NR
21 int
22 default 2 if ARCH_REALVIEW
23 default 1
24
Suravee Suthikulpanit853a33c2014-11-25 18:47:22 +000025config ARM_GIC_V2M
26 bool
Arnd Bergmann3ee803642016-06-15 15:47:33 -050027 depends on PCI
28 select ARM_GIC
29 select PCI_MSI
Suravee Suthikulpanit853a33c2014-11-25 18:47:22 +000030
Rob Herring81243e42012-11-20 21:21:40 -060031config GIC_NON_BANKED
32 bool
33
Marc Zyngier021f6532014-06-30 16:01:31 +010034config ARM_GIC_V3
35 bool
36 select IRQ_DOMAIN
Palmer Dabbelt4f7799d2018-06-22 10:01:26 -070037 select GENERIC_IRQ_MULTI_HANDLER
Marc Zyngier443acc42014-11-24 14:35:09 +000038 select IRQ_DOMAIN_HIERARCHY
Marc Zyngiere3825ba2016-04-11 09:57:54 +010039 select PARTITION_PERCPU
Marc Zyngier956ae912017-08-18 09:39:17 +010040 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
Marc Zyngier021f6532014-06-30 16:01:31 +010041
Marc Zyngier19812722014-11-24 14:35:19 +000042config ARM_GIC_V3_ITS
43 bool
Marc Zyngier29f41132017-11-13 17:25:59 +000044 select GENERIC_MSI_IRQ_DOMAIN
45 default ARM_GIC_V3
46
47config ARM_GIC_V3_ITS_PCI
48 bool
49 depends on ARM_GIC_V3_ITS
Arnd Bergmann3ee803642016-06-15 15:47:33 -050050 depends on PCI
51 depends on PCI_MSI
Marc Zyngier29f41132017-11-13 17:25:59 +000052 default ARM_GIC_V3_ITS
Uwe Kleine-König292ec082013-06-26 09:18:48 +020053
Bogdan Purcareata7afe0312018-02-05 08:07:43 -060054config 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
Rob Herring44430ec2012-10-27 17:25:26 -050060config ARM_NVIC
61 bool
62 select IRQ_DOMAIN
Stefan Agner2d9f59f2015-05-16 11:44:16 +020063 select IRQ_DOMAIN_HIERARCHY
Rob Herring44430ec2012-10-27 17:25:26 -050064 select GENERIC_IRQ_CHIP
65
66config ARM_VIC
67 bool
68 select IRQ_DOMAIN
Palmer Dabbelt4f7799d2018-06-22 10:01:26 -070069 select GENERIC_IRQ_MULTI_HANDLER
Rob Herring44430ec2012-10-27 17:25:26 -050070
71config ARM_VIC_NR
72 int
73 default 4 if ARCH_S5PV210
Rob Herring44430ec2012-10-27 17:25:26 -050074 default 2
75 depends on ARM_VIC
76 help
77 The maximum number of VICs available in the system, for
78 power management.
79
Thomas Petazzonifed6d332016-02-10 15:46:56 +010080config ARMADA_370_XP_IRQ
81 bool
Thomas Petazzonifed6d332016-02-10 15:46:56 +010082 select GENERIC_IRQ_CHIP
Arnd Bergmann3ee803642016-06-15 15:47:33 -050083 select PCI_MSI if PCI
Marc Zyngiere31793a2017-08-18 09:39:19 +010084 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
Thomas Petazzonifed6d332016-02-10 15:46:56 +010085
Antoine Tenarte6b78f22016-02-19 16:22:44 +010086config ALPINE_MSI
87 bool
Arnd Bergmann3ee803642016-06-15 15:47:33 -050088 depends on PCI
89 select PCI_MSI
Antoine Tenarte6b78f22016-02-19 16:22:44 +010090 select GENERIC_IRQ_CHIP
Antoine Tenarte6b78f22016-02-19 16:22:44 +010091
Boris BREZILLONb1479eb2014-07-10 19:14:18 +020092config ATMEL_AIC_IRQ
93 bool
94 select GENERIC_IRQ_CHIP
95 select IRQ_DOMAIN
Palmer Dabbelt4f7799d2018-06-22 10:01:26 -070096 select GENERIC_IRQ_MULTI_HANDLER
Boris BREZILLONb1479eb2014-07-10 19:14:18 +020097 select SPARSE_IRQ
98
99config ATMEL_AIC5_IRQ
100 bool
101 select GENERIC_IRQ_CHIP
102 select IRQ_DOMAIN
Palmer Dabbelt4f7799d2018-06-22 10:01:26 -0700103 select GENERIC_IRQ_MULTI_HANDLER
Boris BREZILLONb1479eb2014-07-10 19:14:18 +0200104 select SPARSE_IRQ
105
Ralf Baechle0509cfd2015-07-08 14:46:08 +0200106config I8259
107 bool
108 select IRQ_DOMAIN
109
Simon Arlottc7c42ec2015-11-22 14:30:14 +0000110config BCM6345_L1_IRQ
111 bool
112 select GENERIC_IRQ_CHIP
113 select IRQ_DOMAIN
Marc Zyngierd0ed5e82017-08-18 09:39:20 +0100114 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
Simon Arlottc7c42ec2015-11-22 14:30:14 +0000115
Kevin Cernekee5f7f0312014-12-25 09:49:06 -0800116config BCM7038_L1_IRQ
117 bool
118 select GENERIC_IRQ_CHIP
119 select IRQ_DOMAIN
Marc Zyngierb8d98842017-08-18 09:39:21 +0100120 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
Kevin Cernekee5f7f0312014-12-25 09:49:06 -0800121
Kevin Cernekeea4fcbb82014-11-06 22:44:27 -0800122config BCM7120_L2_IRQ
123 bool
124 select GENERIC_IRQ_CHIP
125 select IRQ_DOMAIN
126
Florian Fainelli7f646e92014-05-23 17:40:53 -0700127config BRCMSTB_L2_IRQ
128 bool
Florian Fainelli7f646e92014-05-23 17:40:53 -0700129 select GENERIC_IRQ_CHIP
130 select IRQ_DOMAIN
131
Bartosz Golaszewski0145bee2019-02-14 15:52:16 +0100132config DAVINCI_AINTC
133 bool
134 select GENERIC_IRQ_CHIP
135 select IRQ_DOMAIN
136
Sebastian Hesselbarth350d71b92013-09-09 14:01:20 +0200137config DW_APB_ICTL
138 bool
Jisheng Zhange1588492014-10-22 20:59:10 +0800139 select GENERIC_IRQ_CHIP
Sebastian Hesselbarth350d71b92013-09-09 14:01:20 +0200140 select IRQ_DOMAIN
141
Linus Walleij6ee532e2017-03-18 17:53:24 +0100142config FARADAY_FTINTC010
143 bool
144 select IRQ_DOMAIN
Palmer Dabbelt4f7799d2018-06-22 10:01:26 -0700145 select GENERIC_IRQ_MULTI_HANDLER
Linus Walleij6ee532e2017-03-18 17:53:24 +0100146 select SPARSE_IRQ
147
MaJun9a7c4ab2016-03-23 17:06:33 +0800148config HISILICON_IRQ_MBIGEN
149 bool
150 select ARM_GIC_V3
151 select ARM_GIC_V3_ITS
MaJun9a7c4ab2016-03-23 17:06:33 +0800152
James Hoganb6ef9162013-04-22 15:43:50 +0100153config IMGPDC_IRQ
154 bool
155 select GENERIC_IRQ_CHIP
156 select IRQ_DOMAIN
157
Richard Fitzgeraldda0abe12018-12-14 14:44:16 +0000158config MADERA_IRQ
159 tristate
160
Ralf Baechle67e38cf2015-05-26 18:20:06 +0200161config IRQ_MIPS_CPU
162 bool
163 select GENERIC_IRQ_CHIP
Paul Burton3838a542017-03-30 12:06:11 -0700164 select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING
Ralf Baechle67e38cf2015-05-26 18:20:06 +0200165 select IRQ_DOMAIN
Paul Burton3838a542017-03-30 12:06:11 -0700166 select IRQ_DOMAIN_HIERARCHY if GENERIC_IRQ_IPI
Marc Zyngier18416e42017-08-18 09:39:24 +0100167 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
Ralf Baechle67e38cf2015-05-26 18:20:06 +0200168
Alexander Shiyanafc98d92014-02-02 12:07:46 +0400169config CLPS711X_IRQCHIP
170 bool
171 depends on ARCH_CLPS711X
172 select IRQ_DOMAIN
Palmer Dabbelt4f7799d2018-06-22 10:01:26 -0700173 select GENERIC_IRQ_MULTI_HANDLER
Alexander Shiyanafc98d92014-02-02 12:07:46 +0400174 select SPARSE_IRQ
175 default y
176
Stafford Horne9b544702017-10-30 21:38:35 +0900177config OMPIC
178 bool
179
Stefan Kristiansson4db8e6d2014-05-26 23:31:42 +0300180config OR1K_PIC
181 bool
182 select IRQ_DOMAIN
183
Felipe Balbi85980662014-09-15 16:15:02 -0500184config OMAP_IRQCHIP
185 bool
186 select GENERIC_IRQ_CHIP
187 select IRQ_DOMAIN
188
Sebastian Hesselbarth9dbd90f2013-06-06 18:27:09 +0200189config ORION_IRQCHIP
190 bool
191 select IRQ_DOMAIN
Palmer Dabbelt4f7799d2018-06-22 10:01:26 -0700192 select GENERIC_IRQ_MULTI_HANDLER
Sebastian Hesselbarth9dbd90f2013-06-06 18:27:09 +0200193
Cristian Birsanaaa86662016-01-13 18:15:35 -0700194config PIC32_EVIC
195 bool
196 select GENERIC_IRQ_CHIP
197 select IRQ_DOMAIN
198
Rich Felker981b58f2016-08-04 04:30:37 +0000199config JCORE_AIC
Rich Felker3602ffd2016-10-19 17:53:52 +0000200 bool "J-Core integrated AIC" if COMPILE_TEST
201 depends on OF
Rich Felker981b58f2016-08-04 04:30:37 +0000202 select IRQ_DOMAIN
203 help
204 Support for the J-Core integrated AIC.
205
Manivannan Sadhasivamd852e622018-12-10 23:05:43 +0530206config RDA_INTC
207 bool
208 select IRQ_DOMAIN
209
Magnus Damm44358042013-02-18 23:28:34 +0900210config RENESAS_INTC_IRQPIN
211 bool
212 select IRQ_DOMAIN
213
Magnus Dammfbc83b72013-02-27 17:15:01 +0900214config RENESAS_IRQC
215 bool
Magnus Damm99c221d2015-09-28 18:42:37 +0900216 select GENERIC_IRQ_CHIP
Magnus Dammfbc83b72013-02-27 17:15:01 +0900217 select IRQ_DOMAIN
218
Lee Jones07088482015-02-18 15:13:58 +0000219config ST_IRQCHIP
220 bool
221 select REGMAP
222 select MFD_SYSCON
223 help
224 Enables SysCfg Controlled IRQs on STi based platforms.
225
Mans Rullgard4bba6682016-01-20 18:07:17 +0000226config TANGO_IRQ
227 bool
228 select IRQ_DOMAIN
229 select GENERIC_IRQ_CHIP
230
Christian Ruppertb06eb012013-06-25 18:29:57 +0200231config TB10X_IRQC
232 bool
233 select IRQ_DOMAIN
234 select GENERIC_IRQ_CHIP
235
Damien Riegeld01f8632015-12-21 15:11:23 -0500236config TS4800_IRQ
237 tristate "TS-4800 IRQ controller"
238 select IRQ_DOMAIN
Richard Weinberger0df337c2016-01-25 23:24:17 +0100239 depends on HAS_IOMEM
Jean Delvared2b383d2016-02-09 11:19:20 +0100240 depends on SOC_IMX51 || COMPILE_TEST
Damien Riegeld01f8632015-12-21 15:11:23 -0500241 help
242 Support for the TS-4800 FPGA IRQ controller
243
Linus Walleij2389d502012-10-31 22:04:31 +0100244config VERSATILE_FPGA_IRQ
245 bool
246 select IRQ_DOMAIN
247
248config VERSATILE_FPGA_IRQ_NR
249 int
250 default 4
251 depends on VERSATILE_FPGA_IRQ
Max Filippov26a8e962013-12-01 12:04:57 +0400252
253config XTENSA_MX
254 bool
255 select IRQ_DOMAIN
Marc Zyngier50091212017-08-18 09:39:25 +0100256 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
Sricharan R96ca8482013-12-03 15:57:23 +0530257
Zubair Lutfullah Kakakhel0547dc72016-11-14 12:13:45 +0000258config XILINX_INTC
259 bool
260 select IRQ_DOMAIN
261
Sricharan R96ca8482013-12-03 15:57:23 +0530262config IRQ_CROSSBAR
263 bool
264 help
Masanari Iidaf54619f2014-09-18 12:09:42 +0900265 Support for a CROSSBAR ip that precedes the main interrupt controller.
Sricharan R96ca8482013-12-03 15:57:23 +0530266 The primary irqchip invokes the crossbar's callback which inturn allocates
267 a free irq and configures the IP. Thus the peripheral interrupts are
268 routed to one of the free irqchip interrupt lines.
Grygorii Strashko89323f82014-07-23 17:40:30 +0300269
270config KEYSTONE_IRQ
271 tristate "Keystone 2 IRQ controller IP"
272 depends on ARCH_KEYSTONE
273 help
274 Support for Texas Instruments Keystone 2 IRQ controller IP which
275 is part of the Keystone 2 IPC mechanism
Andrew Bresticker8a19b8f2014-09-18 14:47:19 -0700276
277config MIPS_GIC
278 bool
Qais Yousefbb11cff2015-12-08 13:20:28 +0000279 select GENERIC_IRQ_IPI
Qais Yousef2af70a92015-12-08 13:20:23 +0000280 select IRQ_DOMAIN_HIERARCHY
Andrew Bresticker8a19b8f2014-09-18 14:47:19 -0700281 select MIPS_CM
Yoshinori Sato8a764482015-05-10 02:30:47 +0900282
Paul Burton44e08e72015-05-24 16:11:31 +0100283config INGENIC_IRQ
284 bool
285 depends on MACH_INGENIC
286 default y
Linus Torvalds78c10e52015-06-27 12:44:34 -0700287
Yoshinori Sato8a764482015-05-10 02:30:47 +0900288config RENESAS_H8300H_INTC
289 bool
290 select IRQ_DOMAIN
291
292config RENESAS_H8S_INTC
293 bool
Linus Torvalds78c10e52015-06-27 12:44:34 -0700294 select IRQ_DOMAIN
Shenwei Wange324c4d2015-08-24 14:04:15 -0500295
296config IMX_GPCV2
297 bool
298 select IRQ_DOMAIN
299 help
300 Enables the wakeup IRQs for IMX platforms with GPCv2 block
Oleksij Rempel7e4ac672015-10-12 21:15:34 +0200301
302config IRQ_MXS
303 def_bool y if MACH_ASM9260 || ARCH_MXS
304 select IRQ_DOMAIN
305 select STMP_DEVICE
Thomas Petazzonic27f29b2016-02-19 14:34:43 +0100306
Alexandre Belloni19d99162018-03-22 16:15:24 +0100307config MSCC_OCELOT_IRQ
308 bool
309 select IRQ_DOMAIN
310 select GENERIC_IRQ_CHIP
311
Thomas Petazzonia68a63c2017-06-21 15:29:14 +0200312config MVEBU_GICP
313 bool
314
Thomas Petazzonie0de91a2017-06-21 15:29:15 +0200315config MVEBU_ICU
316 bool
317
Thomas Petazzonic27f29b2016-02-19 14:34:43 +0100318config MVEBU_ODMI
319 bool
Arnd Bergmannfa23b9d2017-03-14 13:54:12 +0100320 select GENERIC_MSI_IRQ_DOMAIN
Marc Zyngier9e2c9862016-04-11 09:57:53 +0100321
Thomas Petazzonia1098932016-08-05 16:55:19 +0200322config MVEBU_PIC
323 bool
324
Miquel Raynal61ce8d82018-10-01 16:13:51 +0200325config MVEBU_SEI
326 bool
327
Minghuan Lianb8f3ebe2016-03-23 19:08:20 +0800328config LS_SCFG_MSI
329 def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
330 depends on PCI && PCI_MSI
Minghuan Lianb8f3ebe2016-03-23 19:08:20 +0800331
Marc Zyngier9e2c9862016-04-11 09:57:53 +0100332config PARTITION_PERCPU
333 bool
Linus Torvalds0efacbb2016-05-19 09:46:18 -0700334
Noam Camus44df427c2015-10-29 00:26:22 +0200335config EZNPS_GIC
336 bool "NPS400 Global Interrupt Manager (GIM)"
Arnd Bergmannffd565e2016-05-12 23:03:35 +0200337 depends on ARC || (COMPILE_TEST && !64BIT)
Noam Camus44df427c2015-10-29 00:26:22 +0200338 select IRQ_DOMAIN
339 help
340 Support the EZchip NPS400 global interrupt controller
Alexandre TORGUEe07204162016-09-20 18:00:57 +0200341
342config STM32_EXTI
343 bool
344 select IRQ_DOMAIN
Ludovic Barre0e7d7802017-11-06 18:03:31 +0100345 select GENERIC_IRQ_CHIP
Agustin Vega-Friasf20cc9b2017-02-02 18:23:59 -0500346
347config QCOM_IRQ_COMBINER
348 bool "QCOM IRQ combiner support"
349 depends on ARCH_QCOM && ACPI
350 select IRQ_DOMAIN
351 select IRQ_DOMAIN_HIERARCHY
352 help
353 Say yes here to add support for the IRQ combiner devices embedded
354 in Qualcomm Technologies chips.
Masahiro Yamada5ed34d3a2017-08-23 10:31:47 +0900355
356config IRQ_UNIPHIER_AIDET
357 bool "UniPhier AIDET support" if COMPILE_TEST
358 depends on ARCH_UNIPHIER || COMPILE_TEST
359 default ARCH_UNIPHIER
360 select IRQ_DOMAIN_HIERARCHY
361 help
362 Support for the UniPhier AIDET (ARM Interrupt Detector).
Randy Dunlapc94fb632017-10-16 11:04:33 -0700363
Jerome Brunet215f4cc2017-09-18 15:46:10 +0200364config MESON_IRQ_GPIO
365 bool "Meson GPIO Interrupt Multiplexer"
Thomas Gleixnerd9ee91c2017-10-20 11:15:36 +0200366 depends on ARCH_MESON
Jerome Brunet215f4cc2017-09-18 15:46:10 +0200367 select IRQ_DOMAIN
368 select IRQ_DOMAIN_HIERARCHY
369 help
370 Support Meson SoC Family GPIO Interrupt Multiplexer
371
Miodrag Dinic4235ff52017-12-29 16:41:46 +0100372config GOLDFISH_PIC
373 bool "Goldfish programmable interrupt controller"
374 depends on MIPS && (GOLDFISH || COMPILE_TEST)
375 select IRQ_DOMAIN
376 help
377 Say yes here to enable Goldfish interrupt controller driver used
378 for Goldfish based virtual platforms.
379
Archana Sathyakumarf55c73a2018-02-28 10:27:29 -0700380config QCOM_PDC
381 bool "QCOM PDC"
382 depends on ARCH_QCOM
383 select IRQ_DOMAIN
384 select IRQ_DOMAIN_HIERARCHY
385 help
386 Power Domain Controller driver to manage and configure wakeup
387 IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
388
Guo Rend8a5f5f2018-09-16 15:57:14 +0800389config CSKY_MPINTC
390 bool "C-SKY Multi Processor Interrupt Controller"
391 depends on CSKY
392 help
393 Say yes here to enable C-SKY SMP interrupt controller driver used
394 for C-SKY SMP system.
395 In fact it's not mmio map in hw and it use ld/st to visit the
396 controller's register inside CPU.
397
Guo Renedff1b42018-09-16 15:57:14 +0800398config CSKY_APB_INTC
399 bool "C-SKY APB Interrupt Controller"
400 depends on CSKY
401 help
402 Say yes here to enable C-SKY APB interrupt controller driver used
403 by C-SKY single core SOC system. It use mmio map apb-bus to visit
404 the controller's register.
405
Lucas Stach0136afa2018-12-17 15:01:20 +0100406config IMX_IRQSTEER
407 bool "i.MX IRQSTEER support"
408 depends on ARCH_MXC || COMPILE_TEST
409 default ARCH_MXC
410 select IRQ_DOMAIN
411 help
412 Support for the i.MX IRQSTEER interrupt multiplexer/remapper.
413
Randy Dunlapc94fb632017-10-16 11:04:33 -0700414endmenu
Christoph Hellwig8237f8b2018-07-26 16:27:00 +0200415
416config SIFIVE_PLIC
417 bool "SiFive Platform-Level Interrupt Controller"
418 depends on RISCV
419 help
420 This enables support for the PLIC chip found in SiFive (and
421 potentially other) RISC-V systems. The PLIC controls devices
422 interrupts and connects them to each core's local interrupt
423 controller. Aside from timer and software interrupts, all other
424 interrupt sources are subordinate to the PLIC.
425
426 If you don't know what to do here, say Y.