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