Re: [PATCH] net: phy: micrel: workaround for errata #2 for KSZ9031

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

On 5/14/2018 11:22 AM, Marco Felsch wrote:

From: Markus Niebel <Markus.Niebel@xxxxxx>

handle errata #2 for KSZ9031: force 1000Base-T master

Attention: enabling the workaround will cause no link to
other GIGE master.

Signed-off-by: Markus Niebel <Markus.Niebel@xxxxxx>
[m.felsch@xxxxxxxxxxxxxx: move dt binding to the KSZ9031 entry]
Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
[...]
@@ -573,6 +575,22 @@ static int ksz9031_config_init(struct phy_device *phydev)
  		ksz9031_of_load_skew_values(phydev, of_node,
  				MII_KSZ9031RN_TX_DATA_PAD_SKEW, 4,
  				tx_data_skews, 4);
+
+		/* force master mode -> errata #2
+		 * attention: Master <-> Master will not work
+		 */
+		if (of_property_read_bool(of_node, "force-master")) {
+			rc = phy_read(phydev, MII_CTRL1000);
+			if (rc >= 0) {
+				val = (u16)rc;
+				/* enable master mode, config &
+				 * prefer master
+				 */
+				val |= (CTL1000_ENABLE_MASTER |
+					CTL1000_AS_MASTER);

  Parens not needed.

+				phy_write(phydev, MII_CTRL1000, val);
+			}
+		}
  	}
return ksz9031_center_flp_timing(phydev);


MBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux