Merge tag 'drm-next-2019-07-19' of git://anongit.freedesktop.org/drm/drm
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / mfd / ti-lmu.txt
1 TI LMU (Lighting Management Unit) device tree bindings
2
3 TI LMU driver supports lighting devices below.
4
5    Name                  Child nodes
6   ------      ---------------------------------
7   LM3631       Backlight and regulator
8   LM3632       Backlight and regulator
9   LM3633       Backlight, LED and fault monitor
10   LM3695       Backlight
11   LM36274      Backlight and regulator
12
13 Required properties:
14   - compatible: Should be one of:
15                 "ti,lm3631"
16                 "ti,lm3632"
17                 "ti,lm3633"
18                 "ti,lm3695"
19                 "ti,lm36274"
20   - reg: I2C slave address.
21          0x11 for LM3632
22          0x29 for LM3631
23          0x36 for LM3633
24          0x63 for LM3695
25          0x11 for LM36274
26
27 Optional properties:
28   - enable-gpios: A GPIO specifier for hardware enable pin.
29   - ramp-up-us: Current ramping from one brightness level to
30                 the a higher brightness level.
31                 Range from 2048 us - 117.44 s
32   - ramp-down-us: Current ramping from one brightness level to
33                   the a lower brightness level.
34                   Range from 2048 us - 117.44 s
35   - ti,brightness-resolution - This determines whether to use 8 bit brightness
36                                mode or 11 bit brightness mode.  If this value is
37                                not set the device is defaulted to the preferred
38                                8bit brightness mode per 7.3.4.1 of the data
39                                sheet.  This setting can either be in the parent
40                                node or as part of the LED child nodes.  This
41                                is determined by the part itself if the strings
42                                have a common brightness register or individual
43                                brightness registers.
44                                The values are 255 (8bit) or 2047 (11bit).
45
46 Required node:
47   - backlight: All LMU devices have backlight child nodes.
48                For the properties, please refer to [1].
49
50 Optional nodes:
51   - fault-monitor: Hardware fault monitoring driver for LM3633 and LM3697.
52     Required properties:
53       - compatible: Should be one of:
54                     "ti,lm3633-fault-monitor"
55   - leds: LED properties for LM3633. Please refer to [2].
56           LED properties for LM36274. Please refer to [4].
57   - regulators: Regulator properties for LM3631 and LM3632.
58                 Please refer to [3].
59
60 [1] ../leds/backlight/ti-lmu-backlight.txt
61 [2] ../leds/leds-lm3633.txt
62 [3] ../regulator/lm363x-regulator.txt
63 [4] ../leds/leds-lm36274.txt
64
65 lm3631@29 {
66         compatible = "ti,lm3631";
67         reg = <0x29>;
68
69         regulators {
70                 compatible = "ti,lm363x-regulator";
71
72                 vboost {
73                         regulator-name = "lcd_boost";
74                         regulator-min-microvolt = <4500000>;
75                         regulator-max-microvolt = <6350000>;
76                         regulator-always-on;
77                 };
78
79                 vcont {
80                         regulator-name = "lcd_vcont";
81                         regulator-min-microvolt = <1800000>;
82                         regulator-max-microvolt = <3300000>;
83                 };
84
85                 voref {
86                         regulator-name = "lcd_voref";
87                         regulator-min-microvolt = <4000000>;
88                         regulator-max-microvolt = <6000000>;
89                 };
90
91                 vpos {
92                         regulator-name = "lcd_vpos";
93                         regulator-min-microvolt = <4000000>;
94                         regulator-max-microvolt = <6000000>;
95                         regulator-boot-on;
96                 };
97
98                 vneg {
99                         regulator-name = "lcd_vneg";
100                         regulator-min-microvolt = <4000000>;
101                         regulator-max-microvolt = <6000000>;
102                         regulator-boot-on;
103                 };
104         };
105
106         backlight {
107                 compatible = "ti,lm3631-backlight";
108
109                 lcd_bl {
110                         led-sources = <0 1>;
111                         ramp-up-us = <300000>;
112                 };
113         };
114 };
115
116 lm3632@11 {
117         compatible = "ti,lm3632";
118         reg = <0x11>;
119
120         enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; /* PC2 */
121
122         regulators {
123                 compatible = "ti,lm363x-regulator";
124
125                 enable-gpios = <&pioC 0 GPIO_ACTIVE_HIGH>,
126                                <&pioC 1 GPIO_ACTIVE_HIGH>;
127
128                 vboost {
129                         regulator-name = "lcd_boost";
130                         regulator-min-microvolt = <4500000>;
131                         regulator-max-microvolt = <6400000>;
132                         regulator-always-on;
133                 };
134
135                 vpos {
136                         regulator-name = "lcd_vpos";
137                         regulator-min-microvolt = <4000000>;
138                         regulator-max-microvolt = <6000000>;
139                 };
140
141                 vneg {
142                         regulator-name = "lcd_vneg";
143                         regulator-min-microvolt = <4000000>;
144                         regulator-max-microvolt = <6000000>;
145                 };
146         };
147
148         backlight {
149                 compatible = "ti,lm3632-backlight";
150
151                 pwms = <&pwm0 0 10000 0>; /* pwm number, period, polarity */
152                 pwm-names = "lmu-backlight";
153
154                 lcd {
155                         led-sources = <0 1>;
156                         pwm-period = <10000>;
157                 };
158         };
159 };
160
161 lm3633@36 {
162         compatible = "ti,lm3633";
163         reg = <0x36>;
164
165         enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
166
167         backlight {
168                 compatible = "ti,lm3633-backlight";
169
170                 main {
171                         label = "main_lcd";
172                         led-sources = <1 2>;
173                         ramp-up-us = <500000>;
174                         ramp-down-us = <500000>;
175                 };
176
177                 front {
178                         label = "front_lcd";
179                         led-sources = <0>;
180                         ramp-up-us = <1000000>;
181                         ramp-down-us = <0>;
182                 };
183         };
184
185         leds {
186                 compatible = "ti,lm3633-leds";
187
188                 chan1 {
189                         label = "status";
190                         led-sources = <1>;
191                         led-max-microamp = <6000>;
192                 };
193
194                 chan345 {
195                         label = "rgb";
196                         led-sources = <3 4 5>;
197                         led-max-microamp = <10000>;
198                 };
199         };
200
201         fault-monitor {
202                 compatible = "ti,lm3633-fault-monitor";
203         };
204 };
205
206 lm3695@63 {
207         compatible = "ti,lm3695";
208         reg = <0x63>;
209
210         enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
211
212         backlight {
213                 compatible = "ti,lm3695-backlight";
214
215                 lcd {
216                         label = "bl";
217                         led-sources = <0 1>;
218                 };
219         };
220 };
221
222 lm36274@11 {
223         compatible = "ti,lm36274";
224         #address-cells = <1>;
225         #size-cells = <0>;
226         reg = <0x11>;
227
228         enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
229         regulators {
230                 #address-cells = <1>;
231                 #size-cells = <0>;
232                 compatible = "ti,lm363x-regulator";
233
234                 enable-gpios = <&pioC 0 GPIO_ACTIVE_HIGH>,
235                                <&pioC 1 GPIO_ACTIVE_HIGH>;
236
237                 vboost {
238                         regulator-name = "lcd_boost";
239                         regulator-min-microvolt = <4000000>;
240                         regulator-max-microvolt = <7150000>;
241                         regulator-always-on;
242                 };
243
244                 vpos {
245                         regulator-name = "lcd_vpos";
246                         regulator-min-microvolt = <4000000>;
247                         regulator-max-microvolt = <6500000>;
248                 };
249
250                 vneg {
251                         regulator-name = "lcd_vneg";
252                         regulator-min-microvolt = <4000000>;
253                         regulator-max-microvolt = <6500000>;
254                 };
255         };
256
257         backlight {
258                 #address-cells = <1>;
259                 #size-cells = <0>;
260                 compatible = "ti,lm36274-backlight";
261
262                 led@0 {
263                         reg = <0>;
264                         led-sources = <0 2>;
265                         label = "white:backlight_cluster";
266                         linux,default-trigger = "backlight";
267                 };
268         };
269 };