1 In-Reply-To: <trinity-fb0cdf15-dfcf-4d60-9144-87d8fbfad5ba-1586179542451@3c-app-gmx-bap62>
2 References: <trinity-fb0cdf15-dfcf-4d60-9144-87d8fbfad5ba-1586179542451@3c-app-gmx-bap62>
3 Subject: [PATCH] net: ethernet: mtk_eth_soc: Always call mtk_gmac0_rgmii_adjust() for mt7623
5 Content-Type: text/plain; charset=UTF-8
6 Content-Transfer-Encoding: 8bit
8 From: René van Dorst <opensource@vdorst.com>
10 Modify mtk_gmac0_rgmii_adjust() so it can always be called.
11 mtk_gmac0_rgmii_adjust() sets-up the TRGMII clocks.
13 Signed-off-by: René van Dorst <opensource@vdorst.com>
14 Signed-off-By: David Woodhouse <dwmw2@infradead.org>
16 drivers/net/ethernet/mediatek/mtk_eth_soc.c | 19 ++++++++++++++-----
17 1 file changed, 14 insertions(+), 5 deletions(-)
19 diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
20 index b5408c5b954a..f89f225ab144 100644
21 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
22 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
23 @@ -171,11 +171,21 @@ static int mt7621_gmac0_rgmii_adjust(struct mtk_eth *eth,
27 -static void mtk_gmac0_rgmii_adjust(struct mtk_eth *eth, int speed)
28 +static void mtk_gmac0_rgmii_adjust(struct mtk_eth *eth,
29 + phy_interface_t interface, int speed)
34 + if (interface == PHY_INTERFACE_MODE_TRGMII) {
35 + mtk_w32(eth, TRGMII_MODE, INTF_MODE);
37 + ret = clk_set_rate(eth->clks[MTK_CLK_TRGPLL], val);
39 + dev_err(eth->dev, "Failed to set trgmii pll: %d\n", ret);
43 val = (speed == SPEED_1000) ?
44 INTF_MODE_RGMII_1000 : INTF_MODE_RGMII_10_100;
45 mtk_w32(eth, val, INTF_MODE);
46 @@ -262,10 +272,9 @@ static void mtk_mac_config(struct phylink_config *config, unsigned int mode,
50 - if (state->interface !=
51 - PHY_INTERFACE_MODE_TRGMII)
52 - mtk_gmac0_rgmii_adjust(mac->hw,
54 + mtk_gmac0_rgmii_adjust(mac->hw,
58 /* mt7623_pad_clk_setup */
59 for (i = 0 ; i < NUM_TRGMII_CTRL; i++)