[][kernel][mt7981/mt7988][eth][phy: mediatek-ge: Change default fine-tuning settings]
[Description]
Change default fine-tuning settings:
1.Fix conflict settings.
2.Remove TX shaper to avoid TM4 distortion IOT issue.
[Release-log]
N/A
Change-Id: I7ef48e9dd40cb228ee52eecd8756dca62e73423d
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7341713
diff --git a/target/linux/mediatek/files-5.4/drivers/net/phy/mediatek-ge.c b/target/linux/mediatek/files-5.4/drivers/net/phy/mediatek-ge.c
index 2140945..91ff624 100644
--- a/target/linux/mediatek/files-5.4/drivers/net/phy/mediatek-ge.c
+++ b/target/linux/mediatek/files-5.4/drivers/net/phy/mediatek-ge.c
@@ -837,6 +837,11 @@
__phy_write(phydev, 0x12, 0x0);
__phy_write(phydev, 0x10, 0x83aa);
+ /* TrFreeze = 0 */
+ __phy_write(phydev, 0x11, 0x0);
+ __phy_write(phydev, 0x12, 0x0);
+ __phy_write(phydev, 0x10, 0x9686);
+
/* SSTrKp1000Slv = 5 */
__phy_write(phydev, 0x11, 0xbaef);
__phy_write(phydev, 0x12, 0x2e);
@@ -881,15 +886,6 @@
phy_modify_mmd(phydev, MDIO_MMD_VEND1, MTK_PHY_RG_DEV1E_REG27D,
MTK_PHY_VGASTATE_FFE_THR_ST2_MASK, 0x1e);
- /* TX shape */
- /* 10/100/1000 TX shaper is enabled by default */
- for (i = 0x202; i < 0x230; i += 2) {
- if (i == 0x20c || i == 0x218 || i == 0x224)
- continue;
- phy_write_mmd(phydev, MDIO_MMD_VEND2, i, 0x2219);
- phy_write_mmd(phydev, MDIO_MMD_VEND2, i + 1, 0x23);
- }
-
/* Disable LDO pump */
phy_write_mmd(phydev, MDIO_MMD_VEND1, MTK_PHY_LDO_PUMP_EN_PAIRAB, 0x0);
phy_write_mmd(phydev, MDIO_MMD_VEND1, MTK_PHY_LDO_PUMP_EN_PAIRCD, 0x0);
@@ -926,11 +922,6 @@
__phy_write(phydev, 0x12, 0xc);
__phy_write(phydev, 0x10, 0x8fae);
- /* TrFreeze = 0 */
- __phy_write(phydev, 0x11, 0x0);
- __phy_write(phydev, 0x12, 0x0);
- __phy_write(phydev, 0x10, 0x9686);
-
/* ResetSyncOffset = 6 */
__phy_write(phydev, 0x11, 0x600);
__phy_write(phydev, 0x12, 0x0);
@@ -1088,8 +1079,7 @@
__phy_write(phydev, 0x10, 0x96ca);
/* DfeTailEnableVgaThresh1000 = 27 */
- /* InhibitDisableDfeTail1000 = 1 */
- __phy_write(phydev, 0x11, 0x37);
+ __phy_write(phydev, 0x11, 0x36);
__phy_write(phydev, 0x12, 0x0);
__phy_write(phydev, 0x10, 0x8f80);
phy_restore_page(phydev, MTK_PHY_PAGE_STANDARD, 0);