diff options
| -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 | ||
