We are testing the ethernet interface in P1022 processor based custom board in which eTsec interface is connected to the Marvel switch 88E6165 via RGMII interface. Ping command is getting failed when we tried to ping from board to PC in UBoot console.
ETSEC Register values are as follows,
1. Ethernet Control Register, ECNTRL (Base Addr + 0x20): 0x50
2. MAC Configuration Register 1, MACCGG1 (Base Addr + 0x500): 0xf
3. MAC Configuration Register 3, MACCGG2 (Base Addr + 0x504): 0x7205
We observed following bits in TSAT (Transmit Status Register, Base Addr + 0x104) is set during ping command,
1. Value of TSAT register while retruning from tsec_init(struct eth_device *dev, bd_t * bd) function is 0x0
2. Value of TSAT register while entering ping_send(void) function is 0x80000000 (bit Transmit halt of ring 0, THLT0 is high)
3. Value of TSAT register in ping_timeout(void) function is 0x80008000 (bit THLT0 and TXF0 are high)
4. Value of IEVENTGn (Base Address + 0x10) in ping_timeout(void) function is 0x00100000
Please let us know why THLT0 bit of TSAT register is getting set and please let us know the proper configuration details to make etsec interfcae to work in RGMII mode.