ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_npu.c File Reference

Arm Ethos-U55 NPU command/queue driver foundation (RA8P1-only). More...

#include "ra8_attributes.h"
#include "ra8_device.h"
Include dependency graph for ra8_npu.c:

Go to the source code of this file.

Typedefs

typedef int ra8_npu_not_on_this_device_t

Detailed Description

Arm Ethos-U55 NPU command/queue driver foundation (RA8P1-only).

Tag
[Ring 3 / HAL] {World: S}

Implementation of the ra8_npu.h contract. The whole translation unit is gated behind RA8_HAS_NPU so it compiles to nothing on the RA8D2 (which has no NPU) and is only built for the RA8P1 (-DRA8_DEVICE_RA8P1). Every MMIO access carries an Arm Ethos-U55 NPU TRM citation; the RA8P1 integration facts (module-stop bit, clock, IRQ) are sourced in ra8_npu_regs.h.

The command-stream model implemented here is the Ethos-U55 submission protocol: program QBASE/QSIZE at the Vela command stream, program each BASEPn tensor-arena base, then write CMD.transition_to_running_state to run; completion and faults are read from STATUS. There is no RA8P1 board yet, so this is host-tested for the register write sequence only – a real on-silicon inference is a follow-up.

Since
0.1.0

Definition in file ra8_npu.c.

Typedef Documentation

◆ ra8_npu_not_on_this_device_t

Definition at line 450 of file ra8_npu.c.