xref: /freebsd/sys/contrib/device-tree/Bindings/leds/leds-lm3532.txt (revision 8aac90f18aef7c9eea906c3ff9a001ca7b94f375)
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	- led-max-microamp : Defines the full scale current value for each control
66			  bank.  The range is from 5000uA-29800uA in increments
67			  of 800uA.
68
69Example:
70led-controller@38 {
71	compatible = "ti,lm3532";
72	#address-cells = <1>;
73	#size-cells = <0>;
74	reg = <0x38>;
75
76	enable-gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
77	ramp-up-us = <1024>;
78	ramp-down-us = <65536>;
79
80	ti,als-vmin = <0>;
81	ti,als-vmax = <2000>;
82	ti,als1-imp-sel = <4110>;
83	ti,als2-imp-sel = <2180>;
84	ti,als-avrg-time-us = <17920>;
85	ti,als-input-mode = <0x00>;
86
87	led@0 {
88		reg = <0>;
89		led-sources = <2>;
90		ti,led-mode = <1>;
91		led-max-microamp = <21800>;
92		label = ":backlight";
93		linux,default-trigger = "backlight";
94	};
95
96	led@1 {
97		reg = <1>;
98		led-sources = <1>;
99		ti,led-mode = <0>;
100		label = ":kbd_backlight";
101	};
102};
103
104For more product information please see the links below:
105https://www.ti.com/product/LM3532
106