Hi,
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.
Check u-boot configuration using u-boot source code. Is u-boot on your board configured for Ethernet working in RGMII mode?
U-boot configuration file is located in the u-boot source folder: /include/configs. This folder contains the .h files for the different boards.
See documentation on the following page:
http://git.denx.de/?p=u-boot.git;a=blob_plain;f=README;hb=HEAD
and
http://www.denx.de/wiki/view/DULG/UBoot
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Pavel,
Thanks for your response, our current issue is whenever we try ping command, RMON registers in eTSEC controller is incremented but data is not seen in the RGMII wire.
Please let us know why the packets are dropped after MAC layer and how to debug it.
RMON register value are as follows,
We have configured in RGMII 1G mode by setting ECNTRL and MACCFG2 registers of eTSEC as follows,
1. Ethernet Control Register, ECNTRL (Base Addr + 0x20): 0x1050
2. MAC Configuration Register 2, MACCGG2 (Base Addr + 0x504): 0x7205
With Thanks and Regards,
R.Senthilkumar