Skip to content

Commit

Permalink
drivers: interrupt_controller: Add support for NXP's IRQ_STEER
Browse files Browse the repository at this point in the history
This commit implements the support for the IRQ_STEER IP which
is an interrupt controller employed by some NXP chips.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
  • Loading branch information
LaurentiuM1234 committed Sep 18, 2023
1 parent f007f21 commit 8dd21db
Show file tree
Hide file tree
Showing 4 changed files with 510 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/interrupt_controller/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ zephyr_library_sources_ifdef(CONFIG_NUCLEI_ECLIC intc_nuclei_eclic.c)
zephyr_library_sources_ifdef(CONFIG_NXP_S32_EIRQ intc_eirq_nxp_s32.c)
zephyr_library_sources_ifdef(CONFIG_XMC4XXX_INTC intc_xmc4xxx.c)
zephyr_library_sources_ifdef(CONFIG_NXP_PINT intc_nxp_pint.c)
zephyr_library_sources_ifdef(CONFIG_NXP_IRQSTEER intc_nxp_irqsteer.c)

if(CONFIG_INTEL_VTD_ICTL)
zephyr_library_include_directories(${ZEPHYR_BASE}/arch/x86/include)
Expand Down
2 changes: 2 additions & 0 deletions drivers/interrupt_controller/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -102,4 +102,6 @@ source "drivers/interrupt_controller/Kconfig.nxp_pint"

source "drivers/interrupt_controller/Kconfig.vim"

source "drivers/interrupt_controller/Kconfig.nxp_irqsteer"

endmenu
24 changes: 24 additions & 0 deletions drivers/interrupt_controller/Kconfig.nxp_irqsteer
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright 2023 NXP
# SPDX-License-Identifier: Apache-2.0

config NXP_IRQSTEER
bool "IRQ_STEER interrupt controller for NXP chips"
default y
depends on DT_HAS_NXP_IRQSTEER_INTC_ENABLED
help
The IRQSTEER INTC provides support for MUX-ing
multiple interrupts from peripheral to one or
more CPU interrupt lines. This is used for CPUs
such as XTENSA DSPs.

config NXP_IRQSTEER_ISR_THRESHOLD
int "Error threshold for a dispatcher's ISR"
default 5
depends on NXP_IRQSTEER
help
This config controls how many times a
dispatcher's ISR is allowed to iterate
over its assigned interrupt status register
before it can conclude that an interrupt
will get retriggered ad-infinitum (or at
least for an unacceptable number of times).
Loading

0 comments on commit 8dd21db

Please sign in to comment.