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