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