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