[bugfix] ethernet of 88Q2220 phy ok

Change-Id: I2b25cdb22ddbd291651aac13c93c028f7c13a10d
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
old mode 100644
new mode 100755
index 297a56b..d37df67
--- a/src/kernel/linux/v4.19/drivers/net/phy/marvell-88q.c
+++ b/src/kernel/linux/v4.19/drivers/net/phy/marvell-88q.c
@@ -6,7 +6,7 @@
 #include <linux/phy.h>
 #include <linux/of.h>
 
-#define PHY_ID_88Q2110			0x002b0980
+#define PHY_ID_88Q2220			0x002b0b21
 
 #define Q2110_PMA_PMD_CTRL		(MII_ADDR_C45 | 0x10000)
 /* 1 = PMA/PMD reset, 0 = Normal */
@@ -29,7 +29,7 @@
 /* 1 = Link Up, 0 = Link Down */
 #define Q2110_T1_LINK_STATUS		BIT(2)
 
-#define Q2110_COM_PORT_CTRL		(MII_ADDR_C45 | 0x1f8001)
+#define Q2110_COM_PORT_CTRL		(MII_ADDR_C45 | 0x4A001)
 /* Add delay on TX_CLK */
 #define Q2110_RGMII_TX_TIMING_CTRL	BIT(15)
 /* Add delay on RX_CLK */
@@ -52,13 +52,14 @@
 		return 0;
 
 	paddr = of_get_property(phydev->mdio.dev.of_node,
-				"marvell,88q2110", &len);
+				"marvell,88q2220", &len);
 	if (!paddr)
 		return 0;
 
 	speed = be32_to_cpup(paddr);
 	master = be32_to_cpup(paddr + 1);
-
+printk("speed = %d\n",speed);
+printk("master = %d\n",master);
 	val = phy_read(phydev, Q2110_T1_PMA_PMD_CTRL);
 	if (val < 0)
 		return val;
@@ -70,8 +71,11 @@
 	val = phy_write(phydev, Q2110_T1_PMA_PMD_CTRL, val);
 	if (val < 0)
 		return val;
-
+        
 	/* Software Reset PHY */
+	//phy_write(phydev, (MII_ADDR_C45 | 0x030900), 0x8000);
+	//phy_write(phydev, (MII_ADDR_C45 | 0x03FFE4), 0x000C);
+	
 	val = phy_read(phydev, Q2110_PMA_PMD_CTRL);
 	if (val < 0)
 		return val;
@@ -85,6 +89,8 @@
 		if (val < 0)
 			return val;
 	} while (val & Q2110_PMA_PMD_RST);
+	
+	printk("q2110 dts init ok!!\n");
 
 	return 0;
 }
@@ -114,7 +120,7 @@
 			return val;
 	}
 
-	/* Software Reset of T-unit */
+
 	val = phy_read(phydev, Q2110_RST_CTRL);
 	if (val < 0)
 		return val;
@@ -123,7 +129,6 @@
 	if (val < 0)
 		return val;
 
-	/* not self-clearing */
 	val = phy_read(phydev, Q2110_RST_CTRL);
 	if (val < 0)
 		return val;
@@ -143,7 +148,8 @@
 		SUPPORTED_1000baseT_Full | SUPPORTED_100baseT_Full;
 	phydev->state = PHY_NOLINK;
 	phydev->autoneg = AUTONEG_DISABLE;
-
+	
+printk("q2110_config_init \n");
 	q2110_dts_init(phydev);
 	q2110_timing_init(phydev);
 
@@ -169,6 +175,7 @@
 	return 0;
 }
 
+
 static int q2110_read_status(struct phy_device *phydev)
 {
 	int val;
@@ -176,19 +183,10 @@
 	phydev->duplex = 1;
 	phydev->pause = 0;
 
-	if (!phy_polling_mode(phydev) || !phydev->link) {
-		val = phy_read(phydev, Q2110_T1_AN_STATUS);
-		if (val < 0)
-			return val;
-		else if (val & Q2110_T1_LINK_STATUS)
-			goto done;
-	}
-
 	val = phy_read(phydev, Q2110_T1_AN_STATUS);
 	if (val < 0)
 		return val;
 
-done:
 	if (val & Q2110_T1_LINK_STATUS)
 		phydev->link = 1;
 	else
@@ -208,14 +206,14 @@
 
 static int q2110_match_phy_device(struct phy_device *phydev)
 {
-	return (phydev->c45_ids.device_ids[1] & 0xfffffff0) == PHY_ID_88Q2110;
+	return (phydev->c45_ids.device_ids[1] & 0xffffffff) == PHY_ID_88Q2220;
 }
 
 static struct phy_driver marvell_88q_driver[] = {
 	{
-		.phy_id		= PHY_ID_88Q2110,
+		.phy_id		= PHY_ID_88Q2220,
 		.phy_id_mask	= 0xfffffff0,
-		.name		= "Marvell 88Q2110",
+		.name		= "Marvell 88Q2220",
 		.config_init	= q2110_config_init,
 		.match_phy_device = q2110_match_phy_device,
 		.set_loopback   = &q2110_loopback,