1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright (c) 2020 MediaTek Inc.
4 */
5
6&pwrap {
7	pmic: mt6358 {
8		compatible = "mediatek,mt6358";
9		interrupt-controller;
10		interrupt-parent = <&pio>;
11		interrupts = <182 IRQ_TYPE_LEVEL_HIGH>;
12		#interrupt-cells = <2>;
13
14		mt6358codec: mt6358codec {
15			compatible = "mediatek,mt6358-sound";
16			mediatek,dmic-mode = <0>; /* two-wires */
17		};
18
19		mt6358regulator: mt6358regulator {
20			compatible = "mediatek,mt6358-regulator";
21
22			mt6358_vdram1_reg: buck_vdram1 {
23				regulator-name = "vdram1";
24				regulator-min-microvolt = <500000>;
25				regulator-max-microvolt = <2087500>;
26				regulator-ramp-delay = <12500>;
27				regulator-enable-ramp-delay = <0>;
28				regulator-always-on;
29				regulator-allowed-modes = <0 1>;
30			};
31
32			mt6358_vcore_reg: buck_vcore {
33				regulator-name = "vcore";
34				regulator-min-microvolt = <500000>;
35				regulator-max-microvolt = <1293750>;
36				regulator-ramp-delay = <6250>;
37				regulator-enable-ramp-delay = <200>;
38				regulator-always-on;
39				regulator-allowed-modes = <0 1>;
40			};
41
42			mt6358_vpa_reg: buck_vpa {
43				regulator-name = "vpa";
44				regulator-min-microvolt = <500000>;
45				regulator-max-microvolt = <3650000>;
46				regulator-ramp-delay = <50000>;
47				regulator-enable-ramp-delay = <250>;
48				regulator-allowed-modes = <0 1>;
49			};
50
51			mt6358_vproc11_reg: buck_vproc11 {
52				regulator-name = "vproc11";
53				regulator-min-microvolt = <500000>;
54				regulator-max-microvolt = <1293750>;
55				regulator-ramp-delay = <6250>;
56				regulator-enable-ramp-delay = <200>;
57				regulator-always-on;
58				regulator-allowed-modes = <0 1>;
59			};
60
61			mt6358_vproc12_reg: buck_vproc12 {
62				regulator-name = "vproc12";
63				regulator-min-microvolt = <500000>;
64				regulator-max-microvolt = <1293750>;
65				regulator-ramp-delay = <6250>;
66				regulator-enable-ramp-delay = <200>;
67				regulator-always-on;
68				regulator-allowed-modes = <0 1>;
69			};
70
71			mt6358_vgpu_reg: buck_vgpu {
72				regulator-name = "vgpu";
73				regulator-min-microvolt = <500000>;
74				regulator-max-microvolt = <1293750>;
75				regulator-ramp-delay = <6250>;
76				regulator-enable-ramp-delay = <200>;
77				regulator-allowed-modes = <0 1>;
78			};
79
80			mt6358_vs2_reg: buck_vs2 {
81				regulator-name = "vs2";
82				regulator-min-microvolt = <500000>;
83				regulator-max-microvolt = <2087500>;
84				regulator-ramp-delay = <12500>;
85				regulator-enable-ramp-delay = <0>;
86				regulator-always-on;
87			};
88
89			mt6358_vmodem_reg: buck_vmodem {
90				regulator-name = "vmodem";
91				regulator-min-microvolt = <500000>;
92				regulator-max-microvolt = <1293750>;
93				regulator-ramp-delay = <6250>;
94				regulator-enable-ramp-delay = <900>;
95				regulator-always-on;
96				regulator-allowed-modes = <0 1>;
97			};
98
99			mt6358_vs1_reg: buck_vs1 {
100				regulator-name = "vs1";
101				regulator-min-microvolt = <1000000>;
102				regulator-max-microvolt = <2587500>;
103				regulator-ramp-delay = <12500>;
104				regulator-enable-ramp-delay = <0>;
105				regulator-always-on;
106			};
107
108			mt6358_vdram2_reg: ldo_vdram2 {
109				regulator-name = "vdram2";
110				regulator-min-microvolt = <600000>;
111				regulator-max-microvolt = <1800000>;
112				regulator-enable-ramp-delay = <3300>;
113			};
114
115			mt6358_vsim1_reg: ldo_vsim1 {
116				regulator-name = "vsim1";
117				regulator-min-microvolt = <1700000>;
118				regulator-max-microvolt = <3100000>;
119				regulator-enable-ramp-delay = <540>;
120			};
121
122			mt6358_vibr_reg: ldo_vibr {
123				regulator-name = "vibr";
124				regulator-min-microvolt = <1200000>;
125				regulator-max-microvolt = <3300000>;
126				regulator-enable-ramp-delay = <60>;
127			};
128
129			mt6358_vrf12_reg: ldo_vrf12 {
130				compatible = "regulator-fixed";
131				regulator-name = "vrf12";
132				regulator-min-microvolt = <1200000>;
133				regulator-max-microvolt = <1200000>;
134				regulator-enable-ramp-delay = <120>;
135			};
136
137			mt6358_vio18_reg: ldo_vio18 {
138				compatible = "regulator-fixed";
139				regulator-name = "vio18";
140				regulator-min-microvolt = <1800000>;
141				regulator-max-microvolt = <1800000>;
142				regulator-enable-ramp-delay = <2700>;
143				regulator-always-on;
144			};
145
146			mt6358_vusb_reg: ldo_vusb {
147				regulator-name = "vusb";
148				regulator-min-microvolt = <3000000>;
149				regulator-max-microvolt = <3100000>;
150				regulator-enable-ramp-delay = <270>;
151				regulator-always-on;
152			};
153
154			mt6358_vcamio_reg: ldo_vcamio {
155				compatible = "regulator-fixed";
156				regulator-name = "vcamio";
157				regulator-min-microvolt = <1800000>;
158				regulator-max-microvolt = <1800000>;
159				regulator-enable-ramp-delay = <325>;
160			};
161
162			mt6358_vcamd_reg: ldo_vcamd {
163				regulator-name = "vcamd";
164				regulator-min-microvolt = <900000>;
165				regulator-max-microvolt = <1800000>;
166				regulator-enable-ramp-delay = <325>;
167			};
168
169			mt6358_vcn18_reg: ldo_vcn18 {
170				compatible = "regulator-fixed";
171				regulator-name = "vcn18";
172				regulator-min-microvolt = <1800000>;
173				regulator-max-microvolt = <1800000>;
174				regulator-enable-ramp-delay = <270>;
175			};
176
177			mt6358_vfe28_reg: ldo_vfe28 {
178				compatible = "regulator-fixed";
179				regulator-name = "vfe28";
180				regulator-min-microvolt = <2800000>;
181				regulator-max-microvolt = <2800000>;
182				regulator-enable-ramp-delay = <270>;
183			};
184
185			mt6358_vsram_proc11_reg: ldo_vsram_proc11 {
186				regulator-name = "vsram_proc11";
187				regulator-min-microvolt = <500000>;
188				regulator-max-microvolt = <1293750>;
189				regulator-ramp-delay = <6250>;
190				regulator-enable-ramp-delay = <240>;
191				regulator-always-on;
192			};
193
194			mt6358_vcn28_reg: ldo_vcn28 {
195				compatible = "regulator-fixed";
196				regulator-name = "vcn28";
197				regulator-min-microvolt = <2800000>;
198				regulator-max-microvolt = <2800000>;
199				regulator-enable-ramp-delay = <270>;
200			};
201
202			mt6358_vsram_others_reg: ldo_vsram_others {
203				regulator-name = "vsram_others";
204				regulator-min-microvolt = <500000>;
205				regulator-max-microvolt = <1293750>;
206				regulator-ramp-delay = <6250>;
207				regulator-enable-ramp-delay = <240>;
208				regulator-always-on;
209			};
210
211			mt6358_vsram_gpu_reg: ldo_vsram_gpu {
212				regulator-name = "vsram_gpu";
213				regulator-min-microvolt = <500000>;
214				regulator-max-microvolt = <1293750>;
215				regulator-ramp-delay = <6250>;
216				regulator-enable-ramp-delay = <240>;
217			};
218
219			mt6358_vxo22_reg: ldo_vxo22 {
220				compatible = "regulator-fixed";
221				regulator-name = "vxo22";
222				regulator-min-microvolt = <2200000>;
223				regulator-max-microvolt = <2200000>;
224				regulator-enable-ramp-delay = <120>;
225				regulator-always-on;
226			};
227
228			mt6358_vefuse_reg: ldo_vefuse {
229				regulator-name = "vefuse";
230				regulator-min-microvolt = <1700000>;
231				regulator-max-microvolt = <1900000>;
232				regulator-enable-ramp-delay = <270>;
233			};
234
235			mt6358_vaux18_reg: ldo_vaux18 {
236				compatible = "regulator-fixed";
237				regulator-name = "vaux18";
238				regulator-min-microvolt = <1800000>;
239				regulator-max-microvolt = <1800000>;
240				regulator-enable-ramp-delay = <270>;
241			};
242
243			mt6358_vmch_reg: ldo_vmch {
244				regulator-name = "vmch";
245				regulator-min-microvolt = <2900000>;
246				regulator-max-microvolt = <3300000>;
247				regulator-enable-ramp-delay = <60>;
248			};
249
250			mt6358_vbif28_reg: ldo_vbif28 {
251				compatible = "regulator-fixed";
252				regulator-name = "vbif28";
253				regulator-min-microvolt = <2800000>;
254				regulator-max-microvolt = <2800000>;
255				regulator-enable-ramp-delay = <270>;
256			};
257
258			mt6358_vsram_proc12_reg: ldo_vsram_proc12 {
259				regulator-name = "vsram_proc12";
260				regulator-min-microvolt = <500000>;
261				regulator-max-microvolt = <1293750>;
262				regulator-ramp-delay = <6250>;
263				regulator-enable-ramp-delay = <240>;
264				regulator-always-on;
265			};
266
267			mt6358_vcama1_reg: ldo_vcama1 {
268				regulator-name = "vcama1";
269				regulator-min-microvolt = <1800000>;
270				regulator-max-microvolt = <3000000>;
271				regulator-enable-ramp-delay = <325>;
272			};
273
274			mt6358_vemc_reg: ldo_vemc {
275				regulator-name = "vemc";
276				regulator-min-microvolt = <2900000>;
277				regulator-max-microvolt = <3300000>;
278				regulator-enable-ramp-delay = <60>;
279			};
280
281			mt6358_vio28_reg: ldo_vio28 {
282				compatible = "regulator-fixed";
283				regulator-name = "vio28";
284				regulator-min-microvolt = <2800000>;
285				regulator-max-microvolt = <2800000>;
286				regulator-enable-ramp-delay = <270>;
287			};
288
289			mt6358_va12_reg: ldo_va12 {
290				compatible = "regulator-fixed";
291				regulator-name = "va12";
292				regulator-min-microvolt = <1200000>;
293				regulator-max-microvolt = <1200000>;
294				regulator-enable-ramp-delay = <270>;
295				regulator-always-on;
296			};
297
298			mt6358_vrf18_reg: ldo_vrf18 {
299				compatible = "regulator-fixed";
300				regulator-name = "vrf18";
301				regulator-min-microvolt = <1800000>;
302				regulator-max-microvolt = <1800000>;
303				regulator-enable-ramp-delay = <120>;
304			};
305
306			mt6358_vcn33_bt_reg: ldo_vcn33_bt {
307				regulator-name = "vcn33_bt";
308				regulator-min-microvolt = <3300000>;
309				regulator-max-microvolt = <3500000>;
310				regulator-enable-ramp-delay = <270>;
311			};
312
313			mt6358_vcn33_wifi_reg: ldo_vcn33_wifi {
314				regulator-name = "vcn33_wifi";
315				regulator-min-microvolt = <3300000>;
316				regulator-max-microvolt = <3500000>;
317				regulator-enable-ramp-delay = <270>;
318			};
319
320			mt6358_vcama2_reg: ldo_vcama2 {
321				regulator-name = "vcama2";
322				regulator-min-microvolt = <1800000>;
323				regulator-max-microvolt = <3000000>;
324				regulator-enable-ramp-delay = <325>;
325			};
326
327			mt6358_vmc_reg: ldo_vmc {
328				regulator-name = "vmc";
329				regulator-min-microvolt = <1800000>;
330				regulator-max-microvolt = <3300000>;
331				regulator-enable-ramp-delay = <60>;
332			};
333
334			mt6358_vldo28_reg: ldo_vldo28 {
335				regulator-name = "vldo28";
336				regulator-min-microvolt = <2800000>;
337				regulator-max-microvolt = <3000000>;
338				regulator-enable-ramp-delay = <270>;
339			};
340
341			mt6358_vaud28_reg: ldo_vaud28 {
342				compatible = "regulator-fixed";
343				regulator-name = "vaud28";
344				regulator-min-microvolt = <2800000>;
345				regulator-max-microvolt = <2800000>;
346				regulator-enable-ramp-delay = <270>;
347			};
348
349			mt6358_vsim2_reg: ldo_vsim2 {
350				regulator-name = "vsim2";
351				regulator-min-microvolt = <1700000>;
352				regulator-max-microvolt = <3100000>;
353				regulator-enable-ramp-delay = <540>;
354			};
355		};
356
357		mt6358rtc: mt6358rtc {
358			compatible = "mediatek,mt6358-rtc";
359		};
360	};
361};
362