xref: /freebsd/sys/contrib/device-tree/Bindings/regulator/nxp,pf8x00-regulator.yaml (revision d9a42747950146bf03cda7f6e25d219253f8a57a)
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    properties:
87      vsnvs:
88        type: object
89        $ref: regulator.yaml#
90        description:
91          Properties for single VSNVS regulator.
92
93        properties:
94          regulator-name:
95            pattern: "^vsnvs$"
96            description:
97              should be "vsnvs"
98
99        unevaluatedProperties: false
100
101    additionalProperties: false
102
103required:
104  - compatible
105  - reg
106  - regulators
107
108additionalProperties: false
109
110examples:
111  - |
112    i2c1 {
113        #address-cells = <1>;
114        #size-cells = <0>;
115
116        pmic@8 {
117            compatible = "nxp,pf8100";
118            reg = <0x08>;
119
120            regulators {
121                reg_ldo1: ldo1 {
122                    regulator-always-on;
123                    regulator-boot-on;
124                    regulator-max-microvolt = <5000000>;
125                    regulator-min-microvolt = <1500000>;
126                };
127
128                reg_ldo2: ldo2 {
129                    regulator-always-on;
130                    regulator-boot-on;
131                    regulator-max-microvolt = <5000000>;
132                    regulator-min-microvolt = <1500000>;
133                };
134
135                reg_ldo3: ldo3 {
136                    regulator-always-on;
137                    regulator-boot-on;
138                    regulator-max-microvolt = <5000000>;
139                    regulator-min-microvolt = <1500000>;
140                };
141
142                reg_ldo4: ldo4 {
143                    regulator-always-on;
144                    regulator-boot-on;
145                    regulator-max-microvolt = <5000000>;
146                    regulator-min-microvolt = <1500000>;
147                };
148
149                reg_buck1: buck1 {
150                    nxp,ilim-ma = <4500>;
151                    regulator-always-on;
152                    regulator-boot-on;
153                    regulator-max-microvolt = <1800000>;
154                    regulator-min-microvolt =  <400000>;
155                };
156
157                reg_buck2: buck2 {
158                    regulator-always-on;
159                    regulator-boot-on;
160                    regulator-max-microvolt = <1800000>;
161                    regulator-min-microvolt =  <400000>;
162                };
163
164                reg_buck3: buck3 {
165                    regulator-always-on;
166                    regulator-boot-on;
167                    regulator-max-microvolt = <1800000>;
168                    regulator-min-microvolt =  <400000>;
169                };
170
171                reg_buck4: buck4 {
172                    regulator-always-on;
173                    regulator-boot-on;
174                    regulator-max-microvolt = <1800000>;
175                    regulator-min-microvolt =  <400000>;
176                };
177
178                reg_buck5: buck5 {
179                    regulator-always-on;
180                    regulator-boot-on;
181                    regulator-max-microvolt = <1800000>;
182                    regulator-min-microvolt =  <400000>;
183                };
184
185                reg_buck6: buck6 {
186                    regulator-always-on;
187                    regulator-boot-on;
188                    regulator-max-microvolt = <1800000>;
189                    regulator-min-microvolt =  <400000>;
190                };
191
192                reg_buck7: buck7 {
193                    regulator-always-on;
194                    regulator-boot-on;
195                    regulator-max-microvolt = <3300000>;
196                    regulator-min-microvolt = <3300000>;
197                };
198
199                reg_vsnvs: vsnvs {
200                    regulator-always-on;
201                    regulator-boot-on;
202                    regulator-max-microvolt = <3300000>;
203                    regulator-min-microvolt = <1800000>;
204                };
205            };
206        };
207    };
208