diff --git a/src/bsp/lk/platform/mt2735/drivers/gpio/mt_gpio.c b/src/bsp/lk/platform/mt2735/drivers/gpio/mt_gpio.c
index 8473ba9..0915b9c 100755
--- a/src/bsp/lk/platform/mt2735/drivers/gpio/mt_gpio.c
+++ b/src/bsp/lk/platform/mt2735/drivers/gpio/mt_gpio.c
@@ -736,12 +736,13 @@
 	mt_set_gpio_ies(GPIO167, GPIO_IES_ENABLE);
 
 	/* For PCM  */
-
+//xf.li2023/03/07 modify for phy gpio start
 	/* GPIO24 */
-	mt_set_gpio_mode(GPIO24, 0);
-	mt_set_gpio_dir(GPIO24, GPIO_DIR_IN);
-	mt_set_gpio_pull_enable(GPIO24, GPIO_PULL_ENABLE);
-	mt_set_gpio_pull_select(GPIO24, GPIO_PULL_UP);
+//	mt_set_gpio_mode(GPIO24, 0);
+//	mt_set_gpio_dir(GPIO24, GPIO_DIR_IN);
+//	mt_set_gpio_pull_enable(GPIO24, GPIO_PULL_ENABLE);
+//	mt_set_gpio_pull_select(GPIO24, GPIO_PULL_UP);
+//xf.li2023/03/07 modify for phy gpio start
 	/* GPIO138~GPIO168 for modem */
 	mt_set_gpio_mode(GPIO138, 1);
 	mt_set_gpio_mode(GPIO139, 1);
@@ -852,11 +853,11 @@
 	mt_set_gpio_mode(GPIO23, 0);
 	mt_set_gpio_dir(GPIO23, GPIO_DIR_OUT);
 	mt_set_gpio_out(GPIO23, GPIO_OUT_ZERO);
-	
-	mt_set_gpio_mode(GPIO24, 0);
-	mt_set_gpio_dir(GPIO24, GPIO_DIR_OUT);
-	mt_set_gpio_out(GPIO24, GPIO_OUT_ZERO);
-	
+//xf.li2023/03/07 modify for phy gpio start	
+//	mt_set_gpio_mode(GPIO24, 0);
+//	mt_set_gpio_dir(GPIO24, GPIO_DIR_OUT);
+//	mt_set_gpio_out(GPIO24, GPIO_OUT_ZERO);
+//xf.li2023/03/07 modify for phy gpio end
 	mt_set_gpio_mode(GPIO25, 0);
 	mt_set_gpio_dir(GPIO25, GPIO_DIR_OUT);
 	mt_set_gpio_out(GPIO25, GPIO_OUT_ZERO);
@@ -925,7 +926,16 @@
 	mt_set_gpio_mode(GPIO25, 0);
 	mt_set_gpio_dir(GPIO25, GPIO_DIR_IN);
     //xf.li2022/11/09 modify for phy gpio end
-
+    //xf.li2023/03/07 modify for phy gpio start
+        /* GPIO24 */
+	mt_set_gpio_mode(GPIO24, 0);
+	mt_set_gpio_dir(GPIO24, GPIO_DIR_OUT);
+	mt_set_gpio_out(GPIO24, GPIO_OUT_ONE);
+        /* GPIO0178 */
+	mt_set_gpio_mode(GPIO178, 0);
+	mt_set_gpio_dir(GPIO178, GPIO_DIR_OUT);
+	mt_set_gpio_out(GPIO178, GPIO_OUT_ONE);
+    //xf.li2022/03/07 modify for phy gpio end
 //dongyu@2022.11.03 Modify the gpio of imu/smi230 start
         mt_set_gpio_mode(GPIO29,0);
         mt_set_gpio_dir(GPIO29,GPIO_DIR_IN);
diff --git a/src/kernel/linux/v4.19/arch/arm64/boot/dts/mediatek/auto2735evb.dts b/src/kernel/linux/v4.19/arch/arm64/boot/dts/mediatek/auto2735evb.dts
index 0bf6e80..a8f3166 100755
--- a/src/kernel/linux/v4.19/arch/arm64/boot/dts/mediatek/auto2735evb.dts
+++ b/src/kernel/linux/v4.19/arch/arm64/boot/dts/mediatek/auto2735evb.dts
@@ -640,12 +640,12 @@
 			output-high;
 		};
 				
-		pins_rts {
+/*		pins_rts {
 			pinmux = <PINMUX_GPIO178__FUNC_URTS2>;
 			output-high;
 			bias-pull-up;
 			input-schmitt-enable;
-		};
+		};*/
 
 		pins_cts {
 			pinmux = <PINMUX_GPIO177__FUNC_UCTS2>;
diff --git a/src/kernel/linux/v4.19/drivers/net/phy/marvell-88q.c b/src/kernel/linux/v4.19/drivers/net/phy/marvell-88q.c
index 0f36430..9010740 100755
--- a/src/kernel/linux/v4.19/drivers/net/phy/marvell-88q.c
+++ b/src/kernel/linux/v4.19/drivers/net/phy/marvell-88q.c
@@ -45,6 +45,8 @@
 #define NAD_WAKEUP_PHY1			275
 /* NAD_RESET_PHY1 : GPIO26 */
 #define NAD_RESET_PHY1			294
+/* PHY_POWER_SUPPLY : GPIO178 */
+#define PHY_POWER_SUPPLY		446
 
 #define Q2220_LPSD_CTRL_1		(MII_ADDR_C45 | 0x038021)
 #define Q2220_LPSD_DISABLE_REMOTE_WAKE_UP	BIT(15) | BIT(11)
@@ -241,6 +243,8 @@
     mdelay(50);
     printk("reg 038020 = %x\n", phy_read(phydev, Q2220_LPSD_STATUS));
     gpio_direction_output(NAD_RESET_PHY1, 0);
+    mdelay(1);
+    gpio_direction_output(PHY_POWER_SUPPLY, 0);
     if_suspend = 1;
     return 0;
     //xf.li 2022/11/9 modify for API-647
@@ -251,6 +255,8 @@
     if(if_suspend == 1)
     {
         printk("phy awake start\n");
+        gpio_direction_output(PHY_POWER_SUPPLY, 1);
+        mdelay(1);
         gpio_direction_output(NAD_WAKEUP_PHY1, 1);
         udelay(1100);
         gpio_direction_output(NAD_WAKEUP_PHY1, 0);
