| # 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. |