xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/ti-lmu.txt (revision cfd6422a5217410fbd66f7a7a8a64d9d85e61229)
1TI LMU (Lighting Management Unit) device tree bindings
2
3TI 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
13Required 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
27Optional 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
46Required node:
47  - backlight: All LMU devices have backlight child nodes.
48               For the properties, please refer to [1].
49
50Optional 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
65lm3631@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
116lm3632@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
161lm3633@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
206lm3695@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
222lm36274@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};
270