net: bcmgenet: fix GPHY power-up sequence
We were missing a number of extra steps and delays to power-up the GPHY, update the sequence to reflect the proper procedure here. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8212c98358
commit
0c81a8ee61
|
@ -179,14 +179,18 @@ static void bcmgenet_phy_power_set(struct net_device *dev, bool enable)
|
||||||
|
|
||||||
if (enable) {
|
if (enable) {
|
||||||
reg = bcmgenet_ext_readl(priv, EXT_GPHY_CTRL);
|
reg = bcmgenet_ext_readl(priv, EXT_GPHY_CTRL);
|
||||||
reg &= ~(EXT_CFG_IDDQ_BIAS | EXT_CFG_PWR_DOWN | EXT_CK25_DIS);
|
reg &= ~EXT_CK25_DIS;
|
||||||
|
bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
|
||||||
|
mdelay(1);
|
||||||
|
|
||||||
|
reg &= ~(EXT_CFG_IDDQ_BIAS | EXT_CFG_PWR_DOWN);
|
||||||
reg |= EXT_GPHY_RESET;
|
reg |= EXT_GPHY_RESET;
|
||||||
bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
|
bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
|
||||||
mdelay(2);
|
mdelay(1);
|
||||||
|
|
||||||
reg &= ~EXT_GPHY_RESET;
|
reg &= ~EXT_GPHY_RESET;
|
||||||
bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
|
bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
|
||||||
udelay(20);
|
udelay(60);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue