1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2021, The Linux Foundation. All rights reserved. 4 * Copyright (c) 2022, Linaro Limited 5 */ 6 7/dts-v1/; 8 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 11#include <dt-bindings/spmi/spmi.h> 12 13#include "sa8540p.dtsi" 14#include "sa8540p-pmics.dtsi" 15 16/ { 17 model = "Qualcomm SA8295P ADP"; 18 compatible = "qcom,sa8295p-adp", "qcom,sa8540p"; 19 20 aliases { 21 serial0 = &uart17; 22 }; 23 24 chosen { 25 stdout-path = "serial0:115200n8"; 26 }; 27 28 dp2-connector { 29 compatible = "dp-connector"; 30 label = "DP2"; 31 type = "mini"; 32 33 hpd-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>; 34 35 port { 36 dp2_connector_in: endpoint { 37 remote-endpoint = <&mdss1_dp0_phy_out>; 38 }; 39 }; 40 }; 41 42 dp3-connector { 43 compatible = "dp-connector"; 44 label = "DP3"; 45 type = "mini"; 46 47 hpd-gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; 48 49 port { 50 dp3_connector_in: endpoint { 51 remote-endpoint = <&mdss1_dp1_phy_out>; 52 }; 53 }; 54 }; 55 56 edp0-connector { 57 compatible = "dp-connector"; 58 label = "EDP0"; 59 type = "mini"; 60 61 hpd-gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; 62 63 port { 64 edp0_connector_in: endpoint { 65 remote-endpoint = <&mdss0_dp2_phy_out>; 66 }; 67 }; 68 }; 69 70 edp1-connector { 71 compatible = "dp-connector"; 72 label = "EDP1"; 73 type = "mini"; 74 75 hpd-gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; 76 77 port { 78 edp1_connector_in: endpoint { 79 remote-endpoint = <&mdss0_dp3_phy_out>; 80 }; 81 }; 82 }; 83 84 edp2-connector { 85 compatible = "dp-connector"; 86 label = "EDP2"; 87 type = "mini"; 88 89 hpd-gpios = <&tlmm 7 GPIO_ACTIVE_HIGH>; 90 91 port { 92 edp2_connector_in: endpoint { 93 remote-endpoint = <&mdss1_dp2_phy_out>; 94 }; 95 }; 96 }; 97 98 edp3-connector { 99 compatible = "dp-connector"; 100 label = "EDP3"; 101 type = "mini"; 102 103 hpd-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>; 104 105 port { 106 edp3_connector_in: endpoint { 107 remote-endpoint = <&mdss1_dp3_phy_out>; 108 }; 109 }; 110 }; 111}; 112 113&apps_rsc { 114 regulators-0 { 115 compatible = "qcom,pm8150-rpmh-regulators"; 116 qcom,pmic-id = "a"; 117 118 vreg_l3a: ldo3 { 119 regulator-name = "vreg_l3a"; 120 regulator-min-microvolt = <1200000>; 121 regulator-max-microvolt = <1208000>; 122 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 123 }; 124 125 vreg_l5a: ldo5 { 126 regulator-name = "vreg_l5a"; 127 regulator-min-microvolt = <912000>; 128 regulator-max-microvolt = <912000>; 129 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 130 }; 131 132 vreg_l7a: ldo7 { 133 regulator-name = "vreg_l7a"; 134 regulator-min-microvolt = <1800000>; 135 regulator-max-microvolt = <1800000>; 136 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 137 }; 138 139 vreg_l13a: ldo13 { 140 regulator-name = "vreg_l13a"; 141 regulator-min-microvolt = <3072000>; 142 regulator-max-microvolt = <3072000>; 143 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 144 }; 145 146 vreg_l11a: ldo11 { 147 regulator-name = "vreg_l11a"; 148 regulator-min-microvolt = <880000>; 149 regulator-max-microvolt = <880000>; 150 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 151 }; 152 }; 153 154 regulators-1 { 155 compatible = "qcom,pm8150-rpmh-regulators"; 156 qcom,pmic-id = "c"; 157 158 vreg_l1c: ldo1 { 159 regulator-name = "vreg_l1c"; 160 regulator-min-microvolt = <912000>; 161 regulator-max-microvolt = <912000>; 162 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 163 }; 164 165 vreg_l2c: ldo2 { 166 regulator-name = "vreg_l2c"; 167 regulator-min-microvolt = <3072000>; 168 regulator-max-microvolt = <3072000>; 169 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 170 }; 171 172 vreg_l3c: ldo3 { 173 regulator-name = "vreg_l3c"; 174 regulator-min-microvolt = <1200000>; 175 regulator-max-microvolt = <1200000>; 176 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 177 regulator-allow-set-load; 178 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 179 RPMH_REGULATOR_MODE_HPM>; 180 }; 181 182 vreg_l4c: ldo4 { 183 regulator-name = "vreg_l4c"; 184 regulator-min-microvolt = <1200000>; 185 regulator-max-microvolt = <1208000>; 186 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 187 }; 188 189 vreg_l6c: ldo6 { 190 regulator-name = "vreg_l6c"; 191 regulator-min-microvolt = <1200000>; 192 regulator-max-microvolt = <1200000>; 193 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 194 regulator-allow-set-load; 195 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 196 RPMH_REGULATOR_MODE_HPM>; 197 }; 198 199 vreg_l7c: ldo7 { 200 regulator-name = "vreg_l7c"; 201 regulator-min-microvolt = <1800000>; 202 regulator-max-microvolt = <1800000>; 203 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 204 }; 205 206 vreg_l10c: ldo10 { 207 regulator-name = "vreg_l10c"; 208 regulator-min-microvolt = <2504000>; 209 regulator-max-microvolt = <2504000>; 210 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 211 regulator-allow-set-load; 212 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 213 RPMH_REGULATOR_MODE_HPM>; 214 }; 215 216 vreg_l17c: ldo17 { 217 regulator-name = "vreg_l17c"; 218 regulator-min-microvolt = <2504000>; 219 regulator-max-microvolt = <2504000>; 220 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 221 regulator-allow-set-load; 222 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 223 RPMH_REGULATOR_MODE_HPM>; 224 }; 225 }; 226 227 regulators-2 { 228 compatible = "qcom,pm8150-rpmh-regulators"; 229 qcom,pmic-id = "g"; 230 231 vreg_l3g: ldo3 { 232 regulator-name = "vreg_l3g"; 233 regulator-min-microvolt = <1200000>; 234 regulator-max-microvolt = <1200000>; 235 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 236 }; 237 238 vreg_l7g: ldo7 { 239 regulator-name = "vreg_l7g"; 240 regulator-min-microvolt = <1800000>; 241 regulator-max-microvolt = <1800000>; 242 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 243 }; 244 245 vreg_l8g: ldo8 { 246 regulator-name = "vreg_l8g"; 247 regulator-min-microvolt = <912000>; 248 regulator-max-microvolt = <912000>; 249 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 250 }; 251 252 vreg_l11g: ldo11 { 253 regulator-name = "vreg_l11g"; 254 regulator-min-microvolt = <912000>; 255 regulator-max-microvolt = <912000>; 256 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 257 }; 258 }; 259}; 260 261&dispcc0 { 262 status = "okay"; 263}; 264 265&dispcc1 { 266 status = "okay"; 267}; 268 269&mdss0 { 270 status = "okay"; 271}; 272 273&mdss0_dp2 { 274 data-lanes = <0 1 2 3>; 275 276 status = "okay"; 277 278 ports { 279 port@1 { 280 reg = <1>; 281 mdss0_dp2_phy_out: endpoint { 282 remote-endpoint = <&edp0_connector_in>; 283 }; 284 }; 285 }; 286}; 287 288&mdss0_dp2_phy { 289 vdda-phy-supply = <&vreg_l8g>; 290 vdda-pll-supply = <&vreg_l3g>; 291 292 status = "okay"; 293}; 294 295&mdss0_dp3 { 296 data-lanes = <0 1 2 3>; 297 298 status = "okay"; 299 300 ports { 301 port@1 { 302 reg = <1>; 303 mdss0_dp3_phy_out: endpoint { 304 remote-endpoint = <&edp1_connector_in>; 305 }; 306 }; 307 }; 308}; 309 310&mdss0_dp3_phy { 311 vdda-phy-supply = <&vreg_l8g>; 312 vdda-pll-supply = <&vreg_l3g>; 313 314 status = "okay"; 315}; 316 317&mdss1 { 318 status = "okay"; 319}; 320 321&mdss1_dp0 { 322 data-lanes = <0 1 2 3>; 323 324 status = "okay"; 325 326 ports { 327 port@1 { 328 reg = <1>; 329 mdss1_dp0_phy_out: endpoint { 330 remote-endpoint = <&dp2_connector_in>; 331 }; 332 }; 333 }; 334}; 335 336&mdss1_dp0_phy { 337 vdda-phy-supply = <&vreg_l11g>; 338 vdda-pll-supply = <&vreg_l3g>; 339 340 status = "okay"; 341}; 342 343&mdss1_dp1 { 344 data-lanes = <0 1 2 3>; 345 346 status = "okay"; 347 348 ports { 349 port@1 { 350 reg = <1>; 351 mdss1_dp1_phy_out: endpoint { 352 remote-endpoint = <&dp3_connector_in>; 353 }; 354 }; 355 }; 356}; 357 358&mdss1_dp1_phy { 359 vdda-phy-supply = <&vreg_l11g>; 360 vdda-pll-supply = <&vreg_l3g>; 361 362 status = "okay"; 363}; 364 365&mdss1_dp2 { 366 data-lanes = <0 1 2 3>; 367 368 status = "okay"; 369 370 ports { 371 port@1 { 372 reg = <1>; 373 mdss1_dp2_phy_out: endpoint { 374 remote-endpoint = <&edp2_connector_in>; 375 }; 376 }; 377 }; 378}; 379 380&mdss1_dp2_phy { 381 vdda-phy-supply = <&vreg_l11g>; 382 vdda-pll-supply = <&vreg_l3g>; 383 384 status = "okay"; 385}; 386 387&mdss1_dp3 { 388 data-lanes = <0 1 2 3>; 389 390 status = "okay"; 391 392 ports { 393 port@1 { 394 reg = <1>; 395 mdss1_dp3_phy_out: endpoint { 396 remote-endpoint = <&edp3_connector_in>; 397 }; 398 }; 399 }; 400}; 401 402&mdss1_dp3_phy { 403 vdda-phy-supply = <&vreg_l11g>; 404 vdda-pll-supply = <&vreg_l3g>; 405 406 status = "okay"; 407}; 408 409&pcie2a { 410 perst-gpios = <&tlmm 143 GPIO_ACTIVE_LOW>; 411 wake-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>; 412 413 pinctrl-names = "default"; 414 pinctrl-0 = <&pcie2a_default>; 415 416 status = "okay"; 417}; 418 419&pcie2a_phy { 420 vdda-phy-supply = <&vreg_l11a>; 421 vdda-pll-supply = <&vreg_l3a>; 422 423 status = "okay"; 424}; 425 426&pcie3a { 427 num-lanes = <2>; 428 429 perst-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>; 430 wake-gpios = <&tlmm 56 GPIO_ACTIVE_LOW>; 431 432 pinctrl-names = "default"; 433 pinctrl-0 = <&pcie3a_default>; 434 435 status = "okay"; 436}; 437 438&pcie3a_phy { 439 vdda-phy-supply = <&vreg_l11a>; 440 vdda-pll-supply = <&vreg_l3a>; 441 442 status = "okay"; 443}; 444 445&pcie3b { 446 perst-gpios = <&tlmm 153 GPIO_ACTIVE_LOW>; 447 wake-gpios = <&tlmm 130 GPIO_ACTIVE_LOW>; 448 449 pinctrl-names = "default"; 450 pinctrl-0 = <&pcie3b_default>; 451 452 status = "okay"; 453}; 454 455&pcie3b_phy { 456 vdda-phy-supply = <&vreg_l11a>; 457 vdda-pll-supply = <&vreg_l3a>; 458 459 status = "okay"; 460}; 461 462&pcie4 { 463 perst-gpios = <&tlmm 141 GPIO_ACTIVE_LOW>; 464 wake-gpios = <&tlmm 139 GPIO_ACTIVE_LOW>; 465 466 pinctrl-names = "default"; 467 pinctrl-0 = <&pcie4_default>; 468 469 status = "okay"; 470}; 471 472&pcie4_phy { 473 vdda-phy-supply = <&vreg_l11a>; 474 vdda-pll-supply = <&vreg_l3a>; 475 476 status = "okay"; 477}; 478 479&qup2 { 480 status = "okay"; 481}; 482 483&remoteproc_adsp { 484 firmware-name = "qcom/sa8540p/adsp.mbn"; 485 status = "okay"; 486}; 487 488&remoteproc_nsp0 { 489 firmware-name = "qcom/sa8540p/cdsp.mbn"; 490 status = "okay"; 491}; 492 493&remoteproc_nsp1 { 494 firmware-name = "qcom/sa8540p/cdsp1.mbn"; 495 status = "okay"; 496}; 497 498&uart17 { 499 compatible = "qcom,geni-debug-uart"; 500 status = "okay"; 501}; 502 503&ufs_mem_hc { 504 reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>; 505 506 vcc-supply = <&vreg_l17c>; 507 vcc-max-microamp = <800000>; 508 vccq-supply = <&vreg_l6c>; 509 vccq-max-microamp = <900000>; 510 511 status = "okay"; 512}; 513 514&ufs_mem_phy { 515 vdda-phy-supply = <&vreg_l8g>; 516 vdda-pll-supply = <&vreg_l3g>; 517 518 status = "okay"; 519}; 520 521&ufs_card_hc { 522 reset-gpios = <&tlmm 229 GPIO_ACTIVE_LOW>; 523 524 vcc-supply = <&vreg_l10c>; 525 vcc-max-microamp = <800000>; 526 vccq-supply = <&vreg_l3c>; 527 vccq-max-microamp = <900000>; 528 529 status = "okay"; 530}; 531 532&ufs_card_phy { 533 vdda-phy-supply = <&vreg_l8g>; 534 vdda-pll-supply = <&vreg_l3g>; 535 536 status = "okay"; 537}; 538 539&usb_0 { 540 status = "okay"; 541}; 542 543&usb_0_dwc3 { 544 /* TODO: Define USB-C connector properly */ 545 dr_mode = "peripheral"; 546}; 547 548&usb_0_hsphy { 549 vdda-pll-supply = <&vreg_l5a>; 550 vdda18-supply = <&vreg_l7a>; 551 vdda33-supply = <&vreg_l13a>; 552 553 status = "okay"; 554}; 555 556&usb_0_qmpphy { 557 vdda-phy-supply = <&vreg_l3a>; 558 vdda-pll-supply = <&vreg_l5a>; 559 560 status = "okay"; 561}; 562 563&usb_1 { 564 status = "okay"; 565}; 566 567&usb_1_dwc3 { 568 /* TODO: Define USB-C connector properly */ 569 dr_mode = "host"; 570}; 571 572&usb_1_hsphy { 573 vdda-pll-supply = <&vreg_l1c>; 574 vdda18-supply = <&vreg_l7c>; 575 vdda33-supply = <&vreg_l2c>; 576 577 status = "okay"; 578}; 579 580&usb_1_qmpphy { 581 vdda-phy-supply = <&vreg_l4c>; 582 vdda-pll-supply = <&vreg_l1c>; 583 584 status = "okay"; 585}; 586 587&usb_2_hsphy0 { 588 vdda-pll-supply = <&vreg_l5a>; 589 vdda18-supply = <&vreg_l7g>; 590 vdda33-supply = <&vreg_l13a>; 591 592 status = "okay"; 593}; 594 595&usb_2_hsphy1 { 596 vdda-pll-supply = <&vreg_l5a>; 597 vdda18-supply = <&vreg_l7g>; 598 vdda33-supply = <&vreg_l13a>; 599 600 status = "okay"; 601}; 602 603&usb_2_hsphy2 { 604 vdda-pll-supply = <&vreg_l5a>; 605 vdda18-supply = <&vreg_l7g>; 606 vdda33-supply = <&vreg_l13a>; 607 608 status = "okay"; 609}; 610 611&usb_2_hsphy3 { 612 vdda-pll-supply = <&vreg_l5a>; 613 vdda18-supply = <&vreg_l7g>; 614 vdda33-supply = <&vreg_l13a>; 615 616 status = "okay"; 617}; 618 619&usb_2_qmpphy0 { 620 vdda-phy-supply = <&vreg_l3a>; 621 vdda-pll-supply = <&vreg_l5a>; 622 623 status = "okay"; 624}; 625 626&usb_2_qmpphy1 { 627 vdda-phy-supply = <&vreg_l3a>; 628 vdda-pll-supply = <&vreg_l5a>; 629 630 status = "okay"; 631}; 632 633&xo_board_clk { 634 clock-frequency = <38400000>; 635}; 636 637/* PINCTRL */ 638 639&tlmm { 640 pcie2a_default: pcie2a-default-state { 641 clkreq-n-pins { 642 pins = "gpio142"; 643 function = "pcie2a_clkreq"; 644 drive-strength = <2>; 645 bias-pull-up; 646 }; 647 648 perst-n-pins { 649 pins = "gpio143"; 650 function = "gpio"; 651 drive-strength = <2>; 652 bias-pull-down; 653 }; 654 655 wake-n-pins { 656 pins = "gpio145"; 657 function = "gpio"; 658 drive-strength = <2>; 659 bias-pull-up; 660 }; 661 }; 662 663 pcie3a_default: pcie3a-default-state { 664 clkreq-n-pins { 665 pins = "gpio150"; 666 function = "pcie3a_clkreq"; 667 drive-strength = <2>; 668 bias-pull-up; 669 }; 670 671 perst-n-pins { 672 pins = "gpio151"; 673 function = "gpio"; 674 drive-strength = <2>; 675 bias-pull-down; 676 }; 677 678 wake-n-pins { 679 pins = "gpio56"; 680 function = "gpio"; 681 drive-strength = <2>; 682 bias-pull-up; 683 }; 684 }; 685 686 pcie3b_default: pcie3b-default-state { 687 clkreq-n-pins { 688 pins = "gpio152"; 689 function = "pcie3b_clkreq"; 690 drive-strength = <2>; 691 bias-pull-up; 692 }; 693 694 perst-n-pins { 695 pins = "gpio153"; 696 function = "gpio"; 697 drive-strength = <2>; 698 bias-pull-down; 699 }; 700 701 wake-n-pins { 702 pins = "gpio130"; 703 function = "gpio"; 704 drive-strength = <2>; 705 bias-pull-up; 706 }; 707 }; 708 709 pcie4_default: pcie4-default-state { 710 clkreq-n-pins { 711 pins = "gpio140"; 712 function = "pcie4_clkreq"; 713 drive-strength = <2>; 714 bias-pull-up; 715 }; 716 717 perst-n-pins { 718 pins = "gpio141"; 719 function = "gpio"; 720 drive-strength = <2>; 721 bias-pull-down; 722 }; 723 724 wake-n-pins { 725 pins = "gpio139"; 726 function = "gpio"; 727 drive-strength = <2>; 728 bias-pull-up; 729 }; 730 }; 731}; 732