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