aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2017-11-21 20:37:46 -0500
committerDavid S. Miller <davem@davemloft.net>2017-11-23 12:49:05 -0500
commit4b52d010113e11006a389f2a8315167ede9e0b10 (patch)
tree1ae9fcb6af3253d3724c163f3b67c848009bff83
parente4be7baba81a816bdf778804508b43fa92c6446d (diff)
net: dsa: bcm_sf2: Clear IDDQ_GLOBAL_PWR bit for PHY
The PHY on BCM7278 has an additional bit that needs to be cleared: IDDQ_GLOBAL_PWR, without doing this, the PHY remains stuck in reset out of suspend/resume cycles. Fixes: 0fe9933804eb ("net: dsa: bcm_sf2: Add support for BCM7278 integrated switch") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/dsa/bcm_sf2.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/dsa/bcm_sf2.c b/drivers/net/dsa/bcm_sf2.c
index 93faa1fed6f2..ea01f24f15e7 100644
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -95,7 +95,7 @@ static void bcm_sf2_gphy_enable_set(struct dsa_switch *ds, bool enable)
95 reg = reg_readl(priv, REG_SPHY_CNTRL); 95 reg = reg_readl(priv, REG_SPHY_CNTRL);
96 if (enable) { 96 if (enable) {
97 reg |= PHY_RESET; 97 reg |= PHY_RESET;
98 reg &= ~(EXT_PWR_DOWN | IDDQ_BIAS | CK25_DIS); 98 reg &= ~(EXT_PWR_DOWN | IDDQ_BIAS | IDDQ_GLOBAL_PWR | CK25_DIS);
99 reg_writel(priv, reg, REG_SPHY_CNTRL); 99 reg_writel(priv, reg, REG_SPHY_CNTRL);
100 udelay(21); 100 udelay(21);
101 reg = reg_readl(priv, REG_SPHY_CNTRL); 101 reg = reg_readl(priv, REG_SPHY_CNTRL);