]> err.no Git - linux-2.6/commitdiff
[POWERPC] Fix MPC5200 (not B!) device tree so FEC ethernet works
authorRené Bürgel <r.buergel@unicontrol.de>
Thu, 3 Apr 2008 08:58:37 +0000 (19:58 +1100)
committerPaul Mackerras <paulus@samba.org>
Thu, 3 Apr 2008 11:11:12 +0000 (22:11 +1100)
This gets the FEC ethernet driver working again on the lite5200
platform.

The FEC driver is also compatible with the MPC5200, not only with the
MPC5200B, so this adds a suitable entry to the driver's match list.
Furthermore this adds the settings for the PHY in the dts file for the
Lite5200.  Note, that this is not exactly the same as in the
Lite5200B, because the PHY is located at f0003000:01 for the 5200, and
at :00 for the 5200B.  This was tested on a Lite5200 and a Lite5200B,
both booted a kernel via tftp and mounted the root via nfs
successfully.

Signed-off-by: René Bürgel <r.buergel@unicontrol.de>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/boot/dts/lite5200.dts
drivers/net/fec_mpc52xx.c
drivers/net/fec_mpc52xx_phy.c

index 0d701c1bf539e518035825a173e436da223d824d..09b4e16154d6021938c0f74b2e69d370d45f39e2 100644 (file)
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <2 5 0>;
                        interrupt-parent = <&mpc5200_pic>;
+                       phy-handle = <&phy0>;
+               };
+
+               mdio@3000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "fsl,mpc5200-mdio";
+                       reg = <3000 400>;       // fec range, since we need to setup fec interrupts
+                       interrupts = <2 5 0>;   // these are for "mii command finished", not link changes & co.
+                       interrupt-parent = <&mpc5200_pic>;
+
+                       phy0:ethernet-phy@1 {
+                               device_type = "ethernet-phy";
+                               reg = <1>;
+                       };
                };
 
                ata@3a00 {
index 58b71e60204e6df0b505980c2205814141d5a171..fe59c27c09e3897c92da655abbd22ce1b06b9193 100644 (file)
@@ -1057,6 +1057,7 @@ static int mpc52xx_fec_of_resume(struct of_device *op)
 #endif
 
 static struct of_device_id mpc52xx_fec_match[] = {
+       { .type = "network", .compatible = "fsl,mpc5200b-fec", },
        { .type = "network", .compatible = "fsl,mpc5200-fec", },
        { .type = "network", .compatible = "mpc5200-fec", },
        { }
index 6a3ac4ea97e90af21bc7ab0cb0cea66dad7cf7cd..1d0cd1dd955e4d9bf60e012b89ec59bcb238bdc1 100644 (file)
@@ -179,6 +179,7 @@ static int mpc52xx_fec_mdio_remove(struct of_device *of)
 
 static struct of_device_id mpc52xx_fec_mdio_match[] = {
        { .compatible = "fsl,mpc5200b-mdio", },
+       { .compatible = "fsl,mpc5200-mdio", },
        { .compatible = "mpc5200b-fec-phy", },
        {}
 };