* Texas Instruments - lm3532 White LED driver with ambient light sensing
capability.
The LM3532 provides the
3 high-voltage, low-side current sinks. The device is
programmable over an I2C-compatible interface and has independent
current control for all three channels. The adaptive current regulation
method allows for different LED currents in each current sink thus allowing
for a wide variety of backlight and keypad applications.
The main features of the LM3532 include dual ambient light sensor inputs
each with
32 internal voltage setting resistors,
8-bit logarithmic and linear
brightness control, dual external PWM brightness control inputs, and up to
1000:
1 dimming ratio with programmable fade in and fade out settings.
Required properties:
- compatible : "ti,lm3532"
- reg : I2C slave address
- #address-cells :
1
- #size-cells :
0
Optional properties:
- enable-gpios : gpio pin to enable (active high)/disable the device.
- ramp-up-us - The Run time ramp rates/step are from one current
set-point to another after the device has reached its
initial target set point from turn-on
- ramp-down-us - The Run time ramp rates/step are from one current
set-point to another after the device has reached its
initial target set point from turn-on
Range for ramp settings:
8us -
65536us
Optional properties if ALS mode is used:
- ti,als-vmin - Minimum ALS voltage defined in Volts
- ti,als-vmax - Maximum ALS voltage defined in Volts
Per the data sheet the max ALS voltage is
2V and the min is
0V
- ti,als1-imp-sel - ALS1 impedance resistor selection in Ohms
- ti,als2-imp-sel - ALS2 impedance resistor selection in Ohms
Range for impedance select:
37000 Ohms -
1190 Ohms
Values above
37kohms will be set to the "High Impedance" setting
- ti,als-avrg-time-us - Determines the length of time the device needs to
average the two ALS inputs. This is only used if
the input mode is LM3532_ALS_INPUT_AVRG.
Range:
17920us -
2293760us
- ti,als-input-mode - Determines how the device uses the attached ALS
devices.
0x00 - ALS1 and ALS2 input average
0x01 - ALS1 Input
0x02 - ALS2 Input
0x03 - Max of ALS1 and ALS2
Required child properties:
- reg : Indicates control bank the LED string is controlled by
- led-sources : see Documentation/devicetree/bindings/leds/common.txt
- ti,led-mode : Defines if the LED strings are manually controlled or
if the LED strings are controlled by the ALS.
0x00 - LED strings are I2C controlled via full scale
brightness control register
0x01 - LED strings are ALS controlled
Optional LED child properties:
- label : see Documentation/devicetree/bindings/leds/common.txt
- linux,default-trigger :
see Documentation/devicetree/bindings/leds/common.txt
- led-max-microamp : Defines the full scale current value for each control
bank. The range is from
5000uA-
29800uA in increments
of
800uA.
Example:
led-controller@
38 {
compatible = "ti,lm3532";
#address-cells = <
1>;
#size-cells = <
0>;
reg = <
0x38>;
enable-gpios = <&gpio6
12 GPIO_ACTIVE_HIGH>;
ramp-up-us = <
1024>;
ramp-down-us = <
65536>;
ti,als-vmin = <
0>;
ti,als-vmax = <
2000>;
ti,als1-imp-sel = <
4110>;
ti,als2-imp-sel = <
2180>;
ti,als-avrg-time-us = <
17920>;
ti,als-input-mode = <
0x00>;
led@
0 {
reg = <
0>;
led-sources = <
2>;
ti,led-mode = <
1>;
led-max-microamp = <
21800>;
label = ":backlight";
linux,default-trigger = "backlight";
};
led@
1 {
reg = <
1>;
led-sources = <
1>;
ti,led-mode = <
0>;
label = ":kbd_backlight";
};
};
For more product information please see the links below:
https://www.ti.com/product/LM3532