1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright (c) 2023 Collabora Ltd.
4 * Author: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
5 */
6#include <dt-bindings/input/input.h>
7
8&pwrap {
9	pmic: mt6331 {
10		compatible = "mediatek,mt6331";
11		interrupt-controller;
12		#interrupt-cells = <2>;
13
14		mt6331regulator: mt6331regulator {
15			compatible = "mediatek,mt6331-regulator";
16
17			mt6331_vdvfs11_reg: buck-vdvfs11 {
18				regulator-name = "vdvfs11";
19				regulator-min-microvolt = <700000>;
20				regulator-max-microvolt = <1493750>;
21				regulator-ramp-delay = <12500>;
22				regulator-enable-ramp-delay = <0>;
23				regulator-allowed-modes = <0 1>;
24				regulator-always-on;
25			};
26
27			mt6331_vdvfs12_reg: buck-vdvfs12 {
28				regulator-name = "vdvfs12";
29				regulator-min-microvolt = <700000>;
30				regulator-max-microvolt = <1493750>;
31				regulator-ramp-delay = <12500>;
32				regulator-enable-ramp-delay = <0>;
33				regulator-allowed-modes = <0 1>;
34				regulator-always-on;
35			};
36
37			mt6331_vdvfs13_reg: buck-vdvfs13 {
38				regulator-name = "vdvfs13";
39				regulator-min-microvolt = <700000>;
40				regulator-max-microvolt = <1493750>;
41				regulator-ramp-delay = <12500>;
42				regulator-enable-ramp-delay = <0>;
43				regulator-allowed-modes = <0 1>;
44				regulator-always-on;
45			};
46
47			mt6331_vdvfs14_reg: buck-vdvfs14 {
48				regulator-name = "vdvfs14";
49				regulator-min-microvolt = <700000>;
50				regulator-max-microvolt = <1493750>;
51				regulator-ramp-delay = <12500>;
52				regulator-enable-ramp-delay = <0>;
53				regulator-allowed-modes = <0 1>;
54				regulator-always-on;
55			};
56
57			mt6331_vcore2_reg: buck-vcore2 {
58				regulator-name = "vcore2";
59				regulator-min-microvolt = <700000>;
60				regulator-max-microvolt = <1493750>;
61				regulator-ramp-delay = <12500>;
62				regulator-enable-ramp-delay = <0>;
63				regulator-allowed-modes = <0 1>;
64				regulator-always-on;
65			};
66
67			mt6331_vio18_reg: buck-vio18 {
68				regulator-name = "vio18";
69				regulator-min-microvolt = <1800000>;
70				regulator-max-microvolt = <1800000>;
71				regulator-ramp-delay = <12500>;
72				regulator-enable-ramp-delay = <0>;
73				regulator-allowed-modes = <0 1>;
74				regulator-always-on;
75			};
76
77			mt6331_vtcxo1_reg: ldo-vtcxo1 {
78				regulator-name = "vtcxo1";
79				regulator-min-microvolt = <2800000>;
80				regulator-max-microvolt = <2800000>;
81				regulator-ramp-delay = <0>;
82				regulator-always-on;
83				regulator-boot-on;
84			};
85
86			mt6331_vtcxo2_reg: ldo-vtcxo2 {
87				regulator-name = "vtcxo2";
88				regulator-min-microvolt = <2800000>;
89				regulator-max-microvolt = <2800000>;
90				regulator-ramp-delay = <0>;
91				regulator-always-on;
92				regulator-boot-on;
93			};
94
95			mt6331_avdd32_aud_reg: ldo-avdd32aud {
96				regulator-name = "avdd32_aud";
97				regulator-min-microvolt = <2800000>;
98				regulator-max-microvolt = <3200000>;
99				regulator-ramp-delay = <0>;
100				regulator-always-on;
101				regulator-boot-on;
102			};
103
104			mt6331_vauxa32_reg: ldo-vauxa32 {
105				regulator-name = "vauxa32";
106				regulator-min-microvolt = <2800000>;
107				regulator-max-microvolt = <3200000>;
108				regulator-ramp-delay = <0>;
109			};
110
111			mt6331_vcama_reg: ldo-vcama {
112				regulator-name = "vcama";
113				regulator-min-microvolt = <1500000>;
114				regulator-max-microvolt = <2800000>;
115				regulator-ramp-delay = <0>;
116			};
117
118			mt6331_vio28_reg: ldo-vio28 {
119				regulator-name = "vio28";
120				regulator-min-microvolt = <2800000>;
121				regulator-max-microvolt = <2800000>;
122				regulator-ramp-delay = <0>;
123				regulator-always-on;
124				regulator-boot-on;
125			};
126
127			mt6331_vcamaf_reg: ldo-vcamaf {
128				regulator-name = "vcam_af";
129				regulator-min-microvolt = <1200000>;
130				regulator-max-microvolt = <3300000>;
131				regulator-ramp-delay = <0>;
132			};
133
134			mt6331_vmc_reg: ldo-vmc {
135				regulator-name = "vmc";
136				regulator-min-microvolt = <1800000>;
137				regulator-max-microvolt = <3300000>;
138				regulator-ramp-delay = <0>;
139			};
140
141			mt6331_vmch_reg: ldo-vmch {
142				regulator-name = "vmch";
143				regulator-min-microvolt = <3000000>;
144				regulator-max-microvolt = <3300000>;
145				regulator-ramp-delay = <0>;
146			};
147
148			mt6331_vemc33_reg: ldo-vemc33 {
149				regulator-name = "vemc33";
150				regulator-min-microvolt = <3300000>;
151				regulator-max-microvolt = <3300000>;
152				regulator-ramp-delay = <0>;
153				regulator-always-on;
154			};
155
156			mt6331_vgp1_reg: ldo-vgp1 {
157				regulator-name = "vgp1";
158				regulator-min-microvolt = <1200000>;
159				regulator-max-microvolt = <3300000>;
160				regulator-ramp-delay = <0>;
161				regulator-always-on;
162			};
163
164			mt6331_vsim1_reg: ldo-vsim1 {
165				regulator-name = "vsim1";
166				regulator-min-microvolt = <1700000>;
167				regulator-max-microvolt = <3100000>;
168				regulator-ramp-delay = <0>;
169				regulator-always-on;
170			};
171
172			mt6331_vsim2_reg: ldo-vsim2 {
173				regulator-name = "vsim2";
174				regulator-min-microvolt = <1700000>;
175				regulator-max-microvolt = <3100000>;
176				regulator-ramp-delay = <0>;
177			};
178
179			mt6331_vmipi_reg: ldo-vmipi {
180				regulator-name = "vmipi";
181				regulator-min-microvolt = <1200000>;
182				regulator-max-microvolt = <3300000>;
183				regulator-ramp-delay = <0>;
184				regulator-always-on;
185			};
186
187			mt6331_vibr_reg: ldo-vibr {
188				regulator-name = "vibr";
189				regulator-min-microvolt = <1200000>;
190				regulator-max-microvolt = <3300000>;
191				regulator-ramp-delay = <0>;
192			};
193
194			mt6331_vgp4_reg: ldo-vgp4 {
195				regulator-name = "vgp4";
196				regulator-min-microvolt = <1600000>;
197				regulator-max-microvolt = <2200000>;
198				regulator-ramp-delay = <0>;
199				regulator-always-on;
200			};
201
202			mt6331_vcamd_reg: ldo-vcamd {
203				regulator-name = "vcamd";
204				regulator-min-microvolt = <900000>;
205				regulator-max-microvolt = <1500000>;
206				regulator-ramp-delay = <0>;
207				regulator-always-on;
208			};
209
210			mt6331_vusb10_reg: ldo-vusb10 {
211				regulator-name = "vusb";
212				regulator-min-microvolt = <1000000>;
213				regulator-max-microvolt = <1300000>;
214				regulator-ramp-delay = <0>;
215				regulator-always-on;
216				regulator-boot-on;
217			};
218
219			mt6331_vcamio_reg: ldo-vcamio {
220				regulator-name = "vcam_io";
221				regulator-min-microvolt = <1200000>;
222				regulator-max-microvolt = <1800000>;
223				regulator-ramp-delay = <0>;
224			};
225
226			mt6331_vsram_reg: ldo-vsram {
227				regulator-name = "vsram";
228				regulator-min-microvolt = <1012500>;
229				regulator-max-microvolt = <1012500>;
230				regulator-ramp-delay = <0>;
231				regulator-always-on;
232				regulator-boot-on;
233			};
234
235			mt6331_vgp2_reg: ldo-vgp2 {
236				regulator-name = "vgp2";
237				regulator-min-microvolt = <1100000>;
238				regulator-max-microvolt = <1500000>;
239				regulator-ramp-delay = <0>;
240				regulator-always-on;
241				regulator-boot-on;
242			};
243
244			mt6331_vgp3_reg: ldo-vgp3 {
245				regulator-name = "vgp3";
246				regulator-min-microvolt = <1200000>;
247				regulator-max-microvolt = <1800000>;
248				regulator-ramp-delay = <0>;
249				regulator-always-on;
250			};
251
252			mt6331_vrtc_reg: ldo-vrtc {
253				regulator-name = "vrtc";
254				regulator-min-microvolt = <2800000>;
255				regulator-max-microvolt = <2800000>;
256				regulator-ramp-delay = <0>;
257				regulator-always-on;
258			};
259
260			mt6331_vdig18_reg: ldo-vdig18 {
261				regulator-name = "dvdd18_dig";
262				regulator-min-microvolt = <1800000>;
263				regulator-max-microvolt = <1800000>;
264				regulator-ramp-delay = <0>;
265				regulator-always-on;
266			};
267		};
268
269		mt6331rtc: mt6331rtc {
270			compatible = "mediatek,mt6331-rtc";
271		};
272
273		mt6331keys: mt6331keys {
274			compatible = "mediatek,mt6331-keys";
275			power {
276				linux,keycodes = <KEY_POWER>;
277				wakeup-source;
278			};
279			home {
280				linux,keycodes = <KEY_HOME>;
281			};
282		};
283	};
284};
285