1*4ccd0dd6SSireesh Kodali// SPDX-License-Identifier: BSD-3-Clause
2*4ccd0dd6SSireesh Kodali/*
3*4ccd0dd6SSireesh Kodali * Copyright (c) 2022, Sireesh Kodali
4*4ccd0dd6SSireesh Kodali */
5*4ccd0dd6SSireesh Kodali/dts-v1/;
6*4ccd0dd6SSireesh Kodali
7*4ccd0dd6SSireesh Kodali#include "msm8953.dtsi"
8*4ccd0dd6SSireesh Kodali#include "pm8953.dtsi"
9*4ccd0dd6SSireesh Kodali#include "pmi8950.dtsi"
10*4ccd0dd6SSireesh Kodali
11*4ccd0dd6SSireesh Kodali/delete-node/ &cont_splash_mem;
12*4ccd0dd6SSireesh Kodali/delete-node/ &qseecom_mem;
13*4ccd0dd6SSireesh Kodali
14*4ccd0dd6SSireesh Kodali/ {
15*4ccd0dd6SSireesh Kodali	model = "Motorola G5 Plus";
16*4ccd0dd6SSireesh Kodali	compatible = "motorola,potter", "qcom,msm8953";
17*4ccd0dd6SSireesh Kodali	chassis-type = "handset";
18*4ccd0dd6SSireesh Kodali	qcom,msm-id = <293 0>;
19*4ccd0dd6SSireesh Kodali	qcom,board-id = <0x46 0x83a0>;
20*4ccd0dd6SSireesh Kodali
21*4ccd0dd6SSireesh Kodali	chosen {
22*4ccd0dd6SSireesh Kodali		#address-cells = <2>;
23*4ccd0dd6SSireesh Kodali		#size-cells = <2>;
24*4ccd0dd6SSireesh Kodali		ranges;
25*4ccd0dd6SSireesh Kodali
26*4ccd0dd6SSireesh Kodali		framebuffer@90001000 {
27*4ccd0dd6SSireesh Kodali			compatible = "simple-framebuffer";
28*4ccd0dd6SSireesh Kodali			reg = <0 0x90001000 0 (2220 * 1920 * 3)>;
29*4ccd0dd6SSireesh Kodali
30*4ccd0dd6SSireesh Kodali			width = <1080>;
31*4ccd0dd6SSireesh Kodali			height = <1920>;
32*4ccd0dd6SSireesh Kodali			stride = <(1080 * 3)>;
33*4ccd0dd6SSireesh Kodali			format = "r8g8b8";
34*4ccd0dd6SSireesh Kodali
35*4ccd0dd6SSireesh Kodali			power-domains = <&gcc MDSS_GDSC>;
36*4ccd0dd6SSireesh Kodali
37*4ccd0dd6SSireesh Kodali			clocks = <&gcc GCC_MDSS_AHB_CLK>,
38*4ccd0dd6SSireesh Kodali				 <&gcc GCC_MDSS_AXI_CLK>,
39*4ccd0dd6SSireesh Kodali				 <&gcc GCC_MDSS_VSYNC_CLK>,
40*4ccd0dd6SSireesh Kodali				 <&gcc GCC_MDSS_MDP_CLK>,
41*4ccd0dd6SSireesh Kodali				 <&gcc GCC_MDSS_BYTE0_CLK>,
42*4ccd0dd6SSireesh Kodali				 <&gcc GCC_MDSS_PCLK0_CLK>,
43*4ccd0dd6SSireesh Kodali				 <&gcc GCC_MDSS_ESC0_CLK>;
44*4ccd0dd6SSireesh Kodali		};
45*4ccd0dd6SSireesh Kodali	};
46*4ccd0dd6SSireesh Kodali
47*4ccd0dd6SSireesh Kodali	gpio-keys {
48*4ccd0dd6SSireesh Kodali		compatible = "gpio-keys";
49*4ccd0dd6SSireesh Kodali
50*4ccd0dd6SSireesh Kodali		pinctrl-names = "default";
51*4ccd0dd6SSireesh Kodali		pinctrl-0 = <&gpio_key_default>;
52*4ccd0dd6SSireesh Kodali
53*4ccd0dd6SSireesh Kodali		key-volume-up {
54*4ccd0dd6SSireesh Kodali			label = "Volume Up";
55*4ccd0dd6SSireesh Kodali			gpios = <&tlmm 85 GPIO_ACTIVE_LOW>;
56*4ccd0dd6SSireesh Kodali			linux,code = <KEY_VOLUMEUP>;
57*4ccd0dd6SSireesh Kodali		};
58*4ccd0dd6SSireesh Kodali	};
59*4ccd0dd6SSireesh Kodali
60*4ccd0dd6SSireesh Kodali	reserved-memory {
61*4ccd0dd6SSireesh Kodali		qseecom_mem: qseecom@84300000 {
62*4ccd0dd6SSireesh Kodali			reg = <0x0 0x84300000 0x0 0x2000000>;
63*4ccd0dd6SSireesh Kodali			no-map;
64*4ccd0dd6SSireesh Kodali		};
65*4ccd0dd6SSireesh Kodali
66*4ccd0dd6SSireesh Kodali		cont_splash_mem: cont-splash@90001000 {
67*4ccd0dd6SSireesh Kodali			reg = <0x0 0x90001000 0x0 (1080 * 1920 * 3)>;
68*4ccd0dd6SSireesh Kodali			no-map;
69*4ccd0dd6SSireesh Kodali		};
70*4ccd0dd6SSireesh Kodali
71*4ccd0dd6SSireesh Kodali		reserved@aefd2000 {
72*4ccd0dd6SSireesh Kodali			reg = <0x0 0xaefd2000 0x0 0x2e000>;
73*4ccd0dd6SSireesh Kodali			no-map;
74*4ccd0dd6SSireesh Kodali		};
75*4ccd0dd6SSireesh Kodali
76*4ccd0dd6SSireesh Kodali		reserved@eefe4000 {
77*4ccd0dd6SSireesh Kodali			reg = <0x0 0xeefe4000 0x0 0x1c000>;
78*4ccd0dd6SSireesh Kodali			no-map;
79*4ccd0dd6SSireesh Kodali		};
80*4ccd0dd6SSireesh Kodali
81*4ccd0dd6SSireesh Kodali		ramoops@ef000000 {
82*4ccd0dd6SSireesh Kodali			compatible = "ramoops";
83*4ccd0dd6SSireesh Kodali			reg = <0x0 0xef000000 0x0 0x80000>;
84*4ccd0dd6SSireesh Kodali			console-size = <0x40000>;
85*4ccd0dd6SSireesh Kodali			ftrace-size = <0>;
86*4ccd0dd6SSireesh Kodali			record-size = <0x3f800>;
87*4ccd0dd6SSireesh Kodali			pmsg-size = <0x800>;
88*4ccd0dd6SSireesh Kodali		};
89*4ccd0dd6SSireesh Kodali	};
90*4ccd0dd6SSireesh Kodali
91*4ccd0dd6SSireesh Kodali	vph_pwr: vph-pwr-regulator {
92*4ccd0dd6SSireesh Kodali		compatible = "regulator-fixed";
93*4ccd0dd6SSireesh Kodali		regulator-name = "vph_pwr";
94*4ccd0dd6SSireesh Kodali		regulator-always-on;
95*4ccd0dd6SSireesh Kodali		regulator-boot-on;
96*4ccd0dd6SSireesh Kodali	};
97*4ccd0dd6SSireesh Kodali};
98*4ccd0dd6SSireesh Kodali
99*4ccd0dd6SSireesh Kodali&hsusb_phy {
100*4ccd0dd6SSireesh Kodali	vdd-supply = <&pm8953_l3>;
101*4ccd0dd6SSireesh Kodali	vdda-pll-supply = <&pm8953_l7>;
102*4ccd0dd6SSireesh Kodali	vdda-phy-dpdm-supply = <&pm8953_l13>;
103*4ccd0dd6SSireesh Kodali
104*4ccd0dd6SSireesh Kodali	status = "okay";
105*4ccd0dd6SSireesh Kodali};
106*4ccd0dd6SSireesh Kodali
107*4ccd0dd6SSireesh Kodali&i2c_3 {
108*4ccd0dd6SSireesh Kodali	status = "okay";
109*4ccd0dd6SSireesh Kodali
110*4ccd0dd6SSireesh Kodali	touchscreen@20 {
111*4ccd0dd6SSireesh Kodali		reg = <0x20>;
112*4ccd0dd6SSireesh Kodali		compatible = "syna,rmi4-i2c";
113*4ccd0dd6SSireesh Kodali
114*4ccd0dd6SSireesh Kodali		interrupt-parent = <&tlmm>;
115*4ccd0dd6SSireesh Kodali		interrupts = <65 IRQ_TYPE_EDGE_FALLING>;
116*4ccd0dd6SSireesh Kodali
117*4ccd0dd6SSireesh Kodali		pinctrl-names = "default";
118*4ccd0dd6SSireesh Kodali		pinctrl-0 = <&ts_reset>;
119*4ccd0dd6SSireesh Kodali
120*4ccd0dd6SSireesh Kodali		vdd-supply = <&pm8953_l22>;
121*4ccd0dd6SSireesh Kodali		vio-supply = <&pm8953_l6>;
122*4ccd0dd6SSireesh Kodali
123*4ccd0dd6SSireesh Kodali		syna,reset-delay-ms = <200>;
124*4ccd0dd6SSireesh Kodali		syna,startup-delay-ms = <500>;
125*4ccd0dd6SSireesh Kodali	};
126*4ccd0dd6SSireesh Kodali};
127*4ccd0dd6SSireesh Kodali
128*4ccd0dd6SSireesh Kodali&pm8953_resin {
129*4ccd0dd6SSireesh Kodali	linux,code = <KEY_VOLUMEDOWN>;
130*4ccd0dd6SSireesh Kodali	status = "okay";
131*4ccd0dd6SSireesh Kodali};
132*4ccd0dd6SSireesh Kodali
133*4ccd0dd6SSireesh Kodali&pmi8950_wled {
134*4ccd0dd6SSireesh Kodali	qcom,current-limit-microamp = <25000>;
135*4ccd0dd6SSireesh Kodali	qcom,num-strings = <3>;
136*4ccd0dd6SSireesh Kodali	qcom,external-pfet;
137*4ccd0dd6SSireesh Kodali	qcom,cabc;
138*4ccd0dd6SSireesh Kodali
139*4ccd0dd6SSireesh Kodali	status = "okay";
140*4ccd0dd6SSireesh Kodali};
141*4ccd0dd6SSireesh Kodali
142*4ccd0dd6SSireesh Kodali&rpm_requests {
143*4ccd0dd6SSireesh Kodali	regulators {
144*4ccd0dd6SSireesh Kodali		compatible = "qcom,rpm-pm8953-regulators";
145*4ccd0dd6SSireesh Kodali		vdd_s1-supply = <&vph_pwr>;
146*4ccd0dd6SSireesh Kodali		vdd_s2-supply = <&vph_pwr>;
147*4ccd0dd6SSireesh Kodali		vdd_s3-supply = <&vph_pwr>;
148*4ccd0dd6SSireesh Kodali		vdd_s4-supply = <&vph_pwr>;
149*4ccd0dd6SSireesh Kodali		vdd_s5-supply = <&vph_pwr>;
150*4ccd0dd6SSireesh Kodali		vdd_s6-supply = <&vph_pwr>;
151*4ccd0dd6SSireesh Kodali		vdd_s7-supply = <&vph_pwr>;
152*4ccd0dd6SSireesh Kodali		vdd_l1-supply = <&pm8953_s3>;
153*4ccd0dd6SSireesh Kodali		vdd_l2_l3-supply = <&pm8953_s3>;
154*4ccd0dd6SSireesh Kodali		vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>;
155*4ccd0dd6SSireesh Kodali		vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>;
156*4ccd0dd6SSireesh Kodali		vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>;
157*4ccd0dd6SSireesh Kodali
158*4ccd0dd6SSireesh Kodali		pm8953_s1: s1 {
159*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <863000>;
160*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1152000>;
161*4ccd0dd6SSireesh Kodali		};
162*4ccd0dd6SSireesh Kodali
163*4ccd0dd6SSireesh Kodali		pm8953_s3: s3 {
164*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1224000>;
165*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1224000>;
166*4ccd0dd6SSireesh Kodali		};
167*4ccd0dd6SSireesh Kodali
168*4ccd0dd6SSireesh Kodali		pm8953_s4: s4 {
169*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1896000>;
170*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <2048000>;
171*4ccd0dd6SSireesh Kodali		};
172*4ccd0dd6SSireesh Kodali
173*4ccd0dd6SSireesh Kodali		pm8953_l1: l1 {
174*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1000000>;
175*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1100000>;
176*4ccd0dd6SSireesh Kodali		};
177*4ccd0dd6SSireesh Kodali
178*4ccd0dd6SSireesh Kodali		pm8953_l2: l2 {
179*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1000000>;
180*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1000000>;
181*4ccd0dd6SSireesh Kodali		};
182*4ccd0dd6SSireesh Kodali
183*4ccd0dd6SSireesh Kodali		pm8953_l3: l3 {
184*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <925000>;
185*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <925000>;
186*4ccd0dd6SSireesh Kodali			regulator-allow-set-load;
187*4ccd0dd6SSireesh Kodali		};
188*4ccd0dd6SSireesh Kodali
189*4ccd0dd6SSireesh Kodali		pm8953_l5: l5 {
190*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1800000>;
191*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1800000>;
192*4ccd0dd6SSireesh Kodali		};
193*4ccd0dd6SSireesh Kodali
194*4ccd0dd6SSireesh Kodali		pm8953_l6: l6 {
195*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1800000>;
196*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1800000>;
197*4ccd0dd6SSireesh Kodali			regulator-always-on;
198*4ccd0dd6SSireesh Kodali		};
199*4ccd0dd6SSireesh Kodali
200*4ccd0dd6SSireesh Kodali		pm8953_l7: l7 {
201*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1800000>;
202*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1900000>;
203*4ccd0dd6SSireesh Kodali		};
204*4ccd0dd6SSireesh Kodali
205*4ccd0dd6SSireesh Kodali		pm8953_l8: l8 {
206*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <2900000>;
207*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <2900000>;
208*4ccd0dd6SSireesh Kodali		};
209*4ccd0dd6SSireesh Kodali
210*4ccd0dd6SSireesh Kodali		pm8953_l9: l9 {
211*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <3000000>;
212*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <3300000>;
213*4ccd0dd6SSireesh Kodali		};
214*4ccd0dd6SSireesh Kodali
215*4ccd0dd6SSireesh Kodali		pm8953_l10: l10 {
216*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1800000>;
217*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1800000>;
218*4ccd0dd6SSireesh Kodali		};
219*4ccd0dd6SSireesh Kodali
220*4ccd0dd6SSireesh Kodali		pm8953_l11: l11 {
221*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <2800000>;
222*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <3000000>;
223*4ccd0dd6SSireesh Kodali		};
224*4ccd0dd6SSireesh Kodali
225*4ccd0dd6SSireesh Kodali		pm8953_l12: l12 {
226*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1800000>;
227*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <3000000>;
228*4ccd0dd6SSireesh Kodali		};
229*4ccd0dd6SSireesh Kodali
230*4ccd0dd6SSireesh Kodali		pm8953_l13: l13 {
231*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <3075000>;
232*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <3125000>;
233*4ccd0dd6SSireesh Kodali		};
234*4ccd0dd6SSireesh Kodali
235*4ccd0dd6SSireesh Kodali		pm8953_l15: l15 {
236*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1800000>;
237*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1800000>;
238*4ccd0dd6SSireesh Kodali		};
239*4ccd0dd6SSireesh Kodali
240*4ccd0dd6SSireesh Kodali		pm8953_l16: l16 {
241*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1800000>;
242*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1800000>;
243*4ccd0dd6SSireesh Kodali		};
244*4ccd0dd6SSireesh Kodali
245*4ccd0dd6SSireesh Kodali		pm8953_l17: l17 {
246*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <2800000>;
247*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <3000000>;
248*4ccd0dd6SSireesh Kodali		};
249*4ccd0dd6SSireesh Kodali
250*4ccd0dd6SSireesh Kodali		pm8953_l19: l19 {
251*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <1200000>;
252*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1350000>;
253*4ccd0dd6SSireesh Kodali		};
254*4ccd0dd6SSireesh Kodali
255*4ccd0dd6SSireesh Kodali		pm8953_l22: l22 {
256*4ccd0dd6SSireesh Kodali			regulator-always-on;
257*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <2800000>;
258*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <2850000>;
259*4ccd0dd6SSireesh Kodali		};
260*4ccd0dd6SSireesh Kodali
261*4ccd0dd6SSireesh Kodali		pm8953_l23: l23 {
262*4ccd0dd6SSireesh Kodali			regulator-min-microvolt = <975000>;
263*4ccd0dd6SSireesh Kodali			regulator-max-microvolt = <1225000>;
264*4ccd0dd6SSireesh Kodali		};
265*4ccd0dd6SSireesh Kodali	};
266*4ccd0dd6SSireesh Kodali};
267*4ccd0dd6SSireesh Kodali
268*4ccd0dd6SSireesh Kodali&sdhc_1 {
269*4ccd0dd6SSireesh Kodali	vmmc-supply = <&pm8953_l8>;
270*4ccd0dd6SSireesh Kodali	vqmmc-supply = <&pm8953_l5>;
271*4ccd0dd6SSireesh Kodali
272*4ccd0dd6SSireesh Kodali	status = "okay";
273*4ccd0dd6SSireesh Kodali};
274*4ccd0dd6SSireesh Kodali
275*4ccd0dd6SSireesh Kodali&sdhc_2 {
276*4ccd0dd6SSireesh Kodali	vmmc-supply = <&pm8953_l11>;
277*4ccd0dd6SSireesh Kodali	vqmmc-supply = <&pm8953_l12>;
278*4ccd0dd6SSireesh Kodali
279*4ccd0dd6SSireesh Kodali	cd-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
280*4ccd0dd6SSireesh Kodali
281*4ccd0dd6SSireesh Kodali	pinctrl-names = "default", "sleep";
282*4ccd0dd6SSireesh Kodali	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_off>;
283*4ccd0dd6SSireesh Kodali	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
284*4ccd0dd6SSireesh Kodali
285*4ccd0dd6SSireesh Kodali	status = "okay";
286*4ccd0dd6SSireesh Kodali};
287*4ccd0dd6SSireesh Kodali
288*4ccd0dd6SSireesh Kodali&tlmm {
289*4ccd0dd6SSireesh Kodali	gpio-reserved-ranges = <1 2>, <96 4>, <111 1>, <126 1>;
290*4ccd0dd6SSireesh Kodali
291*4ccd0dd6SSireesh Kodali	ts_reset: ts-reset-state {
292*4ccd0dd6SSireesh Kodali		pins = "gpio64";
293*4ccd0dd6SSireesh Kodali		function = "gpio";
294*4ccd0dd6SSireesh Kodali		drive-strength = <2>;
295*4ccd0dd6SSireesh Kodali		bias-pull-up;
296*4ccd0dd6SSireesh Kodali	};
297*4ccd0dd6SSireesh Kodali};
298*4ccd0dd6SSireesh Kodali
299*4ccd0dd6SSireesh Kodali&usb3 {
300*4ccd0dd6SSireesh Kodali	status = "okay";
301*4ccd0dd6SSireesh Kodali};
302*4ccd0dd6SSireesh Kodali
303*4ccd0dd6SSireesh Kodali&usb3_dwc3 {
304*4ccd0dd6SSireesh Kodali	dr_mode = "peripheral";
305*4ccd0dd6SSireesh Kodali};
306