15#ifndef ZEPHYR_INCLUDE_DRIVERS_INTERRUPT_CONTROLLER_RISCV_AIA_H_
16#define ZEPHYR_INCLUDE_DRIVERS_INTERRUPT_CONTROLLER_RISCV_AIA_H_
78#if defined(CONFIG_RISCV_APLIC_MSI) || defined(__DOXYGEN__)
#define DEVICE_DT_GET_ANY(compat)
Get a device reference from a devicetree compatible.
Definition device.h:346
static const struct device * riscv_aia_get_dev(void)
Get the underlying APLIC device.
Definition riscv_aia.h:65
void riscv_aia_dispatch_eiid(uint32_t eiid)
Dispatch an IMSIC EIID through the AIA second-level ISR table.
void riscv_aia_inject_msi(uint32_t hart, uint32_t eiid)
Inject a software MSI via the APLIC GENMSI register.
void riscv_aia_irq_disable(uint32_t irq)
Disable an AIA interrupt source.
void riscv_aia_set_priority(uint32_t irq, uint32_t prio)
Set priority for an AIA interrupt source.
void riscv_aia_route_to_hart(uint32_t irq, uint32_t hart, uint32_t eiid)
Route an APLIC source to a specific hart.
void riscv_aia_config_source(uint32_t irq, uint32_t mode)
Configure an APLIC source mode.
void riscv_aia_irq_enable(uint32_t irq)
Enable an AIA interrupt source.
int riscv_aia_irq_is_enabled(uint32_t irq)
Check if an AIA interrupt source is enabled.
void riscv_aia_enable_source(uint32_t irq)
Enable an APLIC source using the convenience wrapper.
RISC-V APLIC (Advanced Platform-Level Interrupt Controller) driver API.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
Runtime device structure (in ROM) per driver instance.
Definition device.h:513