We are using a MPU8548E with a Marvell 88E1111 PHY, using RGMII to communicate with the two. We are running at 2.5 MHz (10 Mbps) to debug this problem. We are using u-boot as the OS.
When we send out a ping command (72 bytes) we find that the PHY only sends out 71 bytes over the SERDES to the transciever, missing the last byte. We are using a logic analzyer and have the PHY in loop-back mode to monitor both the Tx signals to the PHY and Rx signal from the PHY to the PPC. Using the logic analyzer we have confirmed we send out the correct data to the PHY and we recieve the correct data back execpt for the last byte. We are assuming somehow the PHY does not read in the last byte, however looking that the signals with an oscilloscope the TSEC1_TX_EN (TX_CTL) line stays high during the entire transmission and is the correct length (57.6 us = 72 bytes* 2 clocks per byte * .4 us clock period).
This issue may well be with the Marvell PHY. My question is if there is anyway to extend the TSEC1_TX_EN signal, or if anyone else has encountered this problem, to us the data seems like it should be valid.
I have included a link to screen grab of the logic analyzer. The top bus the Tx to the PHY, note the data stream is: 61 4E 55 FC the bottom bus that is slightly delayed is the Rx from the PHY, note that the data stream is the same, but missing the last byte: 61 4E 55 __
thanks for any help !