Refreshed all patches. Compile-tested on: cns3xxx, imx6, x86_64 Runtime-tested on: cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/drivers/net/phy/at803x.c
 | 
						|
+++ b/drivers/net/phy/at803x.c
 | 
						|
@@ -354,6 +354,14 @@ static int at803x_config_init(struct phy
 | 
						|
 				AT803X_DEBUG_TX_CLK_DLY_EN, 0);
 | 
						|
 	}
 | 
						|
 
 | 
						|
+#ifdef CONFIG_OF_MDIO
 | 
						|
+	if (phydev->mdio.dev.of_node &&
 | 
						|
+		of_property_read_bool(phydev->mdio.dev.of_node,
 | 
						|
+				      "at803x-disable-smarteee")) {
 | 
						|
+		at803x_disable_smarteee(phydev);
 | 
						|
+	}
 | 
						|
+#endif
 | 
						|
+
 | 
						|
 	return 0;
 | 
						|
 }
 | 
						|
 
 | 
						|
@@ -392,6 +400,7 @@ static void at803x_link_change_notify(st
 | 
						|
 {
 | 
						|
 	struct at803x_priv *priv = phydev->priv;
 | 
						|
 	struct at803x_platform_data *pdata;
 | 
						|
+	u8 fixup_rgmii_tx_delay = 0;
 | 
						|
 	pdata = dev_get_platdata(&phydev->mdio.dev);
 | 
						|
 
 | 
						|
 	/*
 | 
						|
@@ -421,8 +430,19 @@ static void at803x_link_change_notify(st
 | 
						|
 	} else {
 | 
						|
 		priv->phy_reset = false;
 | 
						|
 	}
 | 
						|
-	if (pdata && pdata->fixup_rgmii_tx_delay &&
 | 
						|
-	    phydev->speed != priv->prev_speed) {
 | 
						|
+
 | 
						|
+	if (pdata && pdata->fixup_rgmii_tx_delay)
 | 
						|
+		fixup_rgmii_tx_delay = 1;
 | 
						|
+
 | 
						|
+#ifdef CONFIG_OF_MDIO
 | 
						|
+	if (phydev->mdio.dev.of_node &&
 | 
						|
+		of_property_read_bool(phydev->mdio.dev.of_node,
 | 
						|
+				      "at803x-fixup-rgmii-tx-delay")) {
 | 
						|
+			fixup_rgmii_tx_delay = 1;
 | 
						|
+	}
 | 
						|
+#endif
 | 
						|
+
 | 
						|
+	if (fixup_rgmii_tx_delay && phydev->speed != priv->prev_speed) {
 | 
						|
 		switch (phydev->speed) {
 | 
						|
 		case SPEED_10:
 | 
						|
 		case SPEED_100:
 |