Linux 6.9-rc6
[sfrench/cifs-2.6.git] / arch / arm64 / boot / dts / qcom / sm8350-sony-xperia-sagami.dtsi
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
4  */
5
6 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
7 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
8 #include "sm8350.dtsi"
9 #include "pm8350.dtsi"
10 #include "pm8350b.dtsi"
11 #include "pm8350c.dtsi"
12 #include "pmk8350.dtsi"
13 #include "pmr735a.dtsi"
14 #include "pmr735b.dtsi"
15
16 / {
17         /*
18          * Yes, you are correct, there is NO MORE {msm,board,pmic}-id on SM8350!
19          * Adding it will cause the bootloader to go crazy and randomly crash
20          * shortly after closing UEFI boot services.. Perhaps that has something
21          * to do with the OS running inside a VM now..?
22          */
23
24         chassis-type = "handset";
25
26         chosen {
27                 #address-cells = <2>;
28                 #size-cells = <2>;
29                 ranges;
30
31                 framebuffer: framebuffer@e1000000 {
32                         compatible = "simple-framebuffer";
33                         reg = <0 0xe1000000 0 0x2300000>;
34
35                         /* The display, even though it's 4K, initializes at 1080-ish p */
36                         width = <1096>;
37                         height = <2560>;
38                         stride = <(1096 * 4)>;
39                         format = "a8r8g8b8";
40                         /*
41                          * That's (going to be) a lot of clocks, but it's necessary due
42                          * to unused clk cleanup & no panel driver yet
43                          */
44                         clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
45                                  <&gcc GCC_DISP_SF_AXI_CLK>;
46                 };
47         };
48
49         gpio-keys {
50                 compatible = "gpio-keys";
51
52                 pinctrl-names = "default";
53                 pinctrl-0 = <&focus_n &snapshot_n &vol_down_n &g_assist_n>;
54
55                 key-camera-focus {
56                         label = "Camera Focus";
57                         linux,code = <KEY_CAMERA_FOCUS>;
58                         gpios = <&pm8350b_gpios 8 GPIO_ACTIVE_LOW>;
59                         debounce-interval = <15>;
60                         linux,can-disable;
61                         wakeup-source;
62                 };
63
64                 key-camera-snapshot {
65                         label = "Camera Snapshot";
66                         linux,code = <KEY_CAMERA>;
67                         gpios = <&pm8350b_gpios 5 GPIO_ACTIVE_LOW>;
68                         debounce-interval = <15>;
69                         linux,can-disable;
70                         wakeup-source;
71                 };
72
73                 key-google-assist {
74                         label = "Google Assistant Key";
75                         gpios = <&pm8350_gpios 9 GPIO_ACTIVE_LOW>;
76                         linux,code = <KEY_LEFTMETA>;
77                         debounce-interval = <15>;
78                         linux,can-disable;
79                         wakeup-source;
80                 };
81
82                 key-vol-down {
83                         label = "Volume Down";
84                         linux,code = <KEY_VOLUMEDOWN>;
85                         gpios = <&pmk8350_gpios 3 GPIO_ACTIVE_LOW>;
86                         debounce-interval = <15>;
87                         linux,can-disable;
88                         wakeup-source;
89                 };
90         };
91
92         reserved-memory {
93                 cont_splash_mem: memory@e1000000 {
94                         reg = <0 0xe1000000 0 0x2300000>;
95                         no-map;
96                 };
97
98                 ramoops@ffc00000 {
99                         compatible = "ramoops";
100                         reg = <0 0xffc00000 0 0x100000>;
101                         console-size = <0x40000>;
102                         record-size = <0x1000>;
103                         no-map;
104                 };
105         };
106
107         vph_pwr: vph-pwr-regulator {
108                 compatible = "regulator-fixed";
109                 regulator-name = "vph_pwr";
110                 regulator-min-microvolt = <3700000>;
111                 regulator-max-microvolt = <3700000>;
112
113                 regulator-always-on;
114                 regulator-boot-on;
115         };
116 };
117
118 &adsp {
119         status = "okay";
120         firmware-name = "qcom/sm8350/Sony/sagami/adsp.mbn";
121 };
122
123 &apps_rsc {
124         regulators-0 {
125                 compatible = "qcom,pm8350-rpmh-regulators";
126                 qcom,pmic-id = "b";
127
128                 vdd-s1-supply = <&vph_pwr>;
129                 vdd-s2-supply = <&vph_pwr>;
130                 vdd-s3-supply = <&vph_pwr>;
131                 vdd-s4-supply = <&vph_pwr>;
132                 vdd-s5-supply = <&vph_pwr>;
133                 vdd-s6-supply = <&vph_pwr>;
134                 vdd-s7-supply = <&vph_pwr>;
135                 vdd-s8-supply = <&vph_pwr>;
136                 vdd-s9-supply = <&vph_pwr>;
137                 vdd-s10-supply = <&vph_pwr>;
138                 vdd-s11-supply = <&vph_pwr>;
139                 vdd-s12-supply = <&vph_pwr>;
140
141                 vdd-l1-l4-supply = <&pm8350_s11>;
142                 vdd-l2-l7-supply = <&vreg_bob>;
143                 vdd-l3-l5-supply = <&vreg_bob>;
144                 vdd-l6-l9-l10-supply = <&pm8350_s11>;
145
146                 /*
147                  * ARC regulators:
148                  * S5 - mx.lvl
149                  * S6 - gfx.lvl
150                  * S9 - mxc.lvl
151                  */
152
153                 pm8350_s10: smps10 {
154                         regulator-name = "pm8350_s10";
155                         regulator-min-microvolt = <1800000>;
156                         regulator-max-microvolt = <1800000>;
157                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
158                 };
159
160                 pm8350_s11: smps11 {
161                         regulator-name = "pm8350_s11";
162                         regulator-min-microvolt = <752000>;
163                         regulator-max-microvolt = <1000000>;
164                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
165                 };
166
167                 pm8350_s12: smps12 {
168                         regulator-name = "pm8350_s12";
169                         regulator-min-microvolt = <1224000>;
170                         regulator-max-microvolt = <1360000>;
171                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
172                 };
173
174                 pm8350_l1: ldo1 {
175                         regulator-name = "pm8350_l1";
176                         regulator-min-microvolt = <912000>;
177                         regulator-max-microvolt = <920000>;
178                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
179                 };
180
181                 pm8350_l2: ldo2 {
182                         regulator-name = "pm8350_l2";
183                         regulator-min-microvolt = <3072000>;
184                         regulator-max-microvolt = <3072000>;
185                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
186                 };
187
188                 pm8350_l3: ldo3 {
189                         regulator-name = "pm8350_l3";
190                         regulator-min-microvolt = <904000>;
191                         regulator-max-microvolt = <904000>;
192                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
193                 };
194
195                 /* L4 - lmx.lvl (ARC) */
196
197                 pm8350_l5: ldo5 {
198                         regulator-name = "pm8350_l5";
199                         regulator-min-microvolt = <880000>;
200                         regulator-max-microvolt = <888000>;
201                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
202                         regulator-allow-set-load;
203                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
204                                                    RPMH_REGULATOR_MODE_HPM>;
205                 };
206
207                 pm8350_l6: ldo6 {
208                         regulator-name = "pm8350_l6";
209                         regulator-min-microvolt = <1200000>;
210                         regulator-max-microvolt = <1208000>;
211                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
212                         regulator-allow-set-load;
213                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
214                                                    RPMH_REGULATOR_MODE_HPM>;
215                 };
216
217                 pm8350_l7: ldo7 {
218                         regulator-name = "pm8350_l7";
219                         regulator-min-microvolt = <2400000>;
220                         regulator-max-microvolt = <3008000>;
221                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
222                         regulator-allow-set-load;
223                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
224                                                    RPMH_REGULATOR_MODE_HPM>;
225                 };
226
227                 /* L8 - lcx.lvl (ARC) */
228
229                 pm8350_l9: ldo9 {
230                         regulator-name = "pm8350_l9";
231                         regulator-min-microvolt = <1200000>;
232                         regulator-max-microvolt = <1200000>;
233                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
234                         regulator-allow-set-load;
235                         regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
236                                                    RPMH_REGULATOR_MODE_HPM>;
237                 };
238         };
239
240         regulators-1 {
241                 compatible = "qcom,pm8350c-rpmh-regulators";
242                 qcom,pmic-id = "c";
243
244                 vdd-s1-supply = <&vph_pwr>;
245                 vdd-s2-supply = <&vph_pwr>;
246                 vdd-s3-supply = <&vph_pwr>;
247                 vdd-s4-supply = <&vph_pwr>;
248                 vdd-s5-supply = <&vph_pwr>;
249                 vdd-s6-supply = <&vph_pwr>;
250                 vdd-s7-supply = <&vph_pwr>;
251                 vdd-s8-supply = <&vph_pwr>;
252                 vdd-s9-supply = <&vph_pwr>;
253                 vdd-s10-supply = <&vph_pwr>;
254
255                 vdd-l1-l12-supply = <&pm8350c_s1>;
256                 vdd-l2-l8-supply = <&pm8350c_s1>;
257                 vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
258                 vdd-l6-l9-l11-supply = <&vreg_bob>;
259                 vdd-l10-supply = <&pm8350_s12>;
260
261                 vdd-bob-supply = <&vph_pwr>;
262
263                 pm8350c_s1: smps1 {
264                         regulator-name = "pm8350c_s1";
265                         regulator-min-microvolt = <1800000>;
266                         regulator-max-microvolt = <1952000>;
267                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
268                 };
269
270                 /* S2 - ebi.lvl (ARC) */
271
272                 pm8350c_s3: smps3 {
273                         regulator-name = "pm8350c_s3";
274                         regulator-min-microvolt = <300000>;
275                         regulator-max-microvolt = <704000>;
276                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
277                 };
278
279                 /*
280                  * ARC regulators:
281                  * S4 - mss.lvl
282                  * S6 - cx.lvl
283                  * S8 - mmcx.lvl
284                  */
285
286                 pm8350c_s10: smps10 {
287                         regulator-name = "pm8350c_s10";
288                         regulator-min-microvolt = <1048000>;
289                         regulator-max-microvolt = <1128000>;
290                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
291                 };
292
293                 pm8350c_l1: ldo1 {
294                         regulator-name = "pm8350c_l1";
295                         regulator-min-microvolt = <1800000>;
296                         regulator-max-microvolt = <1800000>;
297                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
298                 };
299
300                 pm8350c_l2: ldo2 {
301                         regulator-name = "pm8350c_l2";
302                         regulator-min-microvolt = <1800000>;
303                         regulator-max-microvolt = <1800000>;
304                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305                 };
306
307                 pm8350c_l3: ldo3 {
308                         regulator-name = "pm8350c_l3";
309                         regulator-min-microvolt = <3304000>;
310                         regulator-max-microvolt = <3304000>;
311                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312                 };
313
314                 pm8350c_l4: ldo4 {
315                         regulator-name = "pm8350c_l4";
316                         regulator-min-microvolt = <1704000>;
317                         regulator-max-microvolt = <3000000>;
318                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
319                 };
320
321                 pm8350c_l5: ldo5 {
322                         regulator-name = "pm8350c_l5";
323                         regulator-min-microvolt = <1704000>;
324                         regulator-max-microvolt = <3000000>;
325                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326                 };
327
328                 pm8350c_l6: ldo6 {
329                         regulator-name = "pm8350c_l6";
330                         regulator-min-microvolt = <1800000>;
331                         regulator-max-microvolt = <2960000>;
332                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
333                 };
334
335                 pm8350c_l7: ldo7 {
336                         regulator-name = "pm8350c_l7";
337                         regulator-min-microvolt = <3008000>;
338                         regulator-max-microvolt = <3008000>;
339                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
340                 };
341
342                 pm8350c_l8: ldo8 {
343                         regulator-name = "pm8350c_l8";
344                         regulator-min-microvolt = <1800000>;
345                         regulator-max-microvolt = <1800000>;
346                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
347                 };
348
349                 pm8350c_l9: ldo9 {
350                         regulator-name = "pm8350c_l9";
351                         regulator-min-microvolt = <2960000>;
352                         /* Originally max = 3008000 but SDHCI expects 2960000 */
353                         regulator-max-microvolt = <2960000>;
354                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
355                 };
356
357                 pm8350c_l10: ldo10 {
358                         regulator-name = "pm8350c_l10";
359                         regulator-min-microvolt = <1200000>;
360                         regulator-max-microvolt = <1200000>;
361                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
362                 };
363
364                 pm8350c_l11: ldo11 {
365                         regulator-name = "pm8350c_l11";
366                         regulator-min-microvolt = <2400000>;
367                         regulator-max-microvolt = <3008000>;
368                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
369                 };
370
371                 pm8350c_l12: ldo12 {
372                         regulator-name = "pm8350c_l12";
373                         regulator-min-microvolt = <1800000>;
374                         regulator-max-microvolt = <2000000>;
375                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
376                 };
377
378                 pm8350c_l13: ldo13 {
379                         regulator-name = "pm8350c_l13";
380                         regulator-min-microvolt = <3000000>;
381                         regulator-max-microvolt = <3000000>;
382                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
383                 };
384
385                 vreg_bob: bob {
386                         regulator-name = "vreg_bob";
387                         regulator-min-microvolt = <3400000>;
388                         regulator-max-microvolt = <3960000>;
389                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
390                 };
391         };
392
393         /* TODO: Add pm8350b (just one ldo) once the driver part is in */
394
395         regulators-2 {
396                 compatible = "qcom,pmr735a-rpmh-regulators";
397                 qcom,pmic-id = "e";
398
399                 vdd-s1-supply = <&vph_pwr>;
400                 vdd-s2-supply = <&vph_pwr>;
401                 vdd-s3-supply = <&vph_pwr>;
402
403                 vdd-l1-l2-supply = <&pmr735a_s2>;
404                 vdd-l3-supply = <&pmr735a_s1>;
405                 vdd-l4-supply = <&pm8350c_s1>;
406                 vdd-l5-l6-supply = <&pm8350c_s1>;
407                 vdd-l7-bob-supply = <&vreg_bob>;
408
409                 pmr735a_s1: smps1 {
410                         regulator-name = "pmr735a_s1";
411                         regulator-min-microvolt = <1200000>;
412                         regulator-max-microvolt = <1280000>;
413                 };
414
415                 pmr735a_s2: smps2 {
416                         regulator-name = "pmr735a_s2";
417                         regulator-min-microvolt = <500000>;
418                         regulator-max-microvolt = <976000>;
419                 };
420
421                 pmr735a_s3: smps3 {
422                         regulator-name = "pmr735a_s3";
423                         regulator-min-microvolt = <2208000>;
424                         regulator-max-microvolt = <2352000>;
425                 };
426
427                 pmr735a_l1: ldo1 {
428                         regulator-name = "pmr735a_l1";
429                         regulator-min-microvolt = <912000>;
430                         regulator-max-microvolt = <912000>;
431                 };
432
433                 pmr735a_l2: ldo2 {
434                         regulator-name = "pmr735a_l2";
435                         regulator-min-microvolt = <1200000>;
436                         regulator-max-microvolt = <1200000>;
437                 };
438
439                 pmr735a_l3: ldo3 {
440                         regulator-name = "pmr735a_l3";
441                         regulator-min-microvolt = <1200000>;
442                         regulator-max-microvolt = <1200000>;
443                 };
444
445                 pmr735a_l4: ldo4 {
446                         regulator-name = "pmr735a_l4";
447                         regulator-min-microvolt = <1776000>;
448                         regulator-max-microvolt = <1872000>;
449                 };
450
451                 pmr735a_l5: ldo5 {
452                         regulator-name = "pmr735a_l5";
453                         regulator-min-microvolt = <800000>;
454                         regulator-max-microvolt = <800000>;
455                 };
456
457                 pmr735a_l6: ldo6 {
458                         regulator-name = "pmr735a_l6";
459                         regulator-min-microvolt = <480000>;
460                         regulator-max-microvolt = <904000>;
461                 };
462
463                 pmr735a_l7: ldo7 {
464                         regulator-name = "pmr735a_l7";
465                         regulator-min-microvolt = <2800000>;
466                         regulator-max-microvolt = <2800000>;
467                 };
468         };
469 };
470
471 &cdsp {
472         status = "okay";
473         firmware-name = "qcom/sm8350/Sony/sagami/cdsp.mbn";
474 };
475
476 &i2c1 {
477         status = "okay";
478         clock-frequency = <1000000>;
479
480         /* Some subset of SONY IMX663 camera sensor @ 38 */
481 };
482
483 &i2c4 {
484         status = "okay";
485         clock-frequency = <400000>;
486
487         /* Samsung Touchscreen (needs I2C GPI DMA) @ 48 */
488 };
489
490 &i2c11 {
491         status = "okay";
492         clock-frequency = <1000000>;
493
494         cs35l41_l: speaker-amp@40 {
495                 compatible = "cirrus,cs35l41";
496                 reg = <0x40>;
497                 interrupt-parent = <&tlmm>;
498                 interrupts = <36 IRQ_TYPE_LEVEL_LOW>;
499                 reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
500                 cirrus,boost-peak-milliamp = <4000>;
501                 cirrus,boost-ind-nanohenry = <1000>;
502                 cirrus,boost-cap-microfarad = <15>;
503                 cirrus,asp-sdout-hiz = <3>;
504                 cirrus,gpio2-src-select = <2>;
505                 cirrus,gpio2-output-enable;
506                 #sound-dai-cells = <1>;
507         };
508
509         cs35l41_r: speaker-amp@41 {
510                 compatible = "cirrus,cs35l41";
511                 reg = <0x41>;
512                 interrupt-parent = <&tlmm>;
513                 interrupts = <36 IRQ_TYPE_LEVEL_LOW>;
514                 reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
515                 cirrus,boost-peak-milliamp = <4000>;
516                 cirrus,boost-ind-nanohenry = <1000>;
517                 cirrus,boost-cap-microfarad = <15>;
518                 cirrus,asp-sdout-hiz = <3>;
519                 cirrus,gpio2-src-select = <2>;
520                 cirrus,gpio2-output-enable;
521                 #sound-dai-cells = <1>;
522         };
523 };
524
525 &i2c12 {
526         status = "okay";
527         /* Clock frequency was not specified downstream, let's park it to 100 KHz */
528         clock-frequency = <100000>;
529
530         /* AMS TCS3490 RGB+IR color sensor @ 72 */
531 };
532
533 &i2c13 {
534         status = "okay";
535         /* Clock frequency was not specified downstream, let's park it to 100 KHz */
536         clock-frequency = <100000>;
537
538         /* Qualcomm PM8008i/PM8008j (?) @ 8, 9, c, d */
539 };
540
541 &i2c15 {
542         status = "okay";
543         clock-frequency = <400000>;
544
545         /* NXP SN1X0 NFC @ 28 */
546 };
547
548 &i2c17 {
549         status = "okay";
550         clock-frequency = <1000000>;
551
552         /* Cirrus Logic CS40L25A boosted haptics driver @ 40 */
553 };
554
555 &ipa {
556         qcom,gsi-loader = "self";
557         memory-region = <&pil_ipa_fw_mem>;
558         firmware-name = "qcom/sm8350/Sony/sagami/ipa_fws.mbn";
559         status = "okay";
560 };
561
562 &mpss {
563         status = "okay";
564         firmware-name = "qcom/sm8350/Sony/sagami/modem.mbn";
565 };
566
567 &pm8350_gpios {
568         gpio-line-names = "ASSIGN1_THERM", /* GPIO_1 */
569                           "LCD_ID",
570                           "SDR_MMW_THERM",
571                           "RF_ID",
572                           "NC",
573                           "FP_LDO_EN",
574                           "SP_ARI_PWR_ALARM",
575                           "NC",
576                           "G_ASSIST_N",
577                           "PM8350_OPTION"; /* GPIO_10 */
578
579         g_assist_n: g-assist-n-state {
580                 pins = "gpio9";
581                 function = "normal";
582                 power-source = <1>;
583                 bias-pull-up;
584                 input-enable;
585         };
586 };
587
588 &pm8350b_gpios {
589         snapshot_n: snapshot-n-state {
590                 pins = "gpio5";
591                 function = "normal";
592                 power-source = <0>;
593                 bias-pull-up;
594                 input-enable;
595         };
596
597         focus_n: focus-n-state {
598                 pins = "gpio8";
599                 function = "normal";
600                 power-source = <0>;
601                 input-enable;
602                 bias-pull-up;
603         };
604 };
605
606 &pmk8350_gpios {
607         gpio-line-names = "NC", /* GPIO_1 */
608                           "NC",
609                           "VOL_DOWN_N",
610                           "PMK8350_OPTION";
611
612         vol_down_n: vol-down-n-state {
613                 pins = "gpio3";
614                 function = "normal";
615                 power-source = <0>;
616                 bias-pull-up;
617                 input-enable;
618         };
619 };
620
621 &pmk8350_rtc {
622         status = "okay";
623 };
624
625 &pon_pwrkey {
626         status = "okay";
627 };
628
629 &pon_resin {
630         status = "okay";
631         linux,code = <KEY_VOLUMEUP>;
632 };
633
634 &qupv3_id_0 {
635         status = "okay";
636 };
637
638 &qupv3_id_1 {
639         status = "okay";
640 };
641
642 &qupv3_id_2 {
643         status = "okay";
644 };
645
646 &sdhc_2 {
647         cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>;
648         pinctrl-names = "default", "sleep";
649         pinctrl-0 = <&sdc2_default_state &sdc2_card_det_active>;
650         pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_sleep>;
651         vmmc-supply = <&pm8350c_l9>;
652         vqmmc-supply = <&pm8350c_l6>;
653         no-sdio;
654         no-mmc;
655         status = "okay";
656 };
657
658 &slpi {
659         status = "okay";
660         firmware-name = "qcom/sm8350/Sony/sagami/slpi.mbn";
661 };
662
663 &spi14 {
664         status = "okay";
665
666         /* NXP SN1X0 NFC Secure Element @ 0 */
667 };
668
669 &tlmm {
670         gpio-reserved-ranges = <44 4>;
671         gpio-line-names = "APPS_I2C_0_SDA", /* GPIO_0 */
672                           "APPS_I2C_0_SCL",
673                           "UWIDEC_PWR_EN",
674                           "HAP_RST_N",
675                           "NC",
676                           "NC",
677                           "PM8008_1_RESET_N",
678                           "NC",
679                           "OIS_TELE_I2C_SDA",
680                           "OIS_TELE_I2C_SCL",
681                           "PM8350_OPTION", /* GPIO_10 */
682                           "NC",
683                           "APPS_I2C_1_SDA",
684                           "APPS_I2C_1_SCL",
685                           "NC",
686                           "NC",
687                           "CAM1_RESET_N",
688                           "LEO_CAM0_RESET_N",
689                           "DEBUG_UART_TX",
690                           "DEBUG_UART_RX",
691                           "TS_I2C_SDA", /* GPIO_20 */
692                           "TS_I2C_SCL",
693                           "TS_RESET_N",
694                           "TS_INT_N",
695                           "DISP_RESET_N",
696                           "SW_SERVICE",
697                           "DISP_ERR_FG",
698                           "TX_GTR_THRES_IN",
699                           "NC",
700                           "NC",
701                           "NC", /* GPIO_30 */
702                           "NC",
703                           "NC",
704                           "NC",
705                           "NC",
706                           "NC",
707                           "SPK_AMP_INT_N",
708                           "SPK_AMP_RESET_N",
709                           "FP_INT_N",
710                           "FP_RESET_N",
711                           "NC", /* GPIO_40 */
712                           "NC",
713                           "DEBUG_GPIO0",
714                           "FORCE_USB_BOOT",
715                           "FP_SPI_MISO",
716                           "FP_SPI_MOSI",
717                           "FP_SPI_CLK",
718                           "FP_SPI_CS_N",
719                           "SPK_AMP_I2C_SDA",
720                           "SPK_AMP_I2C_SCL",
721                           "NC", /* GPIO_50 */
722                           "HAP_INT_N",
723                           "CAMSENSOR_I2C_SDA",
724                           "CAMSENSOR_I2C_SCL",
725                           "SBU_SW_OE",
726                           "SBU_SW_SEL",
727                           "NFC_ESE_SPI_MISO",
728                           "NFC_ESE_SPI_MOSI",
729                           "NFC_ESE_SPI_CLK",
730                           "NFC_ESE_SPI_CS",
731                           "NFC_I2C_SDA", /* GPIO_60 */
732                           "NFC_I2C_SCL",
733                           "NFC_EN",
734                           "NFC_CLK_REQ",
735                           "HST_WLAN_EN",
736                           "HST_BT_EN",
737                           "HW_ID_0",
738                           "HW_ID_1",
739                           "HST_BT_UART_CTS",
740                           "HST_BT_UART_RFR",
741                           "HST_BT_UART_TX", /* GPIO_70 */
742                           "HST_BT_UART_RX",
743                           "HAP_I2C_SDA",
744                           "HAP_I2C_SCL",
745                           "RF_LCD_ID_EN",
746                           "RF_ID_EXTENSION",
747                           "NC",
748                           "NC",
749                           "NC",
750                           "NC",
751                           "HALL_INT_N", /* GPIO_80 */
752                           "USB_CC_DIR",
753                           "DISP_VSYNC",
754                           "NC",
755                           "NC",
756                           "CAM_SOF_TELE",
757                           "NFC_DWL_REQ",
758                           "NFC_IRQ",
759                           "WCD_RST_N",
760                           "ALS_PROX_INT_N",
761                           "NC", /* GPIO_90 */
762                           "NC",
763                           "TRAY_DET",
764                           "UDON_SWITCH_SEL",
765                           "PCIE0_RESET_N",
766                           "PCIE0_CLK_REQ_N",
767                           "PCIE0_WAKE_N",
768                           "CAM_SOF",
769                           "RF_ID_EXTENSION_2",
770                           "RGBC_IR_INT",
771                           "CAM_MCLK0", /* GPIO_100 */
772                           "CAM_MCLK1",
773                           "CAM_MCLK2",
774                           "CAM_MCLK3",
775                           "NC",
776                           "NC",
777                           "CAM2_RESET_N",
778                           "CCI_I2C0_SDA",
779                           "CCI_I2C0_SCL",
780                           "CCI_I2C1_SDA",
781                           "CCI_I2C1_SCL", /* GPIO_110 */
782                           "CCI_I2C2_SDA",
783                           "CCI_I2C2_SCL",
784                           "CCI_I2C3_SDA",
785                           "CCI_I2C3_SCL",
786                           "NC",
787                           "PM8008_1_IRQ",
788                           "CAM3_RESET_N",
789                           "IMU1_INT",
790                           "EXT_VD0_XVS",
791                           "NC", /* GPIO_120 */
792                           "NC",
793                           "NC",
794                           "NC",
795                           "NC",
796                           "HAP_I2S_CLK",
797                           "HAP_I2S_DOUT",
798                           "HAP_TRG1",
799                           "HAP_I2S_SYNC",
800                           "HST_BT_WLAN_SLIMBUS_CLK",
801                           "HST_BT_WLAN_SLIMBUS_DAT0", /* GPIO_130 */
802                           "NC",
803                           "UIM2_DETECT_EN",
804                           "UIM2_DATA",
805                           "UIM2_CLK",
806                           "UIM2_RESET",
807                           "UIM2_PRESENT",
808                           "UIM1_DATA",
809                           "UIM1_CLK",
810                           "UIM1_RESET",
811                           "TRAY_DET", /* GPIO_140 */
812                           "SM_RFFE0_CLK",
813                           "SM_RFFE0_DATA",
814                           "SM_RFFE1_CLK",
815                           "SM_RFFE1_DATA",
816                           "SM_MSS_GRFC4",
817                           "SM_MSS_GRFC5",
818                           "SM_MSS_GRFC6",
819                           "SM_MSS_GRFC7",
820                           "SM_RFFE4_CLK",
821                           "SM_RFFE4_DATA", /* GPIO_150 */
822                           "WLAN_COEX_UART1_RX",
823                           "WLAN_COEX_UART1_TX",
824                           "HST_SW_CTRL",
825                           "DISP_VDDR_EN",
826                           "NC",
827                           "NC",
828                           "PA_INDICATOR_OR",
829                           "NC",
830                           "QLINK0_REQ",
831                           "QLINK0_EN", /* GPIO_160 */
832                           "QLINK0_WMSS_RESET_N",
833                           "NC",
834                           "NC",
835                           "NC",
836                           "PM8008_2_IRQ",
837                           "TELEC_PWR_EN",
838                           "PM8008_2_RESET_N",
839                           "WCD_SWR_TX_CLK",
840                           "WCD_SWR_TX_DATA0",
841                           "WCD_SWR_TX_DATA1", /* GPIO_170 */
842                           "WCD_SWR_RX_CLK",
843                           "WCD_SWR_RX_DATA0",
844                           "WCD_SWR_RX_DATA1",
845                           "SM_DMIC1_CLK",
846                           "SM_DMIC1_DATA",
847                           "SM_DMIC2_CLK",
848                           "SM_DMIC2_DATA",
849                           "SPK_AMP_I2S_CLK",
850                           "SPK_AMP_I2S_WS",
851                           "SPK_AMP_I2S_ASP_DIN", /* GPIO_180 */
852                           "SPK_AMP_I2S_ASP_DOUT",
853                           "WCD_SWR_TX_DATA2",
854                           "NC",
855                           "NC",
856                           "NC",
857                           "NC",
858                           "IMU_SPI_MISO",
859                           "IMU_SPI_MOSI",
860                           "IMU_SPI_CLK",
861                           "IMU_SPI_CS_N", /* GPIO_190 */
862                           "MAG_I2C_SDA",
863                           "MAG_I2C_SCL",
864                           "SENSOR_I2C_SDA",
865                           "SENSOR_I2C_SCL",
866                           "NC",
867                           "NC",
868                           "NC",
869                           "NC",
870                           "HST_BLE_UART_TX",
871                           "HST_BLE_UART_RX", /* GPIO_200 */
872                           "HST_WLAN_UART_TX",
873                           "HST_WLAN_UART_RX";
874
875         ts_int_default: ts-int-default-state {
876                 pins = "gpio23";
877                 function = "gpio";
878                 drive-strength = <2>;
879                 bias-disable;
880         };
881
882         sdc2_card_det_active: sd-card-det-active-state {
883                 pins = "gpio92";
884                 function = "gpio";
885                 drive-strength = <2>;
886                 bias-pull-up;
887         };
888
889         sdc2_card_det_sleep: sd-card-det-sleep-state {
890                 pins = "gpio92";
891                 function = "gpio";
892                 drive-strength = <2>;
893                 bias-disable;
894         };
895 };
896
897 /* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */
898 &ufs_mem_hc { status = "disabled"; };
899 &ufs_mem_phy { status = "disabled"; };
900
901 &usb_1 {
902         status = "okay";
903 };
904
905 &usb_1_dwc3 {
906         dr_mode = "peripheral";
907 };
908
909 &usb_1_hsphy {
910         status = "okay";
911
912         vdda-pll-supply = <&pm8350_l5>;
913         vdda18-supply = <&pm8350c_l1>;
914         vdda33-supply = <&pm8350_l2>;
915 };
916
917 &usb_1_qmpphy {
918         status = "okay";
919
920         vdda-phy-supply = <&pm8350_l6>;
921         vdda-pll-supply = <&pm8350_l1>;
922 };