52#error "ra8_npu.h included on a device without an NPU (RA8P1-only)."
Compile-time device selection for the RA8 multi-chip build (RA8D2 / RA8P1).
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
ra8_err_t ra8_npu_clear_irq(void)
Acknowledge (clear) a raised NPU interrupt.
ra8_err_t ra8_npu_read_status(ra8_npu_status_t *out)
Read and decode the NPU_STATUS register.
ra8_err_t ra8_npu_poll(bool *out_done)
Non-blocking completion / fault poll of a running job.
ra8_err_t ra8_npu_submit(const ra8_npu_job_t *job)
Program the command queue and tensor region base pointers for a job.
ra8_err_t ra8_npu_wait_irq(void)
Block on the NPU interrupt until the armed job completes or faults.
ra8_err_t ra8_npu_irq_arm(void)
Arm the interrupt-driven completion latch for the submitted job.
void ra8_npu_irq_handler(void *ctx)
NPU interrupt service routine: latch completion / fault, ack the IRQ.
ra8_err_t ra8_npu_run(void)
Kick the currently-submitted job (transition the NPU to running).
ra8_err_t ra8_npu_reset(void)
Soft-reset an already-initialized NPU.
ra8_err_t ra8_npu_deinit(void)
Gate the NPU back into module-stop.
ra8_err_t ra8_npu_read_id(uint32_t *out_id)
Read the Ethos-U55 NPU_ID (architecture / product revision) register.
ra8_err_t ra8_npu_init(void)
Bring the NPU out of module-stop and soft-reset it.
ra8_err_t ra8_npu_wait(void)
Bounded busy-wait until the running job completes or faults.
Arm Ethos-U55 NPU register window on the Renesas RA8P1 (RA8P1-only).
@ k_ra8_npu_region_count
Number of BASEPn region base-pointer pairs.
One Ethos-U55 inference job: a command stream plus its tensor arenas.
uint8_t region_count
Number of region_base[] entries in use.
uint32_t cmd_stream_bytes
Command stream length in bytes (> 0).
uint64_t region_base[k_ra8_npu_region_count]
AXI base of each BASEPn arena.
const void * cmd_stream
Vela command stream base in SRAM.
Decoded snapshot of the NPU_STATUS register.
bool fault
Any bus / parse / weight-decoder / ECC fault bit.
uint32_t raw
Verbatim NPU_STATUS register value.
bool running
STATUS.state: NPU is executing a command stream.
bool irq_raised
STATUS.irq_raised: an interrupt is pending.
bool cmd_end
STATUS.cmd_end: command stream fully consumed.