[Feature][T108] [task-view-1618] config phy startup timing and gpio in sleep mode
Only Configure: No
Affected branch: GSW_V1453
Affected module: phy
Self-test: yes
Doc Update: no
Change-Id: Ib327bfa0c2fb3dceb66f55292c78477e3c63166d
diff --git a/marvell/linux/drivers/net/phy/realtek.c b/marvell/linux/drivers/net/phy/realtek.c
index 096b2c1..602da0b 100755
--- a/marvell/linux/drivers/net/phy/realtek.c
+++ b/marvell/linux/drivers/net/phy/realtek.c
@@ -1001,10 +1001,12 @@
static void rtl9000Bf_reset(int gpio)
{
+ //#LYNQ_MODFIY modify for task-1618 2025/6/24 start
gpio_direction_output(gpio, 0);
- mdelay(30);
+ mdelay(10);
gpio_set_value(gpio, 1);
- mdelay(20);
+ mdelay(10);
+ //#LYNQ_MODFIY modify for task-1618 2025/6/24 end
}
static int rtl9000Bf_config_init(struct phy_device *phydev)
@@ -1155,17 +1157,20 @@
//#LYNQ_MODFIY modify for task-1618 2025/6/10 end
-//#LYNQ_MODFIY modify for task-1618 2025/6/19 start
+//#LYNQ_MODFIY modify for task-1618 2025/6/24 start
static int rtl9000Bf_suspend(struct phy_device *phydev)
{
+ int ret;
+ ret = gpio_direction_output(s_rtl9000bf_mdio_dev->rst_gpio, 0);
+ if(ret != 0){
+ printk(KERN_ERR "phy_error:reset phy error\n");
+ return ret;
+ }
+ mdelay(10);
return gpio_direction_output(s_rtl9000bf_mdio_dev->power_gpio, 0);
+
}
-static int rtl9000Bf_resume(struct phy_device *phydev)
-{
- rtl9000Bf_power_set(s_rtl9000bf_mdio_dev->power_gpio, 1);
- return rtl9000Bf_config_init(phydev);
-}
-//#LYNQ_MODFIY modify for task-1618 2025/6/19 end
+//#LYNQ_MODFIY modify for task-1618 2025/6/24 end
static struct phy_driver realtek_drvs[] = {
@@ -1316,7 +1321,6 @@
.read_status = rtl9000Bf_read_status,
//#LYNQ_MODFIY modify for task-1618 2025/6/19 start
.suspend = rtl9000Bf_suspend,
- .resume = rtl9000Bf_resume,
//#LYNQ_MODFIY modify for task-1618 2025/6/19 end
.soft_reset = rtl9000Bf_soft_reset,
},