diff --git a/sys-kernel/decade-sources/files/board-rockpis-0004-ethernet-stmmac-dwmac-rk-Add-MAC-driver-support-for-.patch b/sys-kernel/decade-sources/files/board-rockpis-0004-ethernet-stmmac-dwmac-rk-Add-MAC-driver-support-for-.patch deleted file mode 100644 index 8653970..0000000 --- a/sys-kernel/decade-sources/files/board-rockpis-0004-ethernet-stmmac-dwmac-rk-Add-MAC-driver-support-for-.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 3aab567792a7fa949e8aca7a92a31f15d435efbe Mon Sep 17 00:00:00 2001 -From: ashthespy -Date: Thu, 16 Jan 2020 21:11:56 +0100 -Subject: [PATCH 04/23] ethernet: stmmac: dwmac-rk: Add MAC driver support for - rk3308 - -Probably in the wrong place, as it's only 10/100 but :meh: - -diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c -index dc50ba13a746..cfeca75ed284 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c -+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c -@@ -482,6 +482,64 @@ static const struct rk_gmac_ops rk3288_ops = { - .set_rmii_speed = rk3288_set_rmii_speed, - }; - -+#define RK3308_GRF_MAC_CON0 0x04a0 -+ -+/* Rk3308_GRF_MAC_CON1 */ -+#define RK3308_MAC_PHY_INTF_SEL_RMII (GRF_CLR_BIT(2) | GRF_CLR_BIT(3) | \ -+ GRF_BIT(4)) -+#define RK3308_MAC_SPEED_10M GRF_CLR_BIT(0) -+#define Rk3308_MAC_SPEED_100M GRF_BIT(0) -+ -+static void rk3308_set_to_rmii(struct rk_priv_data *bsp_priv) -+{ -+ struct device *dev = &bsp_priv->pdev->dev; -+ -+ if (IS_ERR(bsp_priv->grf)) { -+ dev_err(dev, "%s: Missing rockchip,grf property\n", __func__); -+ return; -+ } -+ -+ regmap_write(bsp_priv->grf, RK3308_GRF_MAC_CON0, -+ RK3308_MAC_PHY_INTF_SEL_RMII); -+} -+ -+static void rk3308_set_rmii_speed(struct rk_priv_data *bsp_priv, int speed) -+{ -+ struct device *dev = &bsp_priv->pdev->dev; -+ int ret; -+ -+ if (IS_ERR(bsp_priv->clk_mac_speed)) { -+ dev_err(dev, "%s: Missing clk_mac_speed clock\n", __func__); -+ return; -+ } -+ -+ if (speed == 10) { -+ regmap_write(bsp_priv->grf, RK3308_GRF_MAC_CON0, -+ RK3308_MAC_SPEED_10M); -+ -+ ret = clk_set_rate(bsp_priv->clk_mac_speed, 2500000); -+ if (ret) -+ dev_err(dev, "%s: set clk_mac_speed rate 2500000 failed: %d\n", -+ __func__, ret); -+ } else if (speed == 100) { -+ regmap_write(bsp_priv->grf, RK3308_GRF_MAC_CON0, -+ Rk3308_MAC_SPEED_100M); -+ -+ ret = clk_set_rate(bsp_priv->clk_mac_speed, 25000000); -+ if (ret) -+ dev_err(dev, "%s: set clk_mac_speed rate 25000000 failed: %d\n", -+ __func__, ret); -+ -+ } else { -+ dev_err(dev, "unknown speed value for RMII! speed=%d", speed); -+ } -+} -+ -+static const struct rk_gmac_ops rk3308_ops = { -+ .set_to_rmii = rk3308_set_to_rmii, -+ .set_rmii_speed = rk3308_set_rmii_speed, -+}; -+ - #define RK3328_GRF_MAC_CON0 0x0900 - #define RK3328_GRF_MAC_CON1 0x0904 - #define RK3328_GRF_MAC_CON2 0x0908 -@@ -1477,6 +1535,7 @@ static const struct of_device_id rk_gmac_dwmac_match[] = { - { .compatible = "rockchip,rk3128-gmac", .data = &rk3128_ops }, - { .compatible = "rockchip,rk3228-gmac", .data = &rk3228_ops }, - { .compatible = "rockchip,rk3288-gmac", .data = &rk3288_ops }, -+ { .compatible = "rockchip,rk3308-gmac", .data = &rk3308_ops }, - { .compatible = "rockchip,rk3328-gmac", .data = &rk3328_ops }, - { .compatible = "rockchip,rk3366-gmac", .data = &rk3366_ops }, - { .compatible = "rockchip,rk3368-gmac", .data = &rk3368_ops }, --- -2.25.1 -