1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/mediatek,mt6331-regulator.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MT6331 Regulator from MediaTek Integrated
8
9maintainers:
10  - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
11
12description: |
13  The MT6331 PMIC provides 6 BUCK and 21 LDO (Low Dropout) regulators
14  and nodes are named according to the regulator type:
15  buck-<name> and ldo-<name>.
16  MT6331 regulators node should be sub node of the MT6397 MFD node.
17
18patternProperties:
19  "^buck-v(core2|io18|dvfs11|dvfs12|dvfs13|dvfs14)$":
20    type: object
21    $ref: "regulator.yaml#"
22
23    properties:
24      regulator-name:
25        pattern: "^v(core2|io18|dvfs11|dvfs12|dvfs13|dvfs14)$"
26
27    unevaluatedProperties: false
28
29  "^ldo-v(avdd32aud|auxa32)$":
30    type: object
31    $ref: "regulator.yaml#"
32
33    properties:
34      regulator-name:
35        pattern: "^v(avdd32aud|auxa32)$"
36
37    unevaluatedProperties: false
38
39  "^ldo-v(dig18|emc33|ibr|mc|mch|mipi|rtc|sram|usb10)$":
40    type: object
41    $ref: "regulator.yaml#"
42
43    properties:
44      regulator-name:
45        pattern: "^v(dig18|emc33|ibr|mc|mch|mipi|rtc|sram|usb10)$"
46
47    unevaluatedProperties: false
48
49  "^ldo-vcam(a|af|d|io)$":
50    type: object
51    $ref: "regulator.yaml#"
52
53    properties:
54      regulator-name:
55        pattern: "^vcam(a|af|d|io)$"
56
57    unevaluatedProperties: false
58
59  "^ldo-vtcxo[12]$":
60    type: object
61    $ref: "regulator.yaml#"
62
63    properties:
64      regulator-name:
65        pattern: "^vtcxo[12]$"
66
67    required:
68      - regulator-name
69
70    unevaluatedProperties: false
71
72  "^ldo-vgp[1234]$":
73    type: object
74    $ref: "regulator.yaml#"
75
76    properties:
77      regulator-name:
78        pattern: "^vgp[12]$"
79
80    required:
81      - regulator-name
82
83    unevaluatedProperties: false
84
85additionalProperties: false
86
87examples:
88  - |
89    pmic {
90      regulators {
91        mt6331_vdvfs11_reg: buck-vdvfs11 {
92          regulator-name = "vdvfs11";
93          regulator-min-microvolt = <700000>;
94          regulator-max-microvolt = <1493750>;
95          regulator-ramp-delay = <12500>;
96          regulator-enable-ramp-delay = <1>;
97          regulator-allowed-modes = <0 1>;
98        };
99        mt6331_vdvfs12_reg: buck-vdvfs12 {
100          regulator-name = "vdvfs12";
101          regulator-min-microvolt = <700000>;
102          regulator-max-microvolt = <1493750>;
103          regulator-ramp-delay = <12500>;
104          regulator-enable-ramp-delay = <1>;
105          regulator-allowed-modes = <0 1>;
106        };
107        mt6331_vdvfs13_reg: buck-vdvfs13 {
108          regulator-name = "vdvfs13";
109          regulator-min-microvolt = <700000>;
110          regulator-max-microvolt = <1493750>;
111          regulator-ramp-delay = <12500>;
112          regulator-enable-ramp-delay = <1>;
113          regulator-allowed-modes = <0 1>;
114        };
115        mt6331_vdvfs14_reg: buck-vdvfs14 {
116          regulator-name = "vdvfs14";
117          regulator-min-microvolt = <700000>;
118          regulator-max-microvolt = <1493750>;
119          regulator-ramp-delay = <12500>;
120          regulator-enable-ramp-delay = <1>;
121          regulator-allowed-modes = <0 1>;
122        };
123        mt6331_vcore2_reg: buck-vcore2 {
124          regulator-name = "vcore2";
125          regulator-min-microvolt = <700000>;
126          regulator-max-microvolt = <1493750>;
127          regulator-ramp-delay = <12500>;
128          regulator-enable-ramp-delay = <1>;
129          regulator-allowed-modes = <0 1>;
130        };
131        mt6331_vio18_reg: buck-vio18 {
132          regulator-name = "vio18";
133          regulator-min-microvolt = <1800000>;
134          regulator-max-microvolt = <1800000>;
135          regulator-ramp-delay = <12500>;
136          regulator-enable-ramp-delay = <0>;
137          regulator-allowed-modes = <0 1>;
138        };
139        mt6331_vtcxo1_reg: ldo-vtcxo1 {
140          regulator-name = "vtcxo1";
141          regulator-min-microvolt = <2800000>;
142          regulator-max-microvolt = <2800000>;
143          regulator-always-on;
144          regulator-boot-on;
145        };
146        mt6331_vtcxo2_reg: ldo-vtcxo2 {
147          regulator-name = "vtcxo2";
148          regulator-min-microvolt = <2800000>;
149          regulator-max-microvolt = <2800000>;
150          regulator-always-on;
151          regulator-boot-on;
152        };
153        mt6331_avdd32_aud_reg: ldo-avdd32aud {
154          regulator-name = "avdd32_aud";
155          regulator-min-microvolt = <2800000>;
156          regulator-max-microvolt = <3200000>;
157        };
158        mt6331_vauxa32_reg: ldo-vauxa32 {
159          regulator-name = "vauxa32";
160          regulator-min-microvolt = <2800000>;
161          regulator-max-microvolt = <3200000>;
162        };
163        mt6331_vcama_reg: ldo-vcama {
164          regulator-name = "vcama";
165          regulator-min-microvolt = <1500000>;
166          regulator-max-microvolt = <2800000>;
167          regulator-always-on;
168        };
169        mt6331_vio28_reg: ldo-vio28 {
170          regulator-name = "vio28";
171          regulator-min-microvolt = <2800000>;
172          regulator-max-microvolt = <2800000>;
173          regulator-always-on;
174          regulator-boot-on;
175        };
176        mt6331_vcamaf_reg: ldo-vcamaf {
177          regulator-name = "vcam_af";
178          regulator-min-microvolt = <1200000>;
179          regulator-max-microvolt = <3300000>;
180        };
181        mt6331_vmc_reg: ldo-vmc {
182          regulator-name = "vmc";
183          regulator-min-microvolt = <1800000>;
184          regulator-max-microvolt = <3300000>;
185        };
186        mt6331_vmch_reg: ldo-vmch {
187          regulator-name = "vmch";
188          regulator-min-microvolt = <3000000>;
189          regulator-max-microvolt = <3300000>;
190        };
191        mt6331_vemc33_reg: ldo-vemc33 {
192          regulator-name = "vemc33";
193          regulator-min-microvolt = <3300000>;
194          regulator-max-microvolt = <3300000>;
195        };
196        mt6331_vgp1_reg: ldo-vgp1 {
197          regulator-name = "vgp1";
198          regulator-min-microvolt = <1200000>;
199          regulator-max-microvolt = <3300000>;
200        };
201        mt6331_vsim1_reg: ldo-vsim1 {
202          regulator-name = "vsim1";
203          regulator-min-microvolt = <1700000>;
204          regulator-max-microvolt = <3100000>;
205        };
206        mt6331_vsim2_reg: ldo-vsim2 {
207          regulator-name = "vsim2";
208          regulator-min-microvolt = <1700000>;
209          regulator-max-microvolt = <3100000>;
210        };
211        mt6331_vmipi_reg: ldo-vmipi {
212          regulator-name = "vmipi";
213          regulator-min-microvolt = <1200000>;
214          regulator-max-microvolt = <3300000>;
215        };
216        mt6331_vibr_reg: ldo-vibr {
217          regulator-name = "vibr";
218          regulator-min-microvolt = <1200000>;
219          regulator-max-microvolt = <3300000>;
220        };
221        mt6331_vgp4_reg: ldo-vgp4 {
222          regulator-name = "vgp4";
223          regulator-min-microvolt = <1600000>;
224          regulator-max-microvolt = <2200000>;
225        };
226        mt6331_vcamd_reg: ldo-vcamd {
227          regulator-name = "vcamd";
228          regulator-min-microvolt = <900000>;
229          regulator-max-microvolt = <1500000>;
230        };
231        mt6331_vusb10_reg: ldo-vusb10 {
232          regulator-name = "vusb";
233          regulator-min-microvolt = <1000000>;
234          regulator-max-microvolt = <1300000>;
235          regulator-boot-on;
236        };
237        mt6331_vcamio_reg: ldo-vcamio {
238          regulator-name = "vcam_io";
239          regulator-min-microvolt = <1200000>;
240          regulator-max-microvolt = <1800000>;
241        };
242        mt6331_vsram_reg: ldo-vsram {
243          regulator-name = "vsram";
244          regulator-min-microvolt = <1012500>;
245          regulator-max-microvolt = <1012500>;
246          regulator-always-on;
247          regulator-boot-on;
248        };
249        mt6331_vgp2_reg: ldo-vgp2 {
250          regulator-name = "vgp2";
251          regulator-min-microvolt = <1100000>;
252          regulator-max-microvolt = <1500000>;
253          regulator-boot-on;
254        };
255        mt6331_vgp3_reg: ldo-vgp3 {
256          regulator-name = "vgp3";
257          regulator-min-microvolt = <1200000>;
258          regulator-max-microvolt = <1800000>;
259        };
260        mt6331_vrtc_reg: ldo-vrtc {
261          regulator-name = "vrtc";
262          regulator-min-microvolt = <2800000>;
263          regulator-max-microvolt = <2800000>;
264          regulator-always-on;
265        };
266        mt6331_vdig18_reg: ldo-vdig18 {
267          regulator-name = "dvdd18_dig";
268          regulator-min-microvolt = <1800000>;
269          regulator-max-microvolt = <1800000>;
270        };
271      };
272    };
273...
274