Skip to content

Commit 807a02a

Browse files
SuperDavidWurkhuangtao
authored andcommitted
ethernet: stmmac: dwmac-rk: Add speed setting for gmac controller of px30
Need to setup the speed setting for 10/100, otherwise the gmac can't work. Change-Id: I92a410b7b453e145fecc817841eecc54afca4051 Signed-off-by: David Wu <david.wu@rock-chips.com>
1 parent 72a3380 commit 807a02a

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ struct rk_priv_data {
8989
/* PX30_GRF_GMAC_CON1 */
9090
#define PX30_GMAC_PHY_INTF_SEL_RMII (GRF_CLR_BIT(4) | GRF_CLR_BIT(5) | \
9191
GRF_BIT(6))
92+
#define PX30_GMAC_SPEED_10M GRF_CLR_BIT(2)
93+
#define PX30_GMAC_SPEED_100M GRF_BIT(2)
9294

9395
static void px30_set_to_rmii(struct rk_priv_data *bsp_priv)
9496
{
@@ -114,11 +116,17 @@ static void px30_set_rmii_speed(struct rk_priv_data *bsp_priv, int speed)
114116
}
115117

116118
if (speed == 10) {
119+
regmap_write(bsp_priv->grf, PX30_GRF_GMAC_CON1,
120+
PX30_GMAC_SPEED_10M);
121+
117122
ret = clk_set_rate(bsp_priv->clk_mac_speed, 2500000);
118123
if (ret)
119124
dev_err(dev, "%s: set clk_mac_speed rate 2500000 failed: %d\n",
120125
__func__, ret);
121126
} else if (speed == 100) {
127+
regmap_write(bsp_priv->grf, PX30_GRF_GMAC_CON1,
128+
PX30_GMAC_SPEED_100M);
129+
122130
ret = clk_set_rate(bsp_priv->clk_mac_speed, 25000000);
123131
if (ret)
124132
dev_err(dev, "%s: set clk_mac_speed rate 25000000 failed: %d\n",

0 commit comments

Comments
 (0)