This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DP83867 - no SGMII link

Other Parts Discussed in Thread: DP83867IS

Hello TI team,

we have a design with a custom NXP TQMT1042 PowerPC Module located on a custom baseboard.
Both module and baseboard are new designs.

One of the TQMT1042's SGMII interfaces (1.25 Gbaud, 4 wire) is connected to a TI DP83867IS ethernet phy.

The MDI link comes up correctly as expected, autonegotiated to 1000Mbit, 100Mbit and 10Mbit against fixed speed counterparts.

However we are experiencing trouble on the SGMII interface. (All further tests have been performed with a 1000Mbit MDI link.)
Reading respective registers in the MAC and the PHY shows that the SGMII autonegotiation process has not completed. No link is established.
When disabling SGMII autonegotiation (set to fixed 1000Mbit, fdx) also no link is established.

We did a little bit of hardware inspection already:
There is a valid SGMII signal on both Tx And Rx lanes. No protocol analysing oscilloscope available at the moment unfortunately.
The MAC side PLL is locked (can be seen in the MAC's registers) and the supplying 100 MHz clock looks ok.
The PHY supplying 25 MHz clock looks also ok. MDI is also running, pointing away from PHY clock issues.
We also applied heat (hot air fan) and cooling (cooling spray) to the components to look for possible temperature dependancies, without effect.
Tx and Rx lanes each have 100nF series capacitors as demanded by the respective datasheets.

Also we looked at all relevant registers in PHY and MAC to see whether SGMII is setup correctly. This seems to be the case. For the DP83867IS you will find a register dump attached below.

We also tried setting the PHY to loopback mode and check whether the MAC now does see a link (tested with MAC SGMII ANEG active and inactive). No success.
Then we tried it the other way around (MAC loopback) to see whether the PHY does see a link (tested with PHY SGMII ANEG active and inactive). Still no success.

We would like to look a little deeper into the SGMII autonegotiation process to maybe get an idea whats going wrong here. We will try to get an oscilloscope from somewhere else in the company to examine the aneg process from the measurement side.
The only register related to the SGMII autonegotiation seems to be
SGMII Auto-Negotiation Status (SGMII_ANEG_STS), indicating
"SGMII Page Received" and "SGMII Auto-Negotiation Complete"
Are there any additional registers hidden in the PHY that refer to the SGMII autonegotiation process? This topic seems to be a bit "off-standard", we noted that PHY vendors display SGMII autonegotiation in different ways in the registers.

From past projects we also learned that other PHY vendors have "hidden" registers where SGMII/1000-Base-X electrical level and drive strengths can be altered. Does something like this exist with the DP83867IS?

Do you have any additional hints would we could try or look for?

Best regards,
Stefan Lange


################################
Phy register reads, loose dump
################################

mii write 0x03 0x0D 0x1f
mii write 0x03 0x0E 0x0037
mii write 0x03 0x0D 0x401F
mii read 0x03 0x0e
0000
0 = SGMII Auto-Negotiation process not complete.
0 = SGMII page has not been received.

mii write 0x03 0x0D 0x1f
mii write 0x03 0x0E 0x00D3
mii write 0x03 0x0D 0x401F
mii read 0x03 0x0e
0000
0 = 4-wire mode ok

mii write 0x03 0x0D 0x1f
mii write 0x03 0x0E 0x0135
mii write 0x03 0x0D 0x401F
mii read 0x03 0x0e
0000

=> mii read 0x03 0x10
5848
TX FIFO Depth 01 = 4 bytes/nibbles (1000Mbps/Other Speeds) ok
RX FIFO Depth ebenso
SGMI_EN 1 = Enable SGMII ok
FORCE_LINK_GOOD POWER_SAVE_MODE 0 = Normal operation ok
MDI_CROSSOVER 1x = Enable automatic crossover ok

=> mii read 0x03 0x11
BF02

> mii read 0x03 0x14
29C7
SGMII_AUTONEG_EN 1 ok

=> mii read 0x03 0x15
0000
receive error count

=> ping 192.168.53.100
Using FM1@DTSEC2 device
ping failed; host 192.168.53.100 is not alive
=> mii read 0x03 0x13
0000
interrupt status reg

mii write 0x03 0x0D 0x1f
mii write 0x03 0x0E 0x06e
mii write 0x03 0x0D 0x401F
mii read 0x03 0x0e
0803
1 = SGMII strapped to enable.

mii write 0x03 0x0D 0x1f
mii write 0x03 0x0E 0x0135
mii write 0x03 0x0D 0x401F
mii read 0x03 0x0e
0000

=> mii read 0x03 0x1e
0002 ok

mii write 0x03 0x0D 0x1f
mii write 0x03 0x0E 0x0031
mii write 0x03 0x0D 0x401F
mii read 0x03 0x0e
00B0
0000 0000 1001 0000
SGMII_AUTONEG_TIMER 00: 16ms maximaler Wert

  • Stefan,

    Thank you for your detailed description. You have done a good job of describing the functionality and checking the key registers.

    Could you confirm the value of register 0x31? Is the value of this register 0x00B0, indicating the 2us default value for the SGMII Autoneg timer?

    Could you share the portion of your schematic showing the straps and the connections between the MAC and the PHY? I am specifically interested in the straps for the RX_D0, RX_D1, RX_D2, and RX_D3 pins that form the SGMII differential pairs.

    Thanks,
    Patrick
  • Hello Patrick,  

    I can confirm the value of Register 0x31 is 0x00B0.

    I inserted the schematics in the following, I hope they get displayed correctly.

    The straps appeared correct to me in the first place. We were conscious that the SGMII pairs need to be strapped in the same way.

    Thanks & best regards,

    Stefan

    ########

    mii write 0x03 0x0D 0x1f
    mii write 0x03 0x0E 0x0031
    mii write 0x03 0x0D 0x401F
    mii read 0x03 0x0e
    00B0

  • Hi Stefan,

    Thanks for the schematics. A couple of follow-up questions;

    1. Are there 0.1uF capacitors on the SGMII_SIN and SGMII_SIP lines? They are not present in this section of the schematics.

    2. What is the impedance profile of the SGMII interface transmission lines? Are the pairs 100 ohms differential?

    -Regards,

    Aniruddha

  • Hi Aniruddha,

    1. Yes, these are located near the module connector. They can not be seen on this schematic page. Sorry I should have written that.

    2. Yes, the pairs are layouted as 100R differential impedance.

    Please note:

    We are currently investigating the other side (the T1042) as well. I just want to make sure we did not do anything wrong on the phy side. 

    Best regards,

    Stefan

  • Hi,

    we would still be particularly interested in these points:

    We would like to look a little deeper into the SGMII autonegotiation process to maybe get an idea whats going wrong here.
    The only register related to the SGMII autonegotiation seems to be
    SGMII Auto-Negotiation Status (SGMII_ANEG_STS), indicating
    "SGMII Page Received" and "SGMII Auto-Negotiation Complete"
    Are there any additional registers hidden in the PHY that refer to the SGMII autonegotiation process? This topic seems to be a bit "off-standard", we noted that PHY vendors display SGMII autonegotiation in different ways in the registers.

    From past projects we also learned that other PHY vendors have "hidden" registers where SGMII/1000-Base-X electrical level and drive strengths can be altered. Does something like this exist with the DP83867IS?

    Best regards,

    Stefan

  • Hi there,

    this issue is still pending.

    Please respond!

    Cheers,

    Stefan

  • Hi Stefan,

    I am sending you a friend request to get a bit more information.

    Best Regards,