1# interrupt controller configuration options
2
3# Copyright (c) 2015 Intel Corporation
4# SPDX-License-Identifier: Apache-2.0
5
6menu "Interrupt controller drivers"
7
8config ARCV2_INTERRUPT_UNIT
9	bool "ARCv2 Interrupt Unit"
10	default y
11	depends on ARC
12	help
13	  The ARCv2 interrupt unit has 16 allocated exceptions associated with
14	  vectors 0 to 15 and 240 interrupts associated with vectors 16 to 255.
15	  The interrupt unit is optional in the ARCv2-based processors. When
16	  building a processor, you can configure the processor to include an
17	  interrupt unit. The ARCv2 interrupt unit is highly programmable.
18
19config SWERV_PIC
20	bool "SweRV EH1 Programmable Interrupt Controller (PIC)"
21	default y
22	depends on DT_HAS_SWERV_PIC_ENABLED
23	help
24	  Programmable Interrupt Controller for the SweRV EH1 RISC-V CPU.
25
26config VEXRISCV_LITEX_IRQ
27	bool "VexRiscv LiteX Interrupt controller"
28	default y
29	depends on DT_HAS_VEXRISCV_INTC0_ENABLED
30	help
31	  IRQ implementation for LiteX VexRiscv
32
33config LEON_IRQMP
34	bool "GRLIB IRQMP interrupt controller"
35	default y
36	depends on DT_HAS_GAISLER_IRQMP_ENABLED
37	help
38	  GRLIB IRQMP and IRQAMP
39
40config INTC_INIT_PRIORITY
41	int "Interrupt controller init priority"
42	default KERNEL_INIT_PRIORITY_DEFAULT
43	help
44	  Interrupt controller device initialization priority.
45
46if MCHP_ECIA_XEC
47
48config XEC_GIRQ_INIT_PRIORITY
49	int "XEX GIRQ Interrupt controller init priority"
50	default 41
51	help
52	  XEC GIRQ Interrupt controller device initialization priority.
53	  The priority value needs to be greater than INTC_INIT_PRIORITY
54	  So that the XEC GIRQ controllers are initialized after the
55	  xec_ecia.
56
57endif
58
59module = INTC
60module-str = intc
61source "subsys/logging/Kconfig.template.log_config"
62
63source "drivers/interrupt_controller/Kconfig.multilevel"
64
65source "drivers/interrupt_controller/Kconfig.loapic"
66
67source "drivers/interrupt_controller/Kconfig.dw"
68
69source "drivers/interrupt_controller/Kconfig.it8xxx2"
70
71source "drivers/interrupt_controller/Kconfig.stm32"
72
73source "drivers/interrupt_controller/Kconfig.cavs"
74
75source "drivers/interrupt_controller/Kconfig.rv32m1"
76
77source "drivers/interrupt_controller/Kconfig.sam0"
78
79source "drivers/interrupt_controller/Kconfig.gic"
80
81source "drivers/interrupt_controller/Kconfig.npcx"
82
83source "drivers/interrupt_controller/Kconfig.intel_vtd"
84
85source "drivers/interrupt_controller/Kconfig.esp32"
86
87source "drivers/interrupt_controller/Kconfig.esp32c3"
88
89source "drivers/interrupt_controller/Kconfig.xec"
90
91source "drivers/interrupt_controller/Kconfig.clic"
92
93source "drivers/interrupt_controller/Kconfig.gd32_exti"
94
95source "drivers/interrupt_controller/Kconfig.plic"
96
97source "drivers/interrupt_controller/Kconfig.nxp_s32"
98
99source "drivers/interrupt_controller/Kconfig.xmc4xxx"
100
101source "drivers/interrupt_controller/Kconfig.nxp_pint"
102
103endmenu
104