GNU Linux-libre 5.19-rc6-gnu
[releases.git] / Documentation / devicetree / bindings / leds / leds-qcom-lpg.yaml
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-qcom-lpg.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm Light Pulse Generator
8
9 maintainers:
10   - Bjorn Andersson <bjorn.andersson@linaro.org>
11
12 description: >
13   The Qualcomm Light Pulse Generator consists of three different hardware blocks;
14   a ramp generator with lookup table, the light pulse generator and a three
15   channel current sink. These blocks are found in a wide range of Qualcomm PMICs.
16
17 properties:
18   compatible:
19     enum:
20       - qcom,pm8150b-lpg
21       - qcom,pm8150l-lpg
22       - qcom,pm8350c-pwm
23       - qcom,pm8916-pwm
24       - qcom,pm8941-lpg
25       - qcom,pm8994-lpg
26       - qcom,pmc8180c-lpg
27       - qcom,pmi8994-lpg
28       - qcom,pmi8998-lpg
29
30   "#pwm-cells":
31     const: 2
32
33   "#address-cells":
34     const: 1
35
36   "#size-cells":
37     const: 0
38
39   qcom,power-source:
40     $ref: /schemas/types.yaml#/definitions/uint32
41     description:
42       power-source used to drive the output, as defined in the datasheet.
43       Should be specified if the TRILED block is present
44     enum: [0, 1, 3]
45
46   qcom,dtest:
47     $ref: /schemas/types.yaml#/definitions/uint32-matrix
48     description: >
49       A list of integer pairs, where each pair represent the dtest line the
50       particular channel should be connected to and the flags denoting how the
51       value should be outputed, as defined in the datasheet. The number of
52       pairs should be the same as the number of channels.
53     items:
54       items:
55         - description: dtest line to attach
56         - description: flags for the attachment
57
58   multi-led:
59     type: object
60     $ref: leds-class-multicolor.yaml#
61     properties:
62       "#address-cells":
63         const: 1
64
65       "#size-cells":
66         const: 0
67
68     patternProperties:
69       "^led@[0-9a-f]$":
70         type: object
71         $ref: common.yaml#
72
73 patternProperties:
74   "^led@[0-9a-f]$":
75     type: object
76     $ref: common.yaml#
77
78     properties:
79       reg: true
80
81     required:
82       - reg
83
84 required:
85   - compatible
86
87 additionalProperties: false
88
89 examples:
90   - |
91     #include <dt-bindings/leds/common.h>
92
93     led-controller {
94       compatible = "qcom,pmi8994-lpg";
95
96       #address-cells = <1>;
97       #size-cells = <0>;
98
99       qcom,power-source = <1>;
100
101       qcom,dtest = <0 0>,
102                    <0 0>,
103                    <0 0>,
104                    <4 1>;
105
106       led@1 {
107         reg = <1>;
108         color = <LED_COLOR_ID_GREEN>;
109         function = LED_FUNCTION_INDICATOR;
110         function-enumerator = <1>;
111       };
112
113       led@2 {
114         reg = <2>;
115         color = <LED_COLOR_ID_GREEN>;
116         function = LED_FUNCTION_INDICATOR;
117         function-enumerator = <0>;
118         default-state = "on";
119       };
120
121       led@3 {
122         reg = <3>;
123         color = <LED_COLOR_ID_GREEN>;
124         function = LED_FUNCTION_INDICATOR;
125         function-enumerator = <2>;
126       };
127
128       led@4 {
129         reg = <4>;
130         color = <LED_COLOR_ID_GREEN>;
131         function = LED_FUNCTION_INDICATOR;
132         function-enumerator = <3>;
133       };
134     };
135   - |
136     #include <dt-bindings/leds/common.h>
137
138     led-controller {
139       compatible = "qcom,pmi8994-lpg";
140
141       #address-cells = <1>;
142       #size-cells = <0>;
143
144       qcom,power-source = <1>;
145
146       multi-led {
147         color = <LED_COLOR_ID_RGB>;
148         function = LED_FUNCTION_STATUS;
149
150         #address-cells = <1>;
151         #size-cells = <0>;
152
153         led@1 {
154           reg = <1>;
155           color = <LED_COLOR_ID_RED>;
156         };
157
158         led@2 {
159           reg = <2>;
160           color = <LED_COLOR_ID_GREEN>;
161         };
162
163         led@3 {
164           reg = <3>;
165           color = <LED_COLOR_ID_BLUE>;
166         };
167       };
168     };
169   - |
170     pwm-controller {
171       compatible = "qcom,pm8916-pwm";
172       #pwm-cells = <2>;
173     };
174 ...