Hi,
We have in our board DP83867E which connected through 4 wire SGMII interface to PS_GTR of XILINX ulrtscale+ MPSOC XCZU5EV device.
We are able to control the registers through MDIO interface and we managed to output through CLK_OUT pin 125MHz for the GTR CLK (in between we have a component which converts the single ended 125MHZ to differential LVPECL format for the GTR CLK). I configured the output by changing the value in register 0x170 to 0x80D instead of 0xC0D
One of my concerns is that maybe we are doing something wrong when configuring the DP83867E PHY to work on loopback with SGMII mode. I used the datasheet instructions along with the SGMII EVB instructions to send set those registers by this order:
1. SW reset- sent 0x8000 to 0x1F
2. Updated BMCR- sent 0x4140 to 0x00 //Enable loopback, speed 1G, Auto-Negotiation Disabled, full duplex
3. Updated PHYCR- sent 0x5848 to 0x10 //SGMII Enabled
4. Updated LOOPCR- sent 0xE720 to 0xFE //as recommended in DS in case of loopback
5. Updated BISCR- sent 0x04 to 0x16 // for digital loop mode. Tried also to set MII loopback (bit 6)
6. SW restart- sent 0x4000 to 0x1F
Beside those steps, I'm not sure if those registers also need to be changed:
(CFG2, 0x14)- to enable/disable SGMII auto-negotiation and (CFG2, 0x31) to change SGMII_AUTONEG_TIMER
Another thing, in the datasheet I saw this sentence "Auto-MDIX should be disabled before selecting the Near-End Loopback mode." From which register can I disable the Auto-MDIX? Is that really necessary?
I hope you can help us validate we activated the internal near end loop on the right way so we can continue to investigate why the FPGA doesn't get RX messages from the PHY.
Thanks,
Dudi
