mirror of https://gitee.com/openkylin/linux.git
102 lines
3.4 KiB
Plaintext
102 lines
3.4 KiB
Plaintext
* 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
|
|
|
|
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>;
|
|
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:
|
|
http://www.ti.com/product/LM3532
|