[PATCH 09/10] net: mediatek: don't enable GDMA cpu bridge unconditionally for NETSYSv3

Weijie Gao weijie.gao at mediatek.com
Tue Dec 17 09:39:59 CET 2024


Enable GDMA cpu bridge only when 10Gb interface is enabled for GMAC other
than GMAC0, or when MT7988 internal switch is used.

Signed-off-by: Weijie Gao <weijie.gao at mediatek.com>
---
 drivers/net/mtk_eth.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/net/mtk_eth.c b/drivers/net/mtk_eth.c
index d3f29e4a0d0..888e8c1e855 100644
--- a/drivers/net/mtk_eth.c
+++ b/drivers/net/mtk_eth.c
@@ -1762,10 +1762,16 @@ static int mtk_eth_start(struct udevice *dev)
 		if (priv->sw == SW_MT7988 && priv->gmac_id == 0) {
 			mtk_gdma_write(priv, priv->gmac_id, GDMA_IG_CTRL_REG,
 				       GDMA_BRIDGE_TO_CPU);
-		}
 
-		mtk_gdma_write(priv, priv->gmac_id, GDMA_EG_CTRL_REG,
-			       GDMA_CPU_BRIDGE_EN);
+			mtk_gdma_write(priv, priv->gmac_id, GDMA_EG_CTRL_REG,
+				       GDMA_CPU_BRIDGE_EN);
+		} else if ((priv->phy_interface == PHY_INTERFACE_MODE_USXGMII ||
+			    priv->phy_interface == PHY_INTERFACE_MODE_10GBASER ||
+			    priv->phy_interface == PHY_INTERFACE_MODE_XGMII) &&
+			   priv->gmac_id != 0) {
+			mtk_gdma_write(priv, priv->gmac_id, GDMA_EG_CTRL_REG,
+				       GDMA_CPU_BRIDGE_EN);
+		}
 	}
 
 	udelay(500);
-- 
2.34.1



More information about the U-Boot mailing list