1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Julian Braha <julianbraha@gmail.com>
4 */
5/dts-v1/;
6
7#include "msm8953.dtsi"
8#include "pm8953.dtsi"
9#include "pmi8950.dtsi"
10
11/delete-node/ &qseecom_mem;
12
13/ {
14	model = "Motorola Moto G6";
15	compatible = "motorola,ali", "qcom,sdm450";
16	chassis-type = "handset";
17	qcom,msm-id = <338 0>;
18	qcom,board-id = <0x43 0xc200>;
19
20	gpio-keys {
21		compatible = "gpio-keys";
22
23		key-volume-up {
24			label = "volume_up";
25			gpios = <&tlmm 85 GPIO_ACTIVE_LOW>;
26			linux,code = <KEY_VOLUMEUP>;
27		};
28	};
29
30	reserved-memory {
31		qseecom_mem: qseecom@84300000 {
32			reg = <0x0 0x84300000 0x0 0x2000000>;
33			no-map;
34		};
35
36		ramoops@ef000000 {
37			compatible = "ramoops";
38			reg = <0x0 0xef000000 0x0 0xc0000>;
39			console-size = <0x40000>;
40		};
41	};
42
43	vph_pwr: vph-pwr-regulator {
44		compatible = "regulator-fixed";
45		regulator-name = "vph_pwr";
46		regulator-always-on;
47		regulator-boot-on;
48	};
49};
50
51&hsusb_phy {
52	vdd-supply = <&pm8953_l3>;
53	vdda-pll-supply = <&pm8953_l7>;
54	vdda-phy-dpdm-supply = <&pm8953_l13>;
55
56	status = "okay";
57};
58
59&i2c_3 {
60	status = "okay";
61
62	touchscreen@38 {
63		compatible = "edt,edt-ft5406";
64		reg = <0x38>;
65		interrupt-parent = <&tlmm>;
66		interrupts = <65 IRQ_TYPE_EDGE_FALLING>;
67		vcc-supply = <&pm8953_l10>;
68
69		pinctrl-names = "default";
70		pinctrl-0 = <&ts_int_active &ts_reset_active>;
71
72		reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
73		touchscreen-size-x = <1080>;
74		touchscreen-size-y = <2160>;
75	};
76};
77
78&pm8953_resin {
79	linux,code = <KEY_VOLUMEDOWN>;
80	status = "okay";
81};
82
83&pmi8950_wled {
84	qcom,num-strings = <3>;
85	qcom,external-pfet;
86	qcom,cabc;
87
88	status = "okay";
89};
90
91&rpm_requests {
92	regulators {
93		compatible = "qcom,rpm-pm8953-regulators";
94
95		vdd_s1-supply = <&vph_pwr>;
96		vdd_s2-supply = <&vph_pwr>;
97		vdd_s3-supply = <&vph_pwr>;
98		vdd_s4-supply = <&vph_pwr>;
99		vdd_s5-supply = <&vph_pwr>;
100		vdd_s6-supply = <&vph_pwr>;
101		vdd_s7-supply = <&vph_pwr>;
102		vdd_l1-supply = <&pm8953_s3>;
103		vdd_l2_l3-supply = <&pm8953_s3>;
104		vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>;
105		vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>;
106		vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>;
107
108		pm8953_s1: s1 {
109			regulator-min-microvolt = <795000>;
110			regulator-max-microvolt = <1081000>;
111		};
112
113		pm8953_s3: s3 {
114			regulator-min-microvolt = <1224000>;
115			regulator-max-microvolt = <1224000>;
116		};
117
118		pm8953_s4: s4 {
119			regulator-min-microvolt = <1900000>;
120			regulator-max-microvolt = <2050000>;
121		};
122
123		pm8953_l1: l1 {
124			regulator-min-microvolt = <1000000>;
125			regulator-max-microvolt = <1100000>;
126		};
127
128		pm8953_l2: l2 {
129			regulator-min-microvolt = <975000>;
130			regulator-max-microvolt = <1225000>;
131		};
132
133		pm8953_l3: l3 {
134			regulator-min-microvolt = <925000>;
135			regulator-max-microvolt = <925000>;
136		};
137
138		pm8953_l5: l5 {
139			regulator-min-microvolt = <1800000>;
140			regulator-max-microvolt = <1800000>;
141		};
142
143		pm8953_l6: l6 {
144			regulator-min-microvolt = <1800000>;
145			regulator-max-microvolt = <1800000>;
146		};
147
148		pm8953_l7: l7 {
149			regulator-min-microvolt = <1800000>;
150			regulator-max-microvolt = <1900000>;
151		};
152
153		pm8953_l8: l8 {
154			regulator-min-microvolt = <2900000>;
155			regulator-max-microvolt = <2900000>;
156		};
157
158		pm8953_l9: l9 {
159			regulator-min-microvolt = <3000000>;
160			regulator-max-microvolt = <3300000>;
161		};
162
163		pm8953_l10: l10 {
164			regulator-min-microvolt = <2850000>;
165			regulator-max-microvolt = <2850000>;
166		};
167
168		pm8953_l11: l11 {
169			regulator-min-microvolt = <2950000>;
170			regulator-max-microvolt = <2950000>;
171		};
172
173		pm8953_l12: l12 {
174			regulator-min-microvolt = <1800000>;
175			regulator-max-microvolt = <2950000>;
176		};
177
178		pm8953_l13: l13 {
179			regulator-min-microvolt = <3125000>;
180			regulator-max-microvolt = <3125000>;
181		};
182
183		pm8953_l16: l16 {
184			regulator-min-microvolt = <1800000>;
185			regulator-max-microvolt = <1800000>;
186		};
187
188		pm8953_l17: l17 {
189			regulator-min-microvolt = <2850000>;
190			regulator-max-microvolt = <2850000>;
191		};
192
193		pm8953_l19: l19 {
194			regulator-min-microvolt = <1200000>;
195			regulator-max-microvolt = <1350000>;
196		};
197
198		pm8953_l22: l22 {
199			regulator-min-microvolt = <2800000>;
200			regulator-max-microvolt = <2850000>;
201		};
202
203		pm8953_l23: l23 {
204			regulator-min-microvolt = <975000>;
205			regulator-max-microvolt = <1225000>;
206		};
207	};
208};
209
210&sdhc_1 {
211	vmmc-supply = <&pm8953_l8>;
212	vqmmc-supply = <&pm8953_l5>;
213
214	status = "okay";
215};
216
217&sdhc_2 {
218	vmmc-supply = <&pm8953_l11>;
219	vqmmc-supply = <&pm8953_l12>;
220
221	pinctrl-names = "default", "sleep";
222	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_off>;
223	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
224
225	status = "okay";
226};
227
228&tlmm {
229	gpio-reserved-ranges = <95 5>, <111 1>, <126 1>;
230
231	ts_int_active: ts-int-active-state {
232		pins = "gpio65";
233		function = "gpio";
234		drive-strength = <8>;
235		bias-pull-up;
236	};
237
238	ts_reset_active: ts-reset-active-state {
239		pins = "gpio64";
240		function = "gpio";
241		drive-strength = <0x08>;
242		bias-pull-up;
243	};
244};
245
246&usb3 {
247	status = "okay";
248};
249
250&usb3_dwc3 {
251	dr_mode = "peripheral";
252};
253