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        unevaluatedProperties: false
42
43      "^buck[1-7]$":
44        type: object
45        $ref: regulator.yaml#
46        description:
47          Properties for single BUCK regulator.
48
49        properties:
50          nxp,ilim-ma:
51            $ref: /schemas/types.yaml#/definitions/uint32
52            minimum: 2100
53            maximum: 4500
54            deprecated: true
55            description:
56              BUCK regulators current limit in mA.
57              This property is deprecated, please use
58              "regulator-max-microamp" instead.
59
60              Listed current limits in mA are,
61              2100 (default)
62              2600
63              3000
64              4500
65
66          nxp,phase-shift:
67            $ref: /schemas/types.yaml#/definitions/uint32
68            default: 0
69            enum: [ 0, 45, 90, 135, 180, 225, 270, 315 ]
70            description:
71              BUCK regulators phase shift control in degrees.
72
73        unevaluatedProperties: false
74
75    properties:
76      vsnvs:
77        type: object
78        $ref: regulator.yaml#
79        description:
80          Properties for single VSNVS regulator.
81
82        unevaluatedProperties: false
83
84    additionalProperties: false
85
86required:
87  - compatible
88  - reg
89  - regulators
90
91additionalProperties: false
92
93examples:
94  - |
95    i2c {
96        #address-cells = <1>;
97        #size-cells = <0>;
98
99        pmic@8 {
100            compatible = "nxp,pf8100";
101            reg = <0x08>;
102
103            regulators {
104                reg_ldo1: ldo1 {
105                    regulator-always-on;
106                    regulator-boot-on;
107                    regulator-max-microvolt = <5000000>;
108                    regulator-min-microvolt = <1500000>;
109                };
110
111                reg_ldo2: ldo2 {
112                    regulator-always-on;
113                    regulator-boot-on;
114                    regulator-max-microvolt = <5000000>;
115                    regulator-min-microvolt = <1500000>;
116                };
117
118                reg_ldo3: ldo3 {
119                    regulator-always-on;
120                    regulator-boot-on;
121                    regulator-max-microvolt = <5000000>;
122                    regulator-min-microvolt = <1500000>;
123                };
124
125                reg_ldo4: ldo4 {
126                    regulator-always-on;
127                    regulator-boot-on;
128                    regulator-max-microvolt = <5000000>;
129                    regulator-min-microvolt = <1500000>;
130                };
131
132                reg_buck1: buck1 {
133                    nxp,ilim-ma = <4500>;
134                    regulator-always-on;
135                    regulator-boot-on;
136                    regulator-max-microvolt = <1800000>;
137                    regulator-min-microvolt =  <400000>;
138                };
139
140                reg_buck2: buck2 {
141                    regulator-always-on;
142                    regulator-boot-on;
143                    regulator-max-microvolt = <1800000>;
144                    regulator-min-microvolt =  <400000>;
145                };
146
147                reg_buck3: buck3 {
148                    regulator-always-on;
149                    regulator-boot-on;
150                    regulator-max-microvolt = <1800000>;
151                    regulator-min-microvolt =  <400000>;
152                };
153
154                reg_buck4: buck4 {
155                    regulator-always-on;
156                    regulator-boot-on;
157                    regulator-max-microvolt = <1800000>;
158                    regulator-min-microvolt =  <400000>;
159                };
160
161                reg_buck5: buck5 {
162                    regulator-always-on;
163                    regulator-boot-on;
164                    regulator-max-microvolt = <1800000>;
165                    regulator-min-microvolt =  <400000>;
166                };
167
168                reg_buck6: buck6 {
169                    regulator-always-on;
170                    regulator-boot-on;
171                    regulator-max-microvolt = <1800000>;
172                    regulator-min-microvolt =  <400000>;
173                };
174
175                reg_buck7: buck7 {
176                    regulator-always-on;
177                    regulator-boot-on;
178                    regulator-max-microvolt = <3300000>;
179                    regulator-min-microvolt = <3300000>;
180                };
181
182                reg_vsnvs: vsnvs {
183                    regulator-always-on;
184                    regulator-boot-on;
185                    regulator-max-microvolt = <3300000>;
186                    regulator-min-microvolt = <1800000>;
187                };
188            };
189        };
190    };
191