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.

TMS320C6672: SGMII Link-up Problem

Part Number: TMS320C6672

Hi,

We have a custom board with C6672 DSP and DP83867 PHY, and we are experiencing the very same problem as in this post. At the board initialization phase, the platform_init() function never returns and it has turned out that it is looping forever in the following piece of code since SGMII link can never get established.

do
{
    CSL_SGMII_getStatus(macPortNum, &sgmiiStatus);
} while (sgmiiStatus.bIsLinkUp != 1);

I have also seen this forum post, where the link-up issue was eventually resolved by setting the RX_CTRL strap to mode 3; however, in our design, the RX_CTRL strap is already in that mode.

What else should I try to establish the SGMII link and get the DSP to pass the platform initialization routine?

Thanks in advance,

Silacko

  • Hi,

    Which Processor SDK RTOS version are you using?

    Best Regards,
    Yordan
  • Hi Yordan,

    We are using MCSDK 2.1.2.6 and CCS 5.5.0. I know we should be using the latest Processor SDK; however, the reason we stick to the old version is because our custom board is strictly based on a previously-designed board (in fact, the board mentioned in this post: https://e2e.ti.com/support/interface/f/138/t/490569?C6678-DSP-DP83867-PHY-SGMII-Link-up-Issue by Mr Altuntas), and they needed this particular version to get their board up and running. The problem is that, while a BIOS project works fine on their aforementioned board (by fine, I mean SGMII link-up is established and, we can successfully ping the board through an Ethernet cable), it gets stuck in our board.

    I dumped all the registers of PHY (by using platform_MDIO_read()) in order to compare the two boards in terms of those registers; however, I couldn't find a difference that makes any sense. I have also attached the dumps, in case they are helpful.

    [0x0000]    : 0x1140
    [0x0001]    : 0x7949
    [0x0002]    : 0x2000
    [0x0003]    : 0xA231
    [0x0004]    : 0x01E1
    [0x0005]    : 0x0000
    [0x0006]    : 0x0064
    [0x0007]    : 0x2001
    [0x0008]    : 0x0000
    [0x0009]    : 0x0300
    [0x000A]    : 0x0000
    [0x000B]    : 0x0000
    [0x000C]    : 0x0000
    [0x000D]    : 0x0000
    [0x000E]    : 0x0000
    [0x000F]    : 0x3000
    [0x0010]    : 0x5848
    [0x0011]    : 0x0002
    [0x0012]    : 0x0000
    [0x0013]    : 0x0000
    [0x0014]    : 0x29C7
    [0x0015]    : 0x0000
    [0x0016]    : 0x0000
    [0x0017]    : 0x0040
    [0x0018]    : 0x6150
    [0x0019]    : 0x4444
    [0x001A]    : 0x0002
    [0x001B]    : 0x0000
    [0x001C]    : 0x0000
    [0x001D]    : 0x0000
    [0x001E]    : 0x0002
    [0x001F]    : 0x0000
    [0x0020]    : 0x1140
    [0x0021]    : 0x7949
    [0x0022]    : 0x2000
    [0x0023]    : 0xA231
    [0x0024]    : 0x01E1
    [0x0025]    : 0x0000
    [0x0026]    : 0x0064
    [0x0027]    : 0x2001
    [0x0028]    : 0x0000
    [0x0029]    : 0x0300
    [0x002A]    : 0x0000
    [0x002B]    : 0x0000
    [0x002C]    : 0x0000
    [0x002D]    : 0x0000
    [0x002E]    : 0x0000
    [0x002F]    : 0x3000
    [0x0030]    : 0x5848
    [0x0031]    : 0x0002
    [0x0032]    : 0x0000
    [0x0033]    : 0x0040
    [0x0034]    : 0x29C7
    [0x0035]    : 0x0000
    [0x0036]    : 0x0000
    [0x0037]    : 0x0040
    [0x0038]    : 0x6150
    [0x0039]    : 0x4444
    [0x003A]    : 0x0002
    [0x003B]    : 0x0000
    [0x003C]    : 0x0000
    [0x003D]    : 0x0000
    [0x003E]    : 0x0002
    [0x003F]    : 0x0000
    [0x0040]    : 0x1140
    [0x0041]    : 0x7949
    [0x0042]    : 0x2000
    [0x0043]    : 0xA231
    [0x0044]    : 0x01E1
    [0x0045]    : 0x0000
    [0x0046]    : 0x0064
    [0x0047]    : 0x2001
    [0x0048]    : 0x0000
    [0x0049]    : 0x0300
    [0x004A]    : 0x0000
    [0x004B]    : 0x0000
    [0x004C]    : 0x0000
    [0x004D]    : 0x0000
    [0x004E]    : 0x0000
    [0x004F]    : 0x3000
    [0x0050]    : 0x5848
    [0x0051]    : 0x0302
    [0x0052]    : 0x0000
    [0x0053]    : 0x0040
    [0x0054]    : 0x29C7
    [0x0055]    : 0x0000
    [0x0056]    : 0x0000
    [0x0057]    : 0x0040
    [0x0058]    : 0x6150
    [0x0059]    : 0x4444
    [0x005A]    : 0x0002
    [0x005B]    : 0x0000
    [0x005C]    : 0x0000
    [0x005D]    : 0x0000
    [0x005E]    : 0x0002
    [0x005F]    : 0x0000
    [0x0060]    : 0x1140
    [0x0061]    : 0x7949
    [0x0062]    : 0x2000
    [0x0063]    : 0xA231
    [0x0064]    : 0x01E1
    [0x0065]    : 0x0000
    [0x0066]    : 0x0064
    [0x0067]    : 0x2001
    [0x0068]    : 0x0000
    [0x0069]    : 0x0300
    [0x006A]    : 0x0000
    [0x006B]    : 0x0000
    [0x006C]    : 0x0000
    [0x006D]    : 0x0000
    [0x006E]    : 0x0000
    [0x006F]    : 0x3000
    [0x0070]    : 0x5848
    [0x0071]    : 0x0002
    [0x0072]    : 0x0000
    [0x0073]    : 0x0040
    [0x0074]    : 0x29C7
    [0x0075]    : 0x0000
    [0x0076]    : 0x0000
    [0x0077]    : 0x0040
    [0x0078]    : 0x6150
    [0x0079]    : 0x4444
    [0x007A]    : 0x0002
    [0x007B]    : 0x0000
    [0x007C]    : 0x0000
    [0x007D]    : 0x0000
    [0x007E]    : 0x0002
    [0x007F]    : 0x0000
    [0x0080]    : 0x1140
    [0x0081]    : 0x7949
    [0x0082]    : 0x2000
    [0x0083]    : 0xA231
    [0x0084]    : 0x01E1
    [0x0085]    : 0x0000
    [0x0086]    : 0x0064
    [0x0087]    : 0x2001
    [0x0088]    : 0x0000
    [0x0089]    : 0x0300
    [0x008A]    : 0x0000
    [0x008B]    : 0x0000
    [0x008C]    : 0x0000
    [0x008D]    : 0x0000
    [0x008E]    : 0x0000
    [0x008F]    : 0x3000
    [0x0090]    : 0x5848
    [0x0091]    : 0x0002
    [0x0092]    : 0x0000
    [0x0093]    : 0x0040
    [0x0094]    : 0x29C7
    [0x0095]    : 0x0000
    [0x0096]    : 0x0000
    [0x0097]    : 0x0040
    [0x0098]    : 0x6150
    [0x0099]    : 0x4444
    [0x009A]    : 0x0002
    [0x009B]    : 0x0000
    [0x009C]    : 0x0000
    [0x009D]    : 0x0000
    [0x009E]    : 0x0002
    [0x009F]    : 0x0000
    [0x00A0]    : 0x1140
    [0x00A1]    : 0x7949
    [0x00A2]    : 0x2000
    [0x00A3]    : 0xA231
    [0x00A4]    : 0x01E1
    [0x00A5]    : 0x0000
    [0x00A6]    : 0x0064
    [0x00A7]    : 0x2001
    [0x00A8]    : 0x0000
    [0x00A9]    : 0x0300
    [0x00AA]    : 0x0000
    [0x00AB]    : 0x0000
    [0x00AC]    : 0x0000
    [0x00AD]    : 0x0000
    [0x00AE]    : 0x0000
    [0x00AF]    : 0x3000
    [0x00B0]    : 0x5848
    [0x00B1]    : 0x0302
    [0x00B2]    : 0x0000
    [0x00B3]    : 0x0040
    [0x00B4]    : 0x29C7
    [0x00B5]    : 0x0000
    [0x00B6]    : 0x0000
    [0x00B7]    : 0x0040
    [0x00B8]    : 0x6150
    [0x00B9]    : 0x4444
    [0x00BA]    : 0x0002
    [0x00BB]    : 0x0000
    [0x00BC]    : 0x0000
    [0x00BD]    : 0x0000
    [0x00BE]    : 0x0002
    [0x00BF]    : 0x0000
    [0x00C0]    : 0x1140
    [0x00C1]    : 0x7949
    [0x00C2]    : 0x2000
    [0x00C3]    : 0xA231
    [0x00C4]    : 0x01E1
    [0x00C5]    : 0x0000
    [0x00C6]    : 0x0064
    [0x00C7]    : 0x2001
    [0x00C8]    : 0x0000
    [0x00C9]    : 0x0300
    [0x00CA]    : 0x0000
    [0x00CB]    : 0x0000
    [0x00CC]    : 0x0000
    [0x00CD]    : 0x0000
    [0x00CE]    : 0x0000
    [0x00CF]    : 0x3000
    [0x00D0]    : 0x5848
    [0x00D1]    : 0x0002
    [0x00D2]    : 0x0000
    [0x00D3]    : 0x0040
    [0x00D4]    : 0x29C7
    [0x00D5]    : 0x0000
    [0x00D6]    : 0x0000
    [0x00D7]    : 0x0040
    [0x00D8]    : 0x6150
    [0x00D9]    : 0x4444
    [0x00DA]    : 0x0002
    [0x00DB]    : 0x0000
    [0x00DC]    : 0x0000
    [0x00DD]    : 0x0000
    [0x00DE]    : 0x0002
    [0x00DF]    : 0x0000
    [0x00E0]    : 0x1140
    [0x00E1]    : 0x7949
    [0x00E2]    : 0x2000
    [0x00E3]    : 0xA231
    [0x00E4]    : 0x01E1
    [0x00E5]    : 0x0000
    [0x00E6]    : 0x0064
    [0x00E7]    : 0x2001
    [0x00E8]    : 0x0000
    [0x00E9]    : 0x0300
    [0x00EA]    : 0x0000
    [0x00EB]    : 0x0000
    [0x00EC]    : 0x0000
    [0x00ED]    : 0x0000
    [0x00EE]    : 0x0000
    [0x00EF]    : 0x3000
    [0x00F0]    : 0x5848
    [0x00F1]    : 0x0302
    [0x00F2]    : 0x0000
    [0x00F3]    : 0x0040
    [0x00F4]    : 0x29C7
    [0x00F5]    : 0x0000
    [0x00F6]    : 0x0000
    [0x00F7]    : 0x0040
    [0x00F8]    : 0x6150
    [0x00F9]    : 0x4444
    [0x00FA]    : 0x0002
    [0x00FB]    : 0x0000
    [0x00FC]    : 0x0000
    [0x00FD]    : 0x0000
    [0x00FE]    : 0x0002
    [0x00FF]    : 0x0000
    [0x0100]    : 0x1140
    [0x0101]    : 0x7949
    [0x0102]    : 0x2000
    [0x0103]    : 0xA231
    [0x0104]    : 0x01E1
    [0x0105]    : 0x0000
    [0x0106]    : 0x0064
    [0x0107]    : 0x2001
    [0x0108]    : 0x0000
    [0x0109]    : 0x0300
    [0x010A]    : 0x0000
    [0x010B]    : 0x0000
    [0x010C]    : 0x0000
    [0x010D]    : 0x0000
    [0x010E]    : 0x0000
    [0x010F]    : 0x3000
    [0x0110]    : 0x5848
    [0x0111]    : 0x0302
    [0x0112]    : 0x0000
    [0x0113]    : 0x0040
    [0x0114]    : 0x29C7
    [0x0115]    : 0x0000
    [0x0116]    : 0x0000
    [0x0117]    : 0x0040
    [0x0118]    : 0x6150
    [0x0119]    : 0x4444
    [0x011A]    : 0x0002
    [0x011B]    : 0x0000
    [0x011C]    : 0x0000
    [0x011D]    : 0x0000
    [0x011E]    : 0x0002
    [0x011F]    : 0x0000
    [0x0120]    : 0x1140
    [0x0121]    : 0x7949
    [0x0122]    : 0x2000
    [0x0123]    : 0xA231
    [0x0124]    : 0x01E1
    [0x0125]    : 0x0000
    [0x0126]    : 0x0064
    [0x0127]    : 0x2001
    [0x0128]    : 0x0000
    [0x0129]    : 0x0300
    [0x012A]    : 0x0000
    [0x012B]    : 0x0000
    [0x012C]    : 0x0000
    [0x012D]    : 0x0000
    [0x012E]    : 0x0000
    [0x012F]    : 0x3000
    [0x0130]    : 0x5848
    [0x0131]    : 0x0002
    [0x0132]    : 0x0000
    [0x0133]    : 0x0040
    [0x0134]    : 0x29C7
    [0x0135]    : 0x0000
    [0x0136]    : 0x0000
    [0x0137]    : 0x0040
    [0x0138]    : 0x6150
    [0x0139]    : 0x4444
    [0x013A]    : 0x0002
    [0x013B]    : 0x0000
    [0x013C]    : 0x0000
    [0x013D]    : 0x0000
    [0x013E]    : 0x0002
    [0x013F]    : 0x0000
    [0x0140]    : 0x1140
    [0x0141]    : 0x7949
    [0x0142]    : 0x2000
    [0x0143]    : 0xA231
    [0x0144]    : 0x01E1
    [0x0145]    : 0x0000
    [0x0146]    : 0x0064
    [0x0147]    : 0x2001
    [0x0148]    : 0x0000
    [0x0149]    : 0x0300
    [0x014A]    : 0x0000
    [0x014B]    : 0x0000
    [0x014C]    : 0x0000
    [0x014D]    : 0x0000
    [0x014E]    : 0x0000
    [0x014F]    : 0x3000
    [0x0150]    : 0x5848
    [0x0151]    : 0x0002
    [0x0152]    : 0x0000
    [0x0153]    : 0x0040
    [0x0154]    : 0x29C7
    [0x0155]    : 0x0000
    [0x0156]    : 0x0000
    [0x0157]    : 0x0040
    [0x0158]    : 0x6150
    [0x0159]    : 0x4444
    [0x015A]    : 0x0002
    [0x015B]    : 0x0000
    [0x015C]    : 0x0000
    [0x015D]    : 0x0000
    [0x015E]    : 0x0002
    [0x015F]    : 0x0000
    [0x0160]    : 0x1140
    [0x0161]    : 0x7949
    [0x0162]    : 0x2000
    [0x0163]    : 0xA231
    [0x0164]    : 0x01E1
    [0x0165]    : 0x0000
    [0x0166]    : 0x0064
    [0x0167]    : 0x2001
    [0x0168]    : 0x0000
    [0x0169]    : 0x0300
    [0x016A]    : 0x0000
    [0x016B]    : 0x0000
    [0x016C]    : 0x0000
    [0x016D]    : 0x0000
    [0x016E]    : 0x0000
    [0x016F]    : 0x3000
    [0x0170]    : 0x5848
    [0x0171]    : 0x0302
    [0x0172]    : 0x0000
    [0x0173]    : 0x0040
    [0x0174]    : 0x29C7
    [0x0175]    : 0x0000
    [0x0176]    : 0x0000
    [0x0177]    : 0x0040
    [0x0178]    : 0x6150
    [0x0179]    : 0x4444
    [0x017A]    : 0x0002
    [0x017B]    : 0x0000
    [0x017C]    : 0x0000
    [0x017D]    : 0x0000
    [0x017E]    : 0x0002
    [0x017F]    : 0x0000
    [0x0180]    : 0x1140
    [0x0181]    : 0x7949
    [0x0182]    : 0x2000
    [0x0183]    : 0xA231
    [0x0184]    : 0x01E1
    [0x0185]    : 0x0000
    [0x0186]    : 0x0064
    [0x0187]    : 0x2001
    [0x0188]    : 0x0000
    [0x0189]    : 0x0300
    [0x018A]    : 0x0000
    [0x018B]    : 0x0000
    [0x018C]    : 0x0000
    [0x018D]    : 0x0000
    [0x018E]    : 0x0000
    [0x018F]    : 0x3000
    [0x0190]    : 0x5848
    [0x0191]    : 0x0302
    [0x0192]    : 0x0000
    [0x0193]    : 0x0040
    [0x0194]    : 0x29C7
    [0x0195]    : 0x0000
    [0x0196]    : 0x0000
    [0x0197]    : 0x0040
    [0x0198]    : 0x6150
    [0x0199]    : 0x4444
    [0x019A]    : 0x0002
    [0x019B]    : 0x0000
    [0x019C]    : 0x0000
    [0x019D]    : 0x0000
    [0x019E]    : 0x0002
    [0x019F]    : 0x0000
    [0x01A0]    : 0x1140
    [0x01A1]    : 0x7949
    [0x01A2]    : 0x2000
    [0x01A3]    : 0xA231
    [0x01A4]    : 0x01E1
    [0x01A5]    : 0x0000
    [0x01A6]    : 0x0064
    [0x01A7]    : 0x2001

  • Hi,

    You mentioned a working board "the board mentioned in this post: e2e.ti.com/.../490569 by Mr Altuntas" (RX_CTRL strap to mode 3) and your failure board,

    Do you use the same code for SGMII setup? Is that Int32 Init_SGMII (UInt32 macPortNum)? Do you use the auto-negotiation and c6672 is the slave and PHY is the master? Besides that, where do you setup SGMII PLL and TX and RX? Do you use GEL file?

    Do you have the working board with you if we need to compare some registers?

    Regards, Eric
  • Hi, Eric,

    1. Yes, we use the same code for SGMII setup, which is Init_SGMII(UInt32) called from the same platform.c file. We are using the exactly same app.out file while debugging both boards.
    2. Yes, we do use auto-negotiation, although I'm not sure about the master-slave relationship. The MAC and PHY are supposed to negotiatie on which one is to be the master, aren't they?
    3. The SGMII PLL is set up in the configSerdes() function (in evmc6678l_phy.c), which is called before Init_SGMII().
    4. Yes, we are using a GEL file. It is similar to the GEL file used for the working board; the only difference is the main PLL dividers are modified so that the processor runs at 800 MHz (rather than 1 GHz).
    5. Yes, we have the working board in case you need to compare their registers. I'm attaching its PHY register dump here: 
      [0x0000]    : 0x1140
      [0x0001]    : 0x7949
      [0x0002]    : 0x2000
      [0x0003]    : 0xA231
      [0x0004]    : 0x01E1
      [0x0005]    : 0x0000
      [0x0006]    : 0x0064
      [0x0007]    : 0x2001
      [0x0008]    : 0x0000
      [0x0009]    : 0x0300
      [0x000A]    : 0x0000
      [0x000B]    : 0x0000
      [0x000C]    : 0x0000
      [0x000D]    : 0x0000
      [0x000E]    : 0x0000
      [0x000F]    : 0x3000
      [0x0010]    : 0x5848
      [0x0011]    : 0x0002
      [0x0012]    : 0x0000
      [0x0013]    : 0x0040
      [0x0014]    : 0x29C7
      [0x0015]    : 0x0000
      [0x0016]    : 0x0000
      [0x0017]    : 0x0040
      [0x0018]    : 0x6150
      [0x0019]    : 0x4444
      [0x001A]    : 0x0002
      [0x001B]    : 0x0000
      [0x001C]    : 0x0000
      [0x001D]    : 0x0000
      [0x001E]    : 0x0002
      [0x001F]    : 0x0000
      [0x0020]    : 0x1140
      [0x0021]    : 0x7949
      [0x0022]    : 0x2000
      [0x0023]    : 0xA231
      [0x0024]    : 0x01E1
      [0x0025]    : 0x0000
      [0x0026]    : 0x0064
      [0x0027]    : 0x2001
      [0x0028]    : 0x0000
      [0x0029]    : 0x0300
      [0x002A]    : 0x0000
      [0x002B]    : 0x0000
      [0x002C]    : 0x0000
      [0x002D]    : 0x0000
      [0x002E]    : 0x0000
      [0x002F]    : 0x3000
      [0x0030]    : 0x5848
      [0x0031]    : 0x0002
      [0x0032]    : 0x0000
      [0x0033]    : 0x0040
      [0x0034]    : 0x29C7
      [0x0035]    : 0x0000
      [0x0036]    : 0x0000
      [0x0037]    : 0x0040
      [0x0038]    : 0x6150
      [0x0039]    : 0x4444
      [0x003A]    : 0x0002
      [0x003B]    : 0x0000
      [0x003C]    : 0x0000
      [0x003D]    : 0x0000
      [0x003E]    : 0x0002
      [0x003F]    : 0x0000
      [0x0040]    : 0x1140
      [0x0041]    : 0x7949
      [0x0042]    : 0x2000
      [0x0043]    : 0xA231
      [0x0044]    : 0x01E1
      [0x0045]    : 0xCDE1
      [0x0046]    : 0x006F
      [0x0047]    : 0x2001
      [0x0048]    : 0x424F
      [0x0049]    : 0x0300
      [0x004A]    : 0x4800
      [0x004B]    : 0x0000
      [0x004C]    : 0x0000
      [0x004D]    : 0x0000
      [0x004E]    : 0x0000
      [0x004F]    : 0x3000
      [0x0050]    : 0x5848
      [0x0051]    : 0x1002
      [0x0052]    : 0x0000
      [0x0053]    : 0x1000
      [0x0054]    : 0x29C7
      [0x0055]    : 0x0000
      [0x0056]    : 0x0000
      [0x0057]    : 0x0040
      [0x0058]    : 0x6150
      [0x0059]    : 0x4444
      [0x005A]    : 0x0002
      [0x005B]    : 0x0000
      [0x005C]    : 0x0000
      [0x005D]    : 0x0000
      [0x005E]    : 0x0002
      [0x005F]    : 0x0000
      [0x0060]    : 0x1140
      [0x0061]    : 0x796D
      [0x0062]    : 0x2000
      [0x0063]    : 0xA231
      [0x0064]    : 0x01E1
      [0x0065]    : 0xCDE1
      [0x0066]    : 0x006F
      [0x0067]    : 0x2001
      [0x0068]    : 0x6001
      [0x0069]    : 0x0300
      [0x006A]    : 0x7800
      [0x006B]    : 0x0000
      [0x006C]    : 0x0000
      [0x006D]    : 0x0000
      [0x006E]    : 0x0000
      [0x006F]    : 0x3000
      [0x0070]    : 0x5848
      [0x0071]    : 0xBC02
      [0x0072]    : 0x0000
      [0x0073]    : 0x0C00
      [0x0074]    : 0x29C7
      [0x0075]    : 0x0000
      [0x0076]    : 0x0000
      [0x0077]    : 0x0040
      [0x0078]    : 0x6150
      [0x0079]    : 0x4444
      [0x007A]    : 0x0002
      [0x007B]    : 0x0000
      [0x007C]    : 0x0000
      [0x007D]    : 0x0000
      [0x007E]    : 0x0002
      [0x007F]    : 0x0000
      [0x0080]    : 0x1140
      [0x0081]    : 0x796D
      [0x0082]    : 0x2000
      [0x0083]    : 0xA231
      [0x0084]    : 0x01E1
      [0x0085]    : 0xCDE1
      [0x0086]    : 0x006D
      [0x0087]    : 0x2001
      [0x0088]    : 0x6001
      [0x0089]    : 0x0300
      [0x008A]    : 0x7800
      [0x008B]    : 0x0000
      [0x008C]    : 0x0000
      [0x008D]    : 0x0000
      [0x008E]    : 0x0000
      [0x008F]    : 0x3000
      [0x0090]    : 0x5848
      [0x0091]    : 0xAC02
      [0x0092]    : 0x0000
      [0x0093]    : 0x0000
      [0x0094]    : 0x29C7
      [0x0095]    : 0x0000
      [0x0096]    : 0x0000
      [0x0097]    : 0x0040
      [0x0098]    : 0x6150
      [0x0099]    : 0x4444
      [0x009A]    : 0x0002
      [0x009B]    : 0x0000
      [0x009C]    : 0x0000
      [0x009D]    : 0x0000
      [0x009E]    : 0x0002
      [0x009F]    : 0x0000
      [0x00A0]    : 0x1140
      [0x00A1]    : 0x796D
      [0x00A2]    : 0x2000
      [0x00A3]    : 0xA231
      [0x00A4]    : 0x01E1
      [0x00A5]    : 0xCDE1
      [0x00A6]    : 0x006D
      [0x00A7]    : 0x2001
      [0x00A8]    : 0x6001
      [0x00A9]    : 0x0300
      [0x00AA]    : 0x7800
      [0x00AB]    : 0x0000
      [0x00AC]    : 0x0000
      [0x00AD]    : 0x0000
      [0x00AE]    : 0x0000
      [0x00AF]    : 0x3000
      [0x00B0]    : 0x5848
      [0x00B1]    : 0xAC02
      [0x00B2]    : 0x0000
      [0x00B3]    : 0x0000
      [0x00B4]    : 0x29C7
      [0x00B5]    : 0x0000
      [0x00B6]    : 0x0000
      [0x00B7]    : 0x0040
      [0x00B8]    : 0x6150
      [0x00B9]    : 0x4444
      [0x00BA]    : 0x0002
      [0x00BB]    : 0x0000
      [0x00BC]    : 0x0000
      [0x00BD]    : 0x0000
      [0x00BE]    : 0x0002
      [0x00BF]    : 0x0000
      [0x00C0]    : 0x1140
      [0x00C1]    : 0x796D
      [0x00C2]    : 0x2000
      [0x00C3]    : 0xA231
      [0x00C4]    : 0x01E1
      [0x00C5]    : 0xCDE1
      [0x00C6]    : 0x006D
      [0x00C7]    : 0x2001
      [0x00C8]    : 0x6001
      [0x00C9]    : 0x0300
      [0x00CA]    : 0x7800
      [0x00CB]    : 0x0000
      [0x00CC]    : 0x0000
      [0x00CD]    : 0x0000
      [0x00CE]    : 0x0000
      [0x00CF]    : 0x3000
      [0x00D0]    : 0x5848
      [0x00D1]    : 0xAC02
      [0x00D2]    : 0x0000
      [0x00D3]    : 0x0000
      [0x00D4]    : 0x29C7
      [0x00D5]    : 0x0000
      [0x00D6]    : 0x0000
      [0x00D7]    : 0x0040
      [0x00D8]    : 0x6150
      [0x00D9]    : 0x4444
      [0x00DA]    : 0x0002
      [0x00DB]    : 0x0000
      [0x00DC]    : 0x0000
      [0x00DD]    : 0x0000
      [0x00DE]    : 0x0002
      [0x00DF]    : 0x0000
      [0x00E0]    : 0x1140
      [0x00E1]    : 0x796D
      [0x00E2]    : 0x2000
      [0x00E3]    : 0xA231
      [0x00E4]    : 0x01E1
      [0x00E5]    : 0xCDE1
      [0x00E6]    : 0x006D
      [0x00E7]    : 0x2001
      [0x00E8]    : 0x6001
      [0x00E9]    : 0x0300
      [0x00EA]    : 0x7800
      [0x00EB]    : 0x0000
      [0x00EC]    : 0x0000
      [0x00ED]    : 0x0000
      [0x00EE]    : 0x0000
      [0x00EF]    : 0x3000
      [0x00F0]    : 0x5848
      [0x00F1]    : 0xAC02
      [0x00F2]    : 0x0000
      [0x00F3]    : 0x0000
      [0x00F4]    : 0x29C7
      [0x00F5]    : 0x0000
      [0x00F6]    : 0x0000
      [0x00F7]    : 0x0040
      [0x00F8]    : 0x6150
      [0x00F9]    : 0x4444
      [0x00FA]    : 0x0002
      [0x00FB]    : 0x0000
      [0x00FC]    : 0x0000
      [0x00FD]    : 0x0000
      [0x00FE]    : 0x0002
      [0x00FF]    : 0x0000
      [0x0100]    : 0x1140
      [0x0101]    : 0x796D
      [0x0102]    : 0x2000
      [0x0103]    : 0xA231
      [0x0104]    : 0x01E1
      [0x0105]    : 0xCDE1
      [0x0106]    : 0x006D
      [0x0107]    : 0x2001
      [0x0108]    : 0x6001
      [0x0109]    : 0x0300
      [0x010A]    : 0x7800
      [0x010B]    : 0x0000
      [0x010C]    : 0x0000
      [0x010D]    : 0x0000
      [0x010E]    : 0x0000
      [0x010F]    : 0x3000
      [0x0110]    : 0x5848
      [0x0111]    : 0xAC02
      [0x0112]    : 0x0000
      [0x0113]    : 0x0000
      [0x0114]    : 0x29C7
      [0x0115]    : 0x0000
      [0x0116]    : 0x0000
      [0x0117]    : 0x0040
      [0x0118]    : 0x6150
      [0x0119]    : 0x4444
      [0x011A]    : 0x0002
      [0x011B]    : 0x0000
      [0x011C]    : 0x0000
      [0x011D]    : 0x0000
      [0x011E]    : 0x0002
      [0x011F]    : 0x0000
      [0x0120]    : 0x1140
      [0x0121]    : 0x796D
      [0x0122]    : 0x2000
      [0x0123]    : 0xA231
      [0x0124]    : 0x01E1
      [0x0125]    : 0xCDE1
      [0x0126]    : 0x006D
      [0x0127]    : 0x2001
      [0x0128]    : 0x6001
      [0x0129]    : 0x0300
      [0x012A]    : 0x7800
      [0x012B]    : 0x0000
      [0x012C]    : 0x0000
      [0x012D]    : 0x0000
      [0x012E]    : 0x0000
      [0x012F]    : 0x3000
      [0x0130]    : 0x5848
      [0x0131]    : 0xAC02
      [0x0132]    : 0x0000
      [0x0133]    : 0x0000
      [0x0134]    : 0x29C7
      [0x0135]    : 0x0000
      [0x0136]    : 0x0000
      [0x0137]    : 0x0040
      [0x0138]    : 0x6150
      [0x0139]    : 0x4444
      [0x013A]    : 0x0002
      [0x013B]    : 0x0000
      [0x013C]    : 0x0000
      [0x013D]    : 0x0000
      [0x013E]    : 0x0002
      [0x013F]    : 0x0000
      [0x0140]    : 0x1140
      [0x0141]    : 0x796D
      [0x0142]    : 0x2000
      [0x0143]    : 0xA231
      [0x0144]    : 0x01E1
      [0x0145]    : 0xCDE1
      [0x0146]    : 0x006D
      [0x0147]    : 0x2001
      [0x0148]    : 0x6001
      [0x0149]    : 0x0300
      [0x014A]    : 0x7800
      [0x014B]    : 0x0000
      [0x014C]    : 0x0000
      [0x014D]    : 0x0000
      [0x014E]    : 0x0000
      [0x014F]    : 0x3000
      [0x0150]    : 0x5848
      [0x0151]    : 0xAC02
      [0x0152]    : 0x0000
      [0x0153]    : 0x0000
      [0x0154]    : 0x29C7
      [0x0155]    : 0x0000
      [0x0156]    : 0x0000
      [0x0157]    : 0x0040
      [0x0158]    : 0x6150
      [0x0159]    : 0x4444
      [0x015A]    : 0x0002
      [0x015B]    : 0x0000
      [0x015C]    : 0x0000
      [0x015D]    : 0x0000
      [0x015E]    : 0x0002
      [0x015F]    : 0x0000
      [0x0160]    : 0x1140
      [0x0161]    : 0x796D
      [0x0162]    : 0x2000
      [0x0163]    : 0xA231
      [0x0164]    : 0x01E1
      [0x0165]    : 0xCDE1
      [0x0166]    : 0x006D
      [0x0167]    : 0x2001
      [0x0168]    : 0x6001
      [0x0169]    : 0x0300
      [0x016A]    : 0x7800
      [0x016B]    : 0x0000
      [0x016C]    : 0x0000
      [0x016D]    : 0x0000
      [0x016E]    : 0x0000
      [0x016F]    : 0x3000
      [0x0170]    : 0x5848
      [0x0171]    : 0xAC02
      [0x0172]    : 0x0000
      [0x0173]    : 0x0000
      [0x0174]    : 0x29C7
      [0x0175]    : 0x0000
      [0x0176]    : 0x0000
      [0x0177]    : 0x0040
      [0x0178]    : 0x6150
      [0x0179]    : 0x4444
      [0x017A]    : 0x0002
      [0x017B]    : 0x0000
      [0x017C]    : 0x0000
      [0x017D]    : 0x0000
      [0x017E]    : 0x0002
      [0x017F]    : 0x0000
      [0x0180]    : 0x1140
      [0x0181]    : 0x796D
      [0x0182]    : 0x2000
      [0x0183]    : 0xA231
      [0x0184]    : 0x01E1
      [0x0185]    : 0xCDE1
      [0x0186]    : 0x006D
      [0x0187]    : 0x2001
      [0x0188]    : 0x6001
      [0x0189]    : 0x0300
      [0x018A]    : 0x7800
      [0x018B]    : 0x0000
      [0x018C]    : 0x0000
      [0x018D]    : 0x0000
      [0x018E]    : 0x0000
      [0x018F]    : 0x3000
      [0x0190]    : 0x5848
      [0x0191]    : 0xAC02
      [0x0192]    : 0x0000
      [0x0193]    : 0x0000
      [0x0194]    : 0x29C7
      [0x0195]    : 0x0000
      [0x0196]    : 0x0000
      [0x0197]    : 0x0040
      [0x0198]    : 0x6150
      [0x0199]    : 0x4444
      [0x019A]    : 0x0002
      [0x019B]    : 0x0000
      [0x019C]    : 0x0000
      [0x019D]    : 0x0000
      [0x019E]    : 0x0002
      [0x019F]    : 0x0000
      [0x01A0]    : 0x1140
      [0x01A1]    : 0x796D
      [0x01A2]    : 0x2000
      [0x01A3]    : 0xA231
      [0x01A4]    : 0x01E1
      [0x01A5]    : 0xCDE1
      [0x01A6]    : 0x006D
      [0x01A7]    : 0x2001
       I compared these registers with those of the failing board (which you can find in my previous message); however, I couldn't figure out any reason for its failure.

    Regards,

    Silacko

  • Hi,

    Thanks! Can you compare the working and failure boards, for:

    A. C6678 datasheet Table 3-2 Device State Control Registers
    0x02620158 0x0262015B 4B SMGII_SERDES_STS
    0x02620340 0x02620343 4B SGMII_SERDES_CFGPLL
    0x02620344 0x02620347 4B SGMII_SERDES_CFGRX0
    0x02620348 0x0262034B 4B SGMII_SERDES_CFGTX0
    0x0262034C 0x0262034F 4B SGMII_SERDES_CFGRX1
    0x02620350 0x02620353 4B SGMII_SERDES_CFGTX1

    B. The www.ti.com/.../sprugv9d.pdf
    3.3 Serial Gigabit Media Independent Interface (SGMII) module offset 0x00 to 0x20
    3.4 Management Data Input/Output (MDIO) module offset 0x00 to 0x14

    Regards, Eric
  • Hi, Eric,

    Sorry this took a while.

    Here's the register comparison: BoardRegisterComparison.zip (Both dumps were taken right before attempting to initialize SGMII.)

    Regards,

    Silacko

  • It seems like the advertised ability is not configured properly; however, I can clearly see the CSL_SGMII_setAdvAbility() function setting the register. Hence, I tried repeating the code until I read back the correct register value, and dumping all registers again. See FailingBoard2.log in 1200.BoardRegisterComparison.zip.

    Other than that, the status register still suggests that auto-negotiation is not complete despite the fact that there is no error, either.

  • Hi,

    I looked at your register dump. The SGMII Serdes are alright. The first failure case that auto-negotiation is not enabled. In the second case, you corrected that, the PHY is also alive but for some reason the auto-negotiation is not completed without error. Let me check and reply back to you.

    Regards, Eric
  • Silacko,

    There are good debug hints in the 2 threads that you referenced.

    1. Have you verified that the voltages are all correct to the PHY?
    2. Have you verified the frequency, amplitude and signal shape of the clocks to the PHY and to the SGMII reference clock input?
    3. Can you communicate reliably with the PHY over MDIO?
    4. The PHY, once enabled, should link up across the cable to its link partner, independent of having an SGMII link up with DSP.  Does this occur?  I recommend performing this test with an Ethernet switch as the link partner and not a PC as mentioned in the reference post.  There are additional requirements for connecting to another endpoint rather than a switch.
    5. Can you see indication over MDIO that this link goes up and down as you insert and remove the cable?
    6. Have you verified that the SGMII PLL lock bit is set?
    7. Have you looked at the SGMII signal with a scope to verify that it is operating correctly at 1.25GBaud?

    Once we answers to these questions, we can provide additional guidance.

    Tom

  • Tom,

    3. I think so. I can read from and write to PHY registers through platform_MDIO_read()/_write() functions.

    4. Yes, the PHY seems to link up with the link partner, i.e., the PC, even without SGMII link-up. I can tell this because the LED of the Ethernet jack of the PC is lit, and the MDIO_LINK register bit is set.

    5. Yes, as I insert and remove the cable, I see the MDIO_LINK register bit toggling while the MDIO_ALIVE register bit remaining set.

    6. Yes, the LOCK bit of the SGMII_STATUS register is set.

    As for the others, we have not yet investigated them, but we can if the answers I provided here should be insufficient.

    Regards, 

    Silacko

  • Silacko,

    These answers show that the PHY is alive and linking over the media properly.  It also shows that the PHY has latched the proper MDIO address and it can communicate over MDIO.  Answers to questions 2 and 7 are still useful to rule out possible failure modes.  Additionally, you should compare the signals seen on the SGMII at startup between the working platform and the new platform.

    You should be working to bring up ProcSDK on the older platform which is known functional.  This will allow you to then use it on the new board.  Support for this obsolete version of software is limited.  There have been hundreds of changes to the code, as well as new tools added, since that old software was released and we cannot debug implementation issues with that old code.

    Are you trying to use SGMII as the boot interface?  We need to know whether you are allowing the BOOTROM to initialize the MAC and SGMII interface.

    Tom

  • Silacko,

    Any update?

    Regards, Eric