-
Bug
-
Resolution: Fixed
-
High
-
PDK
-
PDK-11158
-
PROCESSOR_SDK_08.01.00
-
PROCESSOR_SDK_08.04.00
-
j721e-evm
For Sierra SerDes Instance 1 on J721e, the Lane Control is not implemented correctly.
Please refer to the following lines.
if(serdesInstance != CSL_TORRENT_SERDES0) { if(phyInstanceNum == 0) { if(serdeslaneNum == 0) { /* Enet Switch Q/SGMII Lane 1 */ CSL_FINSR(*(volatile uint32_t *)(uintptr_t)(mainCtrlMMRbaseAddr + CSL_MAIN_CTRL_MMR_CFG0_SERDES0_LN0_CTRL),1,0,0x0); } else if(serdeslaneNum == 1) { /* Enet Switch Q/SGMII Lane 2 */ CSL_FINSR(*(volatile uint32_t *)(uintptr_t)(mainCtrlMMRbaseAddr + CSL_MAIN_CTRL_MMR_CFG0_SERDES0_LN1_CTRL),1,0,0x0); } else if(serdeslaneNum == 2) { /* Enet Switch Q/SGMII Lane 3 */ CSL_FINSR(*(volatile uint32_t *)(uintptr_t)(mainCtrlMMRbaseAddr + CSL_MAIN_CTRL_MMR_CFG0_SERDES1_LN0_CTRL),1,0,0x0); } else if(serdeslaneNum == 3) { /* Enet Switch Q/SGMII Lane 4 */ CSL_FINSR(*(volatile uint32_t *)(uintptr_t)(mainCtrlMMRbaseAddr + CSL_MAIN_CTRL_MMR_CFG0_SERDES1_LN1_CTRL),1,0,0x0); } }
Instead of checking if serdeslaneNum == 2 or 3 under instance 0, it should check if it is instance 1 and then check if it is for lane 0 and lane 1.
Sierra only has 2 lanes per instance.