xref: /linux/Documentation/devicetree/bindings/leds/ti,lm3697.yaml (revision c17ee635fd3a482b2ad2bf5e269755c2eae5f25e)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/leds/ti,lm3697.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TI LM3697 Highly Efficient White LED Driver
8
9maintainers:
10  - Dan Murphy <dmurphy@ti.com>
11
12description: >
13  The LM3697 11-bit LED driver provides high-performance backlight dimming for
14  1, 2, or 3 series LED strings while delivering up to 90% efficiency.
15
16  This device is suitable for display and keypad lighting.
17
18properties:
19  compatible:
20    const: ti,lm3697
21
22  reg:
23    maxItems: 1
24
25  '#address-cells':
26    const: 1
27
28  '#size-cells':
29    const: 0
30
31  enable-gpios:
32    description: GPIO pin to enable or disable the device.
33    maxItems: 1
34
35  vled-supply:
36    description: LED supply for the device.
37
38patternProperties:
39  '^led@[01]$':
40    description: LED control bank nodes.
41    $ref: common.yaml#
42    unevaluatedProperties: false
43
44    properties:
45      reg:
46        description: Control bank selection (0 = bank A, 1 = bank B).
47        maximum: 1
48
49      led-sources:
50        description: >
51          HVLED strings associated with this control bank:
52
53            0 - HVLED1
54            1 - HVLED2
55            2 - HVLED3
56        minItems: 1
57        maxItems: 3
58        items:
59          maximum: 2
60
61      ti,brightness-resolution:
62        description: Brightness resolution for the LED string.
63        $ref: /schemas/types.yaml#/definitions/uint32
64        maximum: 2047
65
66      ramp-up-us:
67        description: Ramp-up time in microseconds.
68        minimum: 117
69        maximum: 2048
70
71      ramp-down-us:
72        description: Ramp-down time in microseconds.
73        minimum: 117
74        maximum: 2048
75
76    required:
77      - reg
78      - led-sources
79
80required:
81  - compatible
82  - reg
83  - '#address-cells'
84  - '#size-cells'
85
86additionalProperties: false
87
88examples:
89  - |
90    #include <dt-bindings/gpio/gpio.h>
91
92    i2c {
93        #address-cells = <1>;
94        #size-cells = <0>;
95
96        led-controller@36 {
97            compatible = "ti,lm3697";
98            #address-cells = <1>;
99            #size-cells = <0>;
100            reg = <0x36>;
101
102            enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
103            vled-supply = <&vbatt>;
104
105            led@0 {
106                reg = <0>;
107                led-sources = <0 2>;
108                ti,brightness-resolution = <2047>;
109                ramp-up-us = <500>;
110                ramp-down-us = <1000>;
111                label = "white:first_backlight_cluster";
112                linux,default-trigger = "backlight";
113            };
114
115            led@1 {
116                reg = <1>;
117                led-sources = <1>;
118                ti,brightness-resolution = <255>;
119                ramp-up-us = <500>;
120                ramp-down-us = <1000>;
121                label = "white:second_backlight_cluster";
122                linux,default-trigger = "backlight";
123            };
124        };
125    };
126