blob: df345b878ac25322c93794e1d975cfac1cca7964 [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
Rob Herring81243e42012-11-20 21:21:40 -060011 select MULTI_IRQ_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
37 select MULTI_IRQ_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
69 select MULTI_IRQ_HANDLER
70
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
96 select MULTI_IRQ_HANDLER
97 select SPARSE_IRQ
98
99config ATMEL_AIC5_IRQ
100 bool
101 select GENERIC_IRQ_CHIP
102 select IRQ_DOMAIN
103 select MULTI_IRQ_HANDLER
104 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
140 select MULTI_IRQ_HANDLER
141 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
Ralf Baechle67e38cf2015-05-26 18:20:06 +0200153config IRQ_MIPS_CPU
154 bool
155 select GENERIC_IRQ_CHIP
Paul Burton3838a542017-03-30 12:06:11 -0700156 select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING
Ralf Baechle67e38cf2015-05-26 18:20:06 +0200157 select IRQ_DOMAIN
Paul Burton3838a542017-03-30 12:06:11 -0700158 select IRQ_DOMAIN_HIERARCHY if GENERIC_IRQ_IPI
Marc Zyngier18416e42017-08-18 09:39:24 +0100159 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
Ralf Baechle67e38cf2015-05-26 18:20:06 +0200160
Alexander Shiyanafc98d92014-02-02 12:07:46 +0400161config CLPS711X_IRQCHIP
162 bool
163 depends on ARCH_CLPS711X
164 select IRQ_DOMAIN
165 select MULTI_IRQ_HANDLER
166 select SPARSE_IRQ
167 default y
168
Stafford Horne9b544702017-10-30 21:38:35 +0900169config OMPIC
170 bool
171
Stefan Kristiansson4db8e6d2014-05-26 23:31:42 +0300172config OR1K_PIC
173 bool
174 select IRQ_DOMAIN
175
Felipe Balbi85980662014-09-15 16:15:02 -0500176config OMAP_IRQCHIP
177 bool
178 select GENERIC_IRQ_CHIP
179 select IRQ_DOMAIN
180
Sebastian Hesselbarth9dbd90f2013-06-06 18:27:09 +0200181config ORION_IRQCHIP
182 bool
183 select IRQ_DOMAIN
184 select MULTI_IRQ_HANDLER
185
Cristian Birsanaaa86662016-01-13 18:15:35 -0700186config PIC32_EVIC
187 bool
188 select GENERIC_IRQ_CHIP
189 select IRQ_DOMAIN
190
Rich Felker981b58f2016-08-04 04:30:37 +0000191config JCORE_AIC
Rich Felker3602ffd2016-10-19 17:53:52 +0000192 bool "J-Core integrated AIC" if COMPILE_TEST
193 depends on OF
Rich Felker981b58f2016-08-04 04:30:37 +0000194 select IRQ_DOMAIN
195 help
196 Support for the J-Core integrated AIC.
197
Magnus Damm44358042013-02-18 23:28:34 +0900198config RENESAS_INTC_IRQPIN
199 bool
200 select IRQ_DOMAIN
201
Magnus Dammfbc83b72013-02-27 17:15:01 +0900202config RENESAS_IRQC
203 bool
Magnus Damm99c221d2015-09-28 18:42:37 +0900204 select GENERIC_IRQ_CHIP
Magnus Dammfbc83b72013-02-27 17:15:01 +0900205 select IRQ_DOMAIN
206
Lee Jones07088482015-02-18 15:13:58 +0000207config ST_IRQCHIP
208 bool
209 select REGMAP
210 select MFD_SYSCON
211 help
212 Enables SysCfg Controlled IRQs on STi based platforms.
213
Mans Rullgard4bba6682016-01-20 18:07:17 +0000214config TANGO_IRQ
215 bool
216 select IRQ_DOMAIN
217 select GENERIC_IRQ_CHIP
218
Christian Ruppertb06eb012013-06-25 18:29:57 +0200219config TB10X_IRQC
220 bool
221 select IRQ_DOMAIN
222 select GENERIC_IRQ_CHIP
223
Damien Riegeld01f8632015-12-21 15:11:23 -0500224config TS4800_IRQ
225 tristate "TS-4800 IRQ controller"
226 select IRQ_DOMAIN
Richard Weinberger0df337c2016-01-25 23:24:17 +0100227 depends on HAS_IOMEM
Jean Delvared2b383d2016-02-09 11:19:20 +0100228 depends on SOC_IMX51 || COMPILE_TEST
Damien Riegeld01f8632015-12-21 15:11:23 -0500229 help
230 Support for the TS-4800 FPGA IRQ controller
231
Linus Walleij2389d502012-10-31 22:04:31 +0100232config VERSATILE_FPGA_IRQ
233 bool
234 select IRQ_DOMAIN
235
236config VERSATILE_FPGA_IRQ_NR
237 int
238 default 4
239 depends on VERSATILE_FPGA_IRQ
Max Filippov26a8e962013-12-01 12:04:57 +0400240
241config XTENSA_MX
242 bool
243 select IRQ_DOMAIN
Marc Zyngier50091212017-08-18 09:39:25 +0100244 select GENERIC_IRQ_EFFECTIVE_AFF_MASK
Sricharan R96ca8482013-12-03 15:57:23 +0530245
Zubair Lutfullah Kakakhel0547dc72016-11-14 12:13:45 +0000246config XILINX_INTC
247 bool
248 select IRQ_DOMAIN
249
Sricharan R96ca8482013-12-03 15:57:23 +0530250config IRQ_CROSSBAR
251 bool
252 help
Masanari Iidaf54619f2014-09-18 12:09:42 +0900253 Support for a CROSSBAR ip that precedes the main interrupt controller.
Sricharan R96ca8482013-12-03 15:57:23 +0530254 The primary irqchip invokes the crossbar's callback which inturn allocates
255 a free irq and configures the IP. Thus the peripheral interrupts are
256 routed to one of the free irqchip interrupt lines.
Grygorii Strashko89323f82014-07-23 17:40:30 +0300257
258config KEYSTONE_IRQ
259 tristate "Keystone 2 IRQ controller IP"
260 depends on ARCH_KEYSTONE
261 help
262 Support for Texas Instruments Keystone 2 IRQ controller IP which
263 is part of the Keystone 2 IPC mechanism
Andrew Bresticker8a19b8f2014-09-18 14:47:19 -0700264
265config MIPS_GIC
266 bool
Qais Yousefbb11cff2015-12-08 13:20:28 +0000267 select GENERIC_IRQ_IPI
Qais Yousef2af70a92015-12-08 13:20:23 +0000268 select IRQ_DOMAIN_HIERARCHY
Andrew Bresticker8a19b8f2014-09-18 14:47:19 -0700269 select MIPS_CM
Yoshinori Sato8a764482015-05-10 02:30:47 +0900270
Paul Burton44e08e72015-05-24 16:11:31 +0100271config INGENIC_IRQ
272 bool
273 depends on MACH_INGENIC
274 default y
Linus Torvalds78c10e52015-06-27 12:44:34 -0700275
Yoshinori Sato8a764482015-05-10 02:30:47 +0900276config RENESAS_H8300H_INTC
277 bool
278 select IRQ_DOMAIN
279
280config RENESAS_H8S_INTC
281 bool
Linus Torvalds78c10e52015-06-27 12:44:34 -0700282 select IRQ_DOMAIN
Shenwei Wange324c4d2015-08-24 14:04:15 -0500283
284config IMX_GPCV2
285 bool
286 select IRQ_DOMAIN
287 help
288 Enables the wakeup IRQs for IMX platforms with GPCv2 block
Oleksij Rempel7e4ac672015-10-12 21:15:34 +0200289
290config IRQ_MXS
291 def_bool y if MACH_ASM9260 || ARCH_MXS
292 select IRQ_DOMAIN
293 select STMP_DEVICE
Thomas Petazzonic27f29b2016-02-19 14:34:43 +0100294
Alexandre Belloni19d99162018-03-22 16:15:24 +0100295config MSCC_OCELOT_IRQ
296 bool
297 select IRQ_DOMAIN
298 select GENERIC_IRQ_CHIP
299
Thomas Petazzonia68a63c2017-06-21 15:29:14 +0200300config MVEBU_GICP
301 bool
302
Thomas Petazzonie0de91a2017-06-21 15:29:15 +0200303config MVEBU_ICU
304 bool
305
Thomas Petazzonic27f29b2016-02-19 14:34:43 +0100306config MVEBU_ODMI
307 bool
Arnd Bergmannfa23b9d2017-03-14 13:54:12 +0100308 select GENERIC_MSI_IRQ_DOMAIN
Marc Zyngier9e2c9862016-04-11 09:57:53 +0100309
Thomas Petazzonia1098932016-08-05 16:55:19 +0200310config MVEBU_PIC
311 bool
312
Minghuan Lianb8f3ebe2016-03-23 19:08:20 +0800313config LS_SCFG_MSI
314 def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
315 depends on PCI && PCI_MSI
Minghuan Lianb8f3ebe2016-03-23 19:08:20 +0800316
Marc Zyngier9e2c9862016-04-11 09:57:53 +0100317config PARTITION_PERCPU
318 bool
Linus Torvalds0efacbb2016-05-19 09:46:18 -0700319
Noam Camus44df427c2015-10-29 00:26:22 +0200320config EZNPS_GIC
321 bool "NPS400 Global Interrupt Manager (GIM)"
Arnd Bergmannffd565e2016-05-12 23:03:35 +0200322 depends on ARC || (COMPILE_TEST && !64BIT)
Noam Camus44df427c2015-10-29 00:26:22 +0200323 select IRQ_DOMAIN
324 help
325 Support the EZchip NPS400 global interrupt controller
Alexandre TORGUEe07204162016-09-20 18:00:57 +0200326
327config STM32_EXTI
328 bool
329 select IRQ_DOMAIN
Ludovic Barre0e7d7802017-11-06 18:03:31 +0100330 select GENERIC_IRQ_CHIP
Agustin Vega-Friasf20cc9b2017-02-02 18:23:59 -0500331
332config QCOM_IRQ_COMBINER
333 bool "QCOM IRQ combiner support"
334 depends on ARCH_QCOM && ACPI
335 select IRQ_DOMAIN
336 select IRQ_DOMAIN_HIERARCHY
337 help
338 Say yes here to add support for the IRQ combiner devices embedded
339 in Qualcomm Technologies chips.
Masahiro Yamada5ed34d3a2017-08-23 10:31:47 +0900340
341config IRQ_UNIPHIER_AIDET
342 bool "UniPhier AIDET support" if COMPILE_TEST
343 depends on ARCH_UNIPHIER || COMPILE_TEST
344 default ARCH_UNIPHIER
345 select IRQ_DOMAIN_HIERARCHY
346 help
347 Support for the UniPhier AIDET (ARM Interrupt Detector).
Randy Dunlapc94fb632017-10-16 11:04:33 -0700348
Jerome Brunet215f4cc2017-09-18 15:46:10 +0200349config MESON_IRQ_GPIO
350 bool "Meson GPIO Interrupt Multiplexer"
Thomas Gleixnerd9ee91c2017-10-20 11:15:36 +0200351 depends on ARCH_MESON
Jerome Brunet215f4cc2017-09-18 15:46:10 +0200352 select IRQ_DOMAIN
353 select IRQ_DOMAIN_HIERARCHY
354 help
355 Support Meson SoC Family GPIO Interrupt Multiplexer
356
Miodrag Dinic4235ff52017-12-29 16:41:46 +0100357config GOLDFISH_PIC
358 bool "Goldfish programmable interrupt controller"
359 depends on MIPS && (GOLDFISH || COMPILE_TEST)
360 select IRQ_DOMAIN
361 help
362 Say yes here to enable Goldfish interrupt controller driver used
363 for Goldfish based virtual platforms.
364
Archana Sathyakumarf55c73a2018-02-28 10:27:29 -0700365config QCOM_PDC
366 bool "QCOM PDC"
367 depends on ARCH_QCOM
368 select IRQ_DOMAIN
369 select IRQ_DOMAIN_HIERARCHY
370 help
371 Power Domain Controller driver to manage and configure wakeup
372 IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
373
Randy Dunlapc94fb632017-10-16 11:04:33 -0700374endmenu
Christoph Hellwig8237f8b2018-07-26 16:27:00 +0200375
376config SIFIVE_PLIC
377 bool "SiFive Platform-Level Interrupt Controller"
378 depends on RISCV
379 help
380 This enables support for the PLIC chip found in SiFive (and
381 potentially other) RISC-V systems. The PLIC controls devices
382 interrupts and connects them to each core's local interrupt
383 controller. Aside from timer and software interrupts, all other
384 interrupt sources are subordinate to the PLIC.
385
386 If you don't know what to do here, say Y.