void mvEthInit(void) { MV_U32 port; /* Power down all existing ports */ for(port=0; port<mvCtrlEthMaxPortGet(); port++) { mvEthWinInit(port); } mvEthHalInit(); }
void mvEthInit(void) { MV_U32 port; /* Power down all existing ports */ for(port=0; port<mvCtrlEthMaxPortGet(); port++) { if (MV_FALSE == mvCtrlPwrClckGet(ETH_GIG_UNIT_ID, port)) continue; mvEthWinInit(port); } mvEthHalInit(); }
/******************************************************************************* * mvSysEthInit - Initialize the Eth subsystem * * DESCRIPTION: * * INPUT: * None * OUTPUT: * None * RETURN: * None * *******************************************************************************/ MV_VOID mvSysEthInit(MV_VOID) { MV_ETH_HAL_DATA halData; MV_U32 port; MV_UNIT_WIN_INFO addrWinMap[MAX_TARGETS + 1]; MV_STATUS status; int i; status = mvCtrlAddrWinMapBuild(addrWinMap, MAX_TARGETS + 1); if (status != MV_OK) return; for (i = 0; i < MAX_TARGETS; i++) { if (addrWinMap[i].enable == MV_FALSE) continue; } halData.maxPortNum = mvCtrlEthMaxPortGet(); halData.cpuPclk = mvCpuPclkGet(); halData.tclk = mvBoardTclkGet(); #ifdef ETH_DESCR_IN_SRAM halData.sramSize = mvCtrlSramSizeGet(); #endif for (port = 0; port < halData.maxPortNum; port++) { if (MV_FALSE == mvBoardIsGbEPortConnected(port)) continue; if (mvCtrlPwrClckGet(ETH_GIG_UNIT_ID, port) == MV_FALSE) { halData.portData[port].powerOn = MV_FALSE; continue; } status = mvEthWinInit(port, addrWinMap); if (status == MV_OK) { halData.portData[port].powerOn = MV_TRUE; halData.portData[port].phyAddr = mvBoardPhyAddrGet(port); halData.portData[port].isSgmii = mvBoardIsPortInSgmii(port); halData.portData[port].macSpeed = mvBoardMacSpeedGet(port); } } mvEthHalInit(&halData); return; }