Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / qcom / sm6350-sony-xperia-lena-pdx213.dts
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
4  */
5 /dts-v1/;
6
7 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
8 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9 #include "sm6350.dtsi"
10 #include "pm6350.dtsi"
11
12 / {
13         model = "Sony Xperia 10 III";
14         compatible = "sony,pdx213", "qcom,sm6350";
15         chassis-type = "handset";
16         qcom,msm-id = <434 0x10000>, <459 0x10000>;
17         qcom,board-id = <0x1000B 0>;
18
19         chosen {
20                 #address-cells = <2>;
21                 #size-cells = <2>;
22                 ranges;
23
24                 framebuffer: framebuffer@a0000000 {
25                         compatible = "simple-framebuffer";
26                         reg = <0 0xa0000000 0 0x2300000>;
27                         width = <1080>;
28                         height = <2520>;
29                         stride = <(1080 * 4)>;
30                         format = "a8r8g8b8";
31                         clocks = <&gcc GCC_DISP_AXI_CLK>;
32                 };
33         };
34
35         gpio-keys {
36                 compatible = "gpio-keys";
37                 pinctrl-names = "default";
38                 pinctrl-0 = <&vol_down_n>;
39
40                 key-volume-down {
41                         label = "Volume Down";
42                         linux,code = <KEY_VOLUMEDOWN>;
43                         gpios = <&pm6350_gpios 2 GPIO_ACTIVE_LOW>;
44                 };
45         };
46
47         touch_en_vreg: touch-en-regulator {
48                 compatible = "regulator-fixed";
49                 regulator-name = "touch_en_vreg";
50                 gpio = <&tlmm 10 GPIO_ACTIVE_HIGH>;
51                 enable-active-high;
52
53                 vin-supply = <&pm6350_l6>;
54         };
55 };
56
57 &apps_rsc {
58         regulators-0 {
59                 compatible = "qcom,pm6350-rpmh-regulators";
60                 qcom,pmic-id = "a";
61
62                 pm6350_s1: smps1 {
63                         regulator-min-microvolt = <1000000>;
64                         regulator-max-microvolt = <1200000>;
65                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
66                 };
67
68                 pm6350_s2: smps2 {
69                         regulator-min-microvolt = <1503000>;
70                         regulator-max-microvolt = <2048000>;
71                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
72                 };
73
74                 pm6350_l2: ldo2 {
75                         regulator-min-microvolt = <1503000>;
76                         regulator-max-microvolt = <1980000>;
77                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
78                 };
79
80                 pm6350_l3: ldo3 {
81                         regulator-min-microvolt = <2700000>;
82                         regulator-max-microvolt = <3300000>;
83                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
84                 };
85
86                 pm6350_l4: ldo4 {
87                         regulator-min-microvolt = <352000>;
88                         regulator-max-microvolt = <801000>;
89                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
90                 };
91
92                 pm6350_l5: ldo5 {
93                         regulator-min-microvolt = <1503000>;
94                         regulator-max-microvolt = <1980000>;
95                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
96                 };
97
98                 pm6350_l6: ldo6 {
99                         regulator-min-microvolt = <1710000>;
100                         regulator-max-microvolt = <3544000>;
101                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
102                 };
103
104                 pm6350_l7: ldo7 {
105                         regulator-min-microvolt = <1620000>;
106                         regulator-max-microvolt = <1980000>;
107                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
108                 };
109
110                 pm6350_l8: ldo8 {
111                         regulator-min-microvolt = <2500000>;
112                         regulator-max-microvolt = <3544000>;
113                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
114                 };
115
116                 pm6350_l9: ldo9 {
117                         regulator-min-microvolt = <1650000>;
118                         regulator-max-microvolt = <3401000>;
119                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
120                 };
121
122                 pm6350_l11: ldo11 {
123                         regulator-min-microvolt = <1800000>;
124                         regulator-max-microvolt = <2000000>;
125                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
126                 };
127
128                 pm6350_l12: ldo12 {
129                         regulator-min-microvolt = <1620000>;
130                         regulator-max-microvolt = <1980000>;
131                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
132                 };
133
134                 pm6350_l13: ldo13 {
135                         regulator-min-microvolt = <570000>;
136                         regulator-max-microvolt = <650000>;
137                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
138                 };
139
140                 pm6350_l14: ldo14 {
141                         regulator-min-microvolt = <1700000>;
142                         regulator-max-microvolt = <1900000>;
143                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
144                 };
145
146                 pm6350_l15: ldo15 {
147                         regulator-min-microvolt = <1100000>;
148                         regulator-max-microvolt = <1305000>;
149                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
150                 };
151
152                 pm6350_l16: ldo16 {
153                         regulator-min-microvolt = <830000>;
154                         regulator-max-microvolt = <921000>;
155                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
156                 };
157
158                 pm6350_l18: ldo18 {
159                         regulator-min-microvolt = <788000>;
160                         regulator-max-microvolt = <1049000>;
161                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
162                 };
163
164                 pm6350_l19: ldo19 {
165                         regulator-min-microvolt = <1080000>;
166                         regulator-max-microvolt = <1305000>;
167                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
168                 };
169
170                 pm6350_l20: ldo20 {
171                         regulator-min-microvolt = <530000>;
172                         regulator-max-microvolt = <801000>;
173                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
174                 };
175
176                 pm6350_l21: ldo21 {
177                         regulator-min-microvolt = <751000>;
178                         regulator-max-microvolt = <825000>;
179                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
180                 };
181
182                 pm6350_l22: ldo22 {
183                         regulator-min-microvolt = <1080000>;
184                         regulator-max-microvolt = <1305000>;
185                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
186                 };
187         };
188
189         regulators-1 {
190                 compatible = "qcom,pm6150l-rpmh-regulators";
191                 qcom,pmic-id = "e";
192
193                 pm6150l_s8: smps8 {
194                         regulator-min-microvolt = <313000>;
195                         regulator-max-microvolt = <1395000>;
196                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
197                 };
198
199                 pm6150l_l1: ldo1 {
200                         regulator-min-microvolt = <1620000>;
201                         regulator-max-microvolt = <1980000>;
202                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
203                 };
204
205                 pm6150l_l2: ldo2 {
206                         regulator-min-microvolt = <1170000>;
207                         regulator-max-microvolt = <1305000>;
208                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
209                 };
210
211                 pm6150l_l3: ldo3 {
212                         regulator-min-microvolt = <1100000>;
213                         regulator-max-microvolt = <1299000>;
214                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
215                 };
216
217                 pm6150l_l4: ldo4 {
218                         regulator-min-microvolt = <1620000>;
219                         regulator-max-microvolt = <3300000>;
220                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
221                 };
222
223                 pm6150l_l5: ldo5 {
224                         regulator-min-microvolt = <1620000>;
225                         regulator-max-microvolt = <3300000>;
226                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
227                 };
228
229                 pm6150l_l6: ldo6 {
230                         regulator-min-microvolt = <1700000>;
231                         regulator-max-microvolt = <2950000>;
232                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
233                         regulator-allow-set-load;
234                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
235                                                    RPMH_REGULATOR_MODE_HPM>;
236                 };
237
238                 pm6150l_l7: ldo7 {
239                         regulator-min-microvolt = <2700000>;
240                         regulator-max-microvolt = <3544000>;
241                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
242                 };
243
244                 pm6150l_l8: ldo8 {
245                         regulator-min-microvolt = <1620000>;
246                         regulator-max-microvolt = <2000000>;
247                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
248                 };
249
250                 pm6150l_l9: ldo9 {
251                         regulator-min-microvolt = <2700000>;
252                         regulator-max-microvolt = <2960000>;
253                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
254                         regulator-allow-set-load;
255                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
256                                                    RPMH_REGULATOR_MODE_HPM>;
257                 };
258
259                 pm6150l_l10: ldo10 {
260                         regulator-min-microvolt = <3000000>;
261                         regulator-max-microvolt = <3401000>;
262                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
263                 };
264
265                 pm6150l_l11: ldo11 {
266                         regulator-min-microvolt = <3000000>;
267                         regulator-max-microvolt = <3401000>;
268                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
269                 };
270
271                 pm6150l_bob: bob {
272                         regulator-min-microvolt = <1620000>;
273                         regulator-max-microvolt = <5492000>;
274                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
275                         regulator-allow-bypass;
276                 };
277         };
278 };
279
280 &gpi_dma0 {
281         status = "okay";
282 };
283
284 &gpi_dma1 {
285         status = "okay";
286 };
287
288 &i2c8 {
289         clock-frequency = <400000>;
290         status = "okay";
291
292         touchscreen@48 {
293                 compatible = "samsung,s6sy761";
294                 reg = <0x48>;
295                 interrupt-parent = <&tlmm>;
296                 interrupts = <22 0x2008>;
297                 vdd-supply = <&pm6350_l11>;
298                 avdd-supply = <&touch_en_vreg>;
299
300                 pinctrl-names = "default";
301                 pinctrl-0 = <&ts_int_default &ts_active>;
302         };
303 };
304
305 &pm6350_gpios {
306         vol_down_n: vol-down-n-state {
307                 pins = "gpio2";
308                 function = PMIC_GPIO_FUNC_NORMAL;
309                 power-source = <0>;
310                 bias-disable;
311                 input-enable;
312         };
313 };
314
315 &pm6350_resin {
316         linux,code = <KEY_VOLUMEUP>;
317         status = "okay";
318 };
319
320 &qupv3_id_0 {
321         status = "okay";
322 };
323
324 &qupv3_id_1 {
325         status = "okay";
326 };
327
328 &sdc2_off_state {
329         sd-cd-pins {
330                 pins = "gpio94";
331                 function = "gpio";
332                 drive-strength = <2>;
333                 bias-disable;
334         };
335 };
336
337 &sdc2_on_state {
338         sd-cd-pins {
339                 pins = "gpio94";
340                 function = "gpio";
341                 drive-strength = <2>;
342                 bias-pull-up;
343         };
344 };
345
346 &sdhc_2 {
347         status = "okay";
348
349         vmmc-supply = <&pm6150l_l9>;
350         vqmmc-supply = <&pm6150l_l6>;
351
352         cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
353 };
354
355 &tlmm {
356         gpio-reserved-ranges = <13 4>, <45 2>, <56 2>;
357
358         ts_active: ts-active-state {
359                 pins = "gpio21";
360                 function = "gpio";
361                 drive-strength = <8>;
362                 bias-pull-up;
363         };
364
365         ts_int_default: ts-int-default-state {
366                 pins = "gpio22";
367                 function = "gpio";
368                 drive-strength = <2>;
369                 bias-disable;
370         };
371 };
372
373 &usb_1 {
374         status = "okay";
375 };
376
377 &usb_1_dwc3 {
378         maximum-speed = "super-speed";
379         dr_mode = "peripheral";
380 };
381
382 &usb_1_hsphy {
383         status = "okay";
384 };
385
386 &usb_1_qmpphy {
387         status = "okay";
388 };