1 // SPDX-License-Identifier: BSD-3-Clause 2 /* 3 * Copyright (c) 2023, Linaro Limited 4 */ 5 6 /dts-v1/; 7 8 #include <dt-bindings/firmware/qcom,scm.h> 9 #include <dt-bindings/leds/common.h> 10 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h 11 #include <dt-bindings/regulator/qcom,rpmh-regu 12 #include <dt-bindings/sound/cs35l45.h> 13 #include "sm8550.dtsi" 14 #include "pm8010.dtsi" 15 #include "pm8550.dtsi" 16 #include "pm8550b.dtsi" 17 #define PMK8550VE_SID 5 18 #include "pm8550ve.dtsi" 19 #include "pm8550vs.dtsi" 20 #include "pmk8550.dtsi" 21 /* TODO: Only one SID of PMR735D seems accessi 22 23 /delete-node/ &hwfence_shbuf; 24 /delete-node/ &mpss_mem; 25 /delete-node/ &rmtfs_mem; 26 / { 27 model = "Sony Xperia 1 V"; 28 compatible = "sony,pdx234", "qcom,sm85 29 chassis-type = "handset"; 30 31 aliases { 32 i2c0 = &i2c0; 33 i2c4 = &i2c4; 34 i2c10 = &i2c10; 35 i2c11 = &i2c11; 36 i2c16 = &i2c_hub_2; 37 serial0 = &uart7; 38 }; 39 40 chosen { 41 stdout-path = "serial0:115200n 42 }; 43 44 gpio-keys { 45 compatible = "gpio-keys"; 46 label = "gpio-keys"; 47 48 pinctrl-0 = <&focus_n &snapsho 49 pinctrl-names = "default"; 50 51 key-camera-focus { 52 label = "Camera Focus" 53 linux,code = <KEY_CAME 54 gpios = <&pm8550b_gpio 55 debounce-interval = <1 56 linux,can-disable; 57 wakeup-source; 58 }; 59 60 key-camera-snapshot { 61 label = "Camera Snapsh 62 gpios = <&pm8550b_gpio 63 linux,code = <KEY_CAME 64 debounce-interval = <1 65 linux,can-disable; 66 wakeup-source; 67 }; 68 69 key-volume-down { 70 label = "Volume Down"; 71 linux,code = <KEY_VOLU 72 gpios = <&pm8550_gpios 73 debounce-interval = <1 74 linux,can-disable; 75 wakeup-source; 76 }; 77 }; 78 79 pmic-glink { 80 compatible = "qcom,sm8550-pmic 81 orientation-gpios = <&tlmm 11 82 #address-cells = <1>; 83 #size-cells = <0>; 84 85 connector@0 { 86 compatible = "usb-c-co 87 reg = <0>; 88 power-role = "dual"; 89 data-role = "dual"; 90 91 ports { 92 #address-cells 93 #size-cells = 94 95 port@0 { 96 reg = 97 98 pmic_g 99 100 }; 101 }; 102 103 port@1 { 104 reg = 105 106 pmic_g 107 108 }; 109 }; 110 }; 111 }; 112 }; 113 114 reserved-memory { 115 mpss_mem: mpss-region@89800000 116 reg = <0x0 0x89800000 117 no-map; 118 }; 119 120 splash@b8000000 { 121 reg = <0x0 0xb8000000 122 no-map; 123 }; 124 125 hwfence_shbuf: hwfence-shbuf-r 126 reg = <0x0 0xe6440000 127 no-map; 128 }; 129 130 rmtfs_mem: memory@f8b00000 { 131 compatible = "qcom,rmt 132 reg = <0x0 0xf8b00000 133 no-map; 134 135 qcom,client-id = <1>; 136 qcom,vmid = <QCOM_SCM_ 137 }; 138 139 ramoops@ffd00000 { 140 compatible = "ramoops" 141 reg = <0x0 0xffd00000 142 console-size = <0x4000 143 record-size = <0x1000> 144 pmsg-size = <0x40000>; 145 ecc-size = <16>; 146 }; 147 148 rdtag-store-region@ffdc0000 { 149 reg = <0x0 0xffdc0000 150 no-map; 151 }; 152 }; 153 154 vph_pwr: vph-pwr-regulator { 155 compatible = "regulator-fixed" 156 regulator-name = "vph_pwr"; 157 regulator-min-microvolt = <370 158 regulator-max-microvolt = <370 159 160 regulator-always-on; 161 regulator-boot-on; 162 }; 163 }; 164 165 &apps_rsc { 166 regulators-0 { 167 compatible = "qcom,pm8550-rpmh 168 qcom,pmic-id = "b"; 169 170 pm8550_bob1: bob1 { 171 regulator-name = "pm85 172 regulator-min-microvol 173 regulator-max-microvol 174 regulator-initial-mode 175 }; 176 177 /* TODO: bob2 @ 2.704-3.008V d 178 179 pm8550_l1: ldo1 { 180 regulator-name = "pm85 181 regulator-min-microvol 182 regulator-max-microvol 183 regulator-initial-mode 184 }; 185 186 pm8550_l2: ldo2 { 187 regulator-name = "pm85 188 regulator-min-microvol 189 regulator-max-microvol 190 regulator-initial-mode 191 }; 192 193 /* L4 exists in cmd-db, but th 194 195 pm8550_l5: ldo5 { 196 regulator-name = "pm85 197 regulator-min-microvol 198 regulator-max-microvol 199 regulator-initial-mode 200 }; 201 202 pm8550_l6: ldo6 { 203 regulator-name = "pm85 204 regulator-min-microvol 205 regulator-max-microvol 206 regulator-initial-mode 207 }; 208 209 pm8550_l7: ldo7 { 210 regulator-name = "pm85 211 regulator-min-microvol 212 regulator-max-microvol 213 regulator-initial-mode 214 }; 215 216 pm8550_l8: ldo8 { 217 regulator-name = "pm85 218 regulator-min-microvol 219 regulator-max-microvol 220 regulator-initial-mode 221 }; 222 223 pm8550_l9: ldo9 { 224 regulator-name = "pm85 225 regulator-min-microvol 226 regulator-max-microvol 227 regulator-initial-mode 228 }; 229 230 pm8550_l10: ldo10 { 231 regulator-name = "pm85 232 regulator-min-microvol 233 regulator-max-microvol 234 regulator-initial-mode 235 }; 236 237 pm8550_l11: ldo11 { 238 regulator-name = "pm85 239 regulator-min-microvol 240 regulator-max-microvol 241 regulator-initial-mode 242 }; 243 244 pm8550_l12: ldo12 { 245 regulator-name = "pm85 246 regulator-min-microvol 247 regulator-max-microvol 248 regulator-initial-mode 249 }; 250 251 pm8550_l13: ldo13 { 252 regulator-name = "pm85 253 regulator-min-microvol 254 regulator-max-microvol 255 regulator-initial-mode 256 }; 257 258 pm8550_l14: ldo14 { 259 regulator-name = "pm85 260 regulator-min-microvol 261 regulator-max-microvol 262 regulator-initial-mode 263 }; 264 265 pm8550_l15: ldo15 { 266 regulator-name = "pm85 267 regulator-min-microvol 268 regulator-max-microvol 269 regulator-initial-mode 270 }; 271 272 pm8550_l16: ldo16 { 273 regulator-name = "pm85 274 regulator-min-microvol 275 regulator-max-microvol 276 regulator-initial-mode 277 }; 278 279 pm8550_l17: ldo17 { 280 regulator-name = "pm85 281 regulator-min-microvol 282 regulator-max-microvol 283 regulator-initial-mode 284 }; 285 }; 286 287 regulators-1 { 288 compatible = "qcom,pm8550vs-rp 289 qcom,pmic-id = "c"; 290 291 pm8550vs_0_l1: ldo1 { 292 regulator-name = "pm85 293 regulator-min-microvol 294 regulator-max-microvol 295 regulator-initial-mode 296 }; 297 298 pm8550vs_0_l3: ldo3 { 299 regulator-name = "pm85 300 regulator-min-microvol 301 regulator-max-microvol 302 regulator-initial-mode 303 }; 304 }; 305 306 regulators-2 { 307 compatible = "qcom,pm8550vs-rp 308 qcom,pmic-id = "d"; 309 310 pm8550vs_1_l1: ldo1 { 311 regulator-name = "pm85 312 regulator-min-microvol 313 regulator-max-microvol 314 regulator-initial-mode 315 }; 316 317 /* L3 exists in cmd-db, but th 318 }; 319 320 regulators-3 { 321 compatible = "qcom,pm8550vs-rp 322 qcom,pmic-id = "e"; 323 324 pm8550vs_2_s4: smps4 { 325 regulator-name = "pm85 326 regulator-min-microvol 327 regulator-max-microvol 328 regulator-initial-mode 329 }; 330 331 pm8550vs_2_s5: smps5 { 332 regulator-name = "pm85 333 regulator-min-microvol 334 regulator-max-microvol 335 regulator-initial-mode 336 }; 337 338 pm8550vs_2_l1: ldo1 { 339 regulator-name = "pm85 340 regulator-min-microvol 341 regulator-max-microvol 342 regulator-initial-mode 343 }; 344 345 pm8550vs_2_l2: ldo2 { 346 regulator-name = "pm85 347 regulator-min-microvol 348 regulator-max-microvol 349 regulator-initial-mode 350 }; 351 352 pm8550vs_2_l3: ldo3 { 353 regulator-name = "pm85 354 regulator-min-microvol 355 regulator-max-microvol 356 regulator-initial-mode 357 }; 358 }; 359 360 regulators-4 { 361 compatible = "qcom,pm8550ve-rp 362 qcom,pmic-id = "f"; 363 364 pm8550ve_s4: smps4 { 365 regulator-name = "pm85 366 regulator-min-microvol 367 regulator-max-microvol 368 regulator-initial-mode 369 }; 370 371 pm8550ve_l1: ldo1 { 372 regulator-name = "pm85 373 regulator-min-microvol 374 regulator-max-microvol 375 regulator-initial-mode 376 }; 377 378 pm8550ve_l2: ldo2 { 379 regulator-name = "pm85 380 regulator-min-microvol 381 regulator-max-microvol 382 regulator-initial-mode 383 }; 384 385 pm8550ve_l3: ldo3 { 386 regulator-name = "pm85 387 regulator-min-microvol 388 regulator-max-microvol 389 regulator-initial-mode 390 }; 391 }; 392 393 regulators-5 { 394 compatible = "qcom,pm8550vs-rp 395 qcom,pmic-id = "g"; 396 397 pm8550vs_3_s1: smps1 { 398 regulator-name = "pm85 399 regulator-min-microvol 400 regulator-max-microvol 401 regulator-initial-mode 402 }; 403 404 pm8550vs_3_s2: smps2 { 405 regulator-name = "pm85 406 regulator-min-microvol 407 regulator-max-microvol 408 regulator-initial-mode 409 }; 410 411 pm8550vs_3_s3: smps3 { 412 regulator-name = "pm85 413 regulator-min-microvol 414 regulator-max-microvol 415 regulator-initial-mode 416 }; 417 418 pm8550vs_3_s4: smps4 { 419 regulator-name = "pm85 420 regulator-min-microvol 421 regulator-max-microvol 422 regulator-initial-mode 423 }; 424 425 pm8550vs_3_s5: smps5 { 426 regulator-name = "pm85 427 regulator-min-microvol 428 regulator-max-microvol 429 regulator-initial-mode 430 }; 431 432 pm8550vs_3_s6: smps6 { 433 regulator-name = "pm85 434 regulator-min-microvol 435 regulator-max-microvol 436 regulator-initial-mode 437 }; 438 439 pm8550vs_3_l1: ldo1 { 440 regulator-name = "pm85 441 regulator-min-microvol 442 regulator-max-microvol 443 regulator-initial-mode 444 }; 445 446 pm8550vs_3_l2: ldo2 { 447 regulator-name = "pm85 448 regulator-min-microvol 449 regulator-max-microvol 450 regulator-initial-mode 451 }; 452 453 pm8550vs_3_l3: ldo3 { 454 regulator-name = "pm85 455 regulator-min-microvol 456 regulator-max-microvol 457 regulator-initial-mode 458 }; 459 }; 460 461 /* TODO: Unknown PMIC @ k, l, PM8010 @ 462 }; 463 464 &gpi_dma1 { 465 status = "okay"; 466 }; 467 468 &gpi_dma2 { 469 status = "okay"; 470 }; 471 472 &i2c_hub_2 { 473 clock-frequency = <400000>; 474 status = "okay"; 475 476 pmic@75 { 477 compatible = "dlg,slg51000"; 478 reg = <0x75>; 479 dlg,cs-gpios = <&pm8550vs_g_gp 480 481 pinctrl-0 = <&cam_pwr_a_cs>; 482 pinctrl-names = "default"; 483 484 regulators { 485 slg51000_a_ldo1: ldo1 486 regulator-name 487 regulator-min- 488 regulator-max- 489 }; 490 491 slg51000_a_ldo2: ldo2 492 regulator-name 493 regulator-min- 494 regulator-max- 495 }; 496 497 slg51000_a_ldo3: ldo3 498 regulator-name 499 regulator-min- 500 regulator-max- 501 }; 502 503 slg51000_a_ldo4: ldo4 504 regulator-name 505 regulator-min- 506 regulator-max- 507 }; 508 509 slg51000_a_ldo5: ldo5 510 regulator-name 511 regulator-min- 512 regulator-max- 513 }; 514 515 slg51000_a_ldo6: ldo6 516 regulator-name 517 regulator-min- 518 regulator-max- 519 }; 520 521 slg51000_a_ldo7: ldo7 522 regulator-name 523 regulator-min- 524 regulator-max- 525 }; 526 }; 527 }; 528 }; 529 530 &i2c_master_hub_0 { 531 status = "okay"; 532 }; 533 534 &i2c0 { 535 clock-frequency = <1000000>; 536 status = "okay"; 537 538 /* NXP NFC @ 28 */ 539 }; 540 541 &i2c4 { 542 clock-frequency = <400000>; 543 status = "okay"; 544 545 /* LX Semi SW82907 touchscreen @ 28 */ 546 }; 547 548 &i2c10 { 549 clock-frequency = <1000000>; 550 status = "okay"; 551 552 /* Cirrus Logic CS40L25A boosted hapti 553 }; 554 555 &i2c11 { 556 clock-frequency = <1000000>; 557 status = "okay"; 558 559 cs35l41_l: speaker-amp@30 { 560 compatible = "cirrus,cs35l45"; 561 reg = <0x30>; 562 interrupts-extended = <&tlmm 1 563 reset-gpios = <&tlmm 183 GPIO_ 564 cirrus,asp-sdout-hiz-ctrl = <( 565 #sound-dai-cells = <1>; 566 567 cirrus,gpio-ctrl2 { 568 gpio-ctrl = <0x2>; 569 }; 570 }; 571 572 cs35l41_r: speaker-amp@31 { 573 compatible = "cirrus,cs35l45"; 574 reg = <0x31>; 575 interrupts-extended = <&tlmm 1 576 reset-gpios = <&tlmm 183 GPIO_ 577 cirrus,asp-sdout-hiz-ctrl = <( 578 #sound-dai-cells = <1>; 579 580 cirrus,gpio-ctrl2 { 581 gpio-ctrl = <0x2>; 582 }; 583 }; 584 }; 585 586 &pcie0 { 587 wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIG 588 perst-gpios = <&tlmm 94 GPIO_ACTIVE_LO 589 590 pinctrl-0 = <&pcie0_default_state>; 591 pinctrl-names = "default"; 592 593 status = "okay"; 594 }; 595 596 &pcie0_phy { 597 vdda-phy-supply = <&pm8550vs_2_l1>; 598 vdda-pll-supply = <&pm8550vs_2_l3>; 599 600 status = "okay"; 601 }; 602 603 &pm8550_flash { 604 status = "okay"; 605 606 led-0 { 607 function = LED_FUNCTION_FLASH; 608 color = <LED_COLOR_ID_WHITE>; 609 led-sources = <1>, <4>; 610 led-max-microamp = <500000>; 611 flash-max-microamp = <1000000> 612 flash-max-timeout-us = <128000 613 function-enumerator = <0>; 614 }; 615 616 led-1 { 617 function = LED_FUNCTION_FLASH; 618 color = <LED_COLOR_ID_YELLOW>; 619 led-sources = <2>, <3>; 620 led-max-microamp = <500000>; 621 flash-max-microamp = <1000000> 622 flash-max-timeout-us = <128000 623 function-enumerator = <1>; 624 }; 625 }; 626 627 &pm8550_gpios { 628 vol_down_n: volume-down-n-state { 629 pins = "gpio6"; 630 function = "normal"; 631 power-source = <1>; 632 bias-pull-up; 633 input-enable; 634 }; 635 636 sdc2_card_det_n: sd-card-det-n-state { 637 pins = "gpio12"; 638 function = "normal"; 639 power-source = <1>; 640 bias-pull-down; 641 output-disable; 642 input-enable; 643 }; 644 }; 645 646 &pm8550b_gpios { 647 snapshot_n: snapshot-n-state { 648 pins = "gpio7"; 649 function = "normal"; 650 power-source = <1>; 651 bias-pull-up; 652 input-enable; 653 }; 654 655 focus_n: focus-n-state { 656 pins = "gpio8"; 657 function = "normal"; 658 power-source = <1>; 659 bias-pull-up; 660 input-enable; 661 }; 662 }; 663 664 &pm8550vs_g_gpios { 665 cam_pwr_a_cs: cam-pwr-a-cs-state { 666 pins = "gpio4"; 667 function = "normal"; 668 power-source = <0x01>; 669 drive-push-pull; 670 output-low; 671 qcom,drive-strength = <PMIC_GP 672 }; 673 }; 674 675 &pm8550b_eusb2_repeater { 676 qcom,tune-usb2-disc-thres = /bits/ 8 < 677 qcom,tune-usb2-amplitude = /bits/ 8 <0 678 qcom,tune-usb2-preem = /bits/ 8 <0x7>; 679 vdd18-supply = <&pm8550_l15>; 680 vdd3-supply = <&pm8550_l5>; 681 }; 682 683 &pon_pwrkey { 684 status = "okay"; 685 }; 686 687 &pon_resin { 688 linux,code = <KEY_VOLUMEUP>; 689 status = "okay"; 690 }; 691 692 &qupv3_id_0 { 693 status = "okay"; 694 }; 695 696 &qupv3_id_1 { 697 status = "okay"; 698 }; 699 700 &remoteproc_adsp { 701 firmware-name = "qcom/sm8550/Sony/yodo 702 "qcom/sm8550/Sony/yodo 703 status = "okay"; 704 }; 705 706 &remoteproc_cdsp { 707 firmware-name = "qcom/sm8550/Sony/yodo 708 "qcom/sm8550/Sony/yodo 709 status = "okay"; 710 }; 711 712 &sdhc_2 { 713 cd-gpios = <&pm8550_gpios 12 GPIO_ACTI 714 pinctrl-0 = <&sdc2_default &sdc2_card_ 715 pinctrl-1 = <&sdc2_sleep &sdc2_card_de 716 pinctrl-names = "default", "sleep"; 717 vmmc-supply = <&pm8550_l9>; 718 vqmmc-supply = <&pm8550_l8>; 719 no-sdio; 720 no-mmc; 721 status = "okay"; 722 }; 723 724 &sleep_clk { 725 clock-frequency = <32000>; 726 }; 727 728 &tlmm { 729 gpio-reserved-ranges = <32 8>; 730 }; 731 732 &uart7 { 733 status = "okay"; 734 }; 735 736 &usb_1 { 737 status = "okay"; 738 }; 739 740 &usb_1_dwc3_hs { 741 remote-endpoint = <&pmic_glink_hs_in>; 742 }; 743 744 &usb_1_hsphy { 745 vdd-supply = <&pm8550vs_2_l1>; 746 vdda12-supply = <&pm8550vs_2_l3>; 747 phys = <&pm8550b_eusb2_repeater>; 748 749 status = "okay"; 750 }; 751 752 &usb_dp_qmpphy { 753 vdda-phy-supply = <&pm8550vs_2_l3>; 754 vdda-pll-supply = <&pm8550ve_l3>; 755 756 status = "okay"; 757 }; 758 759 &usb_dp_qmpphy_out { 760 remote-endpoint = <&pmic_glink_ss_in>; 761 }; 762 763 &xo_board { 764 clock-frequency = <76800000>; 765 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.