diff options
Diffstat (limited to 'drivers/net/phy/broadcom.c')
| -rw-r--r-- | drivers/net/phy/broadcom.c | 9 | 
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c index fa0be591ae79..82fe5f43f0e9 100644 --- a/drivers/net/phy/broadcom.c +++ b/drivers/net/phy/broadcom.c @@ -342,6 +342,10 @@ static int bcm54xx_config_init(struct phy_device *phydev)  	bcm54xx_adjust_rxrefclk(phydev);  	switch (BRCM_PHY_MODEL(phydev)) { +	case PHY_ID_BCM50610: +	case PHY_ID_BCM50610M: +		err = bcm54xx_config_clock_delay(phydev); +		break;  	case PHY_ID_BCM54210E:  		err = bcm54210e_config_init(phydev);  		break; @@ -399,6 +403,11 @@ static int bcm54xx_resume(struct phy_device *phydev)  	if (ret < 0)  		return ret; +	/* Upon exiting power down, the PHY remains in an internal reset state +	 * for 40us +	 */ +	fsleep(40); +  	return bcm54xx_config_init(phydev);  }  |