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