GNU Linux-libre 5.19-rc6-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   - Dan Murphy <dmurphy@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     properties:
60       reg:
61         minItems: 1
62         maxItems: 12
63         description:
64           This property denotes the LED module number(s) that is used on the
65           for the child node.  The LED modules can either be used stand alone
66           or grouped into a module bank.
67
68     patternProperties:
69       "(^led-[0-9a-f]$|led)":
70         type: object
71         $ref: common.yaml#
72
73 required:
74   - compatible
75   - reg
76
77 additionalProperties: false
78
79 examples:
80   - |
81    #include <dt-bindings/gpio/gpio.h>
82    #include <dt-bindings/leds/common.h>
83
84    i2c {
85        #address-cells = <1>;
86        #size-cells = <0>;
87
88        led-controller@14 {
89            compatible = "ti,lp5009";
90            reg = <0x14>;
91            #address-cells = <1>;
92            #size-cells = <0>;
93            enable-gpios = <&gpio1 16>;
94
95            multi-led@1 {
96                #address-cells = <1>;
97                #size-cells = <0>;
98                reg = <0x1>;
99                color = <LED_COLOR_ID_RGB>;
100                function = LED_FUNCTION_CHARGING;
101
102                led-0 {
103                    color = <LED_COLOR_ID_RED>;
104                };
105
106                led-1 {
107                    color = <LED_COLOR_ID_GREEN>;
108                };
109
110                led-2 {
111                    color = <LED_COLOR_ID_BLUE>;
112                };
113           };
114
115           multi-led@2 {
116             #address-cells = <1>;
117             #size-cells = <2>;
118             reg = <0x2 0x3 0x5>;
119             color = <LED_COLOR_ID_RGB>;
120             function = LED_FUNCTION_STANDBY;
121
122             led-6 {
123               color = <LED_COLOR_ID_RED>;
124             };
125
126             led-7 {
127               color = <LED_COLOR_ID_GREEN>;
128             };
129
130             led-8 {
131               color = <LED_COLOR_ID_BLUE>;
132             };
133          };
134        };
135     };
136
137 ...