commit 0916003146ec1082e9d4a97c8a6d0150af384154
parent f54e95f9c5072c66379700dd745b018bb0e4ff99
Author: Broadcom SDK Release <sdk.releases@broadcom.com>
Date: Mon, 27 Jan 2020 11:32:13 -0800
SDK-184825: Fix AN enabling sequence on TH3 to make sure 400G case is taken c...
Devices: 56980_A0,56980_B0
Module: serdes
Symptom:
ECC errors seen when calling bcm_port_autoneg_ability_advert_set API
with 400G AN
Fix AN enabling sequence on TH3 to make sure 400G case is taken care of
properly.
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/sdk-6.5.16/src/soc/portmod/pms/pm8x50.c b/sdk-6.5.16/src/soc/portmod/pms/pm8x50.c
@@ -5979,8 +5979,12 @@ int pm8x50_port_autoneg_set(int unit, int port, pm_info_t pm_info,
PHYMOD_AN_F_FEC_RS272_CLR_SET(&an_control);
}
}
- /*before enable serdes AN bit, need to update mac port mode */
+ /*
+ * Before enabling serdes AN bit, need to disable the port in PCS
+ * and update mac port mode.
+ */
if (an_control.enable) {
+ _SOC_IF_ERR_EXIT(phymod_phy_pcs_enable_set(&phy_access, 0));
/* call port level port mode update */
_SOC_IF_ERR_EXIT(_pm8x50_pm_port_mode_update(unit, port, pm_info, port_index, 1));
}