Implement Silicom card features #1
1 changed files with 21 additions and 2 deletions
|
@ -2145,7 +2145,7 @@ static fm_status LoadTlv(fm_byte *tlv)
|
|||
if (!(hwCfg.pcaIo[idx].loadFlags & LF_IO_MODEL))
|
||||
{
|
||||
CfgOrderErrorMsg(tlv, idx,
|
||||
"must be before PCA IO %d model config");
|
||||
"must be after PCA IO %d model config");
|
||||
return FM_ERR_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
|
@ -2163,7 +2163,7 @@ static fm_status LoadTlv(fm_byte *tlv)
|
|||
if (!(hwCfg.pcaIo[idx].loadFlags & LF_IO_MODEL))
|
||||
{
|
||||
CfgOrderErrorMsg(tlv, idx,
|
||||
"must be before PCA IO %d model config");
|
||||
"must be after PCA IO %d model config");
|
||||
return FM_ERR_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
|
@ -2221,8 +2221,10 @@ static fm_status LoadTlv(fm_byte *tlv)
|
|||
FM_LOG_EXIT(FM_LOG_CAT_PLATFORM, FM_ERR_NO_MEM);
|
||||
}
|
||||
for (idx = 0; idx < hwCfg.numResId; idx++) {
|
||||
hwCfg.hwResId[idx].xcvrI2cBusSel.ioIdx = UINT_NOT_USED;
|
||||
hwCfg.hwResId[idx].xcvrI2cBusSel.parentMuxIdx =
|
||||
UINT_NOT_USED;
|
||||
hwCfg.hwResId[idx].xcvrStateIo.ioIdx = UINT_NOT_USED;
|
||||
hwCfg.hwResId[idx].xcvrStateIo.basePin = UINT_NOT_USED;
|
||||
hwCfg.hwResId[idx].phy.parentMuxIdx = UINT_NOT_USED;
|
||||
hwCfg.hwResId[idx].vrm.parentMuxIdx = UINT_NOT_USED;
|
||||
|
@ -2304,21 +2306,37 @@ static fm_status LoadTlv(fm_byte *tlv)
|
|||
xcvrIo->u.qsfpPin.modPresN = xcvrIo->basePin +
|
||||
hwCfg.defQsfpPat.modPresN;
|
||||
}
|
||||
else
|
||||
{
|
||||
xcvrIo->u.qsfpPin.modPresN = UINT_NOT_USED;
|
||||
}
|
||||
if (hwCfg.defQsfpPat.intrN != UINT_NOT_USED)
|
||||
{
|
||||
xcvrIo->u.qsfpPin.intrN = xcvrIo->basePin +
|
||||
hwCfg.defQsfpPat.intrN;
|
||||
}
|
||||
else
|
||||
{
|
||||
xcvrIo->u.qsfpPin.intrN = UINT_NOT_USED;
|
||||
}
|
||||
if (hwCfg.defQsfpPat.lpMode != UINT_NOT_USED)
|
||||
{
|
||||
xcvrIo->u.qsfpPin.lpMode = xcvrIo->basePin +
|
||||
hwCfg.defQsfpPat.lpMode;
|
||||
}
|
||||
else
|
||||
{
|
||||
xcvrIo->u.qsfpPin.lpMode = UINT_NOT_USED;
|
||||
}
|
||||
if (hwCfg.defQsfpPat.resetN != UINT_NOT_USED)
|
||||
{
|
||||
xcvrIo->u.qsfpPin.resetN = xcvrIo->basePin +
|
||||
hwCfg.defQsfpPat.resetN;
|
||||
}
|
||||
else
|
||||
{
|
||||
xcvrIo->u.qsfpPin.resetN = UINT_NOT_USED;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FM_TLV_PLAT_LIB_XCVR_MODABS_PIN:
|
||||
|
@ -2825,6 +2843,7 @@ static fm_status LoadConfig(void)
|
|||
|
||||
/* Release lib config to free memory */
|
||||
fmPlatformReleaseLibTlvCfg(swIdx);
|
||||
fflush(stdout);
|
||||
|
||||
return FM_OK;
|
||||
|
||||
|
|
Loading…
Reference in a new issue