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