[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 0d701c1..09b4e16 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 58b71e6..fe59c27 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 6a3ac4e..1d0cd1d 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", },
        {}
 };