Technical documentation for Synopsys Ethernet QoS Controller (eqos)

From: Peter Jeremy <peterj_at_freebsd.org>
Date: Sun, 03 Aug 2025 00:43:20 UTC
I'm trying to extend eqos(4) to support more of the controller's
functionality: Checksum offload and ideally TCP offload.  I have
"Rockchip RK3568 TRM Part2 V1.1-20210301.pdf" but that's missing
documentation on the DMA interface and there are some discrepancies
between it and the existing FreeBSD code.

Some specific questions:
* The existing code supports Synopsys versions 0x51 and 0x52.  The
  RK3566 (and, based on the above TRM, RK3568) are version 0x51.
  Does anyone know what chips have version 0x52?
* Is anyone aware of errata regarding the controller's support of
  checksum offload or TCP offload?
* Does anyone have documentation on the actual configuration of the
  DMA registers?  I notice the eqos(4) code initialises the ring
  buffer length to 1 less than the number of ring buffers but there's
  no mention of this in the TRM I have.

I've had a quick look at NetBSD and OpenBSD.  The latter doesn't
appear to have an eqos driver and the former doesn't seem to support
any functionality that FreeBSD doesn't.

-- 
Peter Jeremy