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#define PMK8550VE_SID 5 15#include "pm8550ve.dtsi" 16#include "pm8550vs.dtsi" 17#include "pmk8550.dtsi" 18#include "pmr735d_a.dtsi" 19#include "pmr735d_b.dtsi" 20 21/ { 22 model = "Qualcomm Technologies, Inc. SM8550 QRD"; 23 compatible = "qcom,sm8550-qrd", "qcom,sm8550"; 24 chassis-type = "handset"; 25 26 aliases { 27 serial0 = &uart7; 28 serial1 = &uart14; 29 }; 30 31 wcd938x: audio-codec { 32 compatible = "qcom,wcd9385-codec"; 33 34 pinctrl-names = "default"; 35 pinctrl-0 = <&wcd_default>; 36 37 qcom,micbias1-microvolt = <1800000>; 38 qcom,micbias2-microvolt = <1800000>; 39 qcom,micbias3-microvolt = <1800000>; 40 qcom,micbias4-microvolt = <1800000>; 41 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 42 qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 43 qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 44 qcom,rx-device = <&wcd_rx>; 45 qcom,tx-device = <&wcd_tx>; 46 47 reset-gpios = <&tlmm 108 GPIO_ACTIVE_LOW>; 48 49 vdd-buck-supply = <&vreg_l15b_1p8>; 50 vdd-rxtx-supply = <&vreg_l15b_1p8>; 51 vdd-io-supply = <&vreg_l15b_1p8>; 52 vdd-mic-bias-supply = <&vreg_bob1>; 53 54 #sound-dai-cells = <1>; 55 }; 56 57 chosen { 58 stdout-path = "serial0:115200n8"; 59 }; 60 61 gpio-keys { 62 compatible = "gpio-keys"; 63 64 pinctrl-0 = <&volume_up_n>; 65 pinctrl-names = "default"; 66 67 key-volume-up { 68 label = "Volume Up"; 69 linux,code = <KEY_VOLUMEUP>; 70 gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>; 71 debounce-interval = <15>; 72 linux,can-disable; 73 wakeup-source; 74 }; 75 }; 76 77 pmic-glink { 78 compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink"; 79 #address-cells = <1>; 80 #size-cells = <0>; 81 orientation-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>; 82 83 connector@0 { 84 compatible = "usb-c-connector"; 85 reg = <0>; 86 power-role = "dual"; 87 data-role = "dual"; 88 89 ports { 90 #address-cells = <1>; 91 #size-cells = <0>; 92 93 port@0 { 94 reg = <0>; 95 96 pmic_glink_hs_in: endpoint { 97 remote-endpoint = <&usb_1_dwc3_hs>; 98 }; 99 }; 100 101 port@1 { 102 reg = <1>; 103 104 pmic_glink_ss_in: endpoint { 105 remote-endpoint = <&redriver_ss_out>; 106 }; 107 }; 108 109 port@2 { 110 reg = <2>; 111 112 pmic_glink_sbu: endpoint { 113 remote-endpoint = <&fsa4480_sbu_mux>; 114 }; 115 }; 116 }; 117 }; 118 }; 119 120 sound { 121 compatible = "qcom,sm8550-sndcard", "qcom,sm8450-sndcard"; 122 model = "SM8550-QRD"; 123 audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT", 124 "SpkrRight IN", "WSA_SPK2 OUT", 125 "IN1_HPHL", "HPHL_OUT", 126 "IN2_HPHR", "HPHR_OUT", 127 "AMIC1", "MIC BIAS1", 128 "AMIC2", "MIC BIAS2", 129 "AMIC3", "MIC BIAS3", 130 "AMIC4", "MIC BIAS3", 131 "AMIC5", "MIC BIAS4", 132 "VA DMIC0", "MIC BIAS1", 133 "VA DMIC1", "MIC BIAS1", 134 "VA DMIC2", "MIC BIAS3", 135 "TX DMIC0", "MIC BIAS1", 136 "TX DMIC1", "MIC BIAS2", 137 "TX DMIC2", "MIC BIAS3", 138 "TX SWR_INPUT0", "ADC1_OUTPUT", 139 "TX SWR_INPUT1", "ADC2_OUTPUT", 140 "TX SWR_INPUT0", "ADC3_OUTPUT", 141 "TX SWR_INPUT1", "ADC4_OUTPUT"; 142 143 wcd-playback-dai-link { 144 link-name = "WCD Playback"; 145 146 cpu { 147 sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>; 148 }; 149 150 codec { 151 sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; 152 }; 153 154 platform { 155 sound-dai = <&q6apm>; 156 }; 157 }; 158 159 wcd-capture-dai-link { 160 link-name = "WCD Capture"; 161 162 cpu { 163 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>; 164 }; 165 166 codec { 167 sound-dai = <&wcd938x 1>, <&swr2 0>, <&lpass_txmacro 0>; 168 }; 169 170 platform { 171 sound-dai = <&q6apm>; 172 }; 173 }; 174 175 wsa-dai-link { 176 link-name = "WSA Playback"; 177 178 cpu { 179 sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>; 180 }; 181 182 codec { 183 sound-dai = <&north_spkr>, <&south_spkr>, <&swr0 0>, <&lpass_wsamacro 0>; 184 }; 185 186 platform { 187 sound-dai = <&q6apm>; 188 }; 189 }; 190 191 va-dai-link { 192 link-name = "VA Capture"; 193 194 cpu { 195 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>; 196 }; 197 198 codec { 199 sound-dai = <&lpass_vamacro 0>; 200 }; 201 202 platform { 203 sound-dai = <&q6apm>; 204 }; 205 }; 206 }; 207 208 vph_pwr: vph-pwr-regulator { 209 compatible = "regulator-fixed"; 210 regulator-name = "vph_pwr"; 211 regulator-min-microvolt = <3700000>; 212 regulator-max-microvolt = <3700000>; 213 214 regulator-always-on; 215 regulator-boot-on; 216 }; 217}; 218 219&apps_rsc { 220 regulators-0 { 221 compatible = "qcom,pm8550-rpmh-regulators"; 222 qcom,pmic-id = "b"; 223 224 vdd-bob1-supply = <&vph_pwr>; 225 vdd-bob2-supply = <&vph_pwr>; 226 vdd-l1-l4-l10-supply = <&vreg_s6g_1p86>; 227 vdd-l2-l13-l14-supply = <&vreg_bob1>; 228 vdd-l3-supply = <&vreg_s4g_1p25>; 229 vdd-l5-l16-supply = <&vreg_bob1>; 230 vdd-l6-l7-supply = <&vreg_bob1>; 231 vdd-l8-l9-supply = <&vreg_bob1>; 232 vdd-l11-supply = <&vreg_s4g_1p25>; 233 vdd-l12-supply = <&vreg_s6g_1p86>; 234 vdd-l15-supply = <&vreg_s6g_1p86>; 235 vdd-l17-supply = <&vreg_bob2>; 236 237 vreg_bob1: bob1 { 238 regulator-name = "vreg_bob1"; 239 regulator-min-microvolt = <3296000>; 240 regulator-max-microvolt = <3960000>; 241 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 242 }; 243 244 vreg_bob2: bob2 { 245 regulator-name = "vreg_bob2"; 246 regulator-min-microvolt = <2720000>; 247 regulator-max-microvolt = <3960000>; 248 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 249 }; 250 251 vreg_l1b_1p8: ldo1 { 252 regulator-name = "vreg_l1b_1p8"; 253 regulator-min-microvolt = <1800000>; 254 regulator-max-microvolt = <1800000>; 255 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 256 }; 257 258 vreg_l2b_3p0: ldo2 { 259 regulator-name = "vreg_l2b_3p0"; 260 regulator-min-microvolt = <3008000>; 261 regulator-max-microvolt = <3008000>; 262 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 263 }; 264 265 vreg_l5b_3p1: ldo5 { 266 regulator-name = "vreg_l5b_3p1"; 267 regulator-min-microvolt = <3104000>; 268 regulator-max-microvolt = <3104000>; 269 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 270 }; 271 272 vreg_l6b_1p8: ldo6 { 273 regulator-name = "vreg_l6b_1p8"; 274 regulator-min-microvolt = <1800000>; 275 regulator-max-microvolt = <3008000>; 276 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 277 }; 278 279 vreg_l7b_1p8: ldo7 { 280 regulator-name = "vreg_l7b_1p8"; 281 regulator-min-microvolt = <1800000>; 282 regulator-max-microvolt = <3008000>; 283 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 284 }; 285 286 vreg_l8b_1p8: ldo8 { 287 regulator-name = "vreg_l8b_1p8"; 288 regulator-min-microvolt = <1800000>; 289 regulator-max-microvolt = <3008000>; 290 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 291 }; 292 293 vreg_l9b_2p9: ldo9 { 294 regulator-name = "vreg_l9b_2p9"; 295 regulator-min-microvolt = <2960000>; 296 regulator-max-microvolt = <3008000>; 297 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 298 }; 299 300 vreg_l11b_1p2: ldo11 { 301 regulator-name = "vreg_l11b_1p2"; 302 regulator-min-microvolt = <1200000>; 303 regulator-max-microvolt = <1504000>; 304 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 305 }; 306 307 vreg_l12b_1p8: ldo12 { 308 regulator-name = "vreg_l12b_1p8"; 309 regulator-min-microvolt = <1800000>; 310 regulator-max-microvolt = <1800000>; 311 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 312 }; 313 314 vreg_l13b_3p0: ldo13 { 315 regulator-name = "vreg_l13b_3p0"; 316 regulator-min-microvolt = <3000000>; 317 regulator-max-microvolt = <3000000>; 318 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 319 }; 320 321 vreg_l14b_3p2: ldo14 { 322 regulator-name = "vreg_l14b_3p2"; 323 regulator-min-microvolt = <3200000>; 324 regulator-max-microvolt = <3200000>; 325 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 326 }; 327 328 vreg_l15b_1p8: ldo15 { 329 regulator-name = "vreg_l15b_1p8"; 330 regulator-min-microvolt = <1800000>; 331 regulator-max-microvolt = <1800000>; 332 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 333 }; 334 335 vreg_l16b_2p8: ldo16 { 336 regulator-name = "vreg_l16b_2p8"; 337 regulator-min-microvolt = <2800000>; 338 regulator-max-microvolt = <2800000>; 339 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 340 }; 341 342 vreg_l17b_2p5: ldo17 { 343 regulator-name = "vreg_l17b_2p5"; 344 regulator-min-microvolt = <2504000>; 345 regulator-max-microvolt = <2504000>; 346 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 347 }; 348 }; 349 350 regulators-1 { 351 compatible = "qcom,pm8550vs-rpmh-regulators"; 352 qcom,pmic-id = "c"; 353 354 vdd-l1-supply = <&vreg_s4g_1p25>; 355 vdd-l2-supply = <&vreg_s4e_0p95>; 356 vdd-l3-supply = <&vreg_s4e_0p95>; 357 358 vreg_l3c_0p9: ldo3 { 359 regulator-name = "vreg_l3c_0p9"; 360 regulator-min-microvolt = <880000>; 361 regulator-max-microvolt = <912000>; 362 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 363 }; 364 }; 365 366 regulators-2 { 367 compatible = "qcom,pm8550vs-rpmh-regulators"; 368 qcom,pmic-id = "d"; 369 370 vdd-l1-supply = <&vreg_s4e_0p95>; 371 vdd-l2-supply = <&vreg_s4e_0p95>; 372 vdd-l3-supply = <&vreg_s4e_0p95>; 373 374 vreg_l1d_0p88: ldo1 { 375 regulator-name = "vreg_l1d_0p88"; 376 regulator-min-microvolt = <880000>; 377 regulator-max-microvolt = <920000>; 378 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 379 }; 380 381 /* ldo2 supplies SM8550 VDD_LPI_MX */ 382 }; 383 384 regulators-3 { 385 compatible = "qcom,pm8550vs-rpmh-regulators"; 386 qcom,pmic-id = "e"; 387 388 vdd-l1-supply = <&vreg_s4e_0p95>; 389 vdd-l2-supply = <&vreg_s4e_0p95>; 390 vdd-l3-supply = <&vreg_s4g_1p25>; 391 vdd-s4-supply = <&vph_pwr>; 392 vdd-s5-supply = <&vph_pwr>; 393 394 vreg_s4e_0p95: smps4 { 395 regulator-name = "vreg_s4e_0p95"; 396 regulator-min-microvolt = <904000>; 397 regulator-max-microvolt = <984000>; 398 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 399 }; 400 401 vreg_s5e_1p08: smps5 { 402 regulator-name = "vreg_s5e_1p08"; 403 regulator-min-microvolt = <1080000>; 404 regulator-max-microvolt = <1120000>; 405 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 406 }; 407 408 vreg_l1e_0p88: ldo1 { 409 regulator-name = "vreg_l1e_0p88"; 410 regulator-min-microvolt = <880000>; 411 regulator-max-microvolt = <880000>; 412 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 413 }; 414 415 vreg_l2e_0p9: ldo2 { 416 regulator-name = "vreg_l2e_0p9"; 417 regulator-min-microvolt = <904000>; 418 regulator-max-microvolt = <970000>; 419 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 420 }; 421 422 vreg_l3e_1p2: ldo3 { 423 regulator-name = "vreg_l3e_1p2"; 424 regulator-min-microvolt = <1200000>; 425 regulator-max-microvolt = <1200000>; 426 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 427 }; 428 }; 429 430 regulators-4 { 431 compatible = "qcom,pm8550ve-rpmh-regulators"; 432 qcom,pmic-id = "f"; 433 434 vdd-l1-supply = <&vreg_s4e_0p95>; 435 vdd-l2-supply = <&vreg_s4e_0p95>; 436 vdd-l3-supply = <&vreg_s4e_0p95>; 437 vdd-s4-supply = <&vph_pwr>; 438 439 vreg_s4f_0p5: smps4 { 440 regulator-name = "vreg_s4f_0p5"; 441 regulator-min-microvolt = <500000>; 442 regulator-max-microvolt = <700000>; 443 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 444 }; 445 446 vreg_l1f_0p9: ldo1 { 447 regulator-name = "vreg_l1f_0p9"; 448 regulator-min-microvolt = <912000>; 449 regulator-max-microvolt = <912000>; 450 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 451 }; 452 453 vreg_l2f_0p88: ldo2 { 454 regulator-name = "vreg_l2f_0p88"; 455 regulator-min-microvolt = <880000>; 456 regulator-max-microvolt = <912000>; 457 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 458 }; 459 460 vreg_l3f_0p88: ldo3 { 461 regulator-name = "vreg_l3f_0p88"; 462 regulator-min-microvolt = <880000>; 463 regulator-max-microvolt = <912000>; 464 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 465 }; 466 }; 467 468 regulators-5 { 469 compatible = "qcom,pm8550vs-rpmh-regulators"; 470 qcom,pmic-id = "g"; 471 472 vdd-l1-supply = <&vreg_s4g_1p25>; 473 vdd-l2-supply = <&vreg_s4g_1p25>; 474 vdd-l3-supply = <&vreg_s4g_1p25>; 475 vdd-s1-supply = <&vph_pwr>; 476 vdd-s2-supply = <&vph_pwr>; 477 vdd-s3-supply = <&vph_pwr>; 478 vdd-s4-supply = <&vph_pwr>; 479 vdd-s5-supply = <&vph_pwr>; 480 vdd-s6-supply = <&vph_pwr>; 481 482 vreg_s1g_1p25: smps1 { 483 regulator-name = "vreg_s1g_1p25"; 484 regulator-min-microvolt = <1200000>; 485 regulator-max-microvolt = <1300000>; 486 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 487 }; 488 489 vreg_s2g_0p85: smps2 { 490 regulator-name = "vreg_s2g_0p85"; 491 regulator-min-microvolt = <800000>; 492 regulator-max-microvolt = <1000000>; 493 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 494 }; 495 496 vreg_s3g_0p8: smps3 { 497 regulator-name = "vreg_s3g_0p8"; 498 regulator-min-microvolt = <300000>; 499 regulator-max-microvolt = <1004000>; 500 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 501 }; 502 503 vreg_s4g_1p25: smps4 { 504 regulator-name = "vreg_s4g_1p25"; 505 regulator-min-microvolt = <1200000>; 506 regulator-max-microvolt = <1352000>; 507 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 508 }; 509 510 vreg_s5g_0p85: smps5 { 511 regulator-name = "vreg_s5g_0p85"; 512 regulator-min-microvolt = <500000>; 513 regulator-max-microvolt = <1004000>; 514 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 515 }; 516 517 vreg_s6g_1p86: smps6 { 518 regulator-name = "vreg_s6g_1p86"; 519 regulator-min-microvolt = <1800000>; 520 regulator-max-microvolt = <2000000>; 521 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 522 }; 523 524 vreg_l1g_1p2: ldo1 { 525 regulator-name = "vreg_l1g_1p2"; 526 regulator-min-microvolt = <1200000>; 527 regulator-max-microvolt = <1200000>; 528 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 529 }; 530 531 vreg_l3g_1p2: ldo3 { 532 regulator-name = "vreg_l3g_1p2"; 533 regulator-min-microvolt = <1200000>; 534 regulator-max-microvolt = <1200000>; 535 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 536 }; 537 }; 538 539 regulators-6 { 540 compatible = "qcom,pm8010-rpmh-regulators"; 541 qcom,pmic-id = "m"; 542 543 vdd-l1-l2-supply = <&vreg_s4g_1p25>; 544 vdd-l3-l4-supply = <&vreg_bob2>; 545 vdd-l5-supply = <&vreg_s6g_1p86>; 546 vdd-l6-supply = <&vreg_s6g_1p86>; 547 vdd-l7-supply = <&vreg_bob1>; 548 549 vreg_l1m_1p056: ldo1 { 550 regulator-name = "vreg_l1m_1p056"; 551 regulator-min-microvolt = <1056000>; 552 regulator-max-microvolt = <1056000>; 553 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 554 }; 555 556 vreg_l2m_1p056: ldo2 { 557 regulator-name = "vreg_l2m_1p056"; 558 regulator-min-microvolt = <1056000>; 559 regulator-max-microvolt = <1056000>; 560 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 561 }; 562 563 vreg_l3m_2p8: ldo3 { 564 regulator-name = "vreg_l3m_2p8"; 565 regulator-min-microvolt = <2800000>; 566 regulator-max-microvolt = <2800000>; 567 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 568 }; 569 570 vreg_l4m_2p8: ldo4 { 571 regulator-name = "vreg_l4m_2p8"; 572 regulator-min-microvolt = <2800000>; 573 regulator-max-microvolt = <2800000>; 574 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 575 }; 576 577 vreg_l5m_1p8: ldo5 { 578 regulator-name = "vreg_l5m_1p8"; 579 regulator-min-microvolt = <1800000>; 580 regulator-max-microvolt = <1800000>; 581 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 582 }; 583 584 vreg_l6m_1p8: ldo6 { 585 regulator-name = "vreg_l6m_1p8"; 586 regulator-min-microvolt = <1800000>; 587 regulator-max-microvolt = <1800000>; 588 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 589 }; 590 591 vreg_l7m_2p9: ldo7 { 592 regulator-name = "vreg_l7m_2p9"; 593 regulator-min-microvolt = <2800000>; 594 regulator-max-microvolt = <2904000>; 595 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 596 }; 597 }; 598 599 regulators-7 { 600 compatible = "qcom,pm8010-rpmh-regulators"; 601 qcom,pmic-id = "n"; 602 603 vdd-l1-l2-supply = <&vreg_s4g_1p25>; 604 vdd-l3-l4-supply = <&vreg_bob2>; 605 vdd-l5-supply = <&vreg_s6g_1p86>; 606 vdd-l6-supply = <&vreg_bob1>; 607 vdd-l7-supply = <&vreg_bob1>; 608 609 vreg_l1n_1p1: ldo1 { 610 regulator-name = "vreg_l1n_1p1"; 611 regulator-min-microvolt = <1104000>; 612 regulator-max-microvolt = <1200000>; 613 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 614 }; 615 616 vreg_l2n_1p1: ldo2 { 617 regulator-name = "vreg_l2n_1p1"; 618 regulator-min-microvolt = <1104000>; 619 regulator-max-microvolt = <1200000>; 620 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 621 }; 622 623 vreg_l3n_2p8: ldo3 { 624 regulator-name = "vreg_l3n_2p8"; 625 regulator-min-microvolt = <2800000>; 626 regulator-max-microvolt = <3000000>; 627 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 628 }; 629 630 vreg_l4n_2p8: ldo4 { 631 regulator-name = "vreg_l4n_2p8"; 632 regulator-min-microvolt = <2800000>; 633 regulator-max-microvolt = <3300000>; 634 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 635 }; 636 637 vreg_l5n_1p8: ldo5 { 638 regulator-name = "vreg_l5n_1p8"; 639 regulator-min-microvolt = <1800000>; 640 regulator-max-microvolt = <1800000>; 641 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 642 }; 643 644 vreg_l6n_3p3: ldo6 { 645 regulator-name = "vreg_l6n_3p3"; 646 regulator-min-microvolt = <2800000>; 647 regulator-max-microvolt = <3304000>; 648 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 649 }; 650 651 vreg_l7n_2p96: ldo7 { 652 regulator-name = "vreg_l7n_2p96"; 653 regulator-min-microvolt = <2800000>; 654 regulator-max-microvolt = <2960000>; 655 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 656 }; 657 }; 658}; 659 660&i2c_master_hub_0 { 661 status = "okay"; 662}; 663 664&i2c_hub_2 { 665 status = "okay"; 666 667 typec-retimer@1c { 668 compatible = "onnn,nb7vpq904m"; 669 reg = <0x1c>; 670 671 vcc-supply = <&vreg_l15b_1p8>; 672 673 retimer-switch; 674 orientation-switch; 675 676 ports { 677 #address-cells = <1>; 678 #size-cells = <0>; 679 680 port@0 { 681 reg = <0>; 682 683 redriver_ss_out: endpoint { 684 remote-endpoint = <&pmic_glink_ss_in>; 685 }; 686 }; 687 688 port@1 { 689 reg = <1>; 690 691 redriver_ss_in: endpoint { 692 data-lanes = <3 2 1 0>; 693 remote-endpoint = <&usb_dp_qmpphy_out>; 694 }; 695 }; 696 }; 697 }; 698 699 typec-mux@42 { 700 compatible = "fcs,fsa4480"; 701 reg = <0x42>; 702 703 vcc-supply = <&vreg_bob1>; 704 705 mode-switch; 706 orientation-switch; 707 708 port { 709 fsa4480_sbu_mux: endpoint { 710 remote-endpoint = <&pmic_glink_sbu>; 711 }; 712 }; 713 }; 714}; 715 716&ipa { 717 qcom,gsi-loader = "self"; 718 memory-region = <&ipa_fw_mem>; 719 firmware-name = "qcom/sm8550/ipa_fws.mbn"; 720 status = "okay"; 721}; 722 723&gcc { 724 clocks = <&bi_tcxo_div2>, <&sleep_clk>, 725 <&pcie0_phy>, 726 <&pcie1_phy>, 727 <0>, 728 <&ufs_mem_phy 0>, 729 <&ufs_mem_phy 1>, 730 <&ufs_mem_phy 2>, 731 <&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>; 732}; 733 734&gpi_dma1 { 735 status = "okay"; 736}; 737 738&gpu { 739 status = "okay"; 740 741 zap-shader { 742 firmware-name = "qcom/sm8550/a740_zap.mbn"; 743 }; 744}; 745 746&lpass_tlmm { 747 spkr_1_sd_n_active: spkr-1-sd-n-active-state { 748 pins = "gpio17"; 749 function = "gpio"; 750 drive-strength = <16>; 751 bias-disable; 752 output-low; 753 }; 754 755 spkr_2_sd_n_active: spkr-2-sd-n-active-state { 756 pins = "gpio18"; 757 function = "gpio"; 758 drive-strength = <16>; 759 bias-disable; 760 output-low; 761 }; 762}; 763 764&mdss { 765 status = "okay"; 766}; 767 768&mdss_dsi0 { 769 vdda-supply = <&vreg_l3e_1p2>; 770 status = "okay"; 771 772 panel@0 { 773 compatible = "visionox,vtdr6130"; 774 reg = <0>; 775 776 pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>; 777 pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>; 778 pinctrl-names = "default", "sleep"; 779 780 vci-supply = <&vreg_l13b_3p0>; 781 vdd-supply = <&vreg_l11b_1p2>; 782 vddio-supply = <&vreg_l12b_1p8>; 783 784 reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; 785 786 port { 787 panel0_in: endpoint { 788 remote-endpoint = <&mdss_dsi0_out>; 789 }; 790 }; 791 }; 792}; 793 794&mdss_dsi0_out { 795 remote-endpoint = <&panel0_in>; 796 data-lanes = <0 1 2 3>; 797}; 798 799&mdss_dsi0_phy { 800 vdds-supply = <&vreg_l1e_0p88>; 801 status = "okay"; 802}; 803 804&mdss_dp0 { 805 status = "okay"; 806}; 807 808&mdss_dp0_out { 809 data-lanes = <0 1>; 810 remote-endpoint = <&usb_dp_qmpphy_dp_in>; 811}; 812 813&pcie_1_phy_aux_clk { 814 status = "disabled"; 815}; 816 817&pcie0 { 818 wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>; 819 perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>; 820 821 pinctrl-0 = <&pcie0_default_state>; 822 pinctrl-names = "default"; 823 824 status = "okay"; 825}; 826 827&pcie0_phy { 828 vdda-phy-supply = <&vreg_l1e_0p88>; 829 vdda-pll-supply = <&vreg_l3e_1p2>; 830 831 status = "okay"; 832}; 833 834&pm8550_flash { 835 status = "okay"; 836 837 led-0 { 838 function = LED_FUNCTION_FLASH; 839 color = <LED_COLOR_ID_YELLOW>; 840 led-sources = <1>, <4>; 841 led-max-microamp = <500000>; 842 flash-max-microamp = <2000000>; 843 flash-max-timeout-us = <1280000>; 844 function-enumerator = <0>; 845 }; 846 847 led-1 { 848 function = LED_FUNCTION_FLASH; 849 color = <LED_COLOR_ID_WHITE>; 850 led-sources = <2>, <3>; 851 led-max-microamp = <500000>; 852 flash-max-microamp = <2000000>; 853 flash-max-timeout-us = <1280000>; 854 function-enumerator = <1>; 855 }; 856}; 857 858&pm8550_gpios { 859 volume_up_n: volume-up-n-state { 860 pins = "gpio6"; 861 function = "normal"; 862 power-source = <1>; 863 bias-pull-up; 864 input-enable; 865 }; 866}; 867 868&pm8550_pwm { 869 status = "okay"; 870 871 multi-led { 872 color = <LED_COLOR_ID_RGB>; 873 function = LED_FUNCTION_STATUS; 874 875 #address-cells = <1>; 876 #size-cells = <0>; 877 878 led@1 { 879 reg = <1>; 880 color = <LED_COLOR_ID_RED>; 881 }; 882 883 led@2 { 884 reg = <2>; 885 color = <LED_COLOR_ID_GREEN>; 886 }; 887 888 led@3 { 889 reg = <3>; 890 color = <LED_COLOR_ID_BLUE>; 891 }; 892 }; 893}; 894 895&pm8550b_eusb2_repeater { 896 vdd18-supply = <&vreg_l15b_1p8>; 897 vdd3-supply = <&vreg_l5b_3p1>; 898}; 899 900&pon_pwrkey { 901 status = "okay"; 902}; 903 904&pon_resin { 905 linux,code = <KEY_VOLUMEDOWN>; 906 907 status = "okay"; 908}; 909 910&pcie_1_phy_aux_clk { 911 clock-frequency = <1000>; 912}; 913 914&qupv3_id_0 { 915 status = "okay"; 916}; 917 918&qupv3_id_1 { 919 status = "okay"; 920}; 921 922&remoteproc_adsp { 923 firmware-name = "qcom/sm8550/adsp.mbn", 924 "qcom/sm8550/adsp_dtb.mbn"; 925 status = "okay"; 926}; 927 928&remoteproc_cdsp { 929 firmware-name = "qcom/sm8550/cdsp.mbn", 930 "qcom/sm8550/cdsp_dtb.mbn"; 931 status = "okay"; 932}; 933 934&remoteproc_mpss { 935 firmware-name = "qcom/sm8550/modem.mbn", 936 "qcom/sm8550/modem_dtb.mbn"; 937 status = "okay"; 938}; 939 940&sleep_clk { 941 clock-frequency = <32000>; 942}; 943 944&swr0 { 945 status = "okay"; 946 947 /* WSA8845, Speaker North */ 948 north_spkr: speaker@0,0 { 949 compatible = "sdw20217020400"; 950 reg = <0 0>; 951 pinctrl-names = "default"; 952 pinctrl-0 = <&spkr_1_sd_n_active>; 953 powerdown-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>; 954 #sound-dai-cells = <0>; 955 sound-name-prefix = "SpkrLeft"; 956 vdd-1p8-supply = <&vreg_l15b_1p8>; 957 vdd-io-supply = <&vreg_l3g_1p2>; 958 }; 959 960 /* WSA8845, Speaker South */ 961 south_spkr: speaker@0,1 { 962 compatible = "sdw20217020400"; 963 reg = <0 1>; 964 pinctrl-names = "default"; 965 pinctrl-0 = <&spkr_2_sd_n_active>; 966 powerdown-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>; 967 #sound-dai-cells = <0>; 968 sound-name-prefix = "SpkrRight"; 969 vdd-1p8-supply = <&vreg_l15b_1p8>; 970 vdd-io-supply = <&vreg_l3g_1p2>; 971 }; 972}; 973 974&spi4 { 975 status = "okay"; 976 977 touchscreen@0 { 978 compatible = "goodix,gt9916"; 979 reg = <0>; 980 981 interrupt-parent = <&tlmm>; 982 interrupts = <25 IRQ_TYPE_LEVEL_LOW>; 983 984 reset-gpios = <&tlmm 24 GPIO_ACTIVE_LOW>; 985 986 avdd-supply = <&vreg_l14b_3p2>; 987 988 spi-max-frequency = <1000000>; 989 990 touchscreen-size-x = <1080>; 991 touchscreen-size-y = <2400>; 992 993 pinctrl-names = "default"; 994 pinctrl-0 = <&ts_irq>, <&ts_reset>; 995 }; 996}; 997 998&swr1 { 999 status = "okay"; 1000 1001 /* WCD9385 RX */ 1002 wcd_rx: codec@0,4 { 1003 compatible = "sdw20217010d00"; 1004 reg = <0 4>; 1005 qcom,rx-port-mapping = <1 2 3 4 5>; 1006 }; 1007}; 1008 1009&swr2 { 1010 status = "okay"; 1011 1012 /* WCD9385 TX */ 1013 wcd_tx: codec@0,3 { 1014 compatible = "sdw20217010d00"; 1015 reg = <0 3>; 1016 qcom,tx-port-mapping = <2 2 3 4>; 1017 }; 1018}; 1019 1020&tlmm { 1021 gpio-reserved-ranges = <32 8>; 1022 1023 bt_default: bt-default-state { 1024 bt-en-pins { 1025 pins = "gpio81"; 1026 function = "gpio"; 1027 drive-strength = <16>; 1028 bias-disable; 1029 }; 1030 1031 sw-ctrl-pins { 1032 pins = "gpio82"; 1033 function = "gpio"; 1034 bias-pull-down; 1035 }; 1036 }; 1037 1038 sde_dsi_active: sde-dsi-active-state { 1039 pins = "gpio133"; 1040 function = "gpio"; 1041 drive-strength = <8>; 1042 bias-disable; 1043 }; 1044 1045 sde_dsi_suspend: sde-dsi-suspend-state { 1046 pins = "gpio133"; 1047 function = "gpio"; 1048 drive-strength = <2>; 1049 bias-pull-down; 1050 }; 1051 1052 sde_te_active: sde-te-active-state { 1053 pins = "gpio86"; 1054 function = "mdp_vsync"; 1055 drive-strength = <2>; 1056 bias-pull-down; 1057 }; 1058 1059 sde_te_suspend: sde-te-suspend-state { 1060 pins = "gpio86"; 1061 function = "mdp_vsync"; 1062 drive-strength = <2>; 1063 bias-pull-down; 1064 }; 1065 1066 ts_irq: ts-irq-state { 1067 pins = "gpio25"; 1068 function = "gpio"; 1069 drive-strength = <8>; 1070 bias-pull-up; 1071 }; 1072 1073 ts_reset: ts-reset-state { 1074 pins = "gpio24"; 1075 function = "gpio"; 1076 drive-strength = <8>; 1077 bias-pull-up; 1078 }; 1079 1080 wcd_default: wcd-reset-n-active-state { 1081 pins = "gpio108"; 1082 function = "gpio"; 1083 drive-strength = <16>; 1084 bias-disable; 1085 output-low; 1086 }; 1087}; 1088 1089&uart7 { 1090 status = "okay"; 1091}; 1092 1093&uart14 { 1094 status = "okay"; 1095 1096 bluetooth { 1097 compatible = "qcom,wcn7850-bt"; 1098 1099 vddio-supply = <&vreg_l15b_1p8>; 1100 vddaon-supply = <&vreg_s4e_0p95>; 1101 vdddig-supply = <&vreg_s4e_0p95>; 1102 vddrfa0p8-supply = <&vreg_s4e_0p95>; 1103 vddrfa1p2-supply = <&vreg_s4g_1p25>; 1104 vddrfa1p9-supply = <&vreg_s6g_1p86>; 1105 1106 max-speed = <3200000>; 1107 1108 enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>; 1109 swctrl-gpios = <&tlmm 82 GPIO_ACTIVE_HIGH>; 1110 1111 pinctrl-0 = <&bt_default>; 1112 pinctrl-names = "default"; 1113 }; 1114}; 1115 1116&ufs_mem_hc { 1117 reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>; 1118 vcc-supply = <&vreg_l17b_2p5>; 1119 vcc-max-microamp = <1300000>; 1120 vccq-supply = <&vreg_l1g_1p2>; 1121 vccq-max-microamp = <1200000>; 1122 vdd-hba-supply = <&vreg_l3g_1p2>; 1123 1124 status = "okay"; 1125}; 1126 1127&ufs_mem_phy { 1128 vdda-phy-supply = <&vreg_l1d_0p88>; 1129 vdda-pll-supply = <&vreg_l3e_1p2>; 1130 1131 status = "okay"; 1132}; 1133 1134&usb_1 { 1135 status = "okay"; 1136}; 1137 1138&usb_1_dwc3 { 1139 dr_mode = "otg"; 1140 usb-role-switch; 1141}; 1142 1143&usb_1_dwc3_hs { 1144 remote-endpoint = <&pmic_glink_hs_in>; 1145}; 1146 1147&usb_1_dwc3_ss { 1148 remote-endpoint = <&usb_dp_qmpphy_usb_ss_in>; 1149}; 1150 1151&usb_1_hsphy { 1152 vdd-supply = <&vreg_l1e_0p88>; 1153 vdda12-supply = <&vreg_l3e_1p2>; 1154 1155 phys = <&pm8550b_eusb2_repeater>; 1156 1157 status = "okay"; 1158}; 1159 1160&usb_dp_qmpphy { 1161 vdda-phy-supply = <&vreg_l3e_1p2>; 1162 vdda-pll-supply = <&vreg_l3f_0p88>; 1163 1164 orientation-switch; 1165 1166 status = "okay"; 1167}; 1168 1169&usb_dp_qmpphy_dp_in { 1170 remote-endpoint = <&mdss_dp0_out>; 1171}; 1172 1173&usb_dp_qmpphy_out { 1174 remote-endpoint = <&redriver_ss_in>; 1175}; 1176 1177&usb_dp_qmpphy_usb_ss_in { 1178 remote-endpoint = <&usb_1_dwc3_ss>; 1179}; 1180 1181&xo_board { 1182 clock-frequency = <76800000>; 1183}; 1184