powerpc: Add TBI PHY node to first MDIO bus
authorAndy Fleming <afleming@freescale.com>
Wed, 4 Jan 2012 21:28:31 +0000 (15:28 -0600)
committerKumar Gala <galak@kernel.crashing.org>
Wed, 4 Jan 2012 21:33:51 +0000 (15:33 -0600)
Systems which use the fsl_pq_mdio driver need to specify an
address for TBI PHY transactions such that the address does
not conflict with any PHYs on the bus (all transactions to
that address are directed to the onboard TBI PHY). The driver
used to scan for a free address if no address was specified,
however this ran into issues when the PHY Lib was fixed so
that all MDIO transactions were protected by a mutex. As it
is, the code was meant to serve as a transitional tool until
the device trees were all updated to specify the TBI address.

The best fix for the mutex issue was to remove the scanning code,
but it turns out some of the newer SoCs have started to omit
the tbi-phy node when SGMII is not being used. As such, these
devices will now fail unless we add a tbi-phy node to the first
mdio controller.

Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/boot/dts/p1010rdb.dtsi
arch/powerpc/boot/dts/p1020rdb.dtsi
arch/powerpc/boot/dts/p1021mds.dts
arch/powerpc/boot/dts/p1022ds.dts
arch/powerpc/boot/dts/p2020rdb.dts

index 3aa2b823fb0048b89896410f46b65ee73e23d270..d4c4a7730285501317523ab39054825ff3d2df7a 100644 (file)
                        interrupts = <2 1 0 0>;
                        reg = <0x2>;
                };
+
+               tbi-phy@3 {
+                       device-type = "tbi-phy";
+                       reg = <0x3>;
+               };
        };
 
        mdio@25000 {
index 37389464ad899ce3ded306ec20bb36408f5ee019..b5bd86f4baf21b810f4b38fef873b7e4775eb00e 100644 (file)
                        interrupts = <2 1>;
                        reg = <0x1>;
                };
+
+               tbi-phy@2 {
+                       device_type = "tbi-phy";
+                       reg = <0x2>;
+               };
        };
 
        mdio@25000 {
index b1bef1fa66dac38c81aa602e98b323b0d8913695..d9540791e4342034ca9509826104a9ae06ab32d2 100644 (file)
                        phy4: ethernet-phy@4 {
                                reg = <0x4>;
                        };
+                       tbi-phy@5 {
+                               device_type = "tbi-phy";
+                               reg = <0x5>;
+                       };
                };
 
                mdio@25000 {
index 3e85d8c3850340d2e421e29c4d1197d1a517cd44..0ca0eb1ce51e9d2e53ccdf98fa8acdadcd6b3d0d 100644 (file)
                                interrupts = <9 1 0 0>;
                                reg = <0x2>;
                        };
+                       tbi-phy@2 {
+                               device_type = "tbi-phy";
+                               reg = <0x2>;
+                       };
                };
 
                ethernet@b0000 {
index fd4271296f85d6ae24d596d391ffa81613171e01..26759a5917129505e02c00070d7c067453b002de 100644 (file)
                        phy0: ethernet-phy@0 {
                                interrupts = <3 1 0 0>;
                                reg = <0x0>;
-                               };
+                       };
                        phy1: ethernet-phy@1 {
                                interrupts = <3 1 0 0>;
                                reg = <0x1>;
-                               };
+                       };
+                       tbi-phy@2 {
+                               device_type = "tbi-phy";
+                               reg = <0x2>;
+                       };
                };
 
                mdio@25520 {