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
7title: NXP PF8100/PF8121A/PF8200 PMIC regulators
8
9maintainers:
10  - Jagan Teki <jagan@amarulasolutions.com>
11  - Troy Kisky <troy.kisky@boundarydevices.com>
12
13description: |
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
19properties:
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
109required:
110  - compatible
111  - reg
112  - regulators
113
114additionalProperties: false
115
116examples:
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    };
214