add patch to fix 10mbps ethernet for rk3308 (rockpi s) in edge kernel

This commit is contained in:
chillymattster
2025-09-03 18:50:17 +02:00
committed by Rolf Leggewie
parent 0b439e14a0
commit 9bbd4b14ac

View File

@@ -0,0 +1,39 @@
From 545ae14ee0159a449e6e0f2f1f54b8c5cc6023ef Mon Sep 17 00:00:00 2001
From: chillymattster <106633144+chillymattster@users.noreply.github.com>
Date: Wed, 3 Sep 2025 18:29:16 +0200
Subject: [PATCH] rk3308: Fix 10Mbit Ethernet
---
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
index 700858f..5a19f70 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
@@ -500,8 +500,8 @@ static const struct rk_gmac_ops rk3288_ops = {
/* RK3308_GRF_MAC_CON0 */
#define RK3308_GMAC_PHY_INTF_SEL_RMII (GRF_CLR_BIT(2) | GRF_CLR_BIT(3) | \
GRF_BIT(4))
-#define RK3308_GMAC_FLOW_CTRL GRF_BIT(3)
-#define RK3308_GMAC_FLOW_CTRL_CLR GRF_CLR_BIT(3)
+#define RK3308_GMAC_FLOW_CTRL GRF_BIT(1)
+#define RK3308_GMAC_FLOW_CTRL_CLR GRF_CLR_BIT(1)
#define RK3308_GMAC_SPEED_10M GRF_CLR_BIT(0)
#define RK3308_GMAC_SPEED_100M GRF_BIT(0)
@@ -524,6 +524,11 @@ static void rk3308_set_rmii_speed(struct rk_priv_data *bsp_priv, int speed)
} else {
dev_err(dev, "unknown speed value for RMII! speed=%d", speed);
}
+ int ret = clk_set_rate(bsp_priv->clks[RK_CLK_MAC_SPEED].clk, 250000*speed);
+ if (ret) {
+ dev_err(dev, "%s: clk_set_rate for %dMbps returned: %d\n",
+ __func__, speed, ret);
+ }
}
static const struct rk_gmac_ops rk3308_ops = {
--
2.39.5