I use the program modified from D:\ti\pdk_C6657_1_1_2_6\packages\ti\drv\exampleProjects\SRIO_LoopbackDioIsrexampleproject.The rate is 3.125G,4x.
/* Configure SRIO to operate in Normal mode. */
CSL_SRIO_SetNormalMode (hSrio,0);
CSL_SRIO_SetNormalMode (hSrio,1);
CSL_SRIO_SetNormalMode (hSrio,2);
CSL_SRIO_SetNormalMode (hSrio,3);
/* Assuming the link rate is 2500; program the PLL accordingly. */
CSL_BootCfgSetSRIOSERDESConfigPLL (0x251);//0x233
/* Configure the SRIO SERDES Receive Configuration. */
CSL_BootCfgSetSRIOSERDESRxConfig (0, 0x00440495);
CSL_BootCfgSetSRIOSERDESRxConfig (1, 0x00440495);
CSL_BootCfgSetSRIOSERDESRxConfig (2, 0x00440495);
CSL_BootCfgSetSRIOSERDESRxConfig (3, 0x00440495);
/* Configure the SRIO SERDES Transmit Configuration. */
CSL_BootCfgSetSRIOSERDESTxConfig (0, 0x00180795);
CSL_BootCfgSetSRIOSERDESTxConfig (1, 0x00080795);
CSL_BootCfgSetSRIOSERDESTxConfig (2, 0x00080795);
CSL_BootCfgSetSRIOSERDESTxConfig (3, 0x00080795);
/* Configure the path mode for the ports. */
// for(i = 0; i < 4; i++)
CSL_SRIO_SetPLMPortPathControlMode (hSrio, 0, 4);
while (CSL_SRIO_IsPortOk (hSrio, 0) != TRUE); //4x just need to see port 0
It runs to while (CSL_SRIO_IsPortOk (hSrio, 0) != TRUE); //4x just need to see port 0, and it can't run out this. Is that no matter fpga program is right or not, it will complete initiation if I confige registers right?