Author: blogic
Date: 2014-11-14 17:52:42 +0100 (Fri, 14 Nov 2014)
New Revision: 43245

Modified:
   trunk/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620a.c
Log:
ralink: improve mt7530 support

the SDK does a bit of extra init that we did not do yet when using an external 
mt7530.

Signed-off-by: John Crispin <[email protected]>

Modified: 
trunk/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620a.c
===================================================================
--- trunk/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620a.c   
2014-11-14 16:52:36 UTC (rev 43244)
+++ trunk/target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620a.c   
2014-11-14 16:52:42 UTC (rev 43245)
@@ -478,8 +478,22 @@
        gsw_w32(gsw, gsw_r32(gsw, GSW_REG_CKGCR) & ~(0x3 << 4), GSW_REG_CKGCR);
 
        if (of_property_read_bool(np, "mediatek,mt7530")) {
-               gsw_w32(gsw, gsw_r32(gsw, GSW_REG_GPC1) | (0x1f << 24), 
GSW_REG_GPC1);
-               pr_info("gsw: truning EPHY off\n");
+               u32 val;
+
+               /* turn off ephy and set phy base addr to 12 */
+               gsw_w32(gsw, gsw_r32(gsw, GSW_REG_GPC1) | (0x1f << 24) | (0xc 
<< 16), GSW_REG_GPC1);
+
+               /* set MT7530 central align */
+               val = mt7530_mdio_r32(gsw, 0x7830);
+               val &= ~1;
+               val |= 1<<1;
+               mt7530_mdio_w32(gsw, 0x7830, val);
+
+               val = mt7530_mdio_r32(gsw, 0x7a40);
+               val &= ~(1<<30);
+               mt7530_mdio_w32(gsw, 0x7a40, val);
+
+               mt7530_mdio_w32(gsw, 0x7a78, 0x855);
        } else {
                /* EPHY1 fixup - only run if the ephy is enabled */
 
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to