diff options
author | Anton Vorontsov <avorontsov@ru.mvista.com> | 2010-02-05 16:06:26 -0500 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2010-02-17 22:48:24 -0500 |
commit | e98efaf303ccbff11522a054d155593d7f2bb41f (patch) | |
tree | 71cdeca2d8a628f0286d847b5342a500231cc876 | |
parent | 32a6275f3076c9e511ea68869ed6b76c58128253 (diff) |
powerpc/85xx: Add NOR, LEDs and PIB support for MPC8568E-MDS boards
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 <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
-rw-r--r-- | arch/powerpc/boot/dts/mpc8568mds.dts | 65 | ||||
-rw-r--r-- | 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 6d892ba74e55..92fb17876e7d 100644 --- a/arch/powerpc/boot/dts/mpc8568mds.dts +++ b/arch/powerpc/boot/dts/mpc8568mds.dts | |||
@@ -54,9 +54,52 @@ | |||
54 | reg = <0x0 0x10000000>; | 54 | reg = <0x0 0x10000000>; |
55 | }; | 55 | }; |
56 | 56 | ||
57 | bcsr@f8000000 { | 57 | localbus@e0005000 { |
58 | compatible = "fsl,mpc8568mds-bcsr"; | 58 | #address-cells = <2>; |
59 | reg = <0xf8000000 0x8000>; | 59 | #size-cells = <1>; |
60 | compatible = "fsl,mpc8568-localbus", "fsl,pq3-localbus", | ||
61 | "simple-bus"; | ||
62 | reg = <0xe0005000 0x1000>; | ||
63 | |||
64 | ranges = <0x0 0x0 0xfe000000 0x02000000 | ||
65 | 0x1 0x0 0xf8000000 0x00008000 | ||
66 | 0x2 0x0 0xf0000000 0x04000000 | ||
67 | 0x4 0x0 0xf8008000 0x00008000 | ||
68 | 0x5 0x0 0xf8010000 0x00008000>; | ||
69 | |||
70 | nor@0,0 { | ||
71 | #address-cells = <1>; | ||
72 | #size-cells = <1>; | ||
73 | compatible = "cfi-flash"; | ||
74 | reg = <0x0 0x0 0x02000000>; | ||
75 | bank-width = <2>; | ||
76 | device-width = <2>; | ||
77 | }; | ||
78 | |||
79 | bcsr@1,0 { | ||
80 | #address-cells = <1>; | ||
81 | #size-cells = <1>; | ||
82 | compatible = "fsl,mpc8568mds-bcsr"; | ||
83 | reg = <1 0 0x8000>; | ||
84 | ranges = <0 1 0 0x8000>; | ||
85 | |||
86 | bcsr5: gpio-controller@11 { | ||
87 | #gpio-cells = <2>; | ||
88 | compatible = "fsl,mpc8568mds-bcsr-gpio"; | ||
89 | reg = <0x5 0x1>; | ||
90 | gpio-controller; | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | pib@4,0 { | ||
95 | compatible = "fsl,mpc8568mds-pib"; | ||
96 | reg = <4 0 0x8000>; | ||
97 | }; | ||
98 | |||
99 | pib@5,0 { | ||
100 | compatible = "fsl,mpc8568mds-pib"; | ||
101 | reg = <5 0 0x8000>; | ||
102 | }; | ||
60 | }; | 103 | }; |
61 | 104 | ||
62 | soc8568@e0000000 { | 105 | soc8568@e0000000 { |
@@ -610,4 +653,20 @@ | |||
610 | sleep = <&pmc 0x00080000 /* controller */ | 653 | sleep = <&pmc 0x00080000 /* controller */ |
611 | &pmc 0x00040000>; /* message unit */ | 654 | &pmc 0x00040000>; /* message unit */ |
612 | }; | 655 | }; |
656 | |||
657 | leds { | ||
658 | compatible = "gpio-leds"; | ||
659 | |||
660 | green { | ||
661 | gpios = <&bcsr5 1 0>; | ||
662 | }; | ||
663 | |||
664 | amber { | ||
665 | gpios = <&bcsr5 2 0>; | ||
666 | }; | ||
667 | |||
668 | red { | ||
669 | gpios = <&bcsr5 3 0>; | ||
670 | }; | ||
671 | }; | ||
613 | }; | 672 | }; |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_mds.c b/arch/powerpc/platforms/85xx/mpc85xx_mds.c index 21f61b8c445b..04af81e39bec 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[] = { | |||
302 | { .compatible = "gianfar", }, | 302 | { .compatible = "gianfar", }, |
303 | { .compatible = "fsl,rapidio-delta", }, | 303 | { .compatible = "fsl,rapidio-delta", }, |
304 | { .compatible = "fsl,mpc8548-guts", }, | 304 | { .compatible = "fsl,mpc8548-guts", }, |
305 | { .compatible = "gpio-leds", }, | ||
305 | {}, | 306 | {}, |
306 | }; | 307 | }; |
307 | 308 | ||
308 | static int __init mpc85xx_publish_devices(void) | 309 | static int __init mpc85xx_publish_devices(void) |
309 | { | 310 | { |
311 | if (machine_is(mpc8568_mds)) | ||
312 | simple_gpiochip_init("fsl,mpc8568mds-bcsr-gpio"); | ||
310 | if (machine_is(mpc8569_mds)) | 313 | if (machine_is(mpc8569_mds)) |
311 | simple_gpiochip_init("fsl,mpc8569mds-bcsr-gpio"); | 314 | simple_gpiochip_init("fsl,mpc8569mds-bcsr-gpio"); |
312 | 315 | ||