Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / qcom / msm8953-motorola-potter.dts
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 };