This patch adds NOR Flash, LEDs and PIB support for MPC8568E-MDS
boards. Plus, move bcsr node into localbus node, and add bcsr5
gpio-controller node.

Some platform code modifications were also needed.

Signed-off-by: Anton Vorontsov <avoront...@ru.mvista.com>
---
 arch/powerpc/boot/dts/mpc8568mds.dts      |   65 +++++++++++++++++++++++++++-
 arch/powerpc/platforms/85xx/mpc85xx_mds.c |    3 +
 2 files changed, 65 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/dts/mpc8568mds.dts 
b/arch/powerpc/boot/dts/mpc8568mds.dts
index 6d892ba..92fb178 100644
--- a/arch/powerpc/boot/dts/mpc8568mds.dts
+++ b/arch/powerpc/boot/dts/mpc8568mds.dts
@@ -54,9 +54,52 @@
                reg = <0x0 0x10000000>;
        };
 
-       b...@f8000000 {
-               compatible = "fsl,mpc8568mds-bcsr";
-               reg = <0xf8000000 0x8000>;
+       local...@e0005000 {
+               #address-cells = <2>;
+               #size-cells = <1>;
+               compatible = "fsl,mpc8568-localbus", "fsl,pq3-localbus",
+                            "simple-bus";
+               reg = <0xe0005000 0x1000>;
+
+               ranges = <0x0 0x0 0xfe000000 0x02000000
+                         0x1 0x0 0xf8000000 0x00008000
+                         0x2 0x0 0xf0000000 0x04000000
+                         0x4 0x0 0xf8008000 0x00008000
+                         0x5 0x0 0xf8010000 0x00008000>;
+
+               n...@0,0 {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       compatible = "cfi-flash";
+                       reg = <0x0 0x0 0x02000000>;
+                       bank-width = <2>;
+                       device-width = <2>;
+               };
+
+               b...@1,0 {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       compatible = "fsl,mpc8568mds-bcsr";
+                       reg = <1 0 0x8000>;
+                       ranges = <0 1 0 0x8000>;
+
+                       bcsr5: gpio-control...@11 {
+                               #gpio-cells = <2>;
+                               compatible = "fsl,mpc8568mds-bcsr-gpio";
+                               reg = <0x5 0x1>;
+                               gpio-controller;
+                       };
+               };
+
+               p...@4,0 {
+                       compatible = "fsl,mpc8568mds-pib";
+                       reg = <4 0 0x8000>;
+               };
+
+               p...@5,0 {
+                       compatible = "fsl,mpc8568mds-pib";
+                       reg = <5 0 0x8000>;
+               };
        };
 
        soc8...@e0000000 {
@@ -610,4 +653,20 @@
                sleep = <&pmc 0x00080000   /* controller */
                         &pmc 0x00040000>; /* message unit */
        };
+
+       leds {
+               compatible = "gpio-leds";
+
+               green {
+                       gpios = <&bcsr5 1 0>;
+               };
+
+               amber {
+                       gpios = <&bcsr5 2 0>;
+               };
+
+               red {
+                       gpios = <&bcsr5 3 0>;
+               };
+       };
 };
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_mds.c 
b/arch/powerpc/platforms/85xx/mpc85xx_mds.c
index 21f61b8..04af81e 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c
@@ -302,11 +302,14 @@ static struct of_device_id mpc85xx_ids[] = {
        { .compatible = "gianfar", },
        { .compatible = "fsl,rapidio-delta", },
        { .compatible = "fsl,mpc8548-guts", },
+       { .compatible = "gpio-leds", },
        {},
 };
 
 static int __init mpc85xx_publish_devices(void)
 {
+       if (machine_is(mpc8568_mds))
+               simple_gpiochip_init("fsl,mpc8568mds-bcsr-gpio");
        if (machine_is(mpc8569_mds))
                simple_gpiochip_init("fsl,mpc8569mds-bcsr-gpio");
 
-- 
1.6.5.7
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to