9972321998fb6afa5013f6b7d25883f02235cb12
[15.05/openwrt.git] / target / linux / brcm2708 / patches-3.18 / 0069-Fix-the-activity-LED-in-DT-mode.patch
1 From 31b85ba13aa394c98f2d6955b55f3f9a0623c14d Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Tue, 6 Jan 2015 12:06:55 +0000
4 Subject: [PATCH 069/114] Fix the activity LED in DT mode
5
6 Add a "leds" node to the base DTBs, and a subnode for the activity
7 LED. You can change the LED function like this:
8
9   dtparam=act_led_trigger=heartbeat
10
11 Add aliases for the other main nodes (soc, intc).
12
13 Issue: linux #757
14 ---
15  arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 18 ++++++++++++++----
16  arch/arm/boot/dts/bcm2708-rpi-b.dts      | 18 ++++++++++++++----
17  arch/arm/boot/dts/bcm2708.dtsi           | 11 ++++++++++-
18  3 files changed, 38 insertions(+), 9 deletions(-)
19
20 diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
21 index d9886c3..95f03ba 100644
22 --- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
23 +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
24 @@ -7,11 +7,14 @@
25         model = "Raspberry Pi Model B+";
26  
27         aliases {
28 +               soc = &soc;
29                 spi0 = &spi0;
30                 i2c0 = &i2c0;
31                 i2c1 = &i2c1;
32                 i2s  = &i2s;
33                 gpio = &gpio;
34 +               intc = &intc;
35 +               leds = &leds;
36                 sound = &sound;
37         };
38  
39 @@ -80,12 +83,19 @@
40         pinctrl-0 = <&i2s_pins>;
41  };
42  
43 +&act_led {
44 +       gpios = <&gpio 47 0>;
45 +};
46  
47  / {
48         __overrides__ {
49 -                   i2s = <&i2s>,"status";
50 -                   spi = <&spi0>,"status";
51 -                   i2c0 = <&i2c0>,"status";
52 -                   i2c1 = <&i2c1>,"status";
53 +               i2s = <&i2s>,"status";
54 +               spi = <&spi0>,"status";
55 +               i2c0 = <&i2c0>,"status";
56 +               i2c1 = <&i2c1>,"status";
57 +
58 +               act_led_gpio = <&act_led>,"gpios:4";
59 +               act_led_activelow = <&act_led>,"gpios:8";
60 +               act_led_trigger = <&act_led>,"linux,default-trigger";
61         };
62  };
63 diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
64 index 167b22b..0631f45 100644
65 --- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
66 +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
67 @@ -7,11 +7,14 @@
68         model = "Raspberry Pi Model B";
69  
70         aliases {
71 +               soc = &soc;
72                 spi0 = &spi0;
73                 i2c0 = &i2c0;
74                 i2c1 = &i2c1;
75                 i2s  = &i2s;
76                 gpio = &gpio;
77 +               intc = &intc;
78 +               leds = &leds;
79                 sound = &sound;
80         };
81  
82 @@ -80,12 +83,19 @@
83         pinctrl-0 = <&i2s_pins>;
84  };
85  
86 +&act_led {
87 +       gpios = <&gpio 16 1>;
88 +};
89  
90  / {
91         __overrides__ {
92 -                   i2s = <&i2s>,"status";
93 -                   spi = <&spi0>,"status";
94 -                   i2c0 = <&i2c0>,"status";
95 -                   i2c1 = <&i2c1>,"status";
96 +               i2s = <&i2s>,"status";
97 +               spi = <&spi0>,"status";
98 +               i2c0 = <&i2c0>,"status";
99 +               i2c1 = <&i2c1>,"status";
100 +
101 +               act_led_gpio = <&act_led>,"gpios:4";
102 +               act_led_activelow = <&act_led>,"gpios:8";
103 +               act_led_trigger = <&act_led>,"linux,default-trigger";
104         };
105  };
106 diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
107 index 6b36128..1b56cb5 100644
108 --- a/arch/arm/boot/dts/bcm2708.dtsi
109 +++ b/arch/arm/boot/dts/bcm2708.dtsi
110 @@ -11,7 +11,7 @@
111                 bootargs = "";
112         };
113  
114 -       soc {
115 +       soc: soc {
116                 compatible = "simple-bus";
117                 #address-cells = <1>;
118                 #size-cells = <1>;
119 @@ -76,6 +76,15 @@
120                         #size-cells = <0>;
121                         status = "disabled";
122                 };
123 +
124 +               leds: leds {
125 +                       compatible = "gpio-leds";
126 +
127 +                       act_led: act {
128 +                               label = "ACT";
129 +                               linux,default-trigger = "mmc0";
130 +                       };
131 +               };
132         };
133  
134         clocks {
135 -- 
136 1.8.3.2
137