Merge "[Feature][T108][task-view-1443] update version to T108v05.04b01_GSW.000" into GSW_V1453
diff --git a/marvell/linux/drivers/net/ethernet/asr/emac_eth.c b/marvell/linux/drivers/net/ethernet/asr/emac_eth.c
index ec57709..fb69678 100755
--- a/marvell/linux/drivers/net/ethernet/asr/emac_eth.c
+++ b/marvell/linux/drivers/net/ethernet/asr/emac_eth.c
@@ -3304,14 +3304,14 @@
memcpy(ndev->dev_addr, sa->sa_data, ETH_ALEN);
-//#LYNQ_MODFIY modify for task-1620 2025/6/10 start
+//#LYNQ_MODFIY modify for task-1620 2025/7/7 start
(ndev->dev_addr)[0] = 0x2;
(ndev->dev_addr)[1] = 0x0;
(ndev->dev_addr)[2] = 0x0;
(ndev->dev_addr)[3] = 0x0;
- (ndev->dev_addr)[4] = 0x10;
+ (ndev->dev_addr)[4] = 0x11;
(ndev->dev_addr)[5] = 0x1;
-//#LYNQ_MODFIY modify for task-1620 2025/6/10 end
+//#LYNQ_MODFIY modify for task-1620 2025/7/7 end
emac_set_mac_addr(priv, ndev->dev_addr);
diff --git a/marvell/linux/drivers/net/phy/realtek.c b/marvell/linux/drivers/net/phy/realtek.c
index d1de801..339bb78 100755
--- a/marvell/linux/drivers/net/phy/realtek.c
+++ b/marvell/linux/drivers/net/phy/realtek.c
@@ -989,7 +989,51 @@
return 0;
}
+//#LYNQ_MODFIY modify for task-1618 2025/7/7 start
+static void RTL9000Bx_xMII_driving_strength(struct phy_device *phydev)
+{
+ // Typical_xMII_1V8
+ phy_write(phydev, 0x1B, 0xD414);
+ phy_write(phydev, 0x1C, 0x0201);
+
+ phy_write(phydev, 0x1B, 0xD416);
+ phy_write(phydev, 0x1C, 0x0101);
+
+ phy_write(phydev, 0x1B, 0xD418);
+ phy_write(phydev, 0x1C, 0x0200);
+
+ phy_write(phydev, 0x1B, 0xD41A);
+ phy_write(phydev, 0x1C, 0x0100);
+
+ phy_write(phydev, 0x1B, 0xD42E);
+ phy_write(phydev, 0x1C, 0xC8C8);
+
+}
+
+static s16 RTL9000Bx_Soft_Reset(struct phy_device *phydev)
+{
+ u16 reg_data = 0;
+ u32 timer = 2000; // set a 2ms timer
+
+ phy_write(phydev, 0, 0x8000); // PHY soft-reset
+
+ do
+ { // Check soft-reset complete
+
+ reg_data = phy_read(phydev, 0);
+ if (reg_data == 0xFFFF)
+ return -1;
+ timer--;
+ if (timer == 0)
+ {
+ return -1;
+ }
+ } while (reg_data != 0x2100);
+
+ return 0;
+}
+//#LYNQ_MODFIY modify for task-1618 2025/7/7 end
//#LYNQ_MODFIY modify for task-1618 2025/6/19 satrt
static int rtl9000Bf_power_set(int gpio, int power_en)
{
@@ -1102,6 +1146,8 @@
ret = -1;
goto err;
}
+ //#LYNQ_MODFIY modify for task-1618 2025/7/7 start
+ RTL9000Bx_xMII_driving_strength(phydev);
/* I/O Power Sllection */
//change page to default value
@@ -1112,6 +1158,12 @@
phy_write(phydev, 0x12, mdio_data);
printk(KERN_INFO "phy_info: set rgmii driving strengths is 1.8v \n");
+ ret = RTL9000Bx_Soft_Reset(phydev);
+ if(0 != ret) {
+ goto err;
+ }
+ printk(KERN_INFO "phy_info: phy soft-reset over \n");
+ //#LYNQ_MODFIY modify for task-1618 2025/7/7 end
phydev->autoneg = AUTONEG_DISABLE;
phydev->duplex = DUPLEX_FULL;