1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/leds/leds-lp50xx.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: LED driver for LP50XX RGB LED from Texas Instruments.
8
9maintainers:
10  - Andrew Davis <afd@ti.com>
11
12description: |
13  The LP50XX is multi-channel, I2C RGB LED Drivers that can group RGB LEDs into
14  a LED group or control them individually.
15
16  The difference in these RGB LED drivers is the number of supported RGB
17  modules.
18
19  For more product information please see the link below:
20  https://www.ti.com/lit/ds/symlink/lp5012.pdf
21  https://www.ti.com/lit/ds/symlink/lp5024.pdf
22  https://www.ti.com/lit/ds/symlink/lp5036.pdf
23
24properties:
25  compatible:
26    enum:
27      - ti,lp5009
28      - ti,lp5012
29      - ti,lp5018
30      - ti,lp5024
31      - ti,lp5030
32      - ti,lp5036
33
34  reg:
35    maxItems: 1
36    description:
37      I2C slave address
38      lp5009/12 - 0x14, 0x15, 0x16, 0x17
39      lp5018/24 - 0x28, 0x29, 0x2a, 0x2b
40      lp5030/36 - 0x30, 0x31, 0x32, 0x33
41
42  enable-gpios:
43    maxItems: 1
44    description: GPIO pin to enable/disable the device.
45
46  vled-supply:
47    description: LED supply.
48
49  '#address-cells':
50    const: 1
51
52  '#size-cells':
53    const: 0
54
55patternProperties:
56  '^multi-led@[0-9a-f]$':
57    type: object
58    $ref: leds-class-multicolor.yaml#
59    unevaluatedProperties: false
60
61    properties:
62      reg:
63        minItems: 1
64        maxItems: 12
65        description:
66          This property denotes the LED module number(s) that is used on the
67          for the child node.  The LED modules can either be used stand alone
68          or grouped into a module bank.
69
70      '#address-cells':
71        const: 1
72
73      '#size-cells':
74        const: 0
75
76    patternProperties:
77      "^led@[0-9a-f]+$":
78        type: object
79        $ref: common.yaml#
80        unevaluatedProperties: false
81
82        properties:
83          reg:
84            maxItems: 1
85
86        required:
87          - reg
88
89required:
90  - compatible
91  - reg
92
93additionalProperties: false
94
95examples:
96  - |
97    #include <dt-bindings/gpio/gpio.h>
98    #include <dt-bindings/leds/common.h>
99
100    i2c {
101        #address-cells = <1>;
102        #size-cells = <0>;
103
104        led-controller@14 {
105            compatible = "ti,lp5009";
106            reg = <0x14>;
107            #address-cells = <1>;
108            #size-cells = <0>;
109            enable-gpios = <&gpio1 16>;
110
111            multi-led@1 {
112                #address-cells = <1>;
113                #size-cells = <0>;
114                reg = <0x1>;
115                color = <LED_COLOR_ID_RGB>;
116                function = LED_FUNCTION_CHARGING;
117
118                led@0 {
119                     reg = <0x0>;
120                     color = <LED_COLOR_ID_RED>;
121                };
122
123                led@1 {
124                     reg = <0x1>;
125                     color = <LED_COLOR_ID_GREEN>;
126                };
127
128                led@2 {
129                     reg = <0x2>;
130                     color = <LED_COLOR_ID_BLUE>;
131                };
132            };
133
134            multi-led@3 {
135                #address-cells = <1>;
136                #size-cells = <0>;
137                reg = <0x3>, <0x4>, <0x5>;
138                color = <LED_COLOR_ID_RGB>;
139                function = LED_FUNCTION_STANDBY;
140
141                led@3 {
142                    reg = <0x3>;
143                    color = <LED_COLOR_ID_RED>;
144                };
145
146                led@4 {
147                    reg = <0x4>;
148                    color = <LED_COLOR_ID_GREEN>;
149                };
150
151                led@5 {
152                    reg = <0x5>;
153                    color = <LED_COLOR_ID_BLUE>;
154                };
155            };
156        };
157    };
158
159...
160