From 757588ef41194cc7328892186573978cfdc34691 Mon Sep 17 00:00:00 2001 From: David Wu Date: Tue, 30 May 2023 10:28:58 +0800 Subject: [PATCH] ethernet: stmmac: dwmac-rk: Fix Dribble bit error at 10M mode At the 10M mode, gmac can detect odd nibbles package sometimes, this is valid at mii mode. Make 25M at init for rmii mode, can solve the issue by tests. Signed-off-by: David Wu Change-Id: I22dc619fbc9983d4b58efc42c5c92d0f8c8aaab5 --- drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c index fc4398406338..f4f756125e15 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c @@ -1446,7 +1446,8 @@ static void rk3528_set_to_rmii(struct rk_priv_data *bsp_priv) RK3528_GMAC1_PHY_INTF_SEL_RMII); else regmap_write(bsp_priv->grf, RK3528_VO_GRF_GMAC_CON, - RK3528_GMAC0_PHY_INTF_SEL_RMII); + RK3528_GMAC0_PHY_INTF_SEL_RMII | + RK3528_GMAC0_CLK_RMII_DIV2); } static void rk3528_set_rgmii_speed(struct rk_priv_data *bsp_priv, int speed) @@ -2022,7 +2023,8 @@ static void rv1106_set_to_rmii(struct rk_priv_data *bsp_priv) } regmap_write(bsp_priv->grf, RV1106_VOGRF_GMAC_CLK_CON, - RV1106_VOGRF_MACPHY_RMII_MODE); + RV1106_VOGRF_MACPHY_RMII_MODE | + RV1106_VOGRF_GMAC_CLK_RMII_DIV2); } static void rv1106_set_rmii_speed(struct rk_priv_data *bsp_priv, int speed)