EV
New Contributor
5 years agoAgilex EMAC issue
There seems to be a bad bug in the Agilex EMAC, at least in EMAC #0. The TU bit (bit #2) in the dmwgrp_status register works only once right after the init of the EMAC. That bit indicates if the EMAC DMA has gone into suspension because the next descriptor doesn't hold a valid packet. That info is sort of essential to determine if the DMA must be told or not to restart once a valid descriptor has been set-up with a new packet. As a temporary work around we are using the TS bit field (Bit 22:20) and when the DMA reports it's in standby we assume it means it's waiting for a valid descriptor. Very far from being ideal or safe as the DMA can also report being in standby because of a transmit buffer overflow, i.e. an error condition.