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
46*49b939b7SKrzysztof 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:
70a89d385dSDan Murphy  "(^led@[0-9a-f]$|led)":
71a89d385dSDan Murphy    type: object
72a89d385dSDan Murphy    $ref: common.yaml#
73a89d385dSDan Murphy    properties:
74a89d385dSDan Murphy      led-cur:
75d69c6dddSRob Herring        $ref: /schemas/types.yaml#/definitions/uint8
76a89d385dSDan Murphy        description: |
77a89d385dSDan Murphy          Current setting at each LED channel (mA x10, 0 if LED is not connected)
78a89d385dSDan Murphy        minimum: 0
79a89d385dSDan Murphy        maximum: 255
80a89d385dSDan Murphy
81a89d385dSDan Murphy      max-cur:
82d69c6dddSRob Herring        $ref: /schemas/types.yaml#/definitions/uint8
83a89d385dSDan Murphy        description: Maximun current at each LED channel.
84a89d385dSDan Murphy
85a89d385dSDan Murphy      reg:
86a89d385dSDan Murphy        description: |
87a89d385dSDan Murphy          Output channel for the LED.  This is zero based channel identifier and
88a89d385dSDan Murphy          the data sheet is a one based channel identifier.
89a89d385dSDan Murphy          reg value to output to LED output number
90a89d385dSDan Murphy        enum:
91a89d385dSDan Murphy          - 0 # LED output D1
92a89d385dSDan Murphy          - 1 # LED output D2
93a89d385dSDan Murphy          - 2 # LED output D3
94a89d385dSDan Murphy          - 3 # LED output D4
95a89d385dSDan Murphy          - 4 # LED output D5
96a89d385dSDan Murphy          - 5 # LED output D6
97a89d385dSDan Murphy          - 6 # LED output D7
98a89d385dSDan Murphy          - 7 # LED output D8
99a89d385dSDan Murphy          - 8 # LED output D9
100a89d385dSDan Murphy
101a89d385dSDan Murphy      chan-name:
102d69c6dddSRob Herring        $ref: /schemas/types.yaml#/definitions/string
103a89d385dSDan Murphy        description: name of channel
104a89d385dSDan Murphy
105a89d385dSDan Murphyrequired:
106a89d385dSDan Murphy  - compatible
107a89d385dSDan Murphy  - reg
108a89d385dSDan Murphy
1095be478f9SRob HerringadditionalProperties: false
1105be478f9SRob Herring
111a89d385dSDan Murphyexamples:
112a89d385dSDan Murphy  - |
113a89d385dSDan Murphy    #include <dt-bindings/leds/common.h>
114a89d385dSDan Murphy
115a89d385dSDan Murphy    i2c {
116a89d385dSDan Murphy        #address-cells = <1>;
117a89d385dSDan Murphy        #size-cells = <0>;
118a89d385dSDan Murphy
119a89d385dSDan Murphy        led-controller@32 {
120a89d385dSDan Murphy            #address-cells = <1>;
121a89d385dSDan Murphy            #size-cells = <0>;
122a89d385dSDan Murphy            compatible = "ti,lp8501";
123a89d385dSDan Murphy            reg = <0x32>;
124a89d385dSDan Murphy            clock-mode = /bits/ 8 <2>;
125a89d385dSDan Murphy            pwr-sel = /bits/ 8 <3>;	/* D1~9 connected to VOUT */
126a89d385dSDan Murphy
127a89d385dSDan Murphy            led@0 {
128a89d385dSDan Murphy                reg = <0>;
129a89d385dSDan Murphy                chan-name = "d1";
130a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
131a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
132a89d385dSDan Murphy            };
133a89d385dSDan Murphy
134a89d385dSDan Murphy            led@1 {
135a89d385dSDan Murphy                reg = <1>;
136a89d385dSDan Murphy                chan-name = "d2";
137a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
138a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
139a89d385dSDan Murphy            };
140a89d385dSDan Murphy
141a89d385dSDan Murphy            led@2 {
142a89d385dSDan Murphy                reg = <2>;
143a89d385dSDan Murphy                chan-name = "d3";
144a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
145a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
146a89d385dSDan Murphy            };
147a89d385dSDan Murphy
148a89d385dSDan Murphy            led@3 {
149a89d385dSDan Murphy                reg = <3>;
150a89d385dSDan Murphy                chan-name = "d4";
151a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
152a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
153a89d385dSDan Murphy            };
154a89d385dSDan Murphy
155a89d385dSDan Murphy            led@4 {
156a89d385dSDan Murphy                reg = <4>;
157a89d385dSDan Murphy                chan-name = "d5";
158a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
159a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
160a89d385dSDan Murphy            };
161a89d385dSDan Murphy
162a89d385dSDan Murphy            led@5 {
163a89d385dSDan Murphy                reg = <5>;
164a89d385dSDan Murphy                chan-name = "d6";
165a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
166a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
167a89d385dSDan Murphy            };
168a89d385dSDan Murphy
169a89d385dSDan Murphy            led@6 {
170a89d385dSDan Murphy                reg = <6>;
171a89d385dSDan Murphy                chan-name = "d7";
172a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
173a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
174a89d385dSDan Murphy            };
175a89d385dSDan Murphy
176a89d385dSDan Murphy            led@7 {
177a89d385dSDan Murphy                reg = <7>;
178a89d385dSDan Murphy                chan-name = "d8";
179a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
180a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
181a89d385dSDan Murphy            };
182a89d385dSDan Murphy
183a89d385dSDan Murphy            led@8 {
184a89d385dSDan Murphy                reg = <8>;
185a89d385dSDan Murphy                chan-name = "d9";
186a89d385dSDan Murphy                led-cur = /bits/ 8 <0x14>;
187a89d385dSDan Murphy                max-cur = /bits/ 8 <0x20>;
188a89d385dSDan Murphy            };
189a89d385dSDan Murphy        };
190a89d385dSDan Murphy
191a89d385dSDan Murphy        led-controller@33 {
192a89d385dSDan Murphy            #address-cells = <1>;
193a89d385dSDan Murphy            #size-cells = <0>;
194a89d385dSDan Murphy            compatible = "national,lp5523";
195a89d385dSDan Murphy            reg = <0x33>;
196a89d385dSDan Murphy            clock-mode = /bits/ 8 <0>;
197a89d385dSDan Murphy
198a89d385dSDan Murphy            multi-led@2 {
199a89d385dSDan Murphy                #address-cells = <1>;
200a89d385dSDan Murphy                #size-cells = <0>;
201a89d385dSDan Murphy                reg = <0x2>;
2023d93edc7SDan Murphy                color = <LED_COLOR_ID_RGB>;
203a89d385dSDan Murphy                function = LED_FUNCTION_STANDBY;
204a89d385dSDan Murphy                linux,default-trigger = "heartbeat";
205a89d385dSDan Murphy
206a89d385dSDan Murphy                led@0 {
207a89d385dSDan Murphy                    led-cur = /bits/ 8 <50>;
208a89d385dSDan Murphy                    max-cur = /bits/ 8 <100>;
209a89d385dSDan Murphy                    reg = <0x0>;
210a89d385dSDan Murphy                    color = <LED_COLOR_ID_GREEN>;
211a89d385dSDan Murphy                };
212a89d385dSDan Murphy
213a89d385dSDan Murphy                led@1 {
214a89d385dSDan Murphy                    led-cur = /bits/ 8 <50>;
215a89d385dSDan Murphy                    max-cur = /bits/ 8 <100>;
216a89d385dSDan Murphy                    reg = <0x1>;
217a89d385dSDan Murphy                    color = <LED_COLOR_ID_BLUE>;
218a89d385dSDan Murphy                };
219a89d385dSDan Murphy
220a89d385dSDan Murphy                led@6 {
221a89d385dSDan Murphy                    led-cur = /bits/ 8 <50>;
222a89d385dSDan Murphy                    max-cur = /bits/ 8 <100>;
223a89d385dSDan Murphy                    reg = <0x6>;
224a89d385dSDan Murphy                    color = <LED_COLOR_ID_RED>;
225a89d385dSDan Murphy                };
226a89d385dSDan Murphy            };
227a89d385dSDan Murphy        };
228a89d385dSDan Murphy    };
229a89d385dSDan Murphy
230a89d385dSDan Murphy...
231