This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RM57L843: Unable to SOFTRESET Ethernet (EMAC) the second time.

Part Number: RM57L843

In troubleshooting an issue with networking, we found the following.

Scenario:

   1.  The ethernet is brought up upon boot and is able to transmit and receive fine.

   2.  We SOFTRESET the ethernet hardware (EMAC, EMAC CONTROL)

   3.  We observe that intermittently packets are getting to the ethernet hardware, but are not making it to memory nor updating the CPPI descriptors.

   4.  We observe that attempting to clear the RAM memory of the packet buffers results in a prefetch (with random LR location).

Workaround:

   As our debugging tools don't have this issue, we identified the following steps which appear to resolve this issue:

   1.  A CPU software reset (without this the attempt to clear the packet buffer memory results in a prefetch)

   2.  Clear the packet buffer memory by memsetting to 0s.  (without this the intermittent packet drops occur)

Our belief is the the SOFTRESET of the EMAC and CONTROL modules is not resetting the EMAC's DMA state machine.  Instead only a CPU software reset can reset the EMAC DMA state machine.  Once the DMA state machine is reset, it leads to corrupted RAM (ECC or other comparator related issues), but writing 0s to the memory restores everything to a functional state.  From there we can then start networking.