Skip to content

Commit f92d2e9

Browse files
RickyWu0919lag-linaro
authored andcommitted
dt-bindings: leds: pca955x: Convert text bindings to YAML
Convert the text bindings of pca955x to YAML so it could be used to validate the DTS. Signed-off-by: Ricky CX Wu <[email protected]> Signed-off-by: Delphine CC Chiu <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Lee Jones <[email protected]>
1 parent 6cbf5c9 commit f92d2e9

File tree

2 files changed

+158
-89
lines changed

2 files changed

+158
-89
lines changed

Documentation/devicetree/bindings/leds/leds-pca955x.txt

Lines changed: 0 additions & 89 deletions
This file was deleted.
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/leds/nxp,pca955x.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: NXP PCA955X LED controllers
8+
9+
maintainers:
10+
- Nate Case <[email protected]>
11+
12+
description: |
13+
The PCA955x family of chips are I2C LED blinkers whose pins not used
14+
to control LEDs can be used as general purpose I/Os. The GPIO pins can
15+
be input or output, and output pins can also be pulse-width controlled.
16+
17+
For more product information please see the link below:
18+
- https://www.nxp.com/docs/en/data-sheet/PCA9552.pdf
19+
20+
properties:
21+
compatible:
22+
enum:
23+
- nxp,pca9550
24+
- nxp,pca9551
25+
- nxp,pca9552
26+
- ibm,pca9552
27+
- nxp,pca9553
28+
29+
reg:
30+
maxItems: 1
31+
32+
"#address-cells":
33+
const: 1
34+
35+
"#size-cells":
36+
const: 0
37+
38+
gpio-controller: true
39+
40+
gpio-line-names:
41+
minItems: 1
42+
maxItems: 16
43+
44+
"#gpio-cells":
45+
const: 2
46+
47+
patternProperties:
48+
"^led@[0-9a-f]$":
49+
type: object
50+
$ref: common.yaml#
51+
unevaluatedProperties: false
52+
53+
properties:
54+
reg:
55+
maxItems: 1
56+
type:
57+
description: |
58+
Output configuration, see include/dt-bindings/leds/leds-pca955x.h
59+
$ref: /schemas/types.yaml#/definitions/uint32
60+
default: 0
61+
minimum: 0
62+
maximum: 2
63+
64+
required:
65+
- reg
66+
67+
allOf:
68+
- if:
69+
properties:
70+
compatible:
71+
contains:
72+
enum:
73+
- nxp,pca9550
74+
then:
75+
patternProperties:
76+
"^led@[0-9a-f]$":
77+
properties:
78+
reg:
79+
maximum: 1
80+
- if:
81+
properties:
82+
compatible:
83+
contains:
84+
enum:
85+
- nxp,pca9551
86+
then:
87+
patternProperties:
88+
"^led@[0-9a-f]$":
89+
properties:
90+
reg:
91+
maximum: 7
92+
- if:
93+
properties:
94+
compatible:
95+
contains:
96+
enum:
97+
- nxp,pca9552
98+
- ibm,pca9552
99+
then:
100+
patternProperties:
101+
"^led@[0-9a-f]$":
102+
properties:
103+
reg:
104+
maximum: 15
105+
- if:
106+
properties:
107+
compatible:
108+
contains:
109+
enum:
110+
- nxp,pca9553
111+
then:
112+
patternProperties:
113+
"^led@[0-9a-f]$":
114+
properties:
115+
reg:
116+
maximum: 3
117+
118+
additionalProperties: false
119+
120+
examples:
121+
- |
122+
#include <dt-bindings/leds/leds-pca955x.h>
123+
124+
i2c {
125+
#address-cells = <1>;
126+
#size-cells = <0>;
127+
128+
led-controller@60 {
129+
compatible = "nxp,pca9552";
130+
reg = <0x60>;
131+
#address-cells = <1>;
132+
#size-cells = <0>;
133+
134+
led@0 {
135+
reg = <0>;
136+
label = "red:power";
137+
linux,default-trigger = "default-on";
138+
type = <PCA955X_TYPE_LED>;
139+
};
140+
led@1 {
141+
reg = <1>;
142+
label = "green:power";
143+
type = <PCA955X_TYPE_LED>;
144+
};
145+
led@2 {
146+
reg = <2>;
147+
label = "pca9552:yellow";
148+
type = <PCA955X_TYPE_LED>;
149+
};
150+
led@3 {
151+
reg = <3>;
152+
label = "pca9552:white";
153+
type = <PCA955X_TYPE_LED>;
154+
};
155+
};
156+
};
157+
158+
...

0 commit comments

Comments
 (0)