summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2024-03-25 21:58:49 +0000
committerDaniel Golle <daniel@makrotopia.org>2024-03-25 22:00:37 +0000
commit79e9ce354efc03859fea288d4131b8fa0cca1b3a (patch)
tree9de576978b3f7cb1953ec131430a463cd6615131 /target
parent71ccb35017ada8211c62b1d02819ad9a7a0fa14a (diff)
downloadopenwrt-79e9ce354efc03859fea288d4131b8fa0cca1b3a.tar.gz
openwrt-79e9ce354efc03859fea288d4131b8fa0cca1b3a.tar.bz2
openwrt-79e9ce354efc03859fea288d4131b8fa0cca1b3a.zip
generic: phy-mediatek-xfi-tphy: fix SGMII issue
Fix issue of transmitting abnormal data which leads to link problems in 1G and 2.5G SerDes modes (SGMII, 1000Base-X, 2500Base-X) on the MediaTek MT7988 SoC. Link: https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/b72d6cba92bf9e29fb035c03052fa1e86664a25b Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'target')
-rw-r--r--target/linux/generic/pending-6.1/739-02-phy-add-driver-for-MediaTek-XFI-T-PHY.patch3
-rw-r--r--target/linux/generic/pending-6.6/739-02-phy-add-driver-for-MediaTek-XFI-T-PHY.patch3
2 files changed, 4 insertions, 2 deletions
diff --git a/target/linux/generic/pending-6.1/739-02-phy-add-driver-for-MediaTek-XFI-T-PHY.patch b/target/linux/generic/pending-6.1/739-02-phy-add-driver-for-MediaTek-XFI-T-PHY.patch
index d7424020a7..1aa36fcd3d 100644
--- a/target/linux/generic/pending-6.1/739-02-phy-add-driver-for-MediaTek-XFI-T-PHY.patch
+++ b/target/linux/generic/pending-6.1/739-02-phy-add-driver-for-MediaTek-XFI-T-PHY.patch
@@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
phy-mtk-hdmi-drv-y += phy-mtk-hdmi-mt2701.o
--- /dev/null
+++ b/drivers/phy/mediatek/phy-mtk-xfi-tphy.c
-@@ -0,0 +1,392 @@
+@@ -0,0 +1,393 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/* MediaTek 10GE SerDes PHY driver
+ *
@@ -272,6 +272,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
+ XTP_PCS_PWD_ASYNC(2));
+
+ usleep_range(1, 5);
++ writel(XTP_LN_FRC_TX_DATA_EN, xfi_tphy->base + REG_DIG_LN_TRX_40);
+
+ /* Setup TX DA default value */
+ mtk_xfi_tphy_rmw(xfi_tphy, 0x30b0, 0x30, 0x20);
diff --git a/target/linux/generic/pending-6.6/739-02-phy-add-driver-for-MediaTek-XFI-T-PHY.patch b/target/linux/generic/pending-6.6/739-02-phy-add-driver-for-MediaTek-XFI-T-PHY.patch
index d7424020a7..1aa36fcd3d 100644
--- a/target/linux/generic/pending-6.6/739-02-phy-add-driver-for-MediaTek-XFI-T-PHY.patch
+++ b/target/linux/generic/pending-6.6/739-02-phy-add-driver-for-MediaTek-XFI-T-PHY.patch
@@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
phy-mtk-hdmi-drv-y += phy-mtk-hdmi-mt2701.o
--- /dev/null
+++ b/drivers/phy/mediatek/phy-mtk-xfi-tphy.c
-@@ -0,0 +1,392 @@
+@@ -0,0 +1,393 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/* MediaTek 10GE SerDes PHY driver
+ *
@@ -272,6 +272,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
+ XTP_PCS_PWD_ASYNC(2));
+
+ usleep_range(1, 5);
++ writel(XTP_LN_FRC_TX_DATA_EN, xfi_tphy->base + REG_DIG_LN_TRX_40);
+
+ /* Setup TX DA default value */
+ mtk_xfi_tphy_rmw(xfi_tphy, 0x30b0, 0x30, 0x20);