blob: bab0b97b5b1ffe1456f4acaed0d4fd33733aaac3 [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
Sebastian Hesselbarth350d71b92013-09-09 14:01:20 +0200132config DW_APB_ICTL
133 bool
Jisheng Zhange1588492014-10-22 20:59:10 +0800134 select GENERIC_IRQ_CHIP
Sebastian Hesselbarth350d71b92013-09-09 14:01:20 +0200135 select IRQ_DOMAIN
136
Linus Walleij6ee532e2017-03-18 17:53:24 +0100137config FARADAY_FTINTC010
138 bool
139 select IRQ_DOMAIN
Palmer Dabbelt4f7799d2018-06-22 10:01:26 -0700140 select GENERIC_IRQ_MULTI_HANDLER
Linus Walleij6ee532e2017-03-18 17:53:24 +0100141 select SPARSE_IRQ
142
MaJun9a7c4ab2016-03-23 17:06:33 +0800143config HISILICON_IRQ_MBIGEN
144 bool
145 select ARM_GIC_V3
146 select ARM_GIC_V3_ITS
MaJun9a7c4ab2016-03-23 17:06:33 +0800147
James Hoganb6ef9162013-04-22 15:43:50 +0100148config IMGPDC_IRQ
149 bool
150 select GENERIC_IRQ_CHIP
151 select IRQ_DOMAIN
152
Richard Fitzgeraldda0abe12018-12-14 14:44:16 +0000153config MADERA_IRQ
154 tristate
155
Ralf Baechle67e38cf2015-05-26 18:20:06 +0200156config IRQ_MIPS_CPU
157 bool
158 select GENERIC_IRQ_CHIP
Paul Burton3838a542017-03-30 12:06:11 -0700159 select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING
Ralf Baechle67e38cf2015-05-26 18:20:06 +0200160 select IRQ_DOMAIN
Paul Burton3838a542017-03-30 12:06:11 -0700161 select IRQ_DOMAIN_HIERARCHY if GENERIC_IRQ_IPI
Marc Zyngier18416e42017-08-18 09:39:24 +0100162 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
Ralf Baechle67e38cf2015-05-26 18:20:06 +0200163
Alexander Shiyanafc98d92014-02-02 12:07:46 +0400164config CLPS711X_IRQCHIP
165 bool
166 depends on ARCH_CLPS711X
167 select IRQ_DOMAIN
Palmer Dabbelt4f7799d2018-06-22 10:01:26 -0700168 select GENERIC_IRQ_MULTI_HANDLER
Alexander Shiyanafc98d92014-02-02 12:07:46 +0400169 select SPARSE_IRQ
170 default y
171
Stafford Horne9b544702017-10-30 21:38:35 +0900172config OMPIC
173 bool
174
Stefan Kristiansson4db8e6d2014-05-26 23:31:42 +0300175config OR1K_PIC
176 bool
177 select IRQ_DOMAIN
178
Felipe Balbi85980662014-09-15 16:15:02 -0500179config OMAP_IRQCHIP
180 bool
181 select GENERIC_IRQ_CHIP
182 select IRQ_DOMAIN
183
Sebastian Hesselbarth9dbd90f2013-06-06 18:27:09 +0200184config ORION_IRQCHIP
185 bool
186 select IRQ_DOMAIN
Palmer Dabbelt4f7799d2018-06-22 10:01:26 -0700187 select GENERIC_IRQ_MULTI_HANDLER
Sebastian Hesselbarth9dbd90f2013-06-06 18:27:09 +0200188
Cristian Birsanaaa86662016-01-13 18:15:35 -0700189config PIC32_EVIC
190 bool
191 select GENERIC_IRQ_CHIP
192 select IRQ_DOMAIN
193
Rich Felker981b58f2016-08-04 04:30:37 +0000194config JCORE_AIC
Rich Felker3602ffd2016-10-19 17:53:52 +0000195 bool "J-Core integrated AIC" if COMPILE_TEST
196 depends on OF
Rich Felker981b58f2016-08-04 04:30:37 +0000197 select IRQ_DOMAIN
198 help
199 Support for the J-Core integrated AIC.
200
Manivannan Sadhasivamd852e622018-12-10 23:05:43 +0530201config RDA_INTC
202 bool
203 select IRQ_DOMAIN
204
Magnus Damm44358042013-02-18 23:28:34 +0900205config RENESAS_INTC_IRQPIN
206 bool
207 select IRQ_DOMAIN
208
Magnus Dammfbc83b72013-02-27 17:15:01 +0900209config RENESAS_IRQC
210 bool
Magnus Damm99c221d2015-09-28 18:42:37 +0900211 select GENERIC_IRQ_CHIP
Magnus Dammfbc83b72013-02-27 17:15:01 +0900212 select IRQ_DOMAIN
213
Lee Jones07088482015-02-18 15:13:58 +0000214config ST_IRQCHIP
215 bool
216 select REGMAP
217 select MFD_SYSCON
218 help
219 Enables SysCfg Controlled IRQs on STi based platforms.
220
Mans Rullgard4bba6682016-01-20 18:07:17 +0000221config TANGO_IRQ
222 bool
223 select IRQ_DOMAIN
224 select GENERIC_IRQ_CHIP
225
Christian Ruppertb06eb012013-06-25 18:29:57 +0200226config TB10X_IRQC
227 bool
228 select IRQ_DOMAIN
229 select GENERIC_IRQ_CHIP
230
Damien Riegeld01f8632015-12-21 15:11:23 -0500231config TS4800_IRQ
232 tristate "TS-4800 IRQ controller"
233 select IRQ_DOMAIN
Richard Weinberger0df337c2016-01-25 23:24:17 +0100234 depends on HAS_IOMEM
Jean Delvared2b383d2016-02-09 11:19:20 +0100235 depends on SOC_IMX51 || COMPILE_TEST
Damien Riegeld01f8632015-12-21 15:11:23 -0500236 help
237 Support for the TS-4800 FPGA IRQ controller
238
Linus Walleij2389d502012-10-31 22:04:31 +0100239config VERSATILE_FPGA_IRQ
240 bool
241 select IRQ_DOMAIN
242
243config VERSATILE_FPGA_IRQ_NR
244 int
245 default 4
246 depends on VERSATILE_FPGA_IRQ
Max Filippov26a8e962013-12-01 12:04:57 +0400247
248config XTENSA_MX
249 bool
250 select IRQ_DOMAIN
Marc Zyngier50091212017-08-18 09:39:25 +0100251 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
Sricharan R96ca8482013-12-03 15:57:23 +0530252
Zubair Lutfullah Kakakhel0547dc72016-11-14 12:13:45 +0000253config XILINX_INTC
254 bool
255 select IRQ_DOMAIN
256
Sricharan R96ca8482013-12-03 15:57:23 +0530257config IRQ_CROSSBAR
258 bool
259 help
Masanari Iidaf54619f2014-09-18 12:09:42 +0900260 Support for a CROSSBAR ip that precedes the main interrupt controller.
Sricharan R96ca8482013-12-03 15:57:23 +0530261 The primary irqchip invokes the crossbar's callback which inturn allocates
262 a free irq and configures the IP. Thus the peripheral interrupts are
263 routed to one of the free irqchip interrupt lines.
Grygorii Strashko89323f82014-07-23 17:40:30 +0300264
265config KEYSTONE_IRQ
266 tristate "Keystone 2 IRQ controller IP"
267 depends on ARCH_KEYSTONE
268 help
269 Support for Texas Instruments Keystone 2 IRQ controller IP which
270 is part of the Keystone 2 IPC mechanism
Andrew Bresticker8a19b8f2014-09-18 14:47:19 -0700271
272config MIPS_GIC
273 bool
Qais Yousefbb11cff2015-12-08 13:20:28 +0000274 select GENERIC_IRQ_IPI
Qais Yousef2af70a92015-12-08 13:20:23 +0000275 select IRQ_DOMAIN_HIERARCHY
Andrew Bresticker8a19b8f2014-09-18 14:47:19 -0700276 select MIPS_CM
Yoshinori Sato8a764482015-05-10 02:30:47 +0900277
Paul Burton44e08e72015-05-24 16:11:31 +0100278config INGENIC_IRQ
279 bool
280 depends on MACH_INGENIC
281 default y
Linus Torvalds78c10e52015-06-27 12:44:34 -0700282
Yoshinori Sato8a764482015-05-10 02:30:47 +0900283config RENESAS_H8300H_INTC
284 bool
285 select IRQ_DOMAIN
286
287config RENESAS_H8S_INTC
288 bool
Linus Torvalds78c10e52015-06-27 12:44:34 -0700289 select IRQ_DOMAIN
Shenwei Wange324c4d2015-08-24 14:04:15 -0500290
291config IMX_GPCV2
292 bool
293 select IRQ_DOMAIN
294 help
295 Enables the wakeup IRQs for IMX platforms with GPCv2 block
Oleksij Rempel7e4ac672015-10-12 21:15:34 +0200296
297config IRQ_MXS
298 def_bool y if MACH_ASM9260 || ARCH_MXS
299 select IRQ_DOMAIN
300 select STMP_DEVICE
Thomas Petazzonic27f29b2016-02-19 14:34:43 +0100301
Alexandre Belloni19d99162018-03-22 16:15:24 +0100302config MSCC_OCELOT_IRQ
303 bool
304 select IRQ_DOMAIN
305 select GENERIC_IRQ_CHIP
306
Thomas Petazzonia68a63c2017-06-21 15:29:14 +0200307config MVEBU_GICP
308 bool
309
Thomas Petazzonie0de91a2017-06-21 15:29:15 +0200310config MVEBU_ICU
311 bool
312
Thomas Petazzonic27f29b2016-02-19 14:34:43 +0100313config MVEBU_ODMI
314 bool
Arnd Bergmannfa23b9d2017-03-14 13:54:12 +0100315 select GENERIC_MSI_IRQ_DOMAIN
Marc Zyngier9e2c9862016-04-11 09:57:53 +0100316
Thomas Petazzonia1098932016-08-05 16:55:19 +0200317config MVEBU_PIC
318 bool
319
Miquel Raynal61ce8d82018-10-01 16:13:51 +0200320config MVEBU_SEI
321 bool
322
Minghuan Lianb8f3ebe2016-03-23 19:08:20 +0800323config LS_SCFG_MSI
324 def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
325 depends on PCI && PCI_MSI
Minghuan Lianb8f3ebe2016-03-23 19:08:20 +0800326
Marc Zyngier9e2c9862016-04-11 09:57:53 +0100327config PARTITION_PERCPU
328 bool
Linus Torvalds0efacbb2016-05-19 09:46:18 -0700329
Noam Camus44df427c2015-10-29 00:26:22 +0200330config EZNPS_GIC
331 bool "NPS400 Global Interrupt Manager (GIM)"
Arnd Bergmannffd565e2016-05-12 23:03:35 +0200332 depends on ARC || (COMPILE_TEST && !64BIT)
Noam Camus44df427c2015-10-29 00:26:22 +0200333 select IRQ_DOMAIN
334 help
335 Support the EZchip NPS400 global interrupt controller
Alexandre TORGUEe07204162016-09-20 18:00:57 +0200336
337config STM32_EXTI
338 bool
339 select IRQ_DOMAIN
Ludovic Barre0e7d7802017-11-06 18:03:31 +0100340 select GENERIC_IRQ_CHIP
Agustin Vega-Friasf20cc9b2017-02-02 18:23:59 -0500341
342config QCOM_IRQ_COMBINER
343 bool "QCOM IRQ combiner support"
344 depends on ARCH_QCOM && ACPI
345 select IRQ_DOMAIN
346 select IRQ_DOMAIN_HIERARCHY
347 help
348 Say yes here to add support for the IRQ combiner devices embedded
349 in Qualcomm Technologies chips.
Masahiro Yamada5ed34d3a2017-08-23 10:31:47 +0900350
351config IRQ_UNIPHIER_AIDET
352 bool "UniPhier AIDET support" if COMPILE_TEST
353 depends on ARCH_UNIPHIER || COMPILE_TEST
354 default ARCH_UNIPHIER
355 select IRQ_DOMAIN_HIERARCHY
356 help
357 Support for the UniPhier AIDET (ARM Interrupt Detector).
Randy Dunlapc94fb632017-10-16 11:04:33 -0700358
Jerome Brunet215f4cc2017-09-18 15:46:10 +0200359config MESON_IRQ_GPIO
360 bool "Meson GPIO Interrupt Multiplexer"
Thomas Gleixnerd9ee91c2017-10-20 11:15:36 +0200361 depends on ARCH_MESON
Jerome Brunet215f4cc2017-09-18 15:46:10 +0200362 select IRQ_DOMAIN
363 select IRQ_DOMAIN_HIERARCHY
364 help
365 Support Meson SoC Family GPIO Interrupt Multiplexer
366
Miodrag Dinic4235ff52017-12-29 16:41:46 +0100367config GOLDFISH_PIC
368 bool "Goldfish programmable interrupt controller"
369 depends on MIPS && (GOLDFISH || COMPILE_TEST)
370 select IRQ_DOMAIN
371 help
372 Say yes here to enable Goldfish interrupt controller driver used
373 for Goldfish based virtual platforms.
374
Archana Sathyakumarf55c73a2018-02-28 10:27:29 -0700375config QCOM_PDC
376 bool "QCOM PDC"
377 depends on ARCH_QCOM
378 select IRQ_DOMAIN
379 select IRQ_DOMAIN_HIERARCHY
380 help
381 Power Domain Controller driver to manage and configure wakeup
382 IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
383
Guo Rend8a5f5f2018-09-16 15:57:14 +0800384config CSKY_MPINTC
385 bool "C-SKY Multi Processor Interrupt Controller"
386 depends on CSKY
387 help
388 Say yes here to enable C-SKY SMP interrupt controller driver used
389 for C-SKY SMP system.
390 In fact it's not mmio map in hw and it use ld/st to visit the
391 controller's register inside CPU.
392
Guo Renedff1b42018-09-16 15:57:14 +0800393config CSKY_APB_INTC
394 bool "C-SKY APB Interrupt Controller"
395 depends on CSKY
396 help
397 Say yes here to enable C-SKY APB interrupt controller driver used
398 by C-SKY single core SOC system. It use mmio map apb-bus to visit
399 the controller's register.
400
Randy Dunlapc94fb632017-10-16 11:04:33 -0700401endmenu
Christoph Hellwig8237f8b2018-07-26 16:27:00 +0200402
403config SIFIVE_PLIC
404 bool "SiFive Platform-Level Interrupt Controller"
405 depends on RISCV
406 help
407 This enables support for the PLIC chip found in SiFive (and
408 potentially other) RISC-V systems. The PLIC controls devices
409 interrupts and connects them to each core's local interrupt
410 controller. Aside from timer and software interrupts, all other
411 interrupt sources are subordinate to the PLIC.
412
413 If you don't know what to do here, say Y.