Skip to content

Commit 19016d9

Browse files
vDorstdavem330
authored andcommitted
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: René van Dorst <[email protected]> Signed-off-By: David Woodhouse <[email protected]> Tested-by: Frank Wunderlich <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent b5cd55b commit 19016d9

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

drivers/net/ethernet/mediatek/mtk_eth_soc.c

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,11 +171,21 @@ static int mt7621_gmac0_rgmii_adjust(struct mtk_eth *eth,
171171
return 0;
172172
}
173173

174-
static void mtk_gmac0_rgmii_adjust(struct mtk_eth *eth, int speed)
174+
static void mtk_gmac0_rgmii_adjust(struct mtk_eth *eth,
175+
phy_interface_t interface, int speed)
175176
{
176177
u32 val;
177178
int ret;
178179

180+
if (interface == PHY_INTERFACE_MODE_TRGMII) {
181+
mtk_w32(eth, TRGMII_MODE, INTF_MODE);
182+
val = 500000000;
183+
ret = clk_set_rate(eth->clks[MTK_CLK_TRGPLL], val);
184+
if (ret)
185+
dev_err(eth->dev, "Failed to set trgmii pll: %d\n", ret);
186+
return;
187+
}
188+
179189
val = (speed == SPEED_1000) ?
180190
INTF_MODE_RGMII_1000 : INTF_MODE_RGMII_10_100;
181191
mtk_w32(eth, val, INTF_MODE);
@@ -262,10 +272,9 @@ static void mtk_mac_config(struct phylink_config *config, unsigned int mode,
262272
state->interface))
263273
goto err_phy;
264274
} else {
265-
if (state->interface !=
266-
PHY_INTERFACE_MODE_TRGMII)
267-
mtk_gmac0_rgmii_adjust(mac->hw,
268-
state->speed);
275+
mtk_gmac0_rgmii_adjust(mac->hw,
276+
state->interface,
277+
state->speed);
269278

270279
/* mt7623_pad_clk_setup */
271280
for (i = 0 ; i < NUM_TRGMII_CTRL; i++)

0 commit comments

Comments
 (0)