xref: /linux/Documentation/devicetree/bindings/leds/leds-lm3532.txt (revision b8d312aa075f33282565467662c4628dae0a2aff)
1* Texas Instruments - lm3532 White LED driver with ambient light sensing
2capability.
3
4The LM3532 provides the 3 high-voltage, low-side current sinks. The device is
5programmable over an I2C-compatible interface and has independent
6current control for all three channels. The adaptive current regulation
7method allows for different LED currents in each current sink thus allowing
8for a wide variety of backlight and keypad applications.
9
10The main features of the LM3532 include dual ambient light sensor inputs
11each with 32 internal voltage setting resistors, 8-bit logarithmic and linear
12brightness control, dual external PWM brightness control inputs, and up to
131000:1 dimming ratio with programmable fade in and fade out settings.
14
15Required properties:
16	- compatible : "ti,lm3532"
17	- reg : I2C slave address
18	- #address-cells : 1
19	- #size-cells : 0
20
21Optional properties:
22	- enable-gpios : gpio pin to enable (active high)/disable the device.
23	- ramp-up-us - The Run time ramp rates/step are from one current
24		       set-point to another after the device has reached its
25		       initial target set point from turn-on
26	- ramp-down-us - The Run time ramp rates/step are from one current
27			 set-point to another after the device has reached its
28			 initial target set point from turn-on
29	Range for ramp settings: 8us - 65536us
30
31Optional properties if ALS mode is used:
32	- ti,als-vmin - Minimum ALS voltage defined in Volts
33	- ti,als-vmax - Maximum ALS voltage defined in Volts
34	Per the data sheet the max ALS voltage is 2V and the min is 0V
35
36	- ti,als1-imp-sel - ALS1 impedance resistor selection in Ohms
37	- ti,als2-imp-sel - ALS2 impedance resistor selection in Ohms
38	Range for impedance select: 37000 Ohms - 1190 Ohms
39	Values above 37kohms will be set to the "High Impedance" setting
40
41	- ti,als-avrg-time-us - Determines the length of time the device needs to
42			  average the two ALS inputs.  This is only used if
43			  the input mode is LM3532_ALS_INPUT_AVRG.
44			     Range: 17920us - 2293760us
45	- ti,als-input-mode - Determines how the device uses the attached ALS
46			   devices.
47			   0x00 - ALS1 and ALS2 input average
48			   0x01 - ALS1 Input
49			   0x02 - ALS2 Input
50			   0x03 - Max of ALS1 and ALS2
51
52Required child properties:
53	- reg : Indicates control bank the LED string is controlled by
54	- led-sources : see Documentation/devicetree/bindings/leds/common.txt
55	- ti,led-mode : Defines if the LED strings are manually controlled or
56			if the LED strings are controlled by the ALS.
57			0x00 - LED strings are I2C controlled via full scale
58			       brightness control register
59			0x01 - LED strings are ALS controlled
60
61Optional LED child properties:
62	- label : see Documentation/devicetree/bindings/leds/common.txt
63	- linux,default-trigger :
64	   see Documentation/devicetree/bindings/leds/common.txt
65
66Example:
67led-controller@38 {
68	compatible = "ti,lm3532";
69	#address-cells = <1>;
70	#size-cells = <0>;
71	reg = <0x38>;
72
73	enable-gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
74	ramp-up-us = <1024>;
75	ramp-down-us = <65536>;
76
77	ti,als-vmin = <0>;
78	ti,als-vmax = <2000>;
79	ti,als1-imp-sel = <4110>;
80	ti,als2-imp-sel = <2180>;
81	ti,als-avrg-time-us = <17920>;
82	ti,als-input-mode = <0x00>;
83
84	led@0 {
85		reg = <0>;
86		led-sources = <2>;
87		ti,led-mode = <1>;
88		label = ":backlight";
89		linux,default-trigger = "backlight";
90	};
91
92	led@1 {
93		reg = <1>;
94		led-sources = <1>;
95		ti,led-mode = <0>;
96		label = ":kbd_backlight";
97	};
98};
99
100For more product information please see the links below:
101http://www.ti.com/product/LM3532
102