I've seen a few posts on this topic but the poster always seems to vanish before a resolution is posted. I have a custom c6678 board and can't seem to get an SGMII link. We are using SGMII'0' rather than SGMII'1' and our clock is 250MHz but the phy is the same as the EVM board. I'm trying to integrate the c6678 client example project into mine. The failure happens in Init_SGMII(0);
at
do
{
CSL_SGMII_getStatus(macPortNum, &sgmiiStatus);
} while (sgmiiStatus.bIsLinkUp != 1);
I've modified the platform library to use CSL_BootCfgSetSGMIIConfigPLL (0x00000051); in configSerdes(); to reflect our clock speed of 250 MHz instead of the 312.5MHz on C6678 demo board(and I do not have a demo board to test against mine);
and use Init_SGMII(0); rather than '(1)'.
Is there another modification I have to make based on the clock difference? Is the code I'm using appropriate(platform lib for c6678 and EVM_init() ->platform_init() as seen in the c6678 client example? The platform_init() call uses only the phy and time stamp clocks as used in the example. Time stamp clock seems to run fine and configSerdes() seems to work after my change to the PLL config value. What might be useful to focus on? Status bits? Verify some parameters? Any ideas?