]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/irqchip/Kconfig
2c8d5daad57c5b94322ac27a1e3effe65f6c0abf
[linux.git] / drivers / irqchip / Kconfig
1 menu "IRQ chip support"
2
3 config IRQCHIP
4         def_bool y
5         depends on OF_IRQ
6
7 config ARM_GIC
8         bool
9         select IRQ_DOMAIN_HIERARCHY
10         select GENERIC_IRQ_MULTI_HANDLER
11         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
12
13 config ARM_GIC_PM
14         bool
15         depends on PM
16         select ARM_GIC
17         select PM_CLK
18
19 config ARM_GIC_MAX_NR
20         int
21         default 2 if ARCH_REALVIEW
22         default 1
23
24 config ARM_GIC_V2M
25         bool
26         depends on PCI
27         select ARM_GIC
28         select PCI_MSI
29
30 config GIC_NON_BANKED
31         bool
32
33 config ARM_GIC_V3
34         bool
35         select GENERIC_IRQ_MULTI_HANDLER
36         select IRQ_DOMAIN_HIERARCHY
37         select PARTITION_PERCPU
38         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
39
40 config ARM_GIC_V3_ITS
41         bool
42         select GENERIC_MSI_IRQ_DOMAIN
43         default ARM_GIC_V3
44
45 config ARM_GIC_V3_ITS_PCI
46         bool
47         depends on ARM_GIC_V3_ITS
48         depends on PCI
49         depends on PCI_MSI
50         default ARM_GIC_V3_ITS
51
52 config ARM_GIC_V3_ITS_FSL_MC
53         bool
54         depends on ARM_GIC_V3_ITS
55         depends on FSL_MC_BUS
56         default ARM_GIC_V3_ITS
57
58 config ARM_NVIC
59         bool
60         select IRQ_DOMAIN_HIERARCHY
61         select GENERIC_IRQ_CHIP
62
63 config ARM_VIC
64         bool
65         select IRQ_DOMAIN
66         select GENERIC_IRQ_MULTI_HANDLER
67
68 config ARM_VIC_NR
69         int
70         default 4 if ARCH_S5PV210
71         default 2
72         depends on ARM_VIC
73         help
74           The maximum number of VICs available in the system, for
75           power management.
76
77 config ARMADA_370_XP_IRQ
78         bool
79         select GENERIC_IRQ_CHIP
80         select PCI_MSI if PCI
81         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
82
83 config ALPINE_MSI
84         bool
85         depends on PCI
86         select PCI_MSI
87         select GENERIC_IRQ_CHIP
88
89 config ATMEL_AIC_IRQ
90         bool
91         select GENERIC_IRQ_CHIP
92         select IRQ_DOMAIN
93         select GENERIC_IRQ_MULTI_HANDLER
94         select SPARSE_IRQ
95
96 config ATMEL_AIC5_IRQ
97         bool
98         select GENERIC_IRQ_CHIP
99         select IRQ_DOMAIN
100         select GENERIC_IRQ_MULTI_HANDLER
101         select SPARSE_IRQ
102
103 config I8259
104         bool
105         select IRQ_DOMAIN
106
107 config BCM6345_L1_IRQ
108         bool
109         select GENERIC_IRQ_CHIP
110         select IRQ_DOMAIN
111         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
112
113 config BCM7038_L1_IRQ
114         bool
115         select GENERIC_IRQ_CHIP
116         select IRQ_DOMAIN
117         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
118
119 config BCM7120_L2_IRQ
120         bool
121         select GENERIC_IRQ_CHIP
122         select IRQ_DOMAIN
123
124 config BRCMSTB_L2_IRQ
125         bool
126         select GENERIC_IRQ_CHIP
127         select IRQ_DOMAIN
128
129 config DAVINCI_AINTC
130         bool
131         select GENERIC_IRQ_CHIP
132         select IRQ_DOMAIN
133
134 config DAVINCI_CP_INTC
135         bool
136         select GENERIC_IRQ_CHIP
137         select IRQ_DOMAIN
138
139 config DW_APB_ICTL
140         bool
141         select GENERIC_IRQ_CHIP
142         select IRQ_DOMAIN
143
144 config FARADAY_FTINTC010
145         bool
146         select IRQ_DOMAIN
147         select GENERIC_IRQ_MULTI_HANDLER
148         select SPARSE_IRQ
149
150 config HISILICON_IRQ_MBIGEN
151         bool
152         select ARM_GIC_V3
153         select ARM_GIC_V3_ITS
154
155 config IMGPDC_IRQ
156         bool
157         select GENERIC_IRQ_CHIP
158         select IRQ_DOMAIN
159
160 config MADERA_IRQ
161         tristate
162
163 config IRQ_MIPS_CPU
164         bool
165         select GENERIC_IRQ_CHIP
166         select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING
167         select IRQ_DOMAIN
168         select IRQ_DOMAIN_HIERARCHY if GENERIC_IRQ_IPI
169         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
170
171 config CLPS711X_IRQCHIP
172         bool
173         depends on ARCH_CLPS711X
174         select IRQ_DOMAIN
175         select GENERIC_IRQ_MULTI_HANDLER
176         select SPARSE_IRQ
177         default y
178
179 config OMPIC
180         bool
181
182 config OR1K_PIC
183         bool
184         select IRQ_DOMAIN
185
186 config OMAP_IRQCHIP
187         bool
188         select GENERIC_IRQ_CHIP
189         select IRQ_DOMAIN
190
191 config ORION_IRQCHIP
192         bool
193         select IRQ_DOMAIN
194         select GENERIC_IRQ_MULTI_HANDLER
195
196 config PIC32_EVIC
197         bool
198         select GENERIC_IRQ_CHIP
199         select IRQ_DOMAIN
200
201 config JCORE_AIC
202         bool "J-Core integrated AIC" if COMPILE_TEST
203         depends on OF
204         select IRQ_DOMAIN
205         help
206           Support for the J-Core integrated AIC.
207
208 config RDA_INTC
209         bool
210         select IRQ_DOMAIN
211
212 config RENESAS_INTC_IRQPIN
213         bool
214         select IRQ_DOMAIN
215
216 config RENESAS_IRQC
217         bool
218         select GENERIC_IRQ_CHIP
219         select IRQ_DOMAIN
220
221 config ST_IRQCHIP
222         bool
223         select REGMAP
224         select MFD_SYSCON
225         help
226           Enables SysCfg Controlled IRQs on STi based platforms.
227
228 config TANGO_IRQ
229         bool
230         select IRQ_DOMAIN
231         select GENERIC_IRQ_CHIP
232
233 config TB10X_IRQC
234         bool
235         select IRQ_DOMAIN
236         select GENERIC_IRQ_CHIP
237
238 config TS4800_IRQ
239         tristate "TS-4800 IRQ controller"
240         select IRQ_DOMAIN
241         depends on HAS_IOMEM
242         depends on SOC_IMX51 || COMPILE_TEST
243         help
244           Support for the TS-4800 FPGA IRQ controller
245
246 config VERSATILE_FPGA_IRQ
247         bool
248         select IRQ_DOMAIN
249
250 config VERSATILE_FPGA_IRQ_NR
251        int
252        default 4
253        depends on VERSATILE_FPGA_IRQ
254
255 config XTENSA_MX
256         bool
257         select IRQ_DOMAIN
258         select GENERIC_IRQ_EFFECTIVE_AFF_MASK
259
260 config XILINX_INTC
261         bool
262         select IRQ_DOMAIN
263
264 config IRQ_CROSSBAR
265         bool
266         help
267           Support for a CROSSBAR ip that precedes the main interrupt controller.
268           The primary irqchip invokes the crossbar's callback which inturn allocates
269           a free irq and configures the IP. Thus the peripheral interrupts are
270           routed to one of the free irqchip interrupt lines.
271
272 config KEYSTONE_IRQ
273         tristate "Keystone 2 IRQ controller IP"
274         depends on ARCH_KEYSTONE
275         help
276                 Support for Texas Instruments Keystone 2 IRQ controller IP which
277                 is part of the Keystone 2 IPC mechanism
278
279 config MIPS_GIC
280         bool
281         select GENERIC_IRQ_IPI
282         select IRQ_DOMAIN_HIERARCHY
283         select MIPS_CM
284
285 config INGENIC_IRQ
286         bool
287         depends on MACH_INGENIC
288         default y
289
290 config RENESAS_H8300H_INTC
291         bool
292         select IRQ_DOMAIN
293
294 config RENESAS_H8S_INTC
295         bool
296         select IRQ_DOMAIN
297
298 config IMX_GPCV2
299         bool
300         select IRQ_DOMAIN
301         help
302           Enables the wakeup IRQs for IMX platforms with GPCv2 block
303
304 config IRQ_MXS
305         def_bool y if MACH_ASM9260 || ARCH_MXS
306         select IRQ_DOMAIN
307         select STMP_DEVICE
308
309 config MSCC_OCELOT_IRQ
310         bool
311         select IRQ_DOMAIN
312         select GENERIC_IRQ_CHIP
313
314 config MVEBU_GICP
315         bool
316
317 config MVEBU_ICU
318         bool
319
320 config MVEBU_ODMI
321         bool
322         select GENERIC_MSI_IRQ_DOMAIN
323
324 config MVEBU_PIC
325         bool
326
327 config MVEBU_SEI
328         bool
329
330 config LS_SCFG_MSI
331         def_bool y if SOC_LS1021A || ARCH_LAYERSCAPE
332         depends on PCI && PCI_MSI
333
334 config PARTITION_PERCPU
335         bool
336
337 config EZNPS_GIC
338         bool "NPS400 Global Interrupt Manager (GIM)"
339         depends on ARC || (COMPILE_TEST && !64BIT)
340         select IRQ_DOMAIN
341         help
342           Support the EZchip NPS400 global interrupt controller
343
344 config STM32_EXTI
345         bool
346         select IRQ_DOMAIN
347         select GENERIC_IRQ_CHIP
348
349 config QCOM_IRQ_COMBINER
350         bool "QCOM IRQ combiner support"
351         depends on ARCH_QCOM && ACPI
352         select IRQ_DOMAIN_HIERARCHY
353         help
354           Say yes here to add support for the IRQ combiner devices embedded
355           in Qualcomm Technologies chips.
356
357 config IRQ_UNIPHIER_AIDET
358         bool "UniPhier AIDET support" if COMPILE_TEST
359         depends on ARCH_UNIPHIER || COMPILE_TEST
360         default ARCH_UNIPHIER
361         select IRQ_DOMAIN_HIERARCHY
362         help
363           Support for the UniPhier AIDET (ARM Interrupt Detector).
364
365 config MESON_IRQ_GPIO
366        bool "Meson GPIO Interrupt Multiplexer"
367        depends on ARCH_MESON
368        select IRQ_DOMAIN_HIERARCHY
369        help
370          Support Meson SoC Family GPIO Interrupt Multiplexer
371
372 config 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
380 config QCOM_PDC
381         bool "QCOM PDC"
382         depends on ARCH_QCOM
383         select IRQ_DOMAIN_HIERARCHY
384         help
385           Power Domain Controller driver to manage and configure wakeup
386           IRQs for Qualcomm Technologies Inc (QTI) mobile chips.
387
388 config CSKY_MPINTC
389         bool "C-SKY Multi Processor Interrupt Controller"
390         depends on CSKY
391         help
392           Say yes here to enable C-SKY SMP interrupt controller driver used
393           for C-SKY SMP system.
394           In fact it's not mmio map in hw and it use ld/st to visit the
395           controller's register inside CPU.
396
397 config CSKY_APB_INTC
398         bool "C-SKY APB Interrupt Controller"
399         depends on CSKY
400         help
401           Say yes here to enable C-SKY APB interrupt controller driver used
402           by C-SKY single core SOC system. It use mmio map apb-bus to visit
403           the controller's register.
404
405 config IMX_IRQSTEER
406         bool "i.MX IRQSTEER support"
407         depends on ARCH_MXC || COMPILE_TEST
408         default ARCH_MXC
409         select IRQ_DOMAIN
410         help
411           Support for the i.MX IRQSTEER interrupt multiplexer/remapper.
412
413 config LS1X_IRQ
414         bool "Loongson-1 Interrupt Controller"
415         depends on MACH_LOONGSON32
416         default y
417         select IRQ_DOMAIN
418         select GENERIC_IRQ_CHIP
419         help
420           Support for the Loongson-1 platform Interrupt Controller.
421
422 config TI_SCI_INTR_IRQCHIP
423         bool
424         depends on TI_SCI_PROTOCOL
425         select IRQ_DOMAIN_HIERARCHY
426         help
427           This enables the irqchip driver support for K3 Interrupt router
428           over TI System Control Interface available on some new TI's SoCs.
429           If you wish to use interrupt router irq resources managed by the
430           TI System Controller, say Y here. Otherwise, say N.
431
432 config TI_SCI_INTA_IRQCHIP
433         bool
434         depends on TI_SCI_PROTOCOL
435         select IRQ_DOMAIN_HIERARCHY
436         help
437           This enables the irqchip driver support for K3 Interrupt aggregator
438           over TI System Control Interface available on some new TI's SoCs.
439           If you wish to use interrupt aggregator irq resources managed by the
440           TI System Controller, say Y here. Otherwise, say N.
441
442 endmenu
443
444 config SIFIVE_PLIC
445         bool "SiFive Platform-Level Interrupt Controller"
446         depends on RISCV
447         help
448            This enables support for the PLIC chip found in SiFive (and
449            potentially other) RISC-V systems.  The PLIC controls devices
450            interrupts and connects them to each core's local interrupt
451            controller.  Aside from timer and software interrupts, all other
452            interrupt sources are subordinate to the PLIC.
453
454            If you don't know what to do here, say Y.