[PATCH] mpc836x: fix failed phy detection for ucc ethernet on MDS

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE5258d

3 messages, 3 authors, 2012-03-16 · open the first message on its own page

[PATCH] mpc836x: fix failed phy detection for ucc ethernet on MDS

From: Paul Gortmaker <hidden>
Date: 2012-02-27 12:25:22

The mpc836x_mds platform has been broken since the commit
6fe3264945ee63292cdfb27b6e95bc52c603bb09

  "netdev/phy: Use mdiobus_read() so that proper locks are taken"

which caused the fsl_pq_mdio TBI autoprobe to oops.  The oops
was "fixed" in commit 28d8ea2d568534026ccda3e8936f5ea1e04a86a1

  "fsl_pq_mdio: Clean up tbi address configuration"

by simply removing the the autoscan code, and making tbi nodes
mandatory.  Some of the newer reference platforms were updated
to have tbi nodes in 220669495bf8b68130a8218607147c7b74c28d2b

  "powerpc: Add TBI PHY node to first MDIO bus"

but the older mpc836x didn't get one and hence was just failing
with -EBUSY as follows:

 fsl-pq_mdio: probe of e0102120.mdio failed with error -16
   ...
 net eth0: Could not attach to PHY
 eth0: Cannot initialize PHY, aborting.

Add a TBI node and use the 1st free address for it.

Signed-off-by: Paul Gortmaker <redacted>
---

[Andy: There may be other boards that could be having this problem
  git grep -l enet.*ucc arch/powerpc/boot/dts/|xargs grep -L tbi
 shows four possible candidates -- but I've only got the 8360MDS. ]
  
diff --git a/arch/powerpc/boot/dts/mpc836x_mds.dts b/arch/powerpc/boot/dts/mpc836x_mds.dts
index 45cfa1c5..1de33ce 100644
--- a/arch/powerpc/boot/dts/mpc836x_mds.dts
+++ b/arch/powerpc/boot/dts/mpc836x_mds.dts
@@ -405,6 +405,10 @@
 				reg = <0x1>;
 				device_type = "ethernet-phy";
 			};
+			tbi-phy@2 {
+				device_type = "tbi-phy";
+				reg = <0x2>;
+			};
 		};
 
 		qeic: interrupt-controller@80 {
-- 
1.7.9.1

Re: [PATCH] mpc836x: fix failed phy detection for ucc ethernet on MDS

From: Andy Fleming <hidden>
Date: 2012-03-01 22:06:51

On Feb 27, 2012, at 6:25 AM, Paul Gortmaker wrote:
The mpc836x_mds platform has been broken since the commit
6fe3264945ee63292cdfb27b6e95bc52c603bb09
=20
[...]
---
=20
[Andy: There may be other boards that could be having this problem
 git grep -l enet.*ucc arch/powerpc/boot/dts/|xargs grep -L tbi
shows four possible candidates -- but I've only got the 8360MDS. ]

Shoot. I will go look for those. I suspect I neglected all the =
UCC-having SOCs in my patch.=

Re: [PATCH] mpc836x: fix failed phy detection for ucc ethernet on MDS

From: Kumar Gala <hidden>
Date: 2012-03-16 19:39:38

On Feb 27, 2012, at 6:25 AM, Paul Gortmaker wrote:
The mpc836x_mds platform has been broken since the commit
6fe3264945ee63292cdfb27b6e95bc52c603bb09

 "netdev/phy: Use mdiobus_read() so that proper locks are taken"

which caused the fsl_pq_mdio TBI autoprobe to oops.  The oops
was "fixed" in commit 28d8ea2d568534026ccda3e8936f5ea1e04a86a1

 "fsl_pq_mdio: Clean up tbi address configuration"

by simply removing the the autoscan code, and making tbi nodes
mandatory.  Some of the newer reference platforms were updated
to have tbi nodes in 220669495bf8b68130a8218607147c7b74c28d2b

 "powerpc: Add TBI PHY node to first MDIO bus"

but the older mpc836x didn't get one and hence was just failing
with -EBUSY as follows:

fsl-pq_mdio: probe of e0102120.mdio failed with error -16
  ...
net eth0: Could not attach to PHY
eth0: Cannot initialize PHY, aborting.

Add a TBI node and use the 1st free address for it.

Signed-off-by: Paul Gortmaker <redacted>
---
applied

- k
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help