xref: /linux/arch/arm/boot/dts/qcom/qcom-msm8926-htc-memul.dts (revision 97817a8275a1ec06773016c13c6f009535b53a6f)
1*97817a82SLuca Weiss// SPDX-License-Identifier: BSD-3-Clause
2*97817a82SLuca Weiss/*
3*97817a82SLuca Weiss * Copyright (c) 2023, Luca Weiss <luca@z3ntu.xyz>
4*97817a82SLuca Weiss */
5*97817a82SLuca Weiss
6*97817a82SLuca Weiss/dts-v1/;
7*97817a82SLuca Weiss
8*97817a82SLuca Weiss#include "qcom-msm8226.dtsi"
9*97817a82SLuca Weiss#include "pm8226.dtsi"
10*97817a82SLuca Weiss
11*97817a82SLuca Weiss/delete-node/ &adsp_region;
12*97817a82SLuca Weiss/delete-node/ &smem_region;
13*97817a82SLuca Weiss
14*97817a82SLuca Weiss/ {
15*97817a82SLuca Weiss	model = "HTC One Mini 2";
16*97817a82SLuca Weiss	compatible = "htc,memul", "qcom,msm8926", "qcom,msm8226";
17*97817a82SLuca Weiss	chassis-type = "handset";
18*97817a82SLuca Weiss
19*97817a82SLuca Weiss	aliases {
20*97817a82SLuca Weiss		mmc1 = &sdhc_2; /* SDC2 SD card slot */
21*97817a82SLuca Weiss	};
22*97817a82SLuca Weiss
23*97817a82SLuca Weiss	gpio-keys {
24*97817a82SLuca Weiss		compatible = "gpio-keys";
25*97817a82SLuca Weiss
26*97817a82SLuca Weiss		key-power {
27*97817a82SLuca Weiss			label = "Power";
28*97817a82SLuca Weiss			gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
29*97817a82SLuca Weiss			linux,code = <KEY_POWER>;
30*97817a82SLuca Weiss			debounce-interval = <15>;
31*97817a82SLuca Weiss		};
32*97817a82SLuca Weiss
33*97817a82SLuca Weiss		key-volume-down {
34*97817a82SLuca Weiss			label = "Volume Down";
35*97817a82SLuca Weiss			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
36*97817a82SLuca Weiss			linux,code = <KEY_VOLUMEDOWN>;
37*97817a82SLuca Weiss			debounce-interval = <15>;
38*97817a82SLuca Weiss		};
39*97817a82SLuca Weiss
40*97817a82SLuca Weiss		key-volume-up {
41*97817a82SLuca Weiss			label = "Volume Up";
42*97817a82SLuca Weiss			gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
43*97817a82SLuca Weiss			linux,code = <KEY_VOLUMEUP>;
44*97817a82SLuca Weiss			debounce-interval = <15>;
45*97817a82SLuca Weiss		};
46*97817a82SLuca Weiss	};
47*97817a82SLuca Weiss
48*97817a82SLuca Weiss	reserved-memory {
49*97817a82SLuca Weiss		unknown@5b00000 {
50*97817a82SLuca Weiss			reg = <0x05b00000 0x200000>;
51*97817a82SLuca Weiss			no-map;
52*97817a82SLuca Weiss		};
53*97817a82SLuca Weiss
54*97817a82SLuca Weiss		unknown@7500000 {
55*97817a82SLuca Weiss			reg = <0x07500000 0xb00000>;
56*97817a82SLuca Weiss			no-map;
57*97817a82SLuca Weiss		};
58*97817a82SLuca Weiss
59*97817a82SLuca Weiss		mpss_region: mpss@8000000 {
60*97817a82SLuca Weiss			reg = <0x08000000 0x4f00000>;
61*97817a82SLuca Weiss			no-map;
62*97817a82SLuca Weiss		};
63*97817a82SLuca Weiss
64*97817a82SLuca Weiss		unknown@cf00000 {
65*97817a82SLuca Weiss			reg = <0x0cf00000 0x200000>;
66*97817a82SLuca Weiss			no-map;
67*97817a82SLuca Weiss		};
68*97817a82SLuca Weiss
69*97817a82SLuca Weiss		mba_region: mba@d100000 {
70*97817a82SLuca Weiss			reg = <0x0d100000 0x3a000>;
71*97817a82SLuca Weiss			no-map;
72*97817a82SLuca Weiss		};
73*97817a82SLuca Weiss
74*97817a82SLuca Weiss		unknown@d13a000 {
75*97817a82SLuca Weiss			reg = <0x0d13a000 0xc6000>;
76*97817a82SLuca Weiss			no-map;
77*97817a82SLuca Weiss		};
78*97817a82SLuca Weiss
79*97817a82SLuca Weiss		wcnss_region: wcnss@d200000 {
80*97817a82SLuca Weiss			reg = <0x0d200000 0x650000>;
81*97817a82SLuca Weiss			no-map;
82*97817a82SLuca Weiss		};
83*97817a82SLuca Weiss
84*97817a82SLuca Weiss		unknown@d850000 {
85*97817a82SLuca Weiss			reg = <0x0d850000 0x3b0000>;
86*97817a82SLuca Weiss			no-map;
87*97817a82SLuca Weiss		};
88*97817a82SLuca Weiss
89*97817a82SLuca Weiss		adsp_region: adsp@dc00000 {
90*97817a82SLuca Weiss			reg = <0x0dc00000 0x1400000>;
91*97817a82SLuca Weiss			no-map;
92*97817a82SLuca Weiss		};
93*97817a82SLuca Weiss
94*97817a82SLuca Weiss		unknown@f000000 {
95*97817a82SLuca Weiss			reg = <0x0f000000 0x500000>;
96*97817a82SLuca Weiss			no-map;
97*97817a82SLuca Weiss		};
98*97817a82SLuca Weiss
99*97817a82SLuca Weiss		venus_region: venus@f500000 {
100*97817a82SLuca Weiss			reg = <0x0f500000 0x500000>;
101*97817a82SLuca Weiss			no-map;
102*97817a82SLuca Weiss		};
103*97817a82SLuca Weiss
104*97817a82SLuca Weiss		smem_region: smem@fa00000 {
105*97817a82SLuca Weiss			reg = <0x0fa00000 0x100000>;
106*97817a82SLuca Weiss			no-map;
107*97817a82SLuca Weiss		};
108*97817a82SLuca Weiss
109*97817a82SLuca Weiss		unknown@fb00000 {
110*97817a82SLuca Weiss			reg = <0x0fb00000 0x1b00000>;
111*97817a82SLuca Weiss			no-map;
112*97817a82SLuca Weiss		};
113*97817a82SLuca Weiss	};
114*97817a82SLuca Weiss};
115*97817a82SLuca Weiss
116*97817a82SLuca Weiss&adsp {
117*97817a82SLuca Weiss	firmware-name = "qcom/msm8926/memul/adsp.mbn";
118*97817a82SLuca Weiss	status = "okay";
119*97817a82SLuca Weiss};
120*97817a82SLuca Weiss
121*97817a82SLuca Weiss&blsp1_i2c2 {
122*97817a82SLuca Weiss	status = "okay";
123*97817a82SLuca Weiss
124*97817a82SLuca Weiss	magnetometer@d {
125*97817a82SLuca Weiss		compatible = "asahi-kasei,ak8963";
126*97817a82SLuca Weiss		reg = <0x0d>;
127*97817a82SLuca Weiss		interrupts-extended = <&tlmm 66 IRQ_TYPE_EDGE_RISING>;
128*97817a82SLuca Weiss		vdd-supply = <&pm8226_l19>;
129*97817a82SLuca Weiss		vid-supply = <&pm8226_l28>;
130*97817a82SLuca Weiss	};
131*97817a82SLuca Weiss
132*97817a82SLuca Weiss	accelerometer@18 {
133*97817a82SLuca Weiss		compatible = "bosch,bma250e";
134*97817a82SLuca Weiss		reg = <0x18>;
135*97817a82SLuca Weiss		interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_RISING>;
136*97817a82SLuca Weiss		vdd-supply = <&pm8226_l19>;
137*97817a82SLuca Weiss		vddio-supply = <&pm8226_l28>;
138*97817a82SLuca Weiss	};
139*97817a82SLuca Weiss};
140*97817a82SLuca Weiss
141*97817a82SLuca Weiss&blsp1_i2c4 {
142*97817a82SLuca Weiss	status = "okay";
143*97817a82SLuca Weiss
144*97817a82SLuca Weiss	/* TFA9887 @ 34 */
145*97817a82SLuca Weiss	/* TFA9887 @ 35 */
146*97817a82SLuca Weiss};
147*97817a82SLuca Weiss
148*97817a82SLuca Weiss&blsp1_i2c5 {
149*97817a82SLuca Weiss	status = "okay";
150*97817a82SLuca Weiss
151*97817a82SLuca Weiss	touchscreen@20 {
152*97817a82SLuca Weiss		compatible = "syna,rmi4-i2c";
153*97817a82SLuca Weiss		reg = <0x20>;
154*97817a82SLuca Weiss
155*97817a82SLuca Weiss		interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
156*97817a82SLuca Weiss		vdd-supply = <&pm8226_l19>;
157*97817a82SLuca Weiss
158*97817a82SLuca Weiss		syna,startup-delay-ms = <160>;
159*97817a82SLuca Weiss
160*97817a82SLuca Weiss		#address-cells = <1>;
161*97817a82SLuca Weiss		#size-cells = <0>;
162*97817a82SLuca Weiss
163*97817a82SLuca Weiss		rmi4-f01@1 {
164*97817a82SLuca Weiss			reg = <0x1>;
165*97817a82SLuca Weiss			syna,nosleep-mode = <1>;
166*97817a82SLuca Weiss		};
167*97817a82SLuca Weiss
168*97817a82SLuca Weiss		rmi4-f12@12 {
169*97817a82SLuca Weiss			reg = <0x12>;
170*97817a82SLuca Weiss			syna,sensor-type = <1>;
171*97817a82SLuca Weiss		};
172*97817a82SLuca Weiss	};
173*97817a82SLuca Weiss};
174*97817a82SLuca Weiss
175*97817a82SLuca Weiss&blsp1_i2c6 {
176*97817a82SLuca Weiss	status = "okay";
177*97817a82SLuca Weiss
178*97817a82SLuca Weiss	/* NCP6924 Camera Regulators @ 10 */
179*97817a82SLuca Weiss	/* PN544 NFC @ 28 */
180*97817a82SLuca Weiss	/* TPS61310 Flash/Torch @ 33 */
181*97817a82SLuca Weiss};
182*97817a82SLuca Weiss
183*97817a82SLuca Weiss&pm8226_vib {
184*97817a82SLuca Weiss	status = "okay";
185*97817a82SLuca Weiss};
186*97817a82SLuca Weiss
187*97817a82SLuca Weiss&rpm_requests {
188*97817a82SLuca Weiss	regulators {
189*97817a82SLuca Weiss		compatible = "qcom,rpm-pm8226-regulators";
190*97817a82SLuca Weiss
191*97817a82SLuca Weiss		pm8226_s3: s3 {
192*97817a82SLuca Weiss			regulator-min-microvolt = <1200000>;
193*97817a82SLuca Weiss			regulator-max-microvolt = <1350000>;
194*97817a82SLuca Weiss		};
195*97817a82SLuca Weiss
196*97817a82SLuca Weiss		pm8226_s4: s4 {
197*97817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
198*97817a82SLuca Weiss			regulator-max-microvolt = <2200000>;
199*97817a82SLuca Weiss		};
200*97817a82SLuca Weiss
201*97817a82SLuca Weiss		pm8226_s5: s5 {
202*97817a82SLuca Weiss			regulator-min-microvolt = <1150000>;
203*97817a82SLuca Weiss			regulator-max-microvolt = <1150000>;
204*97817a82SLuca Weiss		};
205*97817a82SLuca Weiss
206*97817a82SLuca Weiss		pm8226_l1: l1 {
207*97817a82SLuca Weiss			regulator-min-microvolt = <1225000>;
208*97817a82SLuca Weiss			regulator-max-microvolt = <1225000>;
209*97817a82SLuca Weiss		};
210*97817a82SLuca Weiss
211*97817a82SLuca Weiss		pm8226_l2: l2 {
212*97817a82SLuca Weiss			regulator-min-microvolt = <1200000>;
213*97817a82SLuca Weiss			regulator-max-microvolt = <1200000>;
214*97817a82SLuca Weiss		};
215*97817a82SLuca Weiss
216*97817a82SLuca Weiss		pm8226_l3: l3 {
217*97817a82SLuca Weiss			regulator-min-microvolt = <750000>;
218*97817a82SLuca Weiss			regulator-max-microvolt = <1337500>;
219*97817a82SLuca Weiss		};
220*97817a82SLuca Weiss
221*97817a82SLuca Weiss		pm8226_l4: l4 {
222*97817a82SLuca Weiss			regulator-min-microvolt = <1200000>;
223*97817a82SLuca Weiss			regulator-max-microvolt = <1200000>;
224*97817a82SLuca Weiss		};
225*97817a82SLuca Weiss
226*97817a82SLuca Weiss		pm8226_l5: l5 {
227*97817a82SLuca Weiss			regulator-min-microvolt = <1200000>;
228*97817a82SLuca Weiss			regulator-max-microvolt = <1200000>;
229*97817a82SLuca Weiss		};
230*97817a82SLuca Weiss
231*97817a82SLuca Weiss		pm8226_l6: l6 {
232*97817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
233*97817a82SLuca Weiss			regulator-max-microvolt = <1800000>;
234*97817a82SLuca Weiss		};
235*97817a82SLuca Weiss
236*97817a82SLuca Weiss		pm8226_l7: l7 {
237*97817a82SLuca Weiss			regulator-min-microvolt = <1850000>;
238*97817a82SLuca Weiss			regulator-max-microvolt = <1850000>;
239*97817a82SLuca Weiss		};
240*97817a82SLuca Weiss
241*97817a82SLuca Weiss		pm8226_l8: l8 {
242*97817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
243*97817a82SLuca Weiss			regulator-max-microvolt = <1800000>;
244*97817a82SLuca Weiss		};
245*97817a82SLuca Weiss
246*97817a82SLuca Weiss		pm8226_l9: l9 {
247*97817a82SLuca Weiss			regulator-min-microvolt = <2050000>;
248*97817a82SLuca Weiss			regulator-max-microvolt = <2050000>;
249*97817a82SLuca Weiss		};
250*97817a82SLuca Weiss
251*97817a82SLuca Weiss		pm8226_l10: l10 {
252*97817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
253*97817a82SLuca Weiss			regulator-max-microvolt = <1800000>;
254*97817a82SLuca Weiss		};
255*97817a82SLuca Weiss
256*97817a82SLuca Weiss		pm8226_l12: l12 {
257*97817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
258*97817a82SLuca Weiss			regulator-max-microvolt = <1800000>;
259*97817a82SLuca Weiss		};
260*97817a82SLuca Weiss
261*97817a82SLuca Weiss		pm8226_l14: l14 {
262*97817a82SLuca Weiss			regulator-min-microvolt = <2750000>;
263*97817a82SLuca Weiss			regulator-max-microvolt = <2750000>;
264*97817a82SLuca Weiss		};
265*97817a82SLuca Weiss
266*97817a82SLuca Weiss		pm8226_l15: l15 {
267*97817a82SLuca Weiss			regulator-min-microvolt = <3000000>;
268*97817a82SLuca Weiss			regulator-max-microvolt = <3000000>;
269*97817a82SLuca Weiss		};
270*97817a82SLuca Weiss
271*97817a82SLuca Weiss		pm8226_l16: l16 {
272*97817a82SLuca Weiss			regulator-min-microvolt = <3000000>;
273*97817a82SLuca Weiss			regulator-max-microvolt = <3350000>;
274*97817a82SLuca Weiss		};
275*97817a82SLuca Weiss
276*97817a82SLuca Weiss		pm8226_l17: l17 {
277*97817a82SLuca Weiss			regulator-min-microvolt = <2950000>;
278*97817a82SLuca Weiss			regulator-max-microvolt = <2950000>;
279*97817a82SLuca Weiss		};
280*97817a82SLuca Weiss
281*97817a82SLuca Weiss		pm8226_l18: l18 {
282*97817a82SLuca Weiss			regulator-min-microvolt = <2950000>;
283*97817a82SLuca Weiss			regulator-max-microvolt = <2950000>;
284*97817a82SLuca Weiss		};
285*97817a82SLuca Weiss
286*97817a82SLuca Weiss		pm8226_l19: l19 {
287*97817a82SLuca Weiss			regulator-min-microvolt = <2850000>;
288*97817a82SLuca Weiss			regulator-max-microvolt = <2850000>;
289*97817a82SLuca Weiss		};
290*97817a82SLuca Weiss
291*97817a82SLuca Weiss		pm8226_l20: l20 {
292*97817a82SLuca Weiss			regulator-min-microvolt = <3075000>;
293*97817a82SLuca Weiss			regulator-max-microvolt = <3075000>;
294*97817a82SLuca Weiss		};
295*97817a82SLuca Weiss
296*97817a82SLuca Weiss		pm8226_l21: l21 {
297*97817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
298*97817a82SLuca Weiss			regulator-max-microvolt = <2950000>;
299*97817a82SLuca Weiss			regulator-allow-set-load;
300*97817a82SLuca Weiss		};
301*97817a82SLuca Weiss
302*97817a82SLuca Weiss		pm8226_l22: l22 {
303*97817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
304*97817a82SLuca Weiss			regulator-max-microvolt = <2950000>;
305*97817a82SLuca Weiss		};
306*97817a82SLuca Weiss
307*97817a82SLuca Weiss		pm8226_l23: l23 {
308*97817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
309*97817a82SLuca Weiss			regulator-max-microvolt = <3000000>;
310*97817a82SLuca Weiss		};
311*97817a82SLuca Weiss
312*97817a82SLuca Weiss		pm8226_l24: l24 {
313*97817a82SLuca Weiss			regulator-min-microvolt = <1300000>;
314*97817a82SLuca Weiss			regulator-max-microvolt = <1350000>;
315*97817a82SLuca Weiss		};
316*97817a82SLuca Weiss
317*97817a82SLuca Weiss		pm8226_l25: l25 {
318*97817a82SLuca Weiss			regulator-min-microvolt = <1775000>;
319*97817a82SLuca Weiss			regulator-max-microvolt = <2125000>;
320*97817a82SLuca Weiss		};
321*97817a82SLuca Weiss
322*97817a82SLuca Weiss		pm8226_l26: l26 {
323*97817a82SLuca Weiss			regulator-min-microvolt = <1225000>;
324*97817a82SLuca Weiss			regulator-max-microvolt = <1225000>;
325*97817a82SLuca Weiss		};
326*97817a82SLuca Weiss
327*97817a82SLuca Weiss		pm8226_l27: l27 {
328*97817a82SLuca Weiss			regulator-min-microvolt = <2050000>;
329*97817a82SLuca Weiss			regulator-max-microvolt = <2050000>;
330*97817a82SLuca Weiss		};
331*97817a82SLuca Weiss
332*97817a82SLuca Weiss		pm8226_l28: l28 {
333*97817a82SLuca Weiss			regulator-min-microvolt = <1800000>;
334*97817a82SLuca Weiss			regulator-max-microvolt = <1800000>;
335*97817a82SLuca Weiss		};
336*97817a82SLuca Weiss
337*97817a82SLuca Weiss		pm8226_lvs1: lvs1 {};
338*97817a82SLuca Weiss	};
339*97817a82SLuca Weiss};
340*97817a82SLuca Weiss
341*97817a82SLuca Weiss&sdhc_2 {
342*97817a82SLuca Weiss	vmmc-supply = <&pm8226_l18>;
343*97817a82SLuca Weiss	vqmmc-supply = <&pm8226_l21>;
344*97817a82SLuca Weiss
345*97817a82SLuca Weiss	bus-width = <4>;
346*97817a82SLuca Weiss	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
347*97817a82SLuca Weiss
348*97817a82SLuca Weiss	status = "okay";
349*97817a82SLuca Weiss};
350*97817a82SLuca Weiss
351*97817a82SLuca Weiss&smbb {
352*97817a82SLuca Weiss	qcom,fast-charge-safe-current = <1750000>;
353*97817a82SLuca Weiss	qcom,fast-charge-current-limit = <1750000>;
354*97817a82SLuca Weiss	qcom,fast-charge-safe-voltage = <4360000>;
355*97817a82SLuca Weiss	qcom,fast-charge-high-threshold-voltage = <4350000>;
356*97817a82SLuca Weiss	qcom,auto-recharge-threshold-voltage = <4300000>;
357*97817a82SLuca Weiss	qcom,minimum-input-voltage = <4300000>;
358*97817a82SLuca Weiss};
359*97817a82SLuca Weiss
360*97817a82SLuca Weiss&usb {
361*97817a82SLuca Weiss	extcon = <&smbb>;
362*97817a82SLuca Weiss	dr_mode = "peripheral";
363*97817a82SLuca Weiss	status = "okay";
364*97817a82SLuca Weiss};
365*97817a82SLuca Weiss
366*97817a82SLuca Weiss&usb_hs_phy {
367*97817a82SLuca Weiss	extcon = <&smbb>;
368*97817a82SLuca Weiss	v1p8-supply = <&pm8226_l10>;
369*97817a82SLuca Weiss	v3p3-supply = <&pm8226_l20>;
370*97817a82SLuca Weiss};
371