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