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
6991e47d40SMaarten Zanders  ti,charge-pump-mode:
7091e47d40SMaarten Zanders    description:
7191e47d40SMaarten Zanders      Set the operating mode of the internal charge pump as defined in
7291e47d40SMaarten Zanders      <dt-bindings/leds/leds-lp55xx.h>.
7391e47d40SMaarten Zanders    $ref: /schemas/types.yaml#/definitions/uint32
7491e47d40SMaarten Zanders    default: 3 # auto
7591e47d40SMaarten Zanders    maximum: 3
7691e47d40SMaarten Zanders
77a89d385dSDan MurphypatternProperties:
78b82fa853SKrzysztof Kozlowski  '^multi-led@[0-8]$':
79b82fa853SKrzysztof Kozlowski    type: object
80b82fa853SKrzysztof Kozlowski    $ref: leds-class-multicolor.yaml#
81b82fa853SKrzysztof Kozlowski    unevaluatedProperties: false
82b82fa853SKrzysztof Kozlowski
83b82fa853SKrzysztof Kozlowski    properties:
84b82fa853SKrzysztof Kozlowski      reg:
85b82fa853SKrzysztof Kozlowski        maximum: 8
86b82fa853SKrzysztof Kozlowski
87b82fa853SKrzysztof Kozlowski      '#address-cells':
88b82fa853SKrzysztof Kozlowski        const: 1
89b82fa853SKrzysztof Kozlowski
90b82fa853SKrzysztof Kozlowski      '#size-cells':
91b82fa853SKrzysztof Kozlowski        const: 0
92b82fa853SKrzysztof Kozlowski
93b82fa853SKrzysztof Kozlowski    patternProperties:
94b82fa853SKrzysztof Kozlowski      "^led@[0-8]$":
95a89d385dSDan Murphy        type: object
96a89d385dSDan Murphy        $ref: common.yaml#
97b82fa853SKrzysztof Kozlowski        unevaluatedProperties: false
98b82fa853SKrzysztof Kozlowski
99b82fa853SKrzysztof Kozlowski        properties:
100b82fa853SKrzysztof Kozlowski          led-cur:
101b82fa853SKrzysztof Kozlowski            $ref: /schemas/types.yaml#/definitions/uint8
102b82fa853SKrzysztof Kozlowski            description: |
103b82fa853SKrzysztof Kozlowski              Current setting at each LED channel (mA x10, 0 if LED is not connected)
104b82fa853SKrzysztof Kozlowski            minimum: 0
105b82fa853SKrzysztof Kozlowski            maximum: 255
106b82fa853SKrzysztof Kozlowski
107b82fa853SKrzysztof Kozlowski          max-cur:
108b82fa853SKrzysztof Kozlowski            $ref: /schemas/types.yaml#/definitions/uint8
109*47aab533SBjorn Helgaas            description: Maximum current at each LED channel.
110b82fa853SKrzysztof Kozlowski
111b82fa853SKrzysztof Kozlowski          reg:
112b82fa853SKrzysztof Kozlowski            maximum: 8
113b82fa853SKrzysztof Kozlowski
114b82fa853SKrzysztof Kozlowski        required:
115b82fa853SKrzysztof Kozlowski          - reg
116b82fa853SKrzysztof Kozlowski
117b82fa853SKrzysztof Kozlowski  "^led@[0-8]$":
118b82fa853SKrzysztof Kozlowski    type: object
119b82fa853SKrzysztof Kozlowski    $ref: common.yaml#
120b82fa853SKrzysztof Kozlowski    unevaluatedProperties: false
121b82fa853SKrzysztof Kozlowski
122a89d385dSDan Murphy    properties:
123a89d385dSDan Murphy      led-cur:
124d69c6dddSRob Herring        $ref: /schemas/types.yaml#/definitions/uint8
125a89d385dSDan Murphy        description: |
126a89d385dSDan Murphy          Current setting at each LED channel (mA x10, 0 if LED is not connected)
127a89d385dSDan Murphy        minimum: 0
128a89d385dSDan Murphy        maximum: 255
129a89d385dSDan Murphy
130a89d385dSDan Murphy      max-cur:
131d69c6dddSRob Herring        $ref: /schemas/types.yaml#/definitions/uint8
132*47aab533SBjorn Helgaas        description: Maximum current at each LED channel.
133a89d385dSDan Murphy
134a89d385dSDan Murphy      reg:
135a89d385dSDan Murphy        description: |
136a89d385dSDan Murphy          Output channel for the LED.  This is zero based channel identifier and
137a89d385dSDan Murphy          the data sheet is a one based channel identifier.
138a89d385dSDan Murphy          reg value to output to LED output number
139a89d385dSDan Murphy        enum:
140a89d385dSDan Murphy          - 0 # LED output D1
141a89d385dSDan Murphy          - 1 # LED output D2
142a89d385dSDan Murphy          - 2 # LED output D3
143a89d385dSDan Murphy          - 3 # LED output D4
144a89d385dSDan Murphy          - 4 # LED output D5
145a89d385dSDan Murphy          - 5 # LED output D6
146a89d385dSDan Murphy          - 6 # LED output D7
147a89d385dSDan Murphy          - 7 # LED output D8
148a89d385dSDan Murphy          - 8 # LED output D9
149a89d385dSDan Murphy
150a89d385dSDan Murphy      chan-name:
151d69c6dddSRob Herring        $ref: /schemas/types.yaml#/definitions/string
152a89d385dSDan Murphy        description: name of channel
153a89d385dSDan Murphy
154a89d385dSDan Murphyrequired:
155a89d385dSDan Murphy  - compatible
156a89d385dSDan Murphy  - reg
157a89d385dSDan Murphy
1585be478f9SRob HerringadditionalProperties: false
1595be478f9SRob Herring
160a89d385dSDan Murphyexamples:
161a89d385dSDan Murphy  - |
162a89d385dSDan Murphy    #include <dt-bindings/leds/common.h>
16391e47d40SMaarten Zanders    #include <dt-bindings/leds/leds-lp55xx.h>
164a89d385dSDan Murphy
165a89d385dSDan Murphy    i2c {
166a89d385dSDan Murphy        #address-cells = <1>;
167a89d385dSDan Murphy        #size-cells = <0>;
168a89d385dSDan Murphy
169a89d385dSDan Murphy        led-controller@32 {
170a89d385dSDan Murphy            #address-cells = <1>;
171a89d385dSDan Murphy            #size-cells = <0>;
172a89d385dSDan Murphy            compatible = "ti,lp8501";
173a89d385dSDan Murphy            reg = <0x32>;
174a89d385dSDan Murphy            clock-mode = /bits/ 8 <2>;
175a89d385dSDan Murphy            pwr-sel = /bits/ 8 <3>;	/* D1~9 connected to VOUT */
17691e47d40SMaarten Zanders            ti,charge-pump-mode = <LP55XX_CP_BYPASS>;
177a89d385dSDan Murphy
178a89d385dSDan Murphy            led@0 {
179a89d385dSDan Murphy                reg = <0>;
180a89d385dSDan Murphy                chan-name = "d1";
181a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
182a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
183a89d385dSDan Murphy            };
184a89d385dSDan Murphy
185a89d385dSDan Murphy            led@1 {
186a89d385dSDan Murphy                reg = <1>;
187a89d385dSDan Murphy                chan-name = "d2";
188a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
189a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
190a89d385dSDan Murphy            };
191a89d385dSDan Murphy
192a89d385dSDan Murphy            led@2 {
193a89d385dSDan Murphy                reg = <2>;
194a89d385dSDan Murphy                chan-name = "d3";
195a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
196a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
197a89d385dSDan Murphy            };
198a89d385dSDan Murphy
199a89d385dSDan Murphy            led@3 {
200a89d385dSDan Murphy                reg = <3>;
201a89d385dSDan Murphy                chan-name = "d4";
202a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
203a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
204a89d385dSDan Murphy            };
205a89d385dSDan Murphy
206a89d385dSDan Murphy            led@4 {
207a89d385dSDan Murphy                reg = <4>;
208a89d385dSDan Murphy                chan-name = "d5";
209a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
210a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
211a89d385dSDan Murphy            };
212a89d385dSDan Murphy
213a89d385dSDan Murphy            led@5 {
214a89d385dSDan Murphy                reg = <5>;
215a89d385dSDan Murphy                chan-name = "d6";
216a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
217a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
218a89d385dSDan Murphy            };
219a89d385dSDan Murphy
220a89d385dSDan Murphy            led@6 {
221a89d385dSDan Murphy                reg = <6>;
222a89d385dSDan Murphy                chan-name = "d7";
223a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
224a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
225a89d385dSDan Murphy            };
226a89d385dSDan Murphy
227a89d385dSDan Murphy            led@7 {
228a89d385dSDan Murphy                reg = <7>;
229a89d385dSDan Murphy                chan-name = "d8";
230a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
231a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
232a89d385dSDan Murphy            };
233a89d385dSDan Murphy
234a89d385dSDan Murphy            led@8 {
235a89d385dSDan Murphy                reg = <8>;
236a89d385dSDan Murphy                chan-name = "d9";
237a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
238a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
239a89d385dSDan Murphy            };
240a89d385dSDan Murphy        };
241a89d385dSDan Murphy
242a89d385dSDan Murphy        led-controller@33 {
243a89d385dSDan Murphy            #address-cells = <1>;
244a89d385dSDan Murphy            #size-cells = <0>;
245a89d385dSDan Murphy            compatible = "national,lp5523";
246a89d385dSDan Murphy            reg = <0x33>;
247a89d385dSDan Murphy            clock-mode = /bits/ 8 <0>;
248a89d385dSDan Murphy
249a89d385dSDan Murphy            multi-led@2 {
250a89d385dSDan Murphy                #address-cells = <1>;
251a89d385dSDan Murphy                #size-cells = <0>;
252a89d385dSDan Murphy                reg = <0x2>;
2533d93edc7SDan Murphy                color = <LED_COLOR_ID_RGB>;
254a89d385dSDan Murphy                function = LED_FUNCTION_STANDBY;
255a89d385dSDan Murphy                linux,default-trigger = "heartbeat";
256a89d385dSDan Murphy
257a89d385dSDan Murphy                led@0 {
258a89d385dSDan Murphy                    led-cur = /bits/ 8 <50>;
259a89d385dSDan Murphy                    max-cur = /bits/ 8 <100>;
260a89d385dSDan Murphy                    reg = <0x0>;
261a89d385dSDan Murphy                    color = <LED_COLOR_ID_GREEN>;
262a89d385dSDan Murphy                };
263a89d385dSDan Murphy
264a89d385dSDan Murphy                led@1 {
265a89d385dSDan Murphy                    led-cur = /bits/ 8 <50>;
266a89d385dSDan Murphy                    max-cur = /bits/ 8 <100>;
267a89d385dSDan Murphy                    reg = <0x1>;
268a89d385dSDan Murphy                    color = <LED_COLOR_ID_BLUE>;
269a89d385dSDan Murphy                };
270a89d385dSDan Murphy
271a89d385dSDan Murphy                led@6 {
272a89d385dSDan Murphy                    led-cur = /bits/ 8 <50>;
273a89d385dSDan Murphy                    max-cur = /bits/ 8 <100>;
274a89d385dSDan Murphy                    reg = <0x6>;
275a89d385dSDan Murphy                    color = <LED_COLOR_ID_RED>;
276a89d385dSDan Murphy                };
277a89d385dSDan Murphy            };
278a89d385dSDan Murphy        };
279a89d385dSDan Murphy    };
280a89d385dSDan Murphy
281a89d385dSDan Murphy...
282