net: phy: aquantia: add suspend / resume callbacks for AQR107 family
Add suspend / resume callbacks for AQR107 family. Suspend powers down the complete chip except MDIO and internal CPU. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
191aeea418
commit
ac9e81c230
@@ -478,6 +478,18 @@ static void aqr107_link_change_notify(struct phy_device *phydev)
|
|||||||
phydev_info(phydev, "Aquantia 1000Base-T2 mode active\n");
|
phydev_info(phydev, "Aquantia 1000Base-T2 mode active\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int aqr107_suspend(struct phy_device *phydev)
|
||||||
|
{
|
||||||
|
return phy_set_bits_mmd(phydev, MDIO_MMD_VEND1, MDIO_CTRL1,
|
||||||
|
MDIO_CTRL1_LPOWER);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int aqr107_resume(struct phy_device *phydev)
|
||||||
|
{
|
||||||
|
return phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1, MDIO_CTRL1,
|
||||||
|
MDIO_CTRL1_LPOWER);
|
||||||
|
}
|
||||||
|
|
||||||
static struct phy_driver aqr_driver[] = {
|
static struct phy_driver aqr_driver[] = {
|
||||||
{
|
{
|
||||||
PHY_ID_MATCH_MODEL(PHY_ID_AQ1202),
|
PHY_ID_MATCH_MODEL(PHY_ID_AQ1202),
|
||||||
@@ -532,6 +544,8 @@ static struct phy_driver aqr_driver[] = {
|
|||||||
.read_status = aqr107_read_status,
|
.read_status = aqr107_read_status,
|
||||||
.get_tunable = aqr107_get_tunable,
|
.get_tunable = aqr107_get_tunable,
|
||||||
.set_tunable = aqr107_set_tunable,
|
.set_tunable = aqr107_set_tunable,
|
||||||
|
.suspend = aqr107_suspend,
|
||||||
|
.resume = aqr107_resume,
|
||||||
.link_change_notify = aqr107_link_change_notify,
|
.link_change_notify = aqr107_link_change_notify,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -547,6 +561,8 @@ static struct phy_driver aqr_driver[] = {
|
|||||||
.read_status = aqr107_read_status,
|
.read_status = aqr107_read_status,
|
||||||
.get_tunable = aqr107_get_tunable,
|
.get_tunable = aqr107_get_tunable,
|
||||||
.set_tunable = aqr107_set_tunable,
|
.set_tunable = aqr107_set_tunable,
|
||||||
|
.suspend = aqr107_suspend,
|
||||||
|
.resume = aqr107_resume,
|
||||||
.link_change_notify = aqr107_link_change_notify,
|
.link_change_notify = aqr107_link_change_notify,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user