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