Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame^] | 1 | * Texas Instruments - lm3532 White LED driver with ambient light sensing |
| 2 | capability. |
| 3 | |
| 4 | The LM3532 provides the 3 high-voltage, low-side current sinks. The device is |
| 5 | programmable over an I2C-compatible interface and has independent |
| 6 | current control for all three channels. The adaptive current regulation |
| 7 | method allows for different LED currents in each current sink thus allowing |
| 8 | for a wide variety of backlight and keypad applications. |
| 9 | |
| 10 | The main features of the LM3532 include dual ambient light sensor inputs |
| 11 | each with 32 internal voltage setting resistors, 8-bit logarithmic and linear |
| 12 | brightness control, dual external PWM brightness control inputs, and up to |
| 13 | 1000:1 dimming ratio with programmable fade in and fade out settings. |
| 14 | |
| 15 | Required properties: |
| 16 | - compatible : "ti,lm3532" |
| 17 | - reg : I2C slave address |
| 18 | - #address-cells : 1 |
| 19 | - #size-cells : 0 |
| 20 | |
| 21 | Optional 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 | |
| 31 | Optional 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 | |
| 52 | Required 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 | |
| 61 | Optional 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 | |
| 69 | Example: |
| 70 | led-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 | |
| 104 | For more product information please see the links below: |
| 105 | https://www.ti.com/product/LM3532 |