GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / leds / leds-lp50xx.yaml
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
7 title: LED driver for LP50XX RGB LED from Texas Instruments.
8
9 maintainers:
10   - Andrew Davis <afd@ti.com>
11
12 description: |
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
24 properties:
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
55 patternProperties:
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
89 required:
90   - compatible
91   - reg
92
93 additionalProperties: false
94
95 examples:
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 ...