I'm trying to get baremetal EMAC to work on a custom board equipped with an SC572 chip and a LAN83C185 (100M) Phy IC.
I've tested the physical connection for the MDIO lines with the UBoot MII utility and have written and tested the MDIO lines with a custom PHY driver in bare-metal C. The EMAC is configured such that it's using the GEMAC library provided by ADI (see photo below). I assumed that it would work with the 100M LAN83C185 chip because the SC584 EZ-KIT also has a 100M Phy IC onboard and it uses the GEMAC library too (please correct me if I'm wrong)
I have copied the EMAC test code from the POST example to a bare-metal project and managed to get it to send one single Ethernet II packet. However, the EMAC DMA register EMAC0_DMA0_STAT reads 00670445, which sets TI, TU, NIS,TS=6.
Since EMAC0_DMA0_STAT's AIS and UNF are not set, I assume it's not a buffer underflow and it's a descriptor ownership problem. What I can do to resolve this descriptor ownership problem? (or if it's a configuration problem, what is the appropriate configuration for 100M PHY IC?)