mediatek: fix support for gmac1 using external PHY
[openwrt/staging/florian.git] / target / linux / mediatek / patches-4.9 / 0095-ephy.patch
1 Index: linux-4.9.20/drivers/net/dsa/mt7530.c
2 ===================================================================
3 --- linux-4.9.20.orig/drivers/net/dsa/mt7530.c
4 +++ linux-4.9.20/drivers/net/dsa/mt7530.c
5 @@ -629,6 +629,11 @@ mt7530_setup(struct dsa_switch *ds)
6 val = mt7530_read(priv, MT7530_MHWTRAP);
7 val &= ~MHWTRAP_P6_DIS & ~MHWTRAP_PHY_ACCESS;
8 val |= MHWTRAP_MANUAL;
9 + if (!dsa_is_cpu_port(ds, 5)) {
10 + val |= MHWTRAP_P5_DIS;
11 + val |= MHWTRAP_P5_MAC_SEL;
12 + val |= MHWTRAP_P5_RGMII_MODE;
13 + }
14 mt7530_write(priv, MT7530_MHWTRAP, val);
15
16 /* Enable and reset MIB counters */
17 Index: linux-4.9.20/drivers/net/ethernet/mediatek/mtk_eth_soc.c
18 ===================================================================
19 --- linux-4.9.20.orig/drivers/net/ethernet/mediatek/mtk_eth_soc.c
20 +++ linux-4.9.20/drivers/net/ethernet/mediatek/mtk_eth_soc.c
21 @@ -221,6 +221,9 @@ static void mtk_phy_link_adjust(struct n
22 netif_carrier_on(dev);
23 else
24 netif_carrier_off(dev);
25 +
26 + if (!of_phy_is_fixed_link(mac->of_node))
27 + phy_print_status(dev->phydev);
28 }
29
30 static int mtk_phy_connect_node(struct mtk_eth *eth, struct mtk_mac *mac,