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_LITEX_VEXRISCV_INTC0_ENABLED
30	help
31	  IRQ implementation for LiteX VexRiscv
32
33config HAZARD3_INTC
34	bool "Hazard3 interrupt controller"
35	default y
36	select PICOSDK_USE_CLAIM
37	select RISCV_SOC_HAS_CUSTOM_IRQ_HANDLING
38	depends on DT_HAS_HAZARD3_HAZARD3_INTC_ENABLED
39	help
40	  IRQ implementation for Hazard3 Interrupt Controller found on the RP2350 series SoCs
41
42config LEON_IRQMP
43	bool "GRLIB IRQMP interrupt controller"
44	default y
45	depends on DT_HAS_GAISLER_IRQMP_ENABLED
46	help
47	  GRLIB IRQMP and IRQAMP
48
49config INTC_INIT_PRIORITY
50	int "Interrupt controller init priority"
51	default KERNEL_INIT_PRIORITY_DEFAULT
52	help
53	  Interrupt controller device initialization priority.
54
55if MCHP_ECIA_XEC
56
57config XEC_GIRQ_INIT_PRIORITY
58	int "XEX GIRQ Interrupt controller init priority"
59	default 41
60	help
61	  XEC GIRQ Interrupt controller device initialization priority.
62	  The priority value needs to be greater than INTC_INIT_PRIORITY
63	  So that the XEC GIRQ controllers are initialized after the
64	  xec_ecia.
65
66endif
67
68module = INTC
69module-str = intc
70source "subsys/logging/Kconfig.template.log_config"
71
72# zephyr-keep-sorted-start
73source "drivers/interrupt_controller/Kconfig.cavs"
74source "drivers/interrupt_controller/Kconfig.clic"
75source "drivers/interrupt_controller/Kconfig.dw"
76source "drivers/interrupt_controller/Kconfig.esp32"
77source "drivers/interrupt_controller/Kconfig.gd32_exti"
78source "drivers/interrupt_controller/Kconfig.gic"
79source "drivers/interrupt_controller/Kconfig.intel_vtd"
80source "drivers/interrupt_controller/Kconfig.it51xxx"
81source "drivers/interrupt_controller/Kconfig.it8xxx2"
82source "drivers/interrupt_controller/Kconfig.loapic"
83source "drivers/interrupt_controller/Kconfig.mtk_adsp"
84source "drivers/interrupt_controller/Kconfig.multilevel"
85source "drivers/interrupt_controller/Kconfig.npcx"
86source "drivers/interrupt_controller/Kconfig.nxp_irqsteer"
87source "drivers/interrupt_controller/Kconfig.nxp_pint"
88source "drivers/interrupt_controller/Kconfig.nxp_s32"
89source "drivers/interrupt_controller/Kconfig.nxp_siul2"
90source "drivers/interrupt_controller/Kconfig.plic"
91source "drivers/interrupt_controller/Kconfig.renesas_rx"
92source "drivers/interrupt_controller/Kconfig.renesas_rz"
93source "drivers/interrupt_controller/Kconfig.rv32m1"
94source "drivers/interrupt_controller/Kconfig.sam0"
95source "drivers/interrupt_controller/Kconfig.stm32"
96source "drivers/interrupt_controller/Kconfig.vim"
97source "drivers/interrupt_controller/Kconfig.wch_exti"
98source "drivers/interrupt_controller/Kconfig.wch_pfic"
99source "drivers/interrupt_controller/Kconfig.xec"
100source "drivers/interrupt_controller/Kconfig.xmc4xxx"
101# zephyr-keep-sorted-stop
102
103endmenu
104