Hi,
We are working on the DP83867 PHY chip loopback configuration.
To run at 100Mbps we have set the 0x0009 ( 1000Base-T Configuration Register- CFG1) to value - 0x0000.
Connected RJ45 Cable to PC and we are able to detect Link up status at 100Mbps.
For External Loopback :
We are doing the below setting to check the External loopback but we are not getting any output on the Rx lines. ( no bit change observe)
We are getting LOOPCR register value as 2 but according to datasheet this value should be 0xE720.
If we set this register then all other register value becomes 0. So we are not modifying this register value.
Steps Followed :
1) Connected Ethernet loopback cable ( Shorted TX lines to RX Lines)
2) Write register 0x001F to 0x8000 to apply a software reset.
3) Write register 0x0000 to 0x2100 to disable Autonegotiation, 100Mbps and Full duplex.
4) Write register 0x0032 to 0x00D3 to enable RGMII: === NOTE: This requires REGCR/ADDAR access (extended register space)
a) Write register 0x000D to 0x001F to prepare to load RegAdd 32 into ADDAR
b) Write register 0x000E to 0x0032 to point to RegAdd 32
c) Write register 0x000D to 0x401F to prepare to load data for RegAdd 32 into ADDAR
d) Write register 0x000E to 0x00D3 to enable RGMII
5) Write register 0x0016 to 0x0010 to enable External loopback.
6) Write register 0x001F to 0x4000 to apply a software restart.
7) Transmitting data on the RGMII TX lines
No data received on the RX lines.
For Digital Loopback :
We are doing the below setting to check the Digital loopback but we are not getting any output on the Rx lines. ( no bit change observe)
We are getting LOOPCR register value as 2 but according to datasheet this value should be 0xE720.
If we set this register then all other register value becomes 0. So we are not modifying this register value.
Steps Followed :
1) Removed the RJ45 Connection to PC
2) Write register 0x001F to 0x8000 to apply a software reset.
3) Write register 0x0000 to 0x2100 to disable Autonegotiation, 100Mbps and Full duplex.
4) Write register 0x0032 to 0x00D3 to enable RGMII: === NOTE: This requires REGCR/ADDAR access (extended register space)
a) Write register 0x000D to 0x001F to prepare to load RegAdd 32 into ADDAR
b) Write register 0x000E to 0x0032 to point to RegAdd 32
c) Write register 0x000D to 0x401F to prepare to load data for RegAdd 32 into ADDAR
d) Write register 0x000E to 0x00D3 to enable RGMII
5) Write register 0x0016 to 0x0004 to
- enable digital loopback.
6) Write register 0x001F to 0x4000 to apply a software restart.
7) Transmitting data on the RGMII TX lines
No data received on the RX lines.
Are we missing something?
Does LOOPCR register need to be set to 0xE720 value? (After setting it to 0xE720 we are getting other register value also as zero)
If YES, please mention the sequence in the above steps.
Waiting for your Reply,
Vipul