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