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.

How configure the SGMII in force mode (No AutoNegotiation) in c6678?

Hi,

We are developed a c6678 card in which I need to configure the SGMII of the DSP in force mode  (No AutoNegotiation) to be connected to a Phy implemented on FPGA (SPARTAN-6) that is configured in force mode (1000_MBPS).

I did the following  modifications in the Init_SGMII() function (file -> cpsw_mgmt.c  Project ->  PA_emac_Example)

void Init_SGMII (UInt32 macPortNum)
{
    CSL_SGMII_ADVABILITY    sgmiiCfg;
    CSL_SGMII_STATUS        sgmiiStatus;

    /* Reset the port before configuring it */
    CSL_SGMII_doSoftReset (macPortNum);
    while (CSL_SGMII_getSoftResetStatus (macPortNum) != 0);

    CSL_SGMII_disableMasterMode (macPortNum);

    sgmiiCfg.linkSpeed      =   CSL_SGMII_1000_MBPS;
    sgmiiCfg.duplexMode     =   CSL_SGMII_FULL_DUPLEX;
    CSL_SGMII_setAdvAbility (macPortNum, &sgmiiCfg);

    CSL_SGMII_disableAutoNegotiation (macPortNum);

    CSL_SGMII_endRxTxSoftReset (macPortNum);

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

    CycleDelay(2000000);
}

I'm working with macPortNum = 0

I tried to do CSL_SGMII_enableMasterMode (macPortNum); instead CSL_SGMII_disableMasterMode (macPortNum);\

But the link is not going Up. The programm stalls in the while (sgmiiStatus.bIsLinkUp != 1) line.

Some idea why is not working? , something wrong in my code?

Regards,

Enrique.