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