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