path: root/dts/Bindings/leds/leds-lm3532.txt
blob: 097490a5ff91206ce8c8f0fe0a093a043f089416 (plain) (tree)




* Texas Instruments - lm3532 White LED driver with ambient light sensing

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
			   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.

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: