powerpc/5200: Add Lite5200 on-board LEDs as devices

The Lite5200 evaluation board has a number of debug LEDs that Linux
doesn't know about yet. This change adds a gpio-leds stanza to the
lite5200 device tree so that the correct driver can get hooked up.

Also, make use of the dtc labels feature to reduce the number of source
lines required to add the gpio-controller property to the general
purpose timer nodes. In addition, the required #gpio-cells properties
are added to the common mpc5200b dtsi include file so that each board
doesn't need to add them explicitly. This still doesn't enable gpio
mode, 'gpio-controller' is required for that, but it means less work
needs to be done by board ports.

Cc: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
Grant Likely 2013-02-08 08:02:50 +00:00 committed by Anatolij Gustschin
parent 63410b0b80
commit 4fd0a21353
2 changed files with 36 additions and 12 deletions

View file

@ -12,19 +12,34 @@
/include/ "mpc5200b.dtsi" /include/ "mpc5200b.dtsi"
&gpt0 { fsl,has-wdt; };
&gpt2 { gpio-controller; };
&gpt3 { gpio-controller; };
/ { / {
model = "fsl,lite5200b"; model = "fsl,lite5200b";
compatible = "fsl,lite5200b"; compatible = "fsl,lite5200b";
leds {
compatible = "gpio-leds";
tmr2 {
gpios = <&gpt2 0 1>;
};
tmr3 {
gpios = <&gpt3 0 1>;
linux,default-trigger = "heartbeat";
};
led1 { gpios = <&gpio_wkup 2 1>; };
led2 { gpios = <&gpio_simple 3 1>; };
led3 { gpios = <&gpio_wkup 3 1>; };
led4 { gpios = <&gpio_simple 2 1>; };
};
memory { memory {
reg = <0x00000000 0x10000000>; // 256MB reg = <0x00000000 0x10000000>; // 256MB
}; };
soc5200@f0000000 { soc5200@f0000000 {
timer@600 { // General Purpose Timer
fsl,has-wdt;
};
psc@2000 { // PSC1 psc@2000 { // PSC1
compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
cell-index = <0>; cell-index = <0>;

View file

@ -64,50 +64,59 @@
reg = <0x500 0x80>; reg = <0x500 0x80>;
}; };
timer@600 { // General Purpose Timer gpt0: timer@600 { // General Purpose Timer
compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
#gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode
reg = <0x600 0x10>; reg = <0x600 0x10>;
interrupts = <1 9 0>; interrupts = <1 9 0>;
// add 'fsl,has-wdt' to enable watchdog
}; };
timer@610 { // General Purpose Timer gpt1: timer@610 { // General Purpose Timer
compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
#gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode
reg = <0x610 0x10>; reg = <0x610 0x10>;
interrupts = <1 10 0>; interrupts = <1 10 0>;
}; };
timer@620 { // General Purpose Timer gpt2: timer@620 { // General Purpose Timer
compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
#gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode
reg = <0x620 0x10>; reg = <0x620 0x10>;
interrupts = <1 11 0>; interrupts = <1 11 0>;
}; };
timer@630 { // General Purpose Timer gpt3: timer@630 { // General Purpose Timer
compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
#gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode
reg = <0x630 0x10>; reg = <0x630 0x10>;
interrupts = <1 12 0>; interrupts = <1 12 0>;
}; };
timer@640 { // General Purpose Timer gpt4: timer@640 { // General Purpose Timer
compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
#gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode
reg = <0x640 0x10>; reg = <0x640 0x10>;
interrupts = <1 13 0>; interrupts = <1 13 0>;
}; };
timer@650 { // General Purpose Timer gpt5: timer@650 { // General Purpose Timer
compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
#gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode
reg = <0x650 0x10>; reg = <0x650 0x10>;
interrupts = <1 14 0>; interrupts = <1 14 0>;
}; };
timer@660 { // General Purpose Timer gpt6: timer@660 { // General Purpose Timer
compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
#gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode
reg = <0x660 0x10>; reg = <0x660 0x10>;
interrupts = <1 15 0>; interrupts = <1 15 0>;
}; };
timer@670 { // General Purpose Timer gpt7: timer@670 { // General Purpose Timer
compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
#gpio-cells = <2>; // Add 'gpio-controller;' to enable gpio mode
reg = <0x670 0x10>; reg = <0x670 0x10>;
interrupts = <1 16 0>; interrupts = <1 16 0>;
}; };