|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Per-port Ethernet Agent (ETHA) driver – HUM Ch 32 (p 1627-1702). More...
#include <stdint.h>#include "ra8_err.h"#include "ra8_etha_ops.h"#include "ra8_etha_regs.h"#include "ra8_etha_shaper.h"#include "ra8_etha_types.h"#include "ra8_rmac.h"Go to the source code of this file.
Per-port Ethernet Agent (ETHA) driver – HUM Ch 32 (p 1627-1702).
driver for the RA8D2 Ethernet Agent (ETHA) block. The Ethernet pipeline on the RA8D2 is a small stack:
* +-----------------------+ top +-------------------------+ * | ESWM (Ch 29) | ------> | Switch fabric | * | ra8_eth.c | | | * +-----------------------+ +-------------------------+ * | per-port descriptor / forwarding bus * v * +-----------------------+ ETHA +-------------------------+ * | ETHA (Ch 32, here) | <-----> | per-port queue / FIFO | * | ra8_etha.c (one per m) | | preemption, IPV remap | * +-----------------------+ +-------------------------+ * | per-port MAC bus * v * +-----------------------+ RMAC +-------------------------+ * | RMAC (Ch 33) | <-----> | MAC + PHY MDIO | * | ra8_rmac.c | | | * +-----------------------+ +-------------------------+ * | MII / GMII pins * v bottom * Off-chip PHY (LAN8740, KSZ9031,...) *
Round-3 brings the driver to full HUM Ch 32 coverage:
There is no per-port security-gate register: HUM Ch 32 publishes none, and the EASCR the driver used to write was an FSP header artefact (#539).
Per-port state is kept in a small fixed-size table; both port instances (m = 0, 1) share this driver via the::ra8_etha_port_t argument. The shared MSTP gate k_ra8_mstp_eswm is reference- counted by ra8_mstp, so init/deinit interleave safely with the other ethernet sub-drivers (ra8_eth, ra8_eth_mfwd, ra8_eth_coma, ra8_eth_gwca, ra8_eth_gptp, ra8_rmac).
This umbrella header is intentionally thin: the declarations are grouped by concern into self-contained sub-headers and pulled in below so existing consumers that #include "ra8_etha.h" are unaffected.
Definition in file ra8_etha.h.