Commit 19016d93 authored by René van Dorst's avatar René van Dorst Committed by David S. Miller
Browse files

net: ethernet: mtk_eth_soc: Always call mtk_gmac0_rgmii_adjust() for mt7623



Modify mtk_gmac0_rgmii_adjust() so it can always be called.
mtk_gmac0_rgmii_adjust() sets-up the TRGMII clocks.

Signed-off-by: default avatarRené van Dorst <opensource@vdorst.com>
Signed-off-By: default avatarDavid Woodhouse <dwmw2@infradead.org>
Tested-by: default avatarFrank Wunderlich <frank-w@public-files.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b5cd55b3
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -171,11 +171,21 @@ static int mt7621_gmac0_rgmii_adjust(struct mtk_eth *eth,
	return 0;
}

static void mtk_gmac0_rgmii_adjust(struct mtk_eth *eth, int speed)
static void mtk_gmac0_rgmii_adjust(struct mtk_eth *eth,
				   phy_interface_t interface, int speed)
{
	u32 val;
	int ret;

	if (interface == PHY_INTERFACE_MODE_TRGMII) {
		mtk_w32(eth, TRGMII_MODE, INTF_MODE);
		val = 500000000;
		ret = clk_set_rate(eth->clks[MTK_CLK_TRGPLL], val);
		if (ret)
			dev_err(eth->dev, "Failed to set trgmii pll: %d\n", ret);
		return;
	}

	val = (speed == SPEED_1000) ?
		INTF_MODE_RGMII_1000 : INTF_MODE_RGMII_10_100;
	mtk_w32(eth, val, INTF_MODE);
@@ -262,9 +272,8 @@ static void mtk_mac_config(struct phylink_config *config, unsigned int mode,
							      state->interface))
					goto err_phy;
			} else {
				if (state->interface !=
				    PHY_INTERFACE_MODE_TRGMII)
				mtk_gmac0_rgmii_adjust(mac->hw,
						       state->interface,
						       state->speed);

				/* mt7623_pad_clk_setup */