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.

AM5728: PRU Ethernet Ping Problem

Part Number: AM5728

Hi TI Experts,

Customer is working on AM5728 SDK3.x. They have reached mass production before, but the volume is not high before. Recently they have increased their volumes and found that there are some customer boards having PRU ethernet ping issues described below.

Firstly, some of the customer boards do not have this problem, only some of the customer boards have this problem.

As for these "problem" boards, when we load the prueth driver, it will have the following problem logs.

And the ping problems happen occasionally. When the problem happens, it looks like below.

  

When the ping problem happens, we have tried using ethtool to debug, and please see the following log, thanks!

root@am57xx-evm:~# ethtool -S eth1
NIC statistics:
     txBcast: 0
     txMcast: 0
     txUcast: 0
     txOctets: 0
     rxBcast: 0
     rxMcast: 0
     rxUcast: 0
     rxOctets: 0
     tx64byte: 0
     tx65_127byte: 0
     tx128_255byte: 0
     tx256_511byte: 0
     tx512_1023byte: 0
     tx1024byte: 0
     rx64byte: 0
     rx65_127byte: 0
     rx128_255byte: 0
     rx256_511byte: 0
     rx512_1023byte: 0
     rx1024byte: 0
     lateColl: 0
     singleColl: 0
     multiColl: 0
     excessColl: 0
     rxMisAlignmentFrames: 0
     stormPrevCounter: 0
     macRxError: 0
     SFDError: 0
     defTx: 0
     macTxError: 0
     rxOverSizedFrames: 0
     rxUnderSizedFrames: 0
     rxCRCFrames: 0
     droppedPackets: 0
     txHWQOverFlow: 0
     txHWQUnderFlow: 0
root@am57xx-evm:~#

As we could see that all the parameters are just 0, that is very strange.

For these problem boards, we have found that if we run a dsp application after the board booting up, then we could ping successfully every time.

Based on this finding, we found that the actual reason is that the dsp application writes the gpmc register 0x4A008728 of value 0x1.

Hence, we have done the below experiment, everytime when the board booting up, if we write devmem2 0x4A008728 w 0x00000001, then the ping can be successful all the time.

However, we could not just take this solution. The reason is that the L3 application error and L3 debug error still exist shown below. We do not have ideas how to solve these errors for the problem boards.

For the normal boards, there is no L3 application or L3 debug error. Also the ping is always successful without writing the gpmc register.

Could you please give us some suggestions for this problem please?

Thanks a lot!

Kevin