Merge branch 'mhi-net-immutable' of https://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / regulator / nxp,pf8x00-regulator.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/regulator/nxp,pf8x00-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NXP PF8100/PF8121A/PF8200 PMIC regulators
8
9 maintainers:
10   - Jagan Teki <jagan@amarulasolutions.com>
11   - Troy Kisky <troy.kisky@boundarydevices.com>
12
13 description: |
14   PF8100/PF8121A/PF8200 is a PMIC designed for highperformance consumer
15   applications. It features seven high efficiency buck converters, four
16   linear and one vsnvs regulators. It has built-in one time programmable
17   fuse bank for device configurations.
18
19 properties:
20   compatible:
21     enum:
22       - nxp,pf8100
23       - nxp,pf8121a
24       - nxp,pf8200
25
26   reg:
27     maxItems: 1
28
29   regulators:
30     type: object
31     description: |
32       list of regulators provided by this controller
33
34     patternProperties:
35       "^ldo[1-4]$":
36         type: object
37         $ref: regulator.yaml#
38         description:
39           Properties for single LDO regulator.
40
41         properties:
42           regulator-name:
43             pattern: "^ldo[1-4]$"
44             description:
45               should be "ldo1", ..., "ldo4"
46
47         unevaluatedProperties: false
48
49       "^buck[1-7]$":
50         type: object
51         $ref: regulator.yaml#
52         description:
53           Properties for single BUCK regulator.
54
55         properties:
56           regulator-name:
57             pattern: "^buck[1-7]$"
58             description:
59               should be "buck1", ..., "buck7"
60
61           nxp,ilim-ma:
62             $ref: "/schemas/types.yaml#/definitions/uint32"
63             minimum: 2100
64             maximum: 4500
65             description:
66               BUCK regulators current limit in mA.
67
68               Listed current limits in mA are,
69               2100 (default)
70               2600
71               3000
72               4500
73
74           nxp,phase-shift:
75             $ref: "/schemas/types.yaml#/definitions/uint32"
76             minimum: 45
77             maximum: 0
78             description:
79               BUCK regulators phase shift control in degrees.
80
81               Listed phase shift control values in degrees are,
82               45
83               90
84               135
85               180
86               225
87               270
88               315
89               0 (default)
90
91         unevaluatedProperties: false
92
93       "^vsnvs$":
94         type: object
95         $ref: regulator.yaml#
96         description:
97           Properties for single VSNVS regulator.
98
99         properties:
100           regulator-name:
101             pattern: "^vsnvs$"
102             description:
103               should be "vsnvs"
104
105         unevaluatedProperties: false
106
107     additionalProperties: false
108
109 required:
110   - compatible
111   - reg
112   - regulators
113
114 additionalProperties: false
115
116 examples:
117   - |
118     i2c1 {
119         #address-cells = <1>;
120         #size-cells = <0>;
121
122         pmic@8 {
123             compatible = "nxp,pf8100";
124             reg = <0x08>;
125
126             regulators {
127                 reg_ldo1: ldo1 {
128                     regulator-always-on;
129                     regulator-boot-on;
130                     regulator-max-microvolt = <5000000>;
131                     regulator-min-microvolt = <1500000>;
132                 };
133
134                 reg_ldo2: ldo2 {
135                     regulator-always-on;
136                     regulator-boot-on;
137                     regulator-max-microvolt = <5000000>;
138                     regulator-min-microvolt = <1500000>;
139                 };
140
141                 reg_ldo3: ldo3 {
142                     regulator-always-on;
143                     regulator-boot-on;
144                     regulator-max-microvolt = <5000000>;
145                     regulator-min-microvolt = <1500000>;
146                 };
147
148                 reg_ldo4: ldo4 {
149                     regulator-always-on;
150                     regulator-boot-on;
151                     regulator-max-microvolt = <5000000>;
152                     regulator-min-microvolt = <1500000>;
153                 };
154
155                 reg_buck1: buck1 {
156                     nxp,ilim-ma = <4500>;
157                     regulator-always-on;
158                     regulator-boot-on;
159                     regulator-max-microvolt = <1800000>;
160                     regulator-min-microvolt =  <400000>;
161                 };
162
163                 reg_buck2: buck2 {
164                     regulator-always-on;
165                     regulator-boot-on;
166                     regulator-max-microvolt = <1800000>;
167                     regulator-min-microvolt =  <400000>;
168                 };
169
170                 reg_buck3: buck3 {
171                     regulator-always-on;
172                     regulator-boot-on;
173                     regulator-max-microvolt = <1800000>;
174                     regulator-min-microvolt =  <400000>;
175                 };
176
177                 reg_buck4: buck4 {
178                     regulator-always-on;
179                     regulator-boot-on;
180                     regulator-max-microvolt = <1800000>;
181                     regulator-min-microvolt =  <400000>;
182                 };
183
184                 reg_buck5: buck5 {
185                     regulator-always-on;
186                     regulator-boot-on;
187                     regulator-max-microvolt = <1800000>;
188                     regulator-min-microvolt =  <400000>;
189                 };
190
191                 reg_buck6: buck6 {
192                     regulator-always-on;
193                     regulator-boot-on;
194                     regulator-max-microvolt = <1800000>;
195                     regulator-min-microvolt =  <400000>;
196                 };
197
198                 reg_buck7: buck7 {
199                     regulator-always-on;
200                     regulator-boot-on;
201                     regulator-max-microvolt = <3300000>;
202                     regulator-min-microvolt = <3300000>;
203                 };
204
205                 reg_vsnvs: vsnvs {
206                     regulator-always-on;
207                     regulator-boot-on;
208                     regulator-max-microvolt = <3300000>;
209                     regulator-min-microvolt = <1800000>;
210                 };
211             };
212         };
213     };