I am writing ENETC support for a bare-bones project (LS1028A). I am using u-boot fsl_enetc.c as an example. Whenever I try to transmit the controller seems to not acknowledge the packet.
I have rechecked my code that was based on the u-boot fsl_enetc.c file. I don’t see anything I am missing. When I transmit, the enetc controller doesn’t seem to process the buffer descriptor I present to it.
FYI, the RCW I am using are the same as the NXP dev board values. Here are my initialization steps:
To setup the TX buffer descriptors I followed the u-boot code. I made sure the descriptors are 128 byte aligned. I printed out the contents of the descriptor and everything seems ok. However when I increment TB0PIR, I never see TB0CIR change. It is as if the controller isn’t started.
I am not using the MMU or cache with this code. I do not know if that is an issue.
I am not using a PCIe driver to discover the Ethernet controller since the addresses and capabilities are hardcoded.
Any suggestions why I can’t transmit would be helpful.