xref: /linux/Documentation/devicetree/bindings/leds/ti,lp5812.yaml (revision c17ee635fd3a482b2ad2bf5e269755c2eae5f25e)
1*2fe4df9fSNam Tran# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*2fe4df9fSNam Tran%YAML 1.2
3*2fe4df9fSNam Tran---
4*2fe4df9fSNam Tran$id: http://devicetree.org/schemas/leds/ti,lp5812.yaml#
5*2fe4df9fSNam Tran$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2fe4df9fSNam Tran
7*2fe4df9fSNam Trantitle: TI LP5812 4x3 Matrix RGB LED Driver with Autonomous Control
8*2fe4df9fSNam Tran
9*2fe4df9fSNam Tranmaintainers:
10*2fe4df9fSNam Tran  - Nam Tran <trannamatk@gmail.com>
11*2fe4df9fSNam Tran
12*2fe4df9fSNam Trandescription: |
13*2fe4df9fSNam Tran  The LP5812 is a 4x3 matrix RGB LED driver with I2C interface
14*2fe4df9fSNam Tran  and autonomous animation engine control.
15*2fe4df9fSNam Tran  For more product information please see the link below:
16*2fe4df9fSNam Tran  https://www.ti.com/product/LP5812#tech-docs
17*2fe4df9fSNam Tran
18*2fe4df9fSNam Tranproperties:
19*2fe4df9fSNam Tran  compatible:
20*2fe4df9fSNam Tran    const: ti,lp5812
21*2fe4df9fSNam Tran
22*2fe4df9fSNam Tran  reg:
23*2fe4df9fSNam Tran    maxItems: 1
24*2fe4df9fSNam Tran
25*2fe4df9fSNam Tran  ti,scan-mode:
26*2fe4df9fSNam Tran    description: |
27*2fe4df9fSNam Tran      Selects the LED scan mode of the LP5812. The device supports
28*2fe4df9fSNam Tran      three modes:
29*2fe4df9fSNam Tran        - Direct-drive mode (by default if 'ti,scan-mode' is omitted)
30*2fe4df9fSNam Tran        drives up to 4 LEDs directly by internal current sinks (LED0-LED3).
31*2fe4df9fSNam Tran        - TCM-drive mode ("tcm:<n>:<order...>") drives up to 12 LEDs
32*2fe4df9fSNam Tran        (4 RGB) using 1-4 scan multiplexing. The <n> specifies the number
33*2fe4df9fSNam Tran        of scans (1-4), and <order...> defines the scan order of the outputs.
34*2fe4df9fSNam Tran        - Mix-drive mode ("mix:<n>:<direct>:<order...>") combines
35*2fe4df9fSNam Tran        direct-drive and TCM-drive outputs. The <n> specifies the number
36*2fe4df9fSNam Tran        of scans, <direct> selects the direct-drive outputs, and <order...>
37*2fe4df9fSNam Tran        defines the scan order.
38*2fe4df9fSNam Tran    $ref: /schemas/types.yaml#/definitions/string
39*2fe4df9fSNam Tran    pattern: '^(tcm|mix):[1-4](:[0-3]){1,4}$'
40*2fe4df9fSNam Tran
41*2fe4df9fSNam Tran  vcc-supply:
42*2fe4df9fSNam Tran    description: Regulator providing power to the 'VCC' pin.
43*2fe4df9fSNam Tran
44*2fe4df9fSNam Tran  "#address-cells":
45*2fe4df9fSNam Tran    const: 1
46*2fe4df9fSNam Tran
47*2fe4df9fSNam Tran  "#size-cells":
48*2fe4df9fSNam Tran    const: 0
49*2fe4df9fSNam Tran
50*2fe4df9fSNam TranpatternProperties:
51*2fe4df9fSNam Tran  "^led@[0-3]$":
52*2fe4df9fSNam Tran    type: object
53*2fe4df9fSNam Tran    $ref: common.yaml#
54*2fe4df9fSNam Tran    unevaluatedProperties: false
55*2fe4df9fSNam Tran
56*2fe4df9fSNam Tran    properties:
57*2fe4df9fSNam Tran      reg:
58*2fe4df9fSNam Tran        minimum: 0
59*2fe4df9fSNam Tran        maximum: 3
60*2fe4df9fSNam Tran
61*2fe4df9fSNam Tran    required:
62*2fe4df9fSNam Tran      - reg
63*2fe4df9fSNam Tran
64*2fe4df9fSNam Tran  "^multi-led@[4-7]$":
65*2fe4df9fSNam Tran    type: object
66*2fe4df9fSNam Tran    $ref: leds-class-multicolor.yaml#
67*2fe4df9fSNam Tran    unevaluatedProperties: false
68*2fe4df9fSNam Tran
69*2fe4df9fSNam Tran    properties:
70*2fe4df9fSNam Tran      reg:
71*2fe4df9fSNam Tran        minimum: 4
72*2fe4df9fSNam Tran        maximum: 7
73*2fe4df9fSNam Tran
74*2fe4df9fSNam Tran      "#address-cells":
75*2fe4df9fSNam Tran        const: 1
76*2fe4df9fSNam Tran
77*2fe4df9fSNam Tran      "#size-cells":
78*2fe4df9fSNam Tran        const: 0
79*2fe4df9fSNam Tran
80*2fe4df9fSNam Tran    patternProperties:
81*2fe4df9fSNam Tran      "^led@[4-9a-f]$":
82*2fe4df9fSNam Tran        type: object
83*2fe4df9fSNam Tran        $ref: common.yaml#
84*2fe4df9fSNam Tran        unevaluatedProperties: false
85*2fe4df9fSNam Tran
86*2fe4df9fSNam Tran        properties:
87*2fe4df9fSNam Tran          reg:
88*2fe4df9fSNam Tran            minimum: 4
89*2fe4df9fSNam Tran            maximum: 15
90*2fe4df9fSNam Tran
91*2fe4df9fSNam Tran        required:
92*2fe4df9fSNam Tran          - reg
93*2fe4df9fSNam Tran
94*2fe4df9fSNam Tranrequired:
95*2fe4df9fSNam Tran  - compatible
96*2fe4df9fSNam Tran  - reg
97*2fe4df9fSNam Tran
98*2fe4df9fSNam TranadditionalProperties: false
99*2fe4df9fSNam Tran
100*2fe4df9fSNam Tranexamples:
101*2fe4df9fSNam Tran  - |
102*2fe4df9fSNam Tran    #include <dt-bindings/leds/common.h>
103*2fe4df9fSNam Tran
104*2fe4df9fSNam Tran    i2c {
105*2fe4df9fSNam Tran        #address-cells = <1>;
106*2fe4df9fSNam Tran        #size-cells = <0>;
107*2fe4df9fSNam Tran
108*2fe4df9fSNam Tran        led-controller@1b {
109*2fe4df9fSNam Tran            #address-cells = <1>;
110*2fe4df9fSNam Tran            #size-cells = <0>;
111*2fe4df9fSNam Tran            compatible = "ti,lp5812";
112*2fe4df9fSNam Tran            reg = <0x1b>;
113*2fe4df9fSNam Tran            ti,scan-mode = "tcm:4:0:1:2:3";
114*2fe4df9fSNam Tran            vcc-supply = <&vdd_3v3_reg>;
115*2fe4df9fSNam Tran
116*2fe4df9fSNam Tran            led@0 {
117*2fe4df9fSNam Tran                reg = <0x0>;
118*2fe4df9fSNam Tran                label = "LED0";
119*2fe4df9fSNam Tran                led-max-microamp = <25500>;
120*2fe4df9fSNam Tran            };
121*2fe4df9fSNam Tran
122*2fe4df9fSNam Tran            led@1 {
123*2fe4df9fSNam Tran                reg = <0x1>;
124*2fe4df9fSNam Tran                label = "LED1";
125*2fe4df9fSNam Tran                led-max-microamp = <25500>;
126*2fe4df9fSNam Tran            };
127*2fe4df9fSNam Tran
128*2fe4df9fSNam Tran            led@2 {
129*2fe4df9fSNam Tran                reg = <0x2>;
130*2fe4df9fSNam Tran                label = "LED2";
131*2fe4df9fSNam Tran                led-max-microamp = <25500>;
132*2fe4df9fSNam Tran            };
133*2fe4df9fSNam Tran
134*2fe4df9fSNam Tran            led@3 {
135*2fe4df9fSNam Tran                reg = <0x3>;
136*2fe4df9fSNam Tran                label = "LED3";
137*2fe4df9fSNam Tran                led-max-microamp = <25500>;
138*2fe4df9fSNam Tran            };
139*2fe4df9fSNam Tran
140*2fe4df9fSNam Tran            multi-led@4 {
141*2fe4df9fSNam Tran                #address-cells = <1>;
142*2fe4df9fSNam Tran                #size-cells = <0>;
143*2fe4df9fSNam Tran                reg = <0x4>;
144*2fe4df9fSNam Tran                color = <LED_COLOR_ID_RGB>;
145*2fe4df9fSNam Tran                label = "LED_A";
146*2fe4df9fSNam Tran
147*2fe4df9fSNam Tran                led@4 {
148*2fe4df9fSNam Tran                    reg = <0x4>;
149*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_GREEN>;
150*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
151*2fe4df9fSNam Tran                };
152*2fe4df9fSNam Tran
153*2fe4df9fSNam Tran                led@5 {
154*2fe4df9fSNam Tran                    reg = <0x5>;
155*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_RED>;
156*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
157*2fe4df9fSNam Tran                };
158*2fe4df9fSNam Tran
159*2fe4df9fSNam Tran                led@6 {
160*2fe4df9fSNam Tran                    reg = <0x6>;
161*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_BLUE>;
162*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
163*2fe4df9fSNam Tran                };
164*2fe4df9fSNam Tran            };
165*2fe4df9fSNam Tran
166*2fe4df9fSNam Tran            multi-led@5 {
167*2fe4df9fSNam Tran                #address-cells = <1>;
168*2fe4df9fSNam Tran                #size-cells = <0>;
169*2fe4df9fSNam Tran                reg = <0x5>;
170*2fe4df9fSNam Tran                color = <LED_COLOR_ID_RGB>;
171*2fe4df9fSNam Tran                label = "LED_B";
172*2fe4df9fSNam Tran
173*2fe4df9fSNam Tran                led@7 {
174*2fe4df9fSNam Tran                    reg = <0x7>;
175*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_GREEN>;
176*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
177*2fe4df9fSNam Tran                };
178*2fe4df9fSNam Tran
179*2fe4df9fSNam Tran                led@8 {
180*2fe4df9fSNam Tran                    reg = <0x8>;
181*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_RED>;
182*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
183*2fe4df9fSNam Tran                };
184*2fe4df9fSNam Tran
185*2fe4df9fSNam Tran                led@9 {
186*2fe4df9fSNam Tran                    reg = <0x9>;
187*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_BLUE>;
188*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
189*2fe4df9fSNam Tran                };
190*2fe4df9fSNam Tran            };
191*2fe4df9fSNam Tran
192*2fe4df9fSNam Tran            multi-led@6 {
193*2fe4df9fSNam Tran                #address-cells = <1>;
194*2fe4df9fSNam Tran                #size-cells = <0>;
195*2fe4df9fSNam Tran                reg = <0x6>;
196*2fe4df9fSNam Tran                color = <LED_COLOR_ID_RGB>;
197*2fe4df9fSNam Tran                label = "LED_C";
198*2fe4df9fSNam Tran
199*2fe4df9fSNam Tran                led@a {
200*2fe4df9fSNam Tran                    reg = <0xa>;
201*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_GREEN>;
202*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
203*2fe4df9fSNam Tran                };
204*2fe4df9fSNam Tran
205*2fe4df9fSNam Tran                led@b {
206*2fe4df9fSNam Tran                    reg = <0xb>;
207*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_RED>;
208*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
209*2fe4df9fSNam Tran                };
210*2fe4df9fSNam Tran
211*2fe4df9fSNam Tran                led@c {
212*2fe4df9fSNam Tran                    reg = <0xc>;
213*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_BLUE>;
214*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
215*2fe4df9fSNam Tran                };
216*2fe4df9fSNam Tran            };
217*2fe4df9fSNam Tran
218*2fe4df9fSNam Tran            multi-led@7 {
219*2fe4df9fSNam Tran                #address-cells = <1>;
220*2fe4df9fSNam Tran                #size-cells = <0>;
221*2fe4df9fSNam Tran                reg = <0x7>;
222*2fe4df9fSNam Tran                color = <LED_COLOR_ID_RGB>;
223*2fe4df9fSNam Tran                label = "LED_D";
224*2fe4df9fSNam Tran
225*2fe4df9fSNam Tran                led@d {
226*2fe4df9fSNam Tran                    reg = <0xd>;
227*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_GREEN>;
228*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
229*2fe4df9fSNam Tran                };
230*2fe4df9fSNam Tran
231*2fe4df9fSNam Tran                led@e {
232*2fe4df9fSNam Tran                    reg = <0xe>;
233*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_RED>;
234*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
235*2fe4df9fSNam Tran                };
236*2fe4df9fSNam Tran
237*2fe4df9fSNam Tran                led@f {
238*2fe4df9fSNam Tran                    reg = <0xf>;
239*2fe4df9fSNam Tran                    color = <LED_COLOR_ID_BLUE>;
240*2fe4df9fSNam Tran                    led-max-microamp = <25500>;
241*2fe4df9fSNam Tran                };
242*2fe4df9fSNam Tran            };
243*2fe4df9fSNam Tran        };
244*2fe4df9fSNam Tran    };
245*2fe4df9fSNam Tran
246*2fe4df9fSNam Tran...
247