xref: /openbmc/linux/Documentation/devicetree/bindings/mfd/ti-lmu.txt (revision 0898782247ae533d1f4e47a06bc5d4870931b284)
1287cce71SMilo KimTI LMU (Lighting Management Unit) device tree bindings
2287cce71SMilo Kim
3287cce71SMilo KimTI LMU driver supports lighting devices below.
4287cce71SMilo Kim
5287cce71SMilo Kim   Name                  Child nodes
6287cce71SMilo Kim  ------      ---------------------------------
7287cce71SMilo Kim  LM3631       Backlight and regulator
8287cce71SMilo Kim  LM3632       Backlight and regulator
9287cce71SMilo Kim  LM3633       Backlight, LED and fault monitor
10287cce71SMilo Kim  LM3695       Backlight
11*46657432SDan Murphy  LM36274      Backlight and regulator
12287cce71SMilo Kim
13287cce71SMilo KimRequired properties:
14287cce71SMilo Kim  - compatible: Should be one of:
15287cce71SMilo Kim                "ti,lm3631"
16287cce71SMilo Kim                "ti,lm3632"
17287cce71SMilo Kim                "ti,lm3633"
18287cce71SMilo Kim                "ti,lm3695"
19*46657432SDan Murphy		"ti,lm36274"
20287cce71SMilo Kim  - reg: I2C slave address.
21287cce71SMilo Kim         0x11 for LM3632
22287cce71SMilo Kim         0x29 for LM3631
231372bbe6SDan Murphy         0x36 for LM3633
24287cce71SMilo Kim         0x63 for LM3695
25*46657432SDan Murphy         0x11 for LM36274
26287cce71SMilo Kim
272f230f30SDan MurphyOptional properties:
28287cce71SMilo Kim  - enable-gpios: A GPIO specifier for hardware enable pin.
292f230f30SDan Murphy  - ramp-up-us: Current ramping from one brightness level to
302f230f30SDan Murphy		the a higher brightness level.
312f230f30SDan Murphy		Range from 2048 us - 117.44 s
322f230f30SDan Murphy  - ramp-down-us: Current ramping from one brightness level to
332f230f30SDan Murphy		  the a lower brightness level.
342f230f30SDan Murphy		  Range from 2048 us - 117.44 s
35d0147554SDan Murphy  - ti,brightness-resolution - This determines whether to use 8 bit brightness
36d0147554SDan Murphy			       mode or 11 bit brightness mode.  If this value is
37d0147554SDan Murphy			       not set the device is defaulted to the preferred
38d0147554SDan Murphy			       8bit brightness mode per 7.3.4.1 of the data
39d0147554SDan Murphy			       sheet.  This setting can either be in the parent
40d0147554SDan Murphy			       node or as part of the LED child nodes.  This
41d0147554SDan Murphy			       is determined by the part itself if the strings
42d0147554SDan Murphy			       have a common brightness register or individual
43d0147554SDan Murphy			       brightness registers.
44d0147554SDan Murphy			       The values are 255 (8bit) or 2047 (11bit).
45287cce71SMilo Kim
46287cce71SMilo KimRequired node:
47287cce71SMilo Kim  - backlight: All LMU devices have backlight child nodes.
48287cce71SMilo Kim               For the properties, please refer to [1].
49287cce71SMilo Kim
50287cce71SMilo KimOptional nodes:
51287cce71SMilo Kim  - fault-monitor: Hardware fault monitoring driver for LM3633 and LM3697.
52287cce71SMilo Kim    Required properties:
53287cce71SMilo Kim      - compatible: Should be one of:
54287cce71SMilo Kim                    "ti,lm3633-fault-monitor"
55287cce71SMilo Kim  - leds: LED properties for LM3633. Please refer to [2].
56*46657432SDan Murphy	  LED properties for LM36274. Please refer to [4].
57287cce71SMilo Kim  - regulators: Regulator properties for LM3631 and LM3632.
58287cce71SMilo Kim                Please refer to [3].
59287cce71SMilo Kim
60287cce71SMilo Kim[1] ../leds/backlight/ti-lmu-backlight.txt
61287cce71SMilo Kim[2] ../leds/leds-lm3633.txt
62287cce71SMilo Kim[3] ../regulator/lm363x-regulator.txt
63*46657432SDan Murphy[4] ../leds/leds-lm36274.txt
64287cce71SMilo Kim
65287cce71SMilo Kimlm3631@29 {
66287cce71SMilo Kim	compatible = "ti,lm3631";
67287cce71SMilo Kim	reg = <0x29>;
68287cce71SMilo Kim
69287cce71SMilo Kim	regulators {
70287cce71SMilo Kim		compatible = "ti,lm363x-regulator";
71287cce71SMilo Kim
72287cce71SMilo Kim		vboost {
73287cce71SMilo Kim			regulator-name = "lcd_boost";
74287cce71SMilo Kim			regulator-min-microvolt = <4500000>;
75287cce71SMilo Kim			regulator-max-microvolt = <6350000>;
76287cce71SMilo Kim			regulator-always-on;
77287cce71SMilo Kim		};
78287cce71SMilo Kim
79287cce71SMilo Kim		vcont {
80287cce71SMilo Kim			regulator-name = "lcd_vcont";
81287cce71SMilo Kim			regulator-min-microvolt = <1800000>;
82287cce71SMilo Kim			regulator-max-microvolt = <3300000>;
83287cce71SMilo Kim		};
84287cce71SMilo Kim
85287cce71SMilo Kim		voref {
86287cce71SMilo Kim			regulator-name = "lcd_voref";
87287cce71SMilo Kim			regulator-min-microvolt = <4000000>;
88287cce71SMilo Kim			regulator-max-microvolt = <6000000>;
89287cce71SMilo Kim		};
90287cce71SMilo Kim
91287cce71SMilo Kim		vpos {
92287cce71SMilo Kim			regulator-name = "lcd_vpos";
93287cce71SMilo Kim			regulator-min-microvolt = <4000000>;
94287cce71SMilo Kim			regulator-max-microvolt = <6000000>;
95287cce71SMilo Kim			regulator-boot-on;
96287cce71SMilo Kim		};
97287cce71SMilo Kim
98287cce71SMilo Kim		vneg {
99287cce71SMilo Kim			regulator-name = "lcd_vneg";
100287cce71SMilo Kim			regulator-min-microvolt = <4000000>;
101287cce71SMilo Kim			regulator-max-microvolt = <6000000>;
102287cce71SMilo Kim			regulator-boot-on;
103287cce71SMilo Kim		};
104287cce71SMilo Kim	};
105287cce71SMilo Kim
106287cce71SMilo Kim	backlight {
107287cce71SMilo Kim		compatible = "ti,lm3631-backlight";
108287cce71SMilo Kim
109287cce71SMilo Kim		lcd_bl {
110287cce71SMilo Kim			led-sources = <0 1>;
1112f230f30SDan Murphy			ramp-up-us = <300000>;
112287cce71SMilo Kim		};
113287cce71SMilo Kim	};
114287cce71SMilo Kim};
115287cce71SMilo Kim
116287cce71SMilo Kimlm3632@11 {
117287cce71SMilo Kim	compatible = "ti,lm3632";
118287cce71SMilo Kim	reg = <0x11>;
119287cce71SMilo Kim
120287cce71SMilo Kim	enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; /* PC2 */
121287cce71SMilo Kim
122287cce71SMilo Kim	regulators {
123287cce71SMilo Kim		compatible = "ti,lm363x-regulator";
124287cce71SMilo Kim
125a2a0c4efSDan Murphy		enable-gpios = <&pioC 0 GPIO_ACTIVE_HIGH>,
126a2a0c4efSDan Murphy			       <&pioC 1 GPIO_ACTIVE_HIGH>;
127287cce71SMilo Kim
128287cce71SMilo Kim		vboost {
129287cce71SMilo Kim			regulator-name = "lcd_boost";
130287cce71SMilo Kim			regulator-min-microvolt = <4500000>;
131287cce71SMilo Kim			regulator-max-microvolt = <6400000>;
132287cce71SMilo Kim			regulator-always-on;
133287cce71SMilo Kim		};
134287cce71SMilo Kim
135287cce71SMilo Kim		vpos {
136287cce71SMilo Kim			regulator-name = "lcd_vpos";
137287cce71SMilo Kim			regulator-min-microvolt = <4000000>;
138287cce71SMilo Kim			regulator-max-microvolt = <6000000>;
139287cce71SMilo Kim		};
140287cce71SMilo Kim
141287cce71SMilo Kim		vneg {
142287cce71SMilo Kim			regulator-name = "lcd_vneg";
143287cce71SMilo Kim			regulator-min-microvolt = <4000000>;
144287cce71SMilo Kim			regulator-max-microvolt = <6000000>;
145287cce71SMilo Kim		};
146287cce71SMilo Kim	};
147287cce71SMilo Kim
148287cce71SMilo Kim	backlight {
149287cce71SMilo Kim		compatible = "ti,lm3632-backlight";
150287cce71SMilo Kim
151287cce71SMilo Kim		pwms = <&pwm0 0 10000 0>; /* pwm number, period, polarity */
152287cce71SMilo Kim		pwm-names = "lmu-backlight";
153287cce71SMilo Kim
154287cce71SMilo Kim		lcd {
155287cce71SMilo Kim			led-sources = <0 1>;
156287cce71SMilo Kim			pwm-period = <10000>;
157287cce71SMilo Kim		};
158287cce71SMilo Kim	};
159287cce71SMilo Kim};
160287cce71SMilo Kim
161287cce71SMilo Kimlm3633@36 {
162287cce71SMilo Kim	compatible = "ti,lm3633";
163287cce71SMilo Kim	reg = <0x36>;
164287cce71SMilo Kim
165287cce71SMilo Kim	enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
166287cce71SMilo Kim
167287cce71SMilo Kim	backlight {
168287cce71SMilo Kim		compatible = "ti,lm3633-backlight";
169287cce71SMilo Kim
170287cce71SMilo Kim		main {
171287cce71SMilo Kim			label = "main_lcd";
172287cce71SMilo Kim			led-sources = <1 2>;
1732f230f30SDan Murphy			ramp-up-us = <500000>;
1742f230f30SDan Murphy			ramp-down-us = <500000>;
175287cce71SMilo Kim		};
176287cce71SMilo Kim
177287cce71SMilo Kim		front {
178287cce71SMilo Kim			label = "front_lcd";
179287cce71SMilo Kim			led-sources = <0>;
1802f230f30SDan Murphy			ramp-up-us = <1000000>;
1812f230f30SDan Murphy			ramp-down-us = <0>;
182287cce71SMilo Kim		};
183287cce71SMilo Kim	};
184287cce71SMilo Kim
185287cce71SMilo Kim	leds {
186287cce71SMilo Kim		compatible = "ti,lm3633-leds";
187287cce71SMilo Kim
188287cce71SMilo Kim		chan1 {
189287cce71SMilo Kim			label = "status";
190287cce71SMilo Kim			led-sources = <1>;
191287cce71SMilo Kim			led-max-microamp = <6000>;
192287cce71SMilo Kim		};
193287cce71SMilo Kim
194287cce71SMilo Kim		chan345 {
195287cce71SMilo Kim			label = "rgb";
196287cce71SMilo Kim			led-sources = <3 4 5>;
197287cce71SMilo Kim			led-max-microamp = <10000>;
198287cce71SMilo Kim		};
199287cce71SMilo Kim	};
200287cce71SMilo Kim
201287cce71SMilo Kim	fault-monitor {
202287cce71SMilo Kim		compatible = "ti,lm3633-fault-monitor";
203287cce71SMilo Kim	};
204287cce71SMilo Kim};
205287cce71SMilo Kim
206287cce71SMilo Kimlm3695@63 {
207287cce71SMilo Kim	compatible = "ti,lm3695";
208287cce71SMilo Kim	reg = <0x63>;
209287cce71SMilo Kim
210287cce71SMilo Kim	enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
211287cce71SMilo Kim
212287cce71SMilo Kim	backlight {
213287cce71SMilo Kim		compatible = "ti,lm3695-backlight";
214287cce71SMilo Kim
215287cce71SMilo Kim		lcd {
216287cce71SMilo Kim			label = "bl";
217287cce71SMilo Kim			led-sources = <0 1>;
218287cce71SMilo Kim		};
219287cce71SMilo Kim	};
220287cce71SMilo Kim};
221*46657432SDan Murphy
222*46657432SDan Murphylm36274@11 {
223*46657432SDan Murphy	compatible = "ti,lm36274";
224*46657432SDan Murphy	#address-cells = <1>;
225*46657432SDan Murphy	#size-cells = <0>;
226*46657432SDan Murphy	reg = <0x11>;
227*46657432SDan Murphy
228*46657432SDan Murphy	enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
229*46657432SDan Murphy	regulators {
230*46657432SDan Murphy		#address-cells = <1>;
231*46657432SDan Murphy		#size-cells = <0>;
232*46657432SDan Murphy		compatible = "ti,lm363x-regulator";
233*46657432SDan Murphy
234*46657432SDan Murphy		enable-gpios = <&pioC 0 GPIO_ACTIVE_HIGH>,
235*46657432SDan Murphy			       <&pioC 1 GPIO_ACTIVE_HIGH>;
236*46657432SDan Murphy
237*46657432SDan Murphy		vboost {
238*46657432SDan Murphy			regulator-name = "lcd_boost";
239*46657432SDan Murphy			regulator-min-microvolt = <4000000>;
240*46657432SDan Murphy			regulator-max-microvolt = <7150000>;
241*46657432SDan Murphy			regulator-always-on;
242*46657432SDan Murphy		};
243*46657432SDan Murphy
244*46657432SDan Murphy		vpos {
245*46657432SDan Murphy			regulator-name = "lcd_vpos";
246*46657432SDan Murphy			regulator-min-microvolt = <4000000>;
247*46657432SDan Murphy			regulator-max-microvolt = <6500000>;
248*46657432SDan Murphy		};
249*46657432SDan Murphy
250*46657432SDan Murphy		vneg {
251*46657432SDan Murphy			regulator-name = "lcd_vneg";
252*46657432SDan Murphy			regulator-min-microvolt = <4000000>;
253*46657432SDan Murphy			regulator-max-microvolt = <6500000>;
254*46657432SDan Murphy		};
255*46657432SDan Murphy	};
256*46657432SDan Murphy
257*46657432SDan Murphy	backlight {
258*46657432SDan Murphy		#address-cells = <1>;
259*46657432SDan Murphy		#size-cells = <0>;
260*46657432SDan Murphy		compatible = "ti,lm36274-backlight";
261*46657432SDan Murphy
262*46657432SDan Murphy		led@0 {
263*46657432SDan Murphy			reg = <0>;
264*46657432SDan Murphy			led-sources = <0 2>;
265*46657432SDan Murphy			label = "white:backlight_cluster";
266*46657432SDan Murphy			linux,default-trigger = "backlight";
267*46657432SDan Murphy		};
268*46657432SDan Murphy	};
269*46657432SDan Murphy};
270