1a89d385dSDan Murphy# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2a89d385dSDan Murphy%YAML 1.2
3a89d385dSDan Murphy---
4a89d385dSDan Murphy$id: http://devicetree.org/schemas/leds/leds-lp55xx.yaml#
5a89d385dSDan Murphy$schema: http://devicetree.org/meta-schemas/core.yaml#
6a89d385dSDan Murphy
7a89d385dSDan Murphytitle: TI/National Semiconductor LP55xx and LP8501 LED Drivers
8a89d385dSDan Murphy
9a89d385dSDan Murphymaintainers:
10a89d385dSDan Murphy  - Jacek Anaszewski <jacek.anaszewski@gmail.com>
11a89d385dSDan Murphy  - Pavel Machek <pavel@ucw.cz>
12a89d385dSDan Murphy
13a89d385dSDan Murphydescription: |
14a89d385dSDan Murphy  Bindings for the TI/National Semiconductor LP55xx and LP8501 multi channel
15a89d385dSDan Murphy  LED Drivers.
16a89d385dSDan Murphy
17a89d385dSDan Murphy  For more product information please see the link below:
18a89d385dSDan Murphy    https://www.ti.com/lit/gpn/lp5521
19a89d385dSDan Murphy    https://www.ti.com/lit/gpn/lp5523
20a89d385dSDan Murphy    https://www.ti.com/lit/gpn/lp55231
21a89d385dSDan Murphy    https://www.ti.com/lit/gpn/lp5562
22a89d385dSDan Murphy    https://www.ti.com/lit/gpn/lp8501
23a89d385dSDan Murphy
24a89d385dSDan Murphyproperties:
25a89d385dSDan Murphy  compatible:
26a89d385dSDan Murphy    enum:
27a89d385dSDan Murphy      - national,lp5521
28a89d385dSDan Murphy      - national,lp5523
29a89d385dSDan Murphy      - ti,lp55231
30a89d385dSDan Murphy      - ti,lp5562
31a89d385dSDan Murphy      - ti,lp8501
32a89d385dSDan Murphy
33a89d385dSDan Murphy  reg:
34a89d385dSDan Murphy    maxItems: 1
35a89d385dSDan Murphy    description: I2C slave address
36a89d385dSDan Murphy
37a89d385dSDan Murphy  clock-mode:
38d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/uint8
39a89d385dSDan Murphy    description: |
40a89d385dSDan Murphy      Input clock mode
41a89d385dSDan Murphy    enum:
42a89d385dSDan Murphy      - 0 # automode
43a89d385dSDan Murphy      - 1 # internal
44a89d385dSDan Murphy      - 2 # external
45a89d385dSDan Murphy
4649b939b7SKrzysztof Kozlowski  enable-gpios:
47a89d385dSDan Murphy    maxItems: 1
48a89d385dSDan Murphy    description: |
49a89d385dSDan Murphy      GPIO attached to the chip's enable pin
50a89d385dSDan Murphy
51d1188adbSKrzysztof Kozlowski  label: true
52d1188adbSKrzysztof Kozlowski
53a89d385dSDan Murphy  pwr-sel:
54d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/uint8
55a89d385dSDan Murphy    description: |
56a89d385dSDan Murphy      LP8501 specific property. Power selection for output channels.
57a89d385dSDan Murphy    enum:
58a89d385dSDan Murphy      - 0 # D1~9 are connected to VDD
59a89d385dSDan Murphy      - 1 # D1~6 with VDD, D7~9 with VOUT
60a89d385dSDan Murphy      - 2 # D1~6 with VOUT, D7~9 with VDD
61a89d385dSDan Murphy      - 3 # D1~9 are connected to VOUT
62a89d385dSDan Murphy
635be478f9SRob Herring  '#address-cells':
645be478f9SRob Herring    const: 1
655be478f9SRob Herring
665be478f9SRob Herring  '#size-cells':
675be478f9SRob Herring    const: 0
685be478f9SRob Herring
69a89d385dSDan MurphypatternProperties:
70*b82fa853SKrzysztof Kozlowski  '^multi-led@[0-8]$':
71*b82fa853SKrzysztof Kozlowski    type: object
72*b82fa853SKrzysztof Kozlowski    $ref: leds-class-multicolor.yaml#
73*b82fa853SKrzysztof Kozlowski    unevaluatedProperties: false
74*b82fa853SKrzysztof Kozlowski
75*b82fa853SKrzysztof Kozlowski    properties:
76*b82fa853SKrzysztof Kozlowski      reg:
77*b82fa853SKrzysztof Kozlowski        maximum: 8
78*b82fa853SKrzysztof Kozlowski
79*b82fa853SKrzysztof Kozlowski      '#address-cells':
80*b82fa853SKrzysztof Kozlowski        const: 1
81*b82fa853SKrzysztof Kozlowski
82*b82fa853SKrzysztof Kozlowski      '#size-cells':
83*b82fa853SKrzysztof Kozlowski        const: 0
84*b82fa853SKrzysztof Kozlowski
85*b82fa853SKrzysztof Kozlowski    patternProperties:
86*b82fa853SKrzysztof Kozlowski      "^led@[0-8]$":
87a89d385dSDan Murphy        type: object
88a89d385dSDan Murphy        $ref: common.yaml#
89*b82fa853SKrzysztof Kozlowski        unevaluatedProperties: false
90*b82fa853SKrzysztof Kozlowski
91*b82fa853SKrzysztof Kozlowski        properties:
92*b82fa853SKrzysztof Kozlowski          led-cur:
93*b82fa853SKrzysztof Kozlowski            $ref: /schemas/types.yaml#/definitions/uint8
94*b82fa853SKrzysztof Kozlowski            description: |
95*b82fa853SKrzysztof Kozlowski              Current setting at each LED channel (mA x10, 0 if LED is not connected)
96*b82fa853SKrzysztof Kozlowski            minimum: 0
97*b82fa853SKrzysztof Kozlowski            maximum: 255
98*b82fa853SKrzysztof Kozlowski
99*b82fa853SKrzysztof Kozlowski          max-cur:
100*b82fa853SKrzysztof Kozlowski            $ref: /schemas/types.yaml#/definitions/uint8
101*b82fa853SKrzysztof Kozlowski            description: Maximun current at each LED channel.
102*b82fa853SKrzysztof Kozlowski
103*b82fa853SKrzysztof Kozlowski          reg:
104*b82fa853SKrzysztof Kozlowski            maximum: 8
105*b82fa853SKrzysztof Kozlowski
106*b82fa853SKrzysztof Kozlowski        required:
107*b82fa853SKrzysztof Kozlowski          - reg
108*b82fa853SKrzysztof Kozlowski
109*b82fa853SKrzysztof Kozlowski  "^led@[0-8]$":
110*b82fa853SKrzysztof Kozlowski    type: object
111*b82fa853SKrzysztof Kozlowski    $ref: common.yaml#
112*b82fa853SKrzysztof Kozlowski    unevaluatedProperties: false
113*b82fa853SKrzysztof Kozlowski
114a89d385dSDan Murphy    properties:
115a89d385dSDan Murphy      led-cur:
116d69c6dddSRob Herring        $ref: /schemas/types.yaml#/definitions/uint8
117a89d385dSDan Murphy        description: |
118a89d385dSDan Murphy          Current setting at each LED channel (mA x10, 0 if LED is not connected)
119a89d385dSDan Murphy        minimum: 0
120a89d385dSDan Murphy        maximum: 255
121a89d385dSDan Murphy
122a89d385dSDan Murphy      max-cur:
123d69c6dddSRob Herring        $ref: /schemas/types.yaml#/definitions/uint8
124a89d385dSDan Murphy        description: Maximun current at each LED channel.
125a89d385dSDan Murphy
126a89d385dSDan Murphy      reg:
127a89d385dSDan Murphy        description: |
128a89d385dSDan Murphy          Output channel for the LED.  This is zero based channel identifier and
129a89d385dSDan Murphy          the data sheet is a one based channel identifier.
130a89d385dSDan Murphy          reg value to output to LED output number
131a89d385dSDan Murphy        enum:
132a89d385dSDan Murphy          - 0 # LED output D1
133a89d385dSDan Murphy          - 1 # LED output D2
134a89d385dSDan Murphy          - 2 # LED output D3
135a89d385dSDan Murphy          - 3 # LED output D4
136a89d385dSDan Murphy          - 4 # LED output D5
137a89d385dSDan Murphy          - 5 # LED output D6
138a89d385dSDan Murphy          - 6 # LED output D7
139a89d385dSDan Murphy          - 7 # LED output D8
140a89d385dSDan Murphy          - 8 # LED output D9
141a89d385dSDan Murphy
142a89d385dSDan Murphy      chan-name:
143d69c6dddSRob Herring        $ref: /schemas/types.yaml#/definitions/string
144a89d385dSDan Murphy        description: name of channel
145a89d385dSDan Murphy
146a89d385dSDan Murphyrequired:
147a89d385dSDan Murphy  - compatible
148a89d385dSDan Murphy  - reg
149a89d385dSDan Murphy
1505be478f9SRob HerringadditionalProperties: false
1515be478f9SRob Herring
152a89d385dSDan Murphyexamples:
153a89d385dSDan Murphy  - |
154a89d385dSDan Murphy    #include <dt-bindings/leds/common.h>
155a89d385dSDan Murphy
156a89d385dSDan Murphy    i2c {
157a89d385dSDan Murphy        #address-cells = <1>;
158a89d385dSDan Murphy        #size-cells = <0>;
159a89d385dSDan Murphy
160a89d385dSDan Murphy        led-controller@32 {
161a89d385dSDan Murphy            #address-cells = <1>;
162a89d385dSDan Murphy            #size-cells = <0>;
163a89d385dSDan Murphy            compatible = "ti,lp8501";
164a89d385dSDan Murphy            reg = <0x32>;
165a89d385dSDan Murphy            clock-mode = /bits/ 8 <2>;
166a89d385dSDan Murphy            pwr-sel = /bits/ 8 <3>;	/* D1~9 connected to VOUT */
167a89d385dSDan Murphy
168a89d385dSDan Murphy            led@0 {
169a89d385dSDan Murphy                reg = <0>;
170a89d385dSDan Murphy                chan-name = "d1";
171a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
172a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
173a89d385dSDan Murphy            };
174a89d385dSDan Murphy
175a89d385dSDan Murphy            led@1 {
176a89d385dSDan Murphy                reg = <1>;
177a89d385dSDan Murphy                chan-name = "d2";
178a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
179a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
180a89d385dSDan Murphy            };
181a89d385dSDan Murphy
182a89d385dSDan Murphy            led@2 {
183a89d385dSDan Murphy                reg = <2>;
184a89d385dSDan Murphy                chan-name = "d3";
185a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
186a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
187a89d385dSDan Murphy            };
188a89d385dSDan Murphy
189a89d385dSDan Murphy            led@3 {
190a89d385dSDan Murphy                reg = <3>;
191a89d385dSDan Murphy                chan-name = "d4";
192a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
193a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
194a89d385dSDan Murphy            };
195a89d385dSDan Murphy
196a89d385dSDan Murphy            led@4 {
197a89d385dSDan Murphy                reg = <4>;
198a89d385dSDan Murphy                chan-name = "d5";
199a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
200a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
201a89d385dSDan Murphy            };
202a89d385dSDan Murphy
203a89d385dSDan Murphy            led@5 {
204a89d385dSDan Murphy                reg = <5>;
205a89d385dSDan Murphy                chan-name = "d6";
206a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
207a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
208a89d385dSDan Murphy            };
209a89d385dSDan Murphy
210a89d385dSDan Murphy            led@6 {
211a89d385dSDan Murphy                reg = <6>;
212a89d385dSDan Murphy                chan-name = "d7";
213a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
214a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
215a89d385dSDan Murphy            };
216a89d385dSDan Murphy
217a89d385dSDan Murphy            led@7 {
218a89d385dSDan Murphy                reg = <7>;
219a89d385dSDan Murphy                chan-name = "d8";
220a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
221a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
222a89d385dSDan Murphy            };
223a89d385dSDan Murphy
224a89d385dSDan Murphy            led@8 {
225a89d385dSDan Murphy                reg = <8>;
226a89d385dSDan Murphy                chan-name = "d9";
227a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
228a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
229a89d385dSDan Murphy            };
230a89d385dSDan Murphy        };
231a89d385dSDan Murphy
232a89d385dSDan Murphy        led-controller@33 {
233a89d385dSDan Murphy            #address-cells = <1>;
234a89d385dSDan Murphy            #size-cells = <0>;
235a89d385dSDan Murphy            compatible = "national,lp5523";
236a89d385dSDan Murphy            reg = <0x33>;
237a89d385dSDan Murphy            clock-mode = /bits/ 8 <0>;
238a89d385dSDan Murphy
239a89d385dSDan Murphy            multi-led@2 {
240a89d385dSDan Murphy                #address-cells = <1>;
241a89d385dSDan Murphy                #size-cells = <0>;
242a89d385dSDan Murphy                reg = <0x2>;
2433d93edc7SDan Murphy                color = <LED_COLOR_ID_RGB>;
244a89d385dSDan Murphy                function = LED_FUNCTION_STANDBY;
245a89d385dSDan Murphy                linux,default-trigger = "heartbeat";
246a89d385dSDan Murphy
247a89d385dSDan Murphy                led@0 {
248a89d385dSDan Murphy                    led-cur = /bits/ 8 <50>;
249a89d385dSDan Murphy                    max-cur = /bits/ 8 <100>;
250a89d385dSDan Murphy                    reg = <0x0>;
251a89d385dSDan Murphy                    color = <LED_COLOR_ID_GREEN>;
252a89d385dSDan Murphy                };
253a89d385dSDan Murphy
254a89d385dSDan Murphy                led@1 {
255a89d385dSDan Murphy                    led-cur = /bits/ 8 <50>;
256a89d385dSDan Murphy                    max-cur = /bits/ 8 <100>;
257a89d385dSDan Murphy                    reg = <0x1>;
258a89d385dSDan Murphy                    color = <LED_COLOR_ID_BLUE>;
259a89d385dSDan Murphy                };
260a89d385dSDan Murphy
261a89d385dSDan Murphy                led@6 {
262a89d385dSDan Murphy                    led-cur = /bits/ 8 <50>;
263a89d385dSDan Murphy                    max-cur = /bits/ 8 <100>;
264a89d385dSDan Murphy                    reg = <0x6>;
265a89d385dSDan Murphy                    color = <LED_COLOR_ID_RED>;
266a89d385dSDan Murphy                };
267a89d385dSDan Murphy            };
268a89d385dSDan Murphy        };
269a89d385dSDan Murphy    };
270a89d385dSDan Murphy
271a89d385dSDan Murphy...
272