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