Merge tag '6.9-rc5-cifs-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / qcom / qcom-msm8974pro-sony-xperia-shinano-castor.dts
1 // SPDX-License-Identifier: GPL-2.0
2 #include "qcom-msm8974pro.dtsi"
3 #include "pm8841.dtsi"
4 #include "pm8941.dtsi"
5 #include <dt-bindings/input/input.h>
6 #include <dt-bindings/leds/common.h>
7 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
8
9 / {
10         model = "Sony Xperia Z2 Tablet";
11         compatible = "sony,xperia-castor", "qcom,msm8974pro", "qcom,msm8974";
12         chassis-type = "tablet";
13
14         aliases {
15                 serial0 = &blsp1_uart2;
16                 serial1 = &blsp2_uart1;
17         };
18
19         chosen {
20                 stdout-path = "serial0:115200n8";
21         };
22
23         gpio-keys {
24                 compatible = "gpio-keys";
25
26                 pinctrl-names = "default";
27                 pinctrl-0 = <&gpio_keys_pin_a>;
28
29                 key-volume-down {
30                         label = "volume_down";
31                         gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
32                         linux,input-type = <1>;
33                         linux,code = <KEY_VOLUMEDOWN>;
34                 };
35
36                 key-camera-snapshot {
37                         label = "camera_snapshot";
38                         gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
39                         linux,input-type = <1>;
40                         linux,code = <KEY_CAMERA>;
41                 };
42
43                 key-camera-focus {
44                         label = "camera_focus";
45                         gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>;
46                         linux,input-type = <1>;
47                         linux,code = <KEY_CAMERA_FOCUS>;
48                 };
49
50                 key-volume-up {
51                         label = "volume_up";
52                         gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
53                         linux,input-type = <1>;
54                         linux,code = <KEY_VOLUMEUP>;
55                 };
56         };
57
58         vreg_bl_vddio: lcd-backlight-vddio {
59                 compatible = "regulator-fixed";
60                 regulator-name = "vreg_bl_vddio";
61                 regulator-min-microvolt = <3150000>;
62                 regulator-max-microvolt = <3150000>;
63
64                 gpio = <&tlmm 69 0>;
65                 enable-active-high;
66
67                 vin-supply = <&pm8941_s3>;
68                 startup-delay-us = <70000>;
69
70                 pinctrl-names = "default";
71                 pinctrl-0 = <&lcd_backlight_en_pin_a>;
72         };
73
74         vreg_vsp: lcd-dcdc-regulator {
75                 compatible = "regulator-fixed";
76                 regulator-name = "vreg_vsp";
77                 regulator-min-microvolt = <5600000>;
78                 regulator-max-microvolt = <5600000>;
79
80                 gpio = <&pm8941_gpios 20 GPIO_ACTIVE_HIGH>;
81                 enable-active-high;
82
83                 pinctrl-names = "default";
84                 pinctrl-0 = <&lcd_dcdc_en_pin_a>;
85         };
86
87         vreg_boost: vreg-boost {
88                 compatible = "regulator-fixed";
89
90                 regulator-name = "vreg-boost";
91                 regulator-min-microvolt = <3150000>;
92                 regulator-max-microvolt = <3150000>;
93
94                 regulator-always-on;
95                 regulator-boot-on;
96
97                 gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>;
98                 enable-active-high;
99
100                 pinctrl-names = "default";
101                 pinctrl-0 = <&boost_bypass_n_pin>;
102         };
103
104         vreg_vph_pwr: vreg-vph-pwr {
105                 compatible = "regulator-fixed";
106                 regulator-name = "vph-pwr";
107
108                 regulator-min-microvolt = <3600000>;
109                 regulator-max-microvolt = <3600000>;
110
111                 regulator-always-on;
112         };
113
114         vreg_wlan: wlan-regulator {
115                 compatible = "regulator-fixed";
116
117                 regulator-name = "wl-reg";
118                 regulator-min-microvolt = <3300000>;
119                 regulator-max-microvolt = <3300000>;
120
121                 gpio = <&pm8941_gpios 18 GPIO_ACTIVE_HIGH>;
122                 enable-active-high;
123
124                 pinctrl-names = "default";
125                 pinctrl-0 = <&wlan_regulator_pin>;
126         };
127 };
128
129 &blsp1_uart2 {
130         status = "okay";
131 };
132
133 &blsp2_i2c2 {
134         status = "okay";
135         clock-frequency = <355000>;
136
137         synaptics@2c {
138                 compatible = "syna,rmi4-i2c";
139                 reg = <0x2c>;
140
141                 interrupt-parent = <&tlmm>;
142                 interrupts = <86 IRQ_TYPE_EDGE_FALLING>;
143
144                 #address-cells = <1>;
145                 #size-cells = <0>;
146
147                 vdd-supply = <&pm8941_l22>;
148                 vio-supply = <&pm8941_lvs3>;
149
150                 pinctrl-names = "default";
151                 pinctrl-0 = <&ts_int_pin>;
152
153                 syna,startup-delay-ms = <100>;
154
155                 rmi4-f01@1 {
156                         reg = <0x1>;
157                         syna,nosleep-mode = <1>;
158                 };
159
160                 rmi4-f11@11 {
161                         reg = <0x11>;
162                         syna,sensor-type = <1>;
163                         touchscreen-inverted-x;
164                 };
165         };
166 };
167
168 &blsp2_i2c5 {
169         status = "okay";
170         clock-frequency = <355000>;
171
172         lp8566_wled: backlight@2c {
173                 compatible = "ti,lp8556";
174                 reg = <0x2c>;
175                 power-supply = <&vreg_bl_vddio>;
176
177                 bl-name = "backlight";
178                 dev-ctrl = /bits/ 8 <0x05>;
179                 init-brt = /bits/ 8 <0x3f>;
180
181                 rom-a0h {
182                         rom-addr = /bits/ 8 <0xa0>;
183                         rom-val = /bits/ 8 <0xff>;
184                 };
185                 rom-a1h {
186                         rom-addr = /bits/ 8 <0xa1>;
187                         rom-val = /bits/ 8 <0x3f>;
188                 };
189                 rom-a2h {
190                         rom-addr = /bits/ 8 <0xa2>;
191                         rom-val = /bits/ 8 <0x20>;
192                 };
193                 rom-a3h {
194                         rom-addr = /bits/ 8 <0xa3>;
195                         rom-val = /bits/ 8 <0x5e>;
196                 };
197                 rom-a4h {
198                         rom-addr = /bits/ 8 <0xa4>;
199                         rom-val = /bits/ 8 <0x02>;
200                 };
201                 rom-a5h {
202                         rom-addr = /bits/ 8 <0xa5>;
203                         rom-val = /bits/ 8 <0x04>;
204                 };
205                 rom-a6h {
206                         rom-addr = /bits/ 8 <0xa6>;
207                         rom-val = /bits/ 8 <0x80>;
208                 };
209                 rom-a7h {
210                         rom-addr = /bits/ 8 <0xa7>;
211                         rom-val = /bits/ 8 <0xf7>;
212                 };
213                 rom-a9h {
214                         rom-addr = /bits/ 8 <0xa9>;
215                         rom-val = /bits/ 8 <0x80>;
216                 };
217                 rom-aah {
218                         rom-addr = /bits/ 8 <0xaa>;
219                         rom-val = /bits/ 8 <0x0f>;
220                 };
221                 rom-aeh {
222                         rom-addr = /bits/ 8 <0xae>;
223                         rom-val = /bits/ 8 <0x0f>;
224                 };
225         };
226 };
227
228 &blsp2_uart1 {
229         status = "okay";
230
231         bluetooth {
232                 compatible = "brcm,bcm43438-bt";
233                 max-speed = <3000000>;
234
235                 pinctrl-names = "default";
236                 pinctrl-0 = <&bt_host_wake_pin>, <&bt_dev_wake_pin>, <&bt_reg_on_pin>;
237
238                 host-wakeup-gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
239                 device-wakeup-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
240                 shutdown-gpios = <&pm8941_gpios 16 GPIO_ACTIVE_HIGH>;
241         };
242 };
243
244 &pm8941_coincell {
245         status = "okay";
246
247         qcom,rset-ohms = <2100>;
248         qcom,vset-millivolts = <3000>;
249 };
250
251 &pm8941_gpios {
252         gpio_keys_pin_a: gpio-keys-active-state {
253                 pins = "gpio2", "gpio5";
254                 function = "normal";
255
256                 bias-pull-up;
257                 power-source = <PM8941_GPIO_S3>;
258         };
259
260         bt_reg_on_pin: bt-reg-on-state {
261                 pins = "gpio16";
262                 function = "normal";
263
264                 output-low;
265                 power-source = <PM8941_GPIO_S3>;
266         };
267
268         wlan_sleep_clk_pin: wl-sleep-clk-state {
269                 pins = "gpio17";
270                 function = "func2";
271
272                 output-high;
273                 power-source = <PM8941_GPIO_S3>;
274         };
275
276         wlan_regulator_pin: wl-reg-active-state {
277                 pins = "gpio18";
278                 function = "normal";
279
280                 bias-disable;
281                 power-source = <PM8941_GPIO_S3>;
282         };
283
284         lcd_dcdc_en_pin_a: lcd-dcdc-en-active-state {
285                 pins = "gpio20";
286                 function = "normal";
287
288                 bias-disable;
289                 power-source = <PM8941_GPIO_S3>;
290                 input-disable;
291                 output-low;
292         };
293
294 };
295
296 &pm8941_lpg {
297         status = "okay";
298
299         qcom,power-source = <1>;
300
301         multi-led {
302                 color = <LED_COLOR_ID_RGB>;
303                 function = LED_FUNCTION_STATUS;
304
305                 #address-cells = <1>;
306                 #size-cells = <0>;
307
308                 led@5 {
309                         reg = <5>;
310                         color = <LED_COLOR_ID_BLUE>;
311                 };
312
313                 led@6 {
314                         reg = <6>;
315                         color = <LED_COLOR_ID_GREEN>;
316                 };
317
318                 led@7 {
319                         reg = <7>;
320                         color = <LED_COLOR_ID_RED>;
321                 };
322         };
323 };
324
325 &remoteproc_adsp {
326         cx-supply = <&pm8841_s2>;
327         status = "okay";
328 };
329
330 &remoteproc_mss {
331         cx-supply = <&pm8841_s2>;
332         mss-supply = <&pm8841_s3>;
333         mx-supply = <&pm8841_s1>;
334         pll-supply = <&pm8941_l12>;
335         status = "okay";
336 };
337
338 &rpm_requests {
339         regulators-0 {
340                 compatible = "qcom,rpm-pm8841-regulators";
341
342                 pm8841_s1: s1 {
343                         regulator-min-microvolt = <675000>;
344                         regulator-max-microvolt = <1050000>;
345                 };
346
347                 pm8841_s2: s2 {
348                         regulator-min-microvolt = <500000>;
349                         regulator-max-microvolt = <1050000>;
350                 };
351
352                 pm8841_s3: s3 {
353                         regulator-min-microvolt = <500000>;
354                         regulator-max-microvolt = <1050000>;
355                 };
356
357                 pm8841_s4: s4 {
358                         regulator-min-microvolt = <500000>;
359                         regulator-max-microvolt = <1050000>;
360                 };
361         };
362
363         regulators-1 {
364                 compatible = "qcom,rpm-pm8941-regulators";
365
366                 vdd_l1_l3-supply = <&pm8941_s1>;
367                 vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
368                 vdd_l4_l11-supply = <&pm8941_s1>;
369                 vdd_l5_l7-supply = <&pm8941_s2>;
370                 vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
371                 vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
372                 vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
373                 vdd_l21-supply = <&vreg_boost>;
374
375                 pm8941_s1: s1 {
376                         regulator-min-microvolt = <1300000>;
377                         regulator-max-microvolt = <1300000>;
378                         regulator-always-on;
379                         regulator-boot-on;
380                 };
381
382                 pm8941_s2: s2 {
383                         regulator-min-microvolt = <2150000>;
384                         regulator-max-microvolt = <2150000>;
385                         regulator-boot-on;
386                 };
387
388                 pm8941_s3: s3 {
389                         regulator-min-microvolt = <1800000>;
390                         regulator-max-microvolt = <1800000>;
391                         regulator-system-load = <154000>;
392                         regulator-always-on;
393                         regulator-boot-on;
394                 };
395
396                 pm8941_s4: s4 {
397                         regulator-min-microvolt = <5000000>;
398                         regulator-max-microvolt = <5000000>;
399                 };
400
401                 pm8941_l1: l1 {
402                         regulator-min-microvolt = <1225000>;
403                         regulator-max-microvolt = <1225000>;
404                         regulator-always-on;
405                         regulator-boot-on;
406                 };
407
408                 pm8941_l2: l2 {
409                         regulator-min-microvolt = <1200000>;
410                         regulator-max-microvolt = <1200000>;
411                 };
412
413                 pm8941_l3: l3 {
414                         regulator-min-microvolt = <1200000>;
415                         regulator-max-microvolt = <1200000>;
416                 };
417
418                 pm8941_l4: l4 {
419                         regulator-min-microvolt = <1225000>;
420                         regulator-max-microvolt = <1225000>;
421                 };
422
423                 pm8941_l5: l5 {
424                         regulator-min-microvolt = <1800000>;
425                         regulator-max-microvolt = <1800000>;
426                 };
427
428                 pm8941_l6: l6 {
429                         regulator-min-microvolt = <1800000>;
430                         regulator-max-microvolt = <1800000>;
431                         regulator-boot-on;
432                 };
433
434                 pm8941_l7: l7 {
435                         regulator-min-microvolt = <1800000>;
436                         regulator-max-microvolt = <1800000>;
437                         regulator-boot-on;
438                 };
439
440                 pm8941_l8: l8 {
441                         regulator-min-microvolt = <1800000>;
442                         regulator-max-microvolt = <1800000>;
443                 };
444
445                 pm8941_l9: l9 {
446                         regulator-min-microvolt = <1800000>;
447                         regulator-max-microvolt = <2950000>;
448                 };
449
450                 pm8941_l11: l11 {
451                         regulator-min-microvolt = <1300000>;
452                         regulator-max-microvolt = <1350000>;
453                 };
454
455                 pm8941_l12: l12 {
456                         regulator-min-microvolt = <1800000>;
457                         regulator-max-microvolt = <1800000>;
458                         regulator-always-on;
459                         regulator-boot-on;
460                 };
461
462                 pm8941_l13: l13 {
463                         regulator-min-microvolt = <1800000>;
464                         regulator-max-microvolt = <2950000>;
465                         regulator-boot-on;
466                 };
467
468                 pm8941_l14: l14 {
469                         regulator-min-microvolt = <1800000>;
470                         regulator-max-microvolt = <1800000>;
471                 };
472
473                 pm8941_l15: l15 {
474                         regulator-min-microvolt = <2050000>;
475                         regulator-max-microvolt = <2050000>;
476                 };
477
478                 pm8941_l16: l16 {
479                         regulator-min-microvolt = <2700000>;
480                         regulator-max-microvolt = <2700000>;
481                 };
482
483                 pm8941_l17: l17 {
484                         regulator-min-microvolt = <2700000>;
485                         regulator-max-microvolt = <2700000>;
486                 };
487
488                 pm8941_l18: l18 {
489                         regulator-min-microvolt = <2850000>;
490                         regulator-max-microvolt = <2850000>;
491                 };
492
493                 pm8941_l19: l19 {
494                         regulator-min-microvolt = <2850000>;
495                         regulator-max-microvolt = <2850000>;
496                 };
497
498                 pm8941_l20: l20 {
499                         regulator-min-microvolt = <2950000>;
500                         regulator-max-microvolt = <2950000>;
501                         regulator-system-load = <500000>;
502                         regulator-allow-set-load;
503                         regulator-boot-on;
504                 };
505
506                 pm8941_l21: l21 {
507                         regulator-min-microvolt = <2950000>;
508                         regulator-max-microvolt = <2950000>;
509                         regulator-boot-on;
510                 };
511
512                 pm8941_l22: l22 {
513                         regulator-min-microvolt = <3000000>;
514                         regulator-max-microvolt = <3000000>;
515                 };
516
517                 pm8941_l23: l23 {
518                         regulator-min-microvolt = <2800000>;
519                         regulator-max-microvolt = <2800000>;
520                 };
521
522                 pm8941_l24: l24 {
523                         regulator-min-microvolt = <3075000>;
524                         regulator-max-microvolt = <3075000>;
525                         regulator-boot-on;
526                 };
527
528                 pm8941_lvs3: lvs3 {};
529         };
530 };
531
532 &sdhc_1 {
533         status = "okay";
534
535         vmmc-supply = <&pm8941_l20>;
536         vqmmc-supply = <&pm8941_s3>;
537
538         pinctrl-names = "default", "sleep";
539         pinctrl-0 = <&sdc1_on>;
540         pinctrl-1 = <&sdc1_off>;
541 };
542
543 &sdhc_2 {
544         status = "okay";
545
546         vmmc-supply = <&pm8941_l21>;
547         vqmmc-supply = <&pm8941_l13>;
548
549         cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
550
551         pinctrl-names = "default", "sleep";
552         pinctrl-0 = <&sdc2_on>;
553         pinctrl-1 = <&sdc2_off>;
554 };
555
556 &sdhc_3 {
557         status = "okay";
558
559         max-frequency = <100000000>;
560         vmmc-supply = <&vreg_wlan>;
561         non-removable;
562
563         pinctrl-names = "default";
564         pinctrl-0 = <&sdc3_on>;
565
566         #address-cells = <1>;
567         #size-cells = <0>;
568
569         bcrmf@1 {
570                 compatible = "brcm,bcm4339-fmac", "brcm,bcm4329-fmac";
571                 reg = <1>;
572
573                 brcm,drive-strength = <10>;
574
575                 pinctrl-names = "default";
576                 pinctrl-0 = <&wlan_sleep_clk_pin>;
577         };
578 };
579
580 &smbb {
581         qcom,fast-charge-safe-current = <1500000>;
582         qcom,fast-charge-current-limit = <1500000>;
583         qcom,dc-current-limit = <1800000>;
584         usb-charge-current-limit = <1800000>;
585         qcom,fast-charge-safe-voltage = <4400000>;
586         qcom,fast-charge-high-threshold-voltage = <4350000>;
587         qcom,fast-charge-low-threshold-voltage = <3400000>;
588         qcom,auto-recharge-threshold-voltage = <4200000>;
589         qcom,minimum-input-voltage = <4300000>;
590
591         status = "okay";
592 };
593
594 &tlmm {
595         lcd_backlight_en_pin_a: lcd-backlight-vddio-state {
596                 pins = "gpio69";
597                 function = "gpio";
598                 drive-strength = <10>;
599                 output-low;
600                 bias-disable;
601         };
602
603         sdc1_on: sdc1-on-state {
604                 clk-pins {
605                         pins = "sdc1_clk";
606                         drive-strength = <16>;
607                         bias-disable;
608                 };
609
610                 cmd-data-pins {
611                         pins = "sdc1_cmd", "sdc1_data";
612                         drive-strength = <10>;
613                         bias-pull-up;
614                 };
615         };
616
617         sdc2_on: sdc2-on-state {
618                 clk-pins {
619                         pins = "sdc2_clk";
620                         drive-strength = <6>;
621                         bias-disable;
622                 };
623
624                 cmd-data-pins {
625                         pins = "sdc2_cmd", "sdc2_data";
626                         drive-strength = <6>;
627                         bias-pull-up;
628                 };
629
630                 cd-pins {
631                         pins = "gpio62";
632                         function = "gpio";
633                         drive-strength = <2>;
634                         bias-disable;
635                 };
636         };
637
638         sdc3_on: sdc3-on-state {
639                 clk-pins {
640                         pins = "gpio40";
641                         function = "sdc3";
642                         drive-strength = <10>;
643                         bias-disable;
644                 };
645
646                 cmd-pins {
647                         pins = "gpio39";
648                         function = "sdc3";
649                         drive-strength = <10>;
650                         bias-pull-up;
651                 };
652
653                 data-pins {
654                         pins = "gpio35", "gpio36", "gpio37", "gpio38";
655                         function = "sdc3";
656                         drive-strength = <10>;
657                         bias-pull-up;
658                 };
659         };
660
661         ts_int_pin: ts-int-pin-state {
662                 pins = "gpio86";
663                 function = "gpio";
664                 drive-strength = <2>;
665                 bias-disable;
666         };
667
668         bt_host_wake_pin: bt-host-wake-state {
669                 pins = "gpio95";
670                 function = "gpio";
671                 drive-strength = <2>;
672                 bias-disable;
673                 output-low;
674         };
675
676         bt_dev_wake_pin: bt-dev-wake-state {
677                 pins = "gpio96";
678                 function = "gpio";
679                 drive-strength = <2>;
680                 bias-disable;
681         };
682 };
683
684 &usb {
685         status = "okay";
686
687         phys = <&usb_hs1_phy>;
688         phy-select = <&tcsr 0xb000 0>;
689         extcon = <&smbb>, <&usb_id>;
690         vbus-supply = <&chg_otg>;
691
692         hnp-disable;
693         srp-disable;
694         adp-disable;
695 };
696
697 &usb_hs1_phy {
698         status = "okay";
699
700         v1p8-supply = <&pm8941_l6>;
701         v3p3-supply = <&pm8941_l24>;
702
703         extcon = <&smbb>;
704         qcom,init-seq = /bits/ 8 <0x1 0x64>;
705 };