1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2022, Linaro Limited 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 9#include "sm8550.dtsi" 10#include "pm8010.dtsi" 11#include "pm8550.dtsi" 12#include "pm8550b.dtsi" 13#include "pm8550ve.dtsi" 14#include "pm8550vs.dtsi" 15#include "pmk8550.dtsi" 16#include "pmr735d.dtsi" 17 18/ { 19 model = "Qualcomm Technologies, Inc. SM8550 MTP"; 20 compatible = "qcom,sm8550-mtp", "qcom,sm8550"; 21 22 aliases { 23 serial0 = &uart7; 24 }; 25 26 wcd938x: audio-codec { 27 compatible = "qcom,wcd9385-codec"; 28 29 pinctrl-names = "default"; 30 pinctrl-0 = <&wcd_default>; 31 32 qcom,micbias1-microvolt = <1800000>; 33 qcom,micbias2-microvolt = <1800000>; 34 qcom,micbias3-microvolt = <1800000>; 35 qcom,micbias4-microvolt = <1800000>; 36 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 37 qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 38 qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 39 qcom,rx-device = <&wcd_rx>; 40 qcom,tx-device = <&wcd_tx>; 41 42 reset-gpios = <&tlmm 108 GPIO_ACTIVE_LOW>; 43 44 vdd-buck-supply = <&vreg_l15b_1p8>; 45 vdd-rxtx-supply = <&vreg_l15b_1p8>; 46 vdd-io-supply = <&vreg_l15b_1p8>; 47 vdd-mic-bias-supply = <&vreg_bob1>; 48 49 #sound-dai-cells = <1>; 50 }; 51 52 chosen { 53 stdout-path = "serial0:115200n8"; 54 }; 55 56 pmic-glink { 57 compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink"; 58 #address-cells = <1>; 59 #size-cells = <0>; 60 61 connector@0 { 62 compatible = "usb-c-connector"; 63 reg = <0>; 64 power-role = "dual"; 65 data-role = "dual"; 66 67 ports { 68 #address-cells = <1>; 69 #size-cells = <0>; 70 71 port@0 { 72 reg = <0>; 73 74 pmic_glink_hs_in: endpoint { 75 remote-endpoint = <&usb_1_dwc3_hs>; 76 }; 77 }; 78 79 port@1 { 80 reg = <1>; 81 82 pmic_glink_ss_in: endpoint { 83 remote-endpoint = <&usb_1_dwc3_ss>; 84 }; 85 }; 86 }; 87 }; 88 }; 89 90 vph_pwr: vph-pwr-regulator { 91 compatible = "regulator-fixed"; 92 regulator-name = "vph_pwr"; 93 regulator-min-microvolt = <3700000>; 94 regulator-max-microvolt = <3700000>; 95 96 regulator-always-on; 97 regulator-boot-on; 98 }; 99}; 100 101&apps_rsc { 102 regulators-0 { 103 compatible = "qcom,pm8550-rpmh-regulators"; 104 qcom,pmic-id = "b"; 105 106 vdd-bob1-supply = <&vph_pwr>; 107 vdd-bob2-supply = <&vph_pwr>; 108 vdd-l2-l13-l14-supply = <&vreg_bob1>; 109 vdd-l3-supply = <&vreg_s4g_1p3>; 110 vdd-l5-l16-supply = <&vreg_bob1>; 111 vdd-l6-l7-supply = <&vreg_bob1>; 112 vdd-l8-l9-supply = <&vreg_bob1>; 113 vdd-l11-supply = <&vreg_s4g_1p3>; 114 vdd-l12-supply = <&vreg_s6g_1p8>; 115 vdd-l15-supply = <&vreg_s6g_1p8>; 116 vdd-l17-supply = <&vreg_bob2>; 117 118 vreg_bob1: bob1 { 119 regulator-name = "vreg_bob1"; 120 regulator-min-microvolt = <3296000>; 121 regulator-max-microvolt = <3960000>; 122 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 123 }; 124 125 vreg_bob2: bob2 { 126 regulator-name = "vreg_bob2"; 127 regulator-min-microvolt = <2720000>; 128 regulator-max-microvolt = <3960000>; 129 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 130 }; 131 132 vreg_l1b_1p8: ldo1 { 133 regulator-name = "vreg_l1b_1p8"; 134 regulator-min-microvolt = <1800000>; 135 regulator-max-microvolt = <1800000>; 136 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 137 }; 138 139 vreg_l2b_3p0: ldo2 { 140 regulator-name = "vreg_l2b_3p0"; 141 regulator-min-microvolt = <3008000>; 142 regulator-max-microvolt = <3008000>; 143 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 144 }; 145 146 vreg_l5b_3p1: ldo5 { 147 regulator-name = "vreg_l5b_3p1"; 148 regulator-min-microvolt = <3104000>; 149 regulator-max-microvolt = <3104000>; 150 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 151 }; 152 153 vreg_l6b_1p8: ldo6 { 154 regulator-name = "vreg_l6b_1p8"; 155 regulator-min-microvolt = <1800000>; 156 regulator-max-microvolt = <3008000>; 157 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 158 }; 159 160 vreg_l7b_1p8: ldo7 { 161 regulator-name = "vreg_l7b_1p8"; 162 regulator-min-microvolt = <1800000>; 163 regulator-max-microvolt = <3008000>; 164 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 165 }; 166 167 vreg_l8b_1p8: ldo8 { 168 regulator-name = "vreg_l8b_1p8"; 169 regulator-min-microvolt = <1800000>; 170 regulator-max-microvolt = <3008000>; 171 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 172 }; 173 174 vreg_l9b_2p9: ldo9 { 175 regulator-name = "vreg_l9b_2p9"; 176 regulator-min-microvolt = <2960000>; 177 regulator-max-microvolt = <3008000>; 178 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 179 }; 180 181 vreg_l11b_1p2: ldo11 { 182 regulator-name = "vreg_l11b_1p2"; 183 regulator-min-microvolt = <1200000>; 184 regulator-max-microvolt = <1504000>; 185 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 186 }; 187 188 vreg_l12b_1p8: ldo12 { 189 regulator-name = "vreg_l12b_1p8"; 190 regulator-min-microvolt = <1800000>; 191 regulator-max-microvolt = <1800000>; 192 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 193 }; 194 195 vreg_l13b_3p0: ldo13 { 196 regulator-name = "vreg_l13b_3p0"; 197 regulator-min-microvolt = <3000000>; 198 regulator-max-microvolt = <3000000>; 199 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 200 }; 201 202 vreg_l14b_3p2: ldo14 { 203 regulator-name = "vreg_l14b_3p2"; 204 regulator-min-microvolt = <3200000>; 205 regulator-max-microvolt = <3200000>; 206 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 207 }; 208 209 vreg_l15b_1p8: ldo15 { 210 regulator-name = "vreg_l15b_1p8"; 211 regulator-min-microvolt = <1800000>; 212 regulator-max-microvolt = <1800000>; 213 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 214 }; 215 216 vreg_l16b_2p8: ldo16 { 217 regulator-name = "vreg_l16b_2p8"; 218 regulator-min-microvolt = <2800000>; 219 regulator-max-microvolt = <2800000>; 220 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 221 }; 222 223 vreg_l17b_2p5: ldo17 { 224 regulator-name = "vreg_l17b_2p5"; 225 regulator-min-microvolt = <2504000>; 226 regulator-max-microvolt = <2504000>; 227 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 228 }; 229 }; 230 231 regulators-1 { 232 compatible = "qcom,pm8550vs-rpmh-regulators"; 233 qcom,pmic-id = "c"; 234 235 vdd-l3-supply = <&vreg_s4e_0p9>; 236 237 vreg_l3c_0p91: ldo3 { 238 regulator-name = "vreg_l3c_0p9"; 239 regulator-min-microvolt = <880000>; 240 regulator-max-microvolt = <912000>; 241 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 242 }; 243 }; 244 245 regulators-2 { 246 compatible = "qcom,pm8550vs-rpmh-regulators"; 247 qcom,pmic-id = "d"; 248 249 vdd-l1-supply = <&vreg_s4e_0p9>; 250 251 vreg_l1d_0p88: ldo1 { 252 regulator-name = "vreg_l1d_0p88"; 253 regulator-min-microvolt = <880000>; 254 regulator-max-microvolt = <920000>; 255 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 256 }; 257 }; 258 259 regulators-3 { 260 compatible = "qcom,pm8550vs-rpmh-regulators"; 261 qcom,pmic-id = "e"; 262 263 vdd-l1-supply = <&vreg_s4e_0p9>; 264 vdd-l2-supply = <&vreg_s4e_0p9>; 265 vdd-l3-supply = <&vreg_s4g_1p3>; 266 vdd-s4-supply = <&vph_pwr>; 267 vdd-s5-supply = <&vph_pwr>; 268 269 vreg_s4e_0p9: smps4 { 270 regulator-name = "vreg_s4e_0p9"; 271 regulator-min-microvolt = <904000>; 272 regulator-max-microvolt = <984000>; 273 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 274 }; 275 276 vreg_s5e_1p1: smps5 { 277 regulator-name = "vreg_s5e_1p1"; 278 regulator-min-microvolt = <1080000>; 279 regulator-max-microvolt = <1120000>; 280 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 281 }; 282 283 vreg_l1e_0p88: ldo1 { 284 regulator-name = "vreg_l1e_0p88"; 285 regulator-min-microvolt = <880000>; 286 regulator-max-microvolt = <880000>; 287 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 288 }; 289 290 vreg_l2e_0p9: ldo2 { 291 regulator-name = "vreg_l2e_0p9"; 292 regulator-min-microvolt = <904000>; 293 regulator-max-microvolt = <970000>; 294 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 295 }; 296 297 vreg_l3e_1p2: ldo3 { 298 regulator-name = "vreg_l3e_1p2"; 299 regulator-min-microvolt = <1200000>; 300 regulator-max-microvolt = <1200000>; 301 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 302 }; 303 }; 304 305 regulators-4 { 306 compatible = "qcom,pm8550ve-rpmh-regulators"; 307 qcom,pmic-id = "f"; 308 309 vdd-l1-supply = <&vreg_s4e_0p9>; 310 vdd-l2-supply = <&vreg_s4e_0p9>; 311 vdd-l3-supply = <&vreg_s4e_0p9>; 312 vdd-s4-supply = <&vph_pwr>; 313 314 vreg_s4f_0p5: smps4 { 315 regulator-name = "vreg_s4f_0p5"; 316 regulator-min-microvolt = <500000>; 317 regulator-max-microvolt = <700000>; 318 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 319 }; 320 321 vreg_l1f_0p9: ldo1 { 322 regulator-name = "vreg_l1f_0p9"; 323 regulator-min-microvolt = <912000>; 324 regulator-max-microvolt = <912000>; 325 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 326 }; 327 328 vreg_l2f_0p88: ldo2 { 329 regulator-name = "vreg_l2f_0p88"; 330 regulator-min-microvolt = <880000>; 331 regulator-max-microvolt = <912000>; 332 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 333 }; 334 335 vreg_l3f_0p91: ldo3 { 336 regulator-name = "vreg_l3f_0p91"; 337 regulator-min-microvolt = <880000>; 338 regulator-max-microvolt = <912000>; 339 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 340 }; 341 }; 342 343 regulators-5 { 344 compatible = "qcom,pm8550vs-rpmh-regulators"; 345 qcom,pmic-id = "g"; 346 347 vdd-l1-supply = <&vreg_s4g_1p3>; 348 vdd-l2-supply = <&vreg_s4g_1p3>; 349 vdd-l3-supply = <&vreg_s4g_1p3>; 350 vdd-s1-supply = <&vph_pwr>; 351 vdd-s2-supply = <&vph_pwr>; 352 vdd-s3-supply = <&vph_pwr>; 353 vdd-s4-supply = <&vph_pwr>; 354 vdd-s5-supply = <&vph_pwr>; 355 vdd-s6-supply = <&vph_pwr>; 356 357 vreg_s1g_1p2: smps1 { 358 regulator-name = "vreg_s1g_1p2"; 359 regulator-min-microvolt = <1200000>; 360 regulator-max-microvolt = <1300000>; 361 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 362 }; 363 364 vreg_s2g_0p8: smps2 { 365 regulator-name = "vreg_s2g_0p8"; 366 regulator-min-microvolt = <800000>; 367 regulator-max-microvolt = <1000000>; 368 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 369 }; 370 371 vreg_s3g_0p7: smps3 { 372 regulator-name = "vreg_s3g_0p7"; 373 regulator-min-microvolt = <300000>; 374 regulator-max-microvolt = <1004000>; 375 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 376 }; 377 378 vreg_s4g_1p3: smps4 { 379 regulator-name = "vreg_s4g_1p3"; 380 regulator-min-microvolt = <1200000>; 381 regulator-max-microvolt = <1352000>; 382 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 383 }; 384 385 vreg_s5g_0p8: smps5 { 386 regulator-name = "vreg_s5g_0p8"; 387 regulator-min-microvolt = <500000>; 388 regulator-max-microvolt = <1004000>; 389 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 390 }; 391 392 vreg_s6g_1p8: smps6 { 393 regulator-name = "vreg_s6g_1p8"; 394 regulator-min-microvolt = <1800000>; 395 regulator-max-microvolt = <2000000>; 396 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 397 }; 398 399 vreg_l1g_1p2: ldo1 { 400 regulator-name = "vreg_l1g_1p2"; 401 regulator-min-microvolt = <1200000>; 402 regulator-max-microvolt = <1200000>; 403 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 404 }; 405 406 vreg_l2g_1p2: ldo2 { 407 regulator-name = "vreg_l2g_1p2"; 408 regulator-min-microvolt = <1200000>; 409 regulator-max-microvolt = <1200000>; 410 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 411 }; 412 413 vreg_l3g_1p2: ldo3 { 414 regulator-name = "vreg_l3g_1p2"; 415 regulator-min-microvolt = <1200000>; 416 regulator-max-microvolt = <1200000>; 417 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 418 }; 419 }; 420}; 421 422&mdss { 423 status = "okay"; 424}; 425 426&mdss_dsi0 { 427 vdda-supply = <&vreg_l3e_1p2>; 428 status = "okay"; 429 430 panel@0 { 431 compatible = "visionox,vtdr6130"; 432 reg = <0>; 433 434 pinctrl-names = "default", "sleep"; 435 pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>; 436 pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>; 437 438 vddio-supply = <&vreg_l12b_1p8>; 439 vci-supply = <&vreg_l13b_3p0>; 440 vdd-supply = <&vreg_l11b_1p2>; 441 442 reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; 443 444 port { 445 panel0_in: endpoint { 446 remote-endpoint = <&mdss_dsi0_out>; 447 }; 448 }; 449 }; 450}; 451 452&mdss_dsi0_out { 453 remote-endpoint = <&panel0_in>; 454 data-lanes = <0 1 2 3>; 455}; 456 457&mdss_dsi0_phy { 458 vdds-supply = <&vreg_l1e_0p88>; 459 status = "okay"; 460}; 461 462&pcie_1_phy_aux_clk { 463 clock-frequency = <1000>; 464}; 465 466&pcie0 { 467 wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>; 468 perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>; 469 470 pinctrl-names = "default"; 471 pinctrl-0 = <&pcie0_default_state>; 472 473 status = "okay"; 474}; 475 476&pcie0_phy { 477 vdda-phy-supply = <&vreg_l1e_0p88>; 478 vdda-pll-supply = <&vreg_l3e_1p2>; 479 480 status = "okay"; 481}; 482 483&pcie1 { 484 wake-gpios = <&tlmm 99 GPIO_ACTIVE_HIGH>; 485 perst-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>; 486 487 pinctrl-names = "default"; 488 pinctrl-0 = <&pcie1_default_state>; 489 490 status = "okay"; 491}; 492 493&pcie1_phy { 494 vdda-phy-supply = <&vreg_l3c_0p91>; 495 vdda-pll-supply = <&vreg_l3e_1p2>; 496 vdda-qref-supply = <&vreg_l1e_0p88>; 497 498 status = "okay"; 499}; 500 501&pm8550_gpios { 502 sdc2_card_det_n: sdc2-card-det-state { 503 pins = "gpio12"; 504 function = "normal"; 505 input-enable; 506 output-disable; 507 bias-pull-up; 508 power-source = <1>; /* 1.8 V */ 509 }; 510}; 511 512&pm8550b_eusb2_repeater { 513 vdd18-supply = <&vreg_l15b_1p8>; 514 vdd3-supply = <&vreg_l5b_3p1>; 515}; 516 517&qupv3_id_0 { 518 status = "okay"; 519}; 520 521&remoteproc_adsp { 522 firmware-name = "qcom/sm8550/adsp.mbn", 523 "qcom/sm8550/adsp_dtb.mbn"; 524 status = "okay"; 525}; 526 527&remoteproc_cdsp { 528 firmware-name = "qcom/sm8550/cdsp.mbn", 529 "qcom/sm8550/cdsp_dtb.mbn"; 530 status = "okay"; 531}; 532 533&remoteproc_mpss { 534 firmware-name = "qcom/sm8550/modem.mbn", 535 "qcom/sm8550/modem_dtb.mbn"; 536 status = "okay"; 537}; 538 539&sdhc_2 { 540 cd-gpios = <&pm8550_gpios 12 GPIO_ACTIVE_LOW>; 541 pinctrl-names = "default", "sleep"; 542 pinctrl-0 = <&sdc2_default &sdc2_card_det_n>; 543 pinctrl-1 = <&sdc2_sleep &sdc2_card_det_n>; 544 vmmc-supply = <&vreg_l9b_2p9>; 545 vqmmc-supply = <&vreg_l8b_1p8>; 546 bus-width = <4>; 547 no-sdio; 548 no-mmc; 549 status = "okay"; 550}; 551 552&sleep_clk { 553 clock-frequency = <32000>; 554}; 555 556&swr1 { 557 status = "okay"; 558 559 /* WCD9385 RX */ 560 wcd_rx: codec@0,4 { 561 compatible = "sdw20217010d00"; 562 reg = <0 4>; 563 qcom,rx-port-mapping = <1 2 3 4 5>; 564 }; 565}; 566 567&swr2 { 568 status = "okay"; 569 570 /* WCD9385 TX */ 571 wcd_tx: codec@0,3 { 572 compatible = "sdw20217010d00"; 573 reg = <0 3>; 574 qcom,tx-port-mapping = <1 1 2 3>; 575 }; 576}; 577 578&tlmm { 579 gpio-reserved-ranges = <32 8>; 580 581 sde_dsi_active: sde-dsi-active-state { 582 pins = "gpio133"; 583 function = "gpio"; 584 drive-strength = <8>; 585 bias-disable; 586 }; 587 588 sde_dsi_suspend: sde-dsi-suspend-state { 589 pins = "gpio133"; 590 function = "gpio"; 591 drive-strength = <2>; 592 bias-pull-down; 593 }; 594 595 sde_te_active: sde-te-active-state { 596 pins = "gpio86"; 597 function = "mdp_vsync"; 598 drive-strength = <2>; 599 bias-pull-down; 600 }; 601 602 sde_te_suspend: sde-te-suspend-state { 603 pins = "gpio86"; 604 function = "mdp_vsync"; 605 drive-strength = <2>; 606 bias-pull-down; 607 }; 608 609 wcd_default: wcd-reset-n-active-state { 610 pins = "gpio108"; 611 function = "gpio"; 612 drive-strength = <16>; 613 bias-disable; 614 output-low; 615 }; 616}; 617 618&uart7 { 619 status = "okay"; 620}; 621 622&ufs_mem_hc { 623 reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>; 624 vcc-supply = <&vreg_l17b_2p5>; 625 vcc-max-microamp = <1300000>; 626 vccq-supply = <&vreg_l1g_1p2>; 627 vccq-max-microamp = <1200000>; 628 vccq2-supply = <&vreg_l3g_1p2>; 629 vccq2-max-microamp = <100>; 630 631 status = "okay"; 632}; 633 634&ufs_mem_phy { 635 vdda-phy-supply = <&vreg_l1d_0p88>; 636 vdda-pll-supply = <&vreg_l3e_1p2>; 637 638 status = "okay"; 639}; 640 641&usb_1 { 642 status = "okay"; 643}; 644 645&usb_1_dwc3 { 646 dr_mode = "otg"; 647 usb-role-switch; 648}; 649 650&usb_1_dwc3_hs { 651 remote-endpoint = <&pmic_glink_hs_in>; 652}; 653 654&usb_1_dwc3_ss { 655 remote-endpoint = <&pmic_glink_ss_in>; 656}; 657 658&usb_1_hsphy { 659 vdd-supply = <&vreg_l1e_0p88>; 660 vdda12-supply = <&vreg_l3e_1p2>; 661 662 phys = <&pm8550b_eusb2_repeater>; 663 664 status = "okay"; 665}; 666 667&usb_dp_qmpphy { 668 vdda-phy-supply = <&vreg_l3e_1p2>; 669 vdda-pll-supply = <&vreg_l3f_0p91>; 670 671 status = "okay"; 672}; 673 674&xo_board { 675 clock-frequency = <76800000>; 676}; 677