blob: 097490a5ff91206ce8c8f0fe0a093a043f089416 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001* 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