blob: 3589c22230928c5b5b725f0169eb4aafd03ceaa1 [file]
# SPDX-FileCopyrightText: Copyright The Zephyr Project Contributors
# SPDX-License-Identifier: Apache-2.0
config RISCV_IMSIC
bool "RISC-V IMSIC (Incoming Message-Signaled Interrupt Controller)"
default y if DT_HAS_RISCV_IMSIC_ENABLED
depends on RISCV && RISCV_ISA_EXT_SMCSRIND
help
RISC-V Incoming Message-Signaled Interrupt Controller (IMSIC).
Provides per-hart interrupt files for MSI delivery in RISC-V AIA.
Automatically enabled when an IMSIC node exists in devicetree.
config RISCV_APLIC
bool "RISC-V APLIC (Advanced Platform-Level Interrupt Controller)"
default y
depends on DT_HAS_RISCV_APLIC_ENABLED
depends on RISCV
help
RISC-V Advanced Platform-Level Interrupt Controller (APLIC).
Routes wired interrupts in a RISC-V AIA system.
Automatically enabled when an APLIC node exists in devicetree.
config RISCV_APLIC_MSI
bool "RISC-V APLIC MSI delivery mode"
default y
depends on RISCV_APLIC
depends on $(dt_compat_all_has_prop,$(DT_COMPAT_RISCV_APLIC),msi-parent)
select RISCV_IMSIC
help
Enable MSI delivery mode for the APLIC.
Routes wired interrupts to IMSIC as Message-Signaled Interrupts.
config RISCV_AIA
bool "RISC-V AIA unified coordinator"
default y
depends on RISCV_APLIC_MSI
select MULTI_LEVEL_INTERRUPTS
select 2ND_LEVEL_INTERRUPTS
help
Unified AIA coordinator providing a PLIC-like second-level interrupt
controller API while hiding APLIC and IMSIC implementation details.