Enable ALDPS function to save power when link down.

Signed-off-by: Jisheng Zhang <jisheng.zh...@synaptics.com>
---
 drivers/net/phy/realtek.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
index 95dbe5e8e1d8..961570186822 100644
--- a/drivers/net/phy/realtek.c
+++ b/drivers/net/phy/realtek.c
@@ -39,6 +39,10 @@
 #define RTL8201F_ISR                           0x1e
 #define RTL8201F_IER                           0x13
 
+#define RTL8211F_ALDPS_PLL_OFF                 BIT(1)
+#define RTL8211F_ALDPS_ENABLE                  BIT(2)
+#define RTL8211F_ALDPS_XTAL_OFF                        BIT(12)
+
 #define RTL8366RB_POWER_SAVE                   0x15
 #define RTL8366RB_POWER_SAVE_ON                        BIT(12)
 
@@ -178,8 +182,12 @@ static int rtl8211f_config_init(struct phy_device *phydev)
 {
        struct device *dev = &phydev->mdio.dev;
        u16 val_txdly, val_rxdly;
+       u16 val;
        int ret;
 
+       val = RTL8211F_ALDPS_ENABLE | RTL8211F_ALDPS_PLL_OFF | 
RTL8211F_ALDPS_XTAL_OFF;
+       phy_modify_paged_changed(phydev, 0xa43, 0x18, val, val);
+
        switch (phydev->interface) {
        case PHY_INTERFACE_MODE_RGMII:
                val_txdly = 0;
-- 
2.28.0

Reply via email to