OSDN Git Service

drm: Fix HDCP failures when SRM fw is missing
[tomoyo/tomoyo-test1.git] / Documentation / devicetree / bindings / mfd / st,stpmic1.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/mfd/st,stpmic1.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: STMicroelectonics STPMIC1 Power Management IC bindings
8
9 description: STMicroelectronics STPMIC1 Power Management IC
10
11 maintainers:
12   - pascal Paillet <p.paillet@st.com>
13
14 properties:
15   compatible:
16     const: st,stpmic1
17
18   reg:
19     const: 0x33
20
21   interrupts:
22     maxItems: 1
23
24   "#interrupt-cells":
25     const: 2
26
27   interrupt-controller: true
28
29   onkey:
30     type: object
31
32     allOf:
33       - $ref: ../input/input.yaml
34
35     properties:
36       compatible:
37         const: st,stpmic1-onkey
38
39       interrupts:
40         items:
41           - description: onkey-falling, happens when onkey is pressed. IT_PONKEY_F of pmic
42           - description: onkey-rising, happens when onkey is released. IT_PONKEY_R of pmic
43
44       interrupt-names:
45         items:
46           - const: onkey-falling
47           - const: onkey-rising
48
49       st,onkey-clear-cc-flag:
50         description: onkey is able power on after an over-current shutdown event.
51         $ref: /schemas/types.yaml#/definitions/flag
52
53       st,onkey-pu-inactive:
54         description: onkey pull up is not active
55         $ref: /schemas/types.yaml#/definitions/flag
56
57       power-off-time-sec:
58         minimum: 1
59         maximum: 16
60
61     required:
62       - compatible
63       - interrupts
64       - interrupt-names
65
66     additionalProperties: false
67
68   watchdog:
69     type: object
70
71     allOf:
72       - $ref: ../watchdog/watchdog.yaml
73
74     properties:
75       compatible:
76         const: st,stpmic1-wdt
77
78       timeout-sec: true
79
80     required:
81       - compatible
82
83     additionalProperties: false
84
85   regulators:
86     type: object
87
88     description: |
89       Available Regulators in STPMIC1 device are:
90         - buck1 for Buck BUCK1
91         - buck2 for Buck BUCK2
92         - buck3 for Buck BUCK3
93         - buck4 for Buck BUCK4
94         - ldo1 for LDO LDO1
95         - ldo2 for LDO LDO2
96         - ldo3 for LDO LDO3
97         - ldo4 for LDO LDO4
98         - ldo5 for LDO LDO5
99         - ldo6 for LDO LDO6
100         - vref_ddr for LDO Vref DDR
101         - boost for Buck BOOST
102         - pwr_sw1 for VBUS_OTG switch
103         - pwr_sw2 for SW_OUT switch
104       Switches are fixed voltage regulators with only enable/disable capability.
105
106     properties:
107       compatible:
108         const: st,stpmic1-regulators
109
110       ldo3:
111         type: object
112
113         properties:
114           interrupts:
115             maxItems: 1
116
117           st,mask-reset:
118             description: mask reset for this regulator,
119                          the regulator configuration is maintained during pmic reset.
120             $ref: /schemas/types.yaml#/definitions/flag
121
122           regulator-name: true
123           regulator-boot-on: true
124           regulator-always-on: true
125           regulator-min-microvolt: true
126           regulator-max-microvolt: true
127           regulator-allow-bypass: true
128           regulator-over-current-protection: true
129
130         additionalProperties: false
131
132       ldo4:
133         type: object
134
135         properties:
136           interrupts:
137             maxItems: 1
138
139           st,mask-reset:
140             description: mask reset for this regulator,
141                          the regulator configuration is maintained during pmic reset.
142             $ref: /schemas/types.yaml#/definitions/flag
143
144           regulator-name: true
145           regulator-boot-on: true
146           regulator-always-on: true
147           regulator-over-current-protection: true
148
149         additionalProperties: false
150
151       vref_ddr:
152         type: object
153
154         properties:
155           interrupts:
156             maxItems: 1
157
158           st,mask-reset:
159             description: mask reset for this regulator,
160                          the regulator configuration is maintained during pmic reset.
161             $ref: /schemas/types.yaml#/definitions/flag
162
163           regulator-name: true
164           regulator-boot-on: true
165           regulator-always-on: true
166
167         additionalProperties: false
168
169       boost:
170         type: object
171
172         properties:
173           interrupts:
174             maxItems: 1
175
176           st,mask-reset:
177             description: mask reset for this regulator,
178                          the regulator configuration is maintained during pmic reset.
179             $ref: /schemas/types.yaml#/definitions/flag
180
181           regulator-name: true
182           regulator-boot-on: true
183           regulator-always-on: true
184           regulator-over-current-protection: true
185
186         additionalProperties: false
187
188     patternProperties:
189       "^(buck[1-4]|ldo[1-6]|boost|pwr_sw[1-2])-supply$":
190         description: STPMIC1 voltage regulators supplies
191
192       "^(buck[1-4]|ldo[1-6]|boost|vref_ddr|pwr_sw[1-2])$":
193         allOf:
194           - $ref: ../regulator/regulator.yaml
195
196       "^ldo[1-2,5-6]$":
197         type: object
198
199         properties:
200           interrupts:
201             maxItems: 1
202
203           st,mask-reset:
204             description: mask reset for this regulator,
205                          the regulator configuration is maintained during pmic reset.
206             $ref: /schemas/types.yaml#/definitions/flag
207
208           regulator-name: true
209           regulator-boot-on: true
210           regulator-always-on: true
211           regulator-min-microvolt: true
212           regulator-max-microvolt: true
213           regulator-over-current-protection: true
214           regulator-enable-ramp-delay: true
215
216         additionalProperties: false
217
218       "^buck[1-4]$":
219         type: object
220
221         properties:
222           interrupts:
223             maxItems: 1
224
225           st,mask-reset:
226             description: mask reset for this regulator,
227                          the regulator configuration is maintained during pmic reset.
228             $ref: /schemas/types.yaml#/definitions/flag
229
230           regulator-name: true
231           regulator-boot-on: true
232           regulator-always-on: true
233           regulator-min-microvolt: true
234           regulator-max-microvolt: true
235           regulator-initial-mode: true
236           regulator-pull-down: true
237           regulator-over-current-protection: true
238           regulator-enable-ramp-delay: true
239
240         additionalProperties: false
241
242       "^pwr_sw[1-2]$":
243         type: object
244
245         properties:
246           interrupts:
247             maxItems: 1
248
249           regulator-name: true
250           regulator-boot-on: true
251           regulator-always-on: true
252           regulator-over-current-protection: true
253           regulator-active-discharge: true
254
255         additionalProperties: false
256
257     required:
258       - compatible
259
260     additionalProperties: false
261
262   additionalProperties: false
263
264 additionalProperties: false
265
266 required:
267   - compatible
268   - reg
269   - interrupts
270   - "#interrupt-cells"
271   - interrupt-controller
272
273 examples:
274   - |
275     #include <dt-bindings/mfd/st,stpmic1.h>
276     #include <dt-bindings/interrupt-controller/arm-gic.h>
277     i2c@0 {
278       #address-cells = <1>;
279       #size-cells = <0>;
280       pmic@33 {
281         compatible = "st,stpmic1";
282         reg = <0x33>;
283         interrupt-parent = <&gpioa>;
284         interrupts = <0 2>;
285
286         interrupt-controller;
287         #interrupt-cells = <2>;
288
289         onkey {
290           compatible = "st,stpmic1-onkey";
291           interrupts = <IT_PONKEY_F 0>,<IT_PONKEY_R 1>;
292           interrupt-names = "onkey-falling", "onkey-rising";
293           power-off-time-sec = <10>;
294         };
295
296         watchdog {
297           compatible = "st,stpmic1-wdt";
298         };
299
300         regulators {
301           compatible = "st,stpmic1-regulators";
302
303           ldo6-supply = <&v3v3>;
304
305           buck1 {
306             regulator-name = "vdd_core";
307             interrupts = <IT_CURLIM_BUCK1 0>;
308             st,mask-reset;
309             regulator-boot-on;
310             regulator-min-microvolt = <700000>;
311             regulator-max-microvolt = <1200000>;
312           };
313
314           buck3 {
315             regulator-name = "vdd";
316             regulator-min-microvolt = <3300000>;
317             regulator-max-microvolt = <3300000>;
318             regulator-boot-on;
319             regulator-pull-down;
320           };
321
322           buck4 {
323             regulator-name = "v3v3";
324             interrupts = <IT_CURLIM_BUCK4 0>;
325             regulator-min-microvolt = <3300000>;
326             regulator-max-microvolt = <3300000>;
327           };
328
329           ldo6 {
330             regulator-name = "v1v8";
331             regulator-min-microvolt = <1800000>;
332             regulator-max-microvolt = <1800000>;
333             regulator-over-current-protection;
334           };
335         };
336       };
337     };
338
339 ...