1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/leds/common.h> 10#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 11#include "sm8750.dtsi" 12#include "pm8010.dtsi" 13#include "pm8550.dtsi" 14#define PMK8550VE_SID 8 15#include "pm8550ve.dtsi" 16#include "pmd8028.dtsi" 17#include "pmih0108.dtsi" 18#include "pmk8550.dtsi" 19#include "pmr735d_a.dtsi" 20#include "sm8750-pmics.dtsi" 21 22/ { 23 model = "Qualcomm Technologies, Inc. SM8750 MTP"; 24 compatible = "qcom,sm8750-mtp", "qcom,sm8750"; 25 chassis-type = "handset"; 26 27 28 aliases { 29 serial0 = &uart7; 30 }; 31 32 wcd939x: audio-codec { 33 compatible = "qcom,wcd9395-codec", "qcom,wcd9390-codec"; 34 35 pinctrl-0 = <&wcd_default>; 36 pinctrl-names = "default"; 37 38 qcom,micbias1-microvolt = <1800000>; 39 qcom,micbias2-microvolt = <1800000>; 40 qcom,micbias3-microvolt = <1800000>; 41 qcom,micbias4-microvolt = <1800000>; 42 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 43 qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 44 qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 45 qcom,rx-device = <&wcd_rx>; 46 qcom,tx-device = <&wcd_tx>; 47 48 reset-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>; 49 50 vdd-buck-supply = <&vreg_l15b_1p8>; 51 vdd-rxtx-supply = <&vreg_l15b_1p8>; 52 vdd-io-supply = <&vreg_l15b_1p8>; 53 vdd-mic-bias-supply = <&vreg_bob1>; 54 vdd-px-supply = <&vreg_l2i_1p2>; 55 56 #sound-dai-cells = <1>; 57 }; 58 59 chosen { 60 stdout-path = "serial0:115200n8"; 61 }; 62 63 clocks { 64 xo_board: xo-board { 65 compatible = "fixed-clock"; 66 clock-frequency = <76800000>; 67 #clock-cells = <0>; 68 }; 69 70 sleep_clk: sleep-clk { 71 compatible = "fixed-clock"; 72 clock-frequency = <32000>; 73 #clock-cells = <0>; 74 }; 75 76 bi_tcxo_div2: bi-tcxo-div2-clk { 77 compatible = "fixed-factor-clock"; 78 #clock-cells = <0>; 79 80 clocks = <&rpmhcc RPMH_CXO_CLK>; 81 clock-mult = <1>; 82 clock-div = <2>; 83 }; 84 85 bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk { 86 compatible = "fixed-factor-clock"; 87 #clock-cells = <0>; 88 89 clocks = <&rpmhcc RPMH_CXO_CLK_A>; 90 clock-mult = <1>; 91 clock-div = <2>; 92 }; 93 }; 94 95 gpio-keys { 96 compatible = "gpio-keys"; 97 98 pinctrl-0 = <&volume_up_n>; 99 pinctrl-names = "default"; 100 101 key-volume-up { 102 label = "Volume Up"; 103 linux,code = <KEY_VOLUMEUP>; 104 gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>; 105 debounce-interval = <15>; 106 linux,can-disable; 107 wakeup-source; 108 }; 109 }; 110 111 sound { 112 compatible = "qcom,sm8750-sndcard", "qcom,sm8450-sndcard"; 113 model = "SM8750-MTP"; 114 audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT", 115 "SpkrRight IN", "WSA_SPK2 OUT", 116 "IN1_HPHL", "HPHL_OUT", 117 "IN2_HPHR", "HPHR_OUT", 118 "AMIC2", "MIC BIAS2", 119 "VA DMIC0", "MIC BIAS3", /* MIC4 on schematics */ 120 "VA DMIC1", "MIC BIAS3", /* MIC1 on schematics */ 121 "VA DMIC2", "MIC BIAS1", 122 "VA DMIC3", "MIC BIAS1", 123 "VA DMIC0", "VA MIC BIAS3", 124 "VA DMIC1", "VA MIC BIAS3", 125 "VA DMIC2", "VA MIC BIAS1", 126 "VA DMIC3", "VA MIC BIAS1", 127 "TX SWR_INPUT1", "ADC2_OUTPUT"; 128 129 wcd-playback-dai-link { 130 link-name = "WCD Playback"; 131 132 codec { 133 sound-dai = <&wcd939x 0>, <&swr1 0>, <&lpass_rxmacro 0>; 134 }; 135 136 cpu { 137 sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>; 138 }; 139 140 platform { 141 sound-dai = <&q6apm>; 142 }; 143 }; 144 145 wcd-capture-dai-link { 146 link-name = "WCD Capture"; 147 148 codec { 149 sound-dai = <&wcd939x 1>, <&swr2 0>, <&lpass_txmacro 0>; 150 }; 151 152 cpu { 153 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>; 154 }; 155 156 platform { 157 sound-dai = <&q6apm>; 158 }; 159 }; 160 161 wsa-dai-link { 162 link-name = "WSA Playback"; 163 164 codec { 165 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro 0>; 166 }; 167 168 cpu { 169 sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>; 170 }; 171 172 platform { 173 sound-dai = <&q6apm>; 174 }; 175 }; 176 177 va-dai-link { 178 link-name = "VA Capture"; 179 180 codec { 181 sound-dai = <&lpass_vamacro 0>; 182 }; 183 184 cpu { 185 sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>; 186 }; 187 188 platform { 189 sound-dai = <&q6apm>; 190 }; 191 }; 192 }; 193 194 vph_pwr: vph-pwr-regulator { 195 compatible = "regulator-fixed"; 196 197 regulator-name = "vph_pwr"; 198 regulator-min-microvolt = <3700000>; 199 regulator-max-microvolt = <3700000>; 200 201 regulator-always-on; 202 regulator-boot-on; 203 }; 204 205 /* 206 * MTPs rev 2.0 (power grid v8) come with two different WiFi chips: 207 * WCN7850 and WCN786x. 208 * Device nodes here for the PMU, WiFi and Bluetooth describe the MTP 209 * variant with WCN7850. 210 */ 211 wcn7850-pmu { 212 compatible = "qcom,wcn7850-pmu"; 213 214 pinctrl-names = "default"; 215 pinctrl-0 = <&wlan_en>, <&bt_default>; 216 217 wlan-enable-gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>; 218 bt-enable-gpios = <&pm8550ve_f_gpios 3 GPIO_ACTIVE_HIGH>; 219 220 vdd-supply = <&vreg_s5f_0p85>; 221 vddio-supply = <&vreg_l3f_1p8>; 222 vddio1p2-supply = <&vreg_l2f_1p2>; 223 vddaon-supply = <&vreg_s4d_0p85>; 224 vdddig-supply = <&vreg_s1d_0p97>; 225 vddrfa1p2-supply = <&vreg_s7i_1p2>; 226 vddrfa1p8-supply = <&vreg_s3g_1p8>; 227 228 clocks = <&rpmhcc RPMH_RF_CLK1>; 229 230 regulators { 231 vreg_pmu_rfa_cmn: ldo0 { 232 regulator-name = "vreg_pmu_rfa_cmn"; 233 }; 234 235 vreg_pmu_aon_0p59: ldo1 { 236 regulator-name = "vreg_pmu_aon_0p59"; 237 }; 238 239 vreg_pmu_wlcx_0p8: ldo2 { 240 regulator-name = "vreg_pmu_wlcx_0p8"; 241 }; 242 243 vreg_pmu_wlmx_0p85: ldo3 { 244 regulator-name = "vreg_pmu_wlmx_0p85"; 245 }; 246 247 vreg_pmu_btcmx_0p85: ldo4 { 248 regulator-name = "vreg_pmu_btcmx_0p85"; 249 }; 250 251 vreg_pmu_rfa_0p8: ldo5 { 252 regulator-name = "vreg_pmu_rfa_0p8"; 253 }; 254 255 vreg_pmu_rfa_1p2: ldo6 { 256 regulator-name = "vreg_pmu_rfa_1p2"; 257 }; 258 259 vreg_pmu_rfa_1p8: ldo7 { 260 regulator-name = "vreg_pmu_rfa_1p8"; 261 }; 262 263 vreg_pmu_pcie_0p9: ldo8 { 264 regulator-name = "vreg_pmu_pcie_0p9"; 265 }; 266 267 vreg_pmu_pcie_1p8: ldo9 { 268 regulator-name = "vreg_pmu_pcie_1p8"; 269 }; 270 }; 271 }; 272}; 273 274&apps_rsc { 275 regulators-0 { 276 compatible = "qcom,pm8550-rpmh-regulators"; 277 278 vdd-bob1-supply = <&vph_pwr>; 279 vdd-bob2-supply = <&vph_pwr>; 280 vdd-l1-l4-l10-supply = <&vreg_s3g_1p8>; 281 vdd-l2-l13-l14-supply = <&vreg_bob1>; 282 vdd-l3-supply = <&vreg_s7i_1p2>; 283 vdd-l5-l16-supply = <&vreg_bob1>; 284 vdd-l6-l7-supply = <&vreg_bob1>; 285 vdd-l8-l9-supply = <&vreg_bob1>; 286 vdd-l11-supply = <&vreg_s7i_1p2>; 287 vdd-l12-supply = <&vreg_s3g_1p8>; 288 vdd-l15-supply = <&vreg_s3g_1p8>; 289 vdd-l17-supply = <&vreg_bob2>; 290 291 qcom,pmic-id = "b"; 292 293 vreg_bob1: bob1 { 294 regulator-name = "vreg_bob1"; 295 regulator-min-microvolt = <3008000>; 296 regulator-max-microvolt = <4000000>; 297 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 298 }; 299 300 vreg_bob2: bob2 { 301 regulator-name = "vreg_bob2"; 302 regulator-min-microvolt = <2704000>; 303 regulator-max-microvolt = <3008000>; 304 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 305 }; 306 307 vreg_l1b_1p8: ldo1 { 308 regulator-name = "vreg_l1b_1p8"; 309 regulator-min-microvolt = <1800000>; 310 regulator-max-microvolt = <1800000>; 311 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 312 regulator-allow-set-load; 313 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 314 RPMH_REGULATOR_MODE_HPM>; 315 }; 316 317 vreg_l2b_3p0: ldo2 { 318 regulator-name = "vreg_l2b_3p0"; 319 regulator-min-microvolt = <3008000>; 320 regulator-max-microvolt = <3048000>; 321 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 322 regulator-allow-set-load; 323 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 324 RPMH_REGULATOR_MODE_HPM>; 325 }; 326 327 vreg_l4b_1p8: ldo4 { 328 regulator-name = "vreg_l4b_1p8"; 329 regulator-min-microvolt = <1800000>; 330 regulator-max-microvolt = <1800000>; 331 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 332 regulator-allow-set-load; 333 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 334 RPMH_REGULATOR_MODE_HPM>; 335 }; 336 337 vreg_l5b_3p1: ldo5 { 338 regulator-name = "vreg_l5b_3p1"; 339 regulator-min-microvolt = <3100000>; 340 regulator-max-microvolt = <3148000>; 341 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 342 regulator-allow-set-load; 343 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 344 RPMH_REGULATOR_MODE_HPM>; 345 }; 346 347 vreg_l6b_1p8: ldo6 { 348 regulator-name = "vreg_l6b_1p8"; 349 regulator-min-microvolt = <1800000>; 350 regulator-max-microvolt = <3008000>; 351 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 352 regulator-allow-set-load; 353 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 354 RPMH_REGULATOR_MODE_HPM>; 355 }; 356 357 vreg_l7b_1p8: ldo7 { 358 regulator-name = "vreg_l7b_1p8"; 359 regulator-min-microvolt = <1800000>; 360 regulator-max-microvolt = <3008000>; 361 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 362 regulator-allow-set-load; 363 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 364 RPMH_REGULATOR_MODE_HPM>; 365 366 }; 367 368 vreg_l8b_1p8: ldo8 { 369 regulator-name = "vreg_l8b_1p8"; 370 regulator-min-microvolt = <1800000>; 371 regulator-max-microvolt = <3008000>; 372 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 373 regulator-allow-set-load; 374 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 375 RPMH_REGULATOR_MODE_HPM>; 376 }; 377 378 vreg_l9b_2p9: ldo9 { 379 regulator-name = "vreg_l9b_2p9"; 380 regulator-min-microvolt = <2960000>; 381 regulator-max-microvolt = <3008000>; 382 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 383 regulator-allow-set-load; 384 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 385 RPMH_REGULATOR_MODE_HPM>; 386 }; 387 388 vreg_l10b_1p8: ldo10 { 389 regulator-name = "vreg_l10b_1p8"; 390 regulator-min-microvolt = <1800000>; 391 regulator-max-microvolt = <1800000>; 392 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 393 regulator-allow-set-load; 394 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 395 RPMH_REGULATOR_MODE_HPM>; 396 }; 397 398 vreg_l11b_1p0: ldo11 { 399 regulator-name = "vreg_l11b_1p0"; 400 regulator-min-microvolt = <1064000>; 401 regulator-max-microvolt = <1292000>; 402 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 403 regulator-allow-set-load; 404 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 405 RPMH_REGULATOR_MODE_HPM>; 406 }; 407 408 vreg_l12b_1p8: ldo12 { 409 regulator-name = "vreg_l12b_1p8"; 410 regulator-min-microvolt = <1200000>; 411 regulator-max-microvolt = <1800000>; 412 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 413 regulator-allow-set-load; 414 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 415 RPMH_REGULATOR_MODE_HPM>; 416 }; 417 418 vreg_l13b_3p0: ldo13 { 419 regulator-name = "vreg_l13b_3p0"; 420 regulator-min-microvolt = <3000000>; 421 regulator-max-microvolt = <3000000>; 422 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 423 regulator-allow-set-load; 424 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 425 RPMH_REGULATOR_MODE_HPM>; 426 }; 427 428 vreg_l14b_3p2: ldo14 { 429 regulator-name = "vreg_l14b_3p2"; 430 regulator-min-microvolt = <3200000>; 431 regulator-max-microvolt = <3200000>; 432 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 433 regulator-allow-set-load; 434 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 435 RPMH_REGULATOR_MODE_HPM>; 436 }; 437 438 vreg_l15b_1p8: ldo15 { 439 regulator-name = "vreg_l15b_1p8"; 440 regulator-min-microvolt = <1800000>; 441 regulator-max-microvolt = <1800000>; 442 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 443 regulator-allow-set-load; 444 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 445 RPMH_REGULATOR_MODE_HPM>; 446 }; 447 448 vreg_l16b_2p8: ldo16 { 449 regulator-name = "vreg_l16b_2p8"; 450 regulator-min-microvolt = <2800000>; 451 regulator-max-microvolt = <2800000>; 452 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 453 regulator-allow-set-load; 454 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 455 RPMH_REGULATOR_MODE_HPM>; 456 }; 457 458 vreg_l17b_2p5: ldo17 { 459 regulator-name = "vreg_l17b_2p5"; 460 regulator-min-microvolt = <2504000>; 461 regulator-max-microvolt = <2504000>; 462 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 463 regulator-allow-set-load; 464 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 465 RPMH_REGULATOR_MODE_HPM>; 466 }; 467 }; 468 469 regulators-1 { 470 compatible = "qcom,pm8550ve-rpmh-regulators"; 471 472 vdd-l1-supply = <&vreg_s7i_1p2>; 473 vdd-l2-supply = <&vreg_s1d_0p97>; 474 vdd-l3-supply = <&vreg_s1d_0p97>; 475 vdd-s1-supply = <&vph_pwr>; 476 vdd-s3-supply = <&vph_pwr>; 477 vdd-s4-supply = <&vph_pwr>; 478 479 qcom,pmic-id = "d"; 480 481 vreg_s1d_0p97: smps1 { 482 regulator-name = "vreg_s1d_0p97"; 483 regulator-min-microvolt = <880000>; 484 regulator-max-microvolt = <1100000>; 485 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 486 }; 487 488 vreg_s3d_1p2: smps3 { 489 regulator-name = "vreg_s3d_1p2"; 490 regulator-min-microvolt = <1200000>; 491 regulator-max-microvolt = <1300000>; 492 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 493 }; 494 495 vreg_s4d_0p85: smps4 { 496 regulator-name = "vreg_s4d_0p85"; 497 regulator-min-microvolt = <852000>; 498 regulator-max-microvolt = <1036000>; 499 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 500 }; 501 502 vreg_l1d_1p2: ldo1 { 503 regulator-name = "vreg_l1d_1p2"; 504 regulator-min-microvolt = <1200000>; 505 regulator-max-microvolt = <1200000>; 506 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 507 regulator-allow-set-load; 508 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 509 RPMH_REGULATOR_MODE_HPM>; 510 }; 511 512 vreg_l2d_0p88: ldo2 { 513 regulator-name = "vreg_l2d_0p88"; 514 regulator-min-microvolt = <880000>; 515 regulator-max-microvolt = <912000>; 516 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 517 regulator-allow-set-load; 518 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 519 RPMH_REGULATOR_MODE_HPM>; 520 }; 521 522 vreg_l3d_0p88: ldo3 { 523 regulator-name = "vreg_l3d_0p88"; 524 regulator-min-microvolt = <880000>; 525 regulator-max-microvolt = <920000>; 526 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 527 regulator-allow-set-load; 528 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 529 RPMH_REGULATOR_MODE_HPM>; 530 }; 531 }; 532 533 regulators-2 { 534 compatible = "qcom,pm8550ve-rpmh-regulators"; 535 536 vdd-l1-supply = <&vreg_s1d_0p97>; 537 vdd-l2-supply = <&vreg_s7i_1p2>; 538 vdd-l3-supply = <&vreg_s3g_1p8>; 539 vdd-s5-supply = <&vph_pwr>; 540 541 qcom,pmic-id = "f"; 542 543 vreg_s5f_0p85: smps5 { 544 regulator-name = "vreg_s5f_0p85"; 545 regulator-min-microvolt = <852000>; 546 regulator-max-microvolt = <1000000>; 547 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 548 }; 549 550 vreg_l1f_0p88: ldo1 { 551 regulator-name = "vreg_l1f_0p88"; 552 regulator-min-microvolt = <880000>; 553 regulator-max-microvolt = <920000>; 554 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 555 regulator-allow-set-load; 556 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 557 RPMH_REGULATOR_MODE_HPM>; 558 }; 559 560 vreg_l2f_1p2: ldo2 { 561 regulator-name = "vreg_l2f_1p2"; 562 regulator-min-microvolt = <1200000>; 563 regulator-max-microvolt = <1200000>; 564 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 565 regulator-allow-set-load; 566 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 567 RPMH_REGULATOR_MODE_HPM>; 568 }; 569 570 vreg_l3f_1p8: ldo3 { 571 regulator-name = "vreg_l3f_1p8"; 572 regulator-min-microvolt = <1800000>; 573 regulator-max-microvolt = <1800000>; 574 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 575 regulator-allow-set-load; 576 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 577 RPMH_REGULATOR_MODE_HPM>; 578 }; 579 580 }; 581 582 regulators-3 { 583 compatible = "qcom,pm8550ve-rpmh-regulators"; 584 585 vdd-l1-supply = <&vreg_s1d_0p97>; 586 vdd-l2-supply = <&vreg_s3g_1p8>; 587 vdd-l3-supply = <&vreg_s7i_1p2>; 588 vdd-s1-supply = <&vph_pwr>; 589 vdd-s3-supply = <&vph_pwr>; 590 591 qcom,pmic-id = "g"; 592 593 vreg_s1g_0p5: smps1 { 594 regulator-name = "vreg_s1g_0p5"; 595 regulator-min-microvolt = <300000>; 596 regulator-max-microvolt = <700000>; 597 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 598 }; 599 600 vreg_s3g_1p8: smps3 { 601 regulator-name = "vreg_s3g_1p8"; 602 regulator-min-microvolt = <1856000>; 603 regulator-max-microvolt = <2000000>; 604 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 605 regulator-allow-set-load; 606 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 607 RPMH_REGULATOR_MODE_HPM>; 608 }; 609 610 vreg_s4g_0p75: smps4 { 611 regulator-name = "vreg_s4g_0p75"; 612 regulator-min-microvolt = <300000>; 613 regulator-max-microvolt = <900000>; 614 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 615 }; 616 617 vreg_l1g_0p91: ldo1 { 618 regulator-name = "vreg_l1g_0p91"; 619 regulator-min-microvolt = <912000>; 620 regulator-max-microvolt = <936000>; 621 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 622 regulator-allow-set-load; 623 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 624 RPMH_REGULATOR_MODE_HPM>; 625 }; 626 627 vreg_l2g_1p8: ldo2 { 628 regulator-name = "vreg_l2g_1p8"; 629 regulator-min-microvolt = <1200000>; 630 regulator-max-microvolt = <1860000>; 631 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 632 regulator-allow-set-load; 633 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 634 RPMH_REGULATOR_MODE_HPM>; 635 }; 636 637 vreg_l3g_1p2: ldo3 { 638 regulator-name = "vreg_l3g_1p2"; 639 regulator-min-microvolt = <1200000>; 640 regulator-max-microvolt = <1256000>; 641 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 642 regulator-allow-set-load; 643 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 644 RPMH_REGULATOR_MODE_HPM>; 645 }; 646 }; 647 648 regulators-4 { 649 compatible = "qcom,pm8550ve-rpmh-regulators"; 650 651 vdd-l1-supply = <&vreg_s7i_1p2>; 652 vdd-l2-supply = <&vreg_s7i_1p2>; 653 vdd-l3-supply = <&vreg_s1d_0p97>; 654 vdd-s7-supply = <&vph_pwr>; 655 vdd-s8-supply = <&vph_pwr>; 656 657 qcom,pmic-id = "i"; 658 659 vreg_s7i_1p2: smps7 { 660 regulator-name = "vreg_s7i_1p2"; 661 regulator-min-microvolt = <1224000>; 662 regulator-max-microvolt = <1340000>; 663 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 664 }; 665 666 vreg_s8i_0p9: smps8 { 667 regulator-name = "vreg_s8i_0p9"; 668 regulator-min-microvolt = <900000>; 669 regulator-max-microvolt = <972000>; 670 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 671 }; 672 673 vreg_l1i_1p2: ldo1 { 674 regulator-name = "vreg_l1i_1p2"; 675 regulator-min-microvolt = <1200000>; 676 regulator-max-microvolt = <1200000>; 677 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 678 regulator-allow-set-load; 679 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 680 RPMH_REGULATOR_MODE_HPM>; 681 }; 682 683 vreg_l2i_1p2: ldo2 { 684 regulator-name = "vreg_l2i_1p2"; 685 regulator-min-microvolt = <1200000>; 686 regulator-max-microvolt = <1200000>; 687 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 688 regulator-allow-set-load; 689 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 690 RPMH_REGULATOR_MODE_HPM>; 691 }; 692 693 vreg_l3i_0p88: ldo3 { 694 regulator-name = "vreg_l3i_0p88"; 695 regulator-min-microvolt = <880000>; 696 regulator-max-microvolt = <912000>; 697 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 698 regulator-allow-set-load; 699 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 700 RPMH_REGULATOR_MODE_HPM>; 701 }; 702 }; 703 704 regulators-5 { 705 compatible = "qcom,pm8550vs-rpmh-regulators"; 706 707 vdd-l1-supply = <&vreg_s1d_0p97>; 708 vdd-l2-supply = <&vreg_s7i_1p2>; 709 vdd-s2-supply = <&vph_pwr>; 710 vdd-s3-supply = <&vph_pwr>; 711 vdd-s4-supply = <&vph_pwr>; 712 713 qcom,pmic-id = "j"; 714 715 vreg_s2j_1p1: smps2 { 716 regulator-name = "vreg_s2j_1p1"; 717 regulator-min-microvolt = <1000000>; 718 regulator-max-microvolt = <1100000>; 719 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 720 }; 721 722 vreg_s3j_1p1: smps3 { 723 regulator-name = "vreg_s3j_1p1"; 724 regulator-min-microvolt = <1000000>; 725 regulator-max-microvolt = <1100000>; 726 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 727 }; 728 729 vreg_l1j_0p91: ldo1 { 730 regulator-name = "vreg_l1j_0p91"; 731 regulator-min-microvolt = <880000>; 732 regulator-max-microvolt = <920000>; 733 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 734 regulator-allow-set-load; 735 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 736 RPMH_REGULATOR_MODE_HPM>; 737 }; 738 739 vreg_l2j_1p2: ldo2 { 740 regulator-name = "vreg_l2j_1p2"; 741 regulator-min-microvolt = <1200000>; 742 regulator-max-microvolt = <1200000>; 743 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 744 regulator-allow-set-load; 745 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 746 RPMH_REGULATOR_MODE_HPM>; 747 }; 748 }; 749 750 regulators-6 { 751 compatible = "qcom,pm8010-rpmh-regulators"; 752 qcom,pmic-id = "m"; 753 754 vdd-l1-l2-supply = <&vreg_s7i_1p2>; 755 vdd-l3-l4-supply = <&vreg_bob2>; 756 vdd-l5-supply = <&vreg_s3g_1p8>; 757 vdd-l6-supply = <&vreg_bob1>; 758 vdd-l7-supply = <&vreg_bob1>; 759 760 vreg_l1m_1p1: ldo1 { 761 regulator-name = "vreg_l1m_1p1"; 762 regulator-min-microvolt = <1104000>; 763 regulator-max-microvolt = <1104000>; 764 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 765 regulator-allow-set-load; 766 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 767 RPMH_REGULATOR_MODE_HPM>; 768 }; 769 770 vreg_l2m_1p056: ldo2 { 771 regulator-name = "vreg_l2m_1p056"; 772 regulator-min-microvolt = <1056000>; 773 regulator-max-microvolt = <1056000>; 774 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 775 regulator-allow-set-load; 776 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 777 RPMH_REGULATOR_MODE_HPM>; 778 }; 779 780 vreg_l3m_2p8: ldo3 { 781 regulator-name = "vreg_l3m_2p8"; 782 regulator-min-microvolt = <2800000>; 783 regulator-max-microvolt = <2800000>; 784 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 785 }; 786 787 vreg_l4m_2p8: ldo4 { 788 regulator-name = "vreg_l4m_2p8"; 789 regulator-min-microvolt = <2800000>; 790 regulator-max-microvolt = <2800000>; 791 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 792 }; 793 794 vreg_l5m_1p8: ldo5 { 795 regulator-name = "vreg_l5m_1p8"; 796 regulator-min-microvolt = <1800000>; 797 regulator-max-microvolt = <1800000>; 798 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 799 }; 800 801 vreg_l6m_2p8: ldo6 { 802 regulator-name = "vreg_l6m_2p8"; 803 regulator-min-microvolt = <2800000>; 804 regulator-max-microvolt = <2800000>; 805 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 806 }; 807 808 vreg_l7m_2p96: ldo7 { 809 regulator-name = "vreg_l7m_2p96"; 810 regulator-min-microvolt = <2960000>; 811 regulator-max-microvolt = <2960000>; 812 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 813 }; 814 }; 815 816 regulators-7 { 817 compatible = "qcom,pm8010-rpmh-regulators"; 818 qcom,pmic-id = "n"; 819 820 vdd-l1-l2-supply = <&vreg_s7i_1p2>; 821 vdd-l3-l4-supply = <&vreg_s3g_1p8>; 822 vdd-l5-supply = <&vreg_bob2>; 823 vdd-l6-supply = <&vreg_bob2>; 824 vdd-l7-supply = <&vreg_bob1>; 825 826 vreg_l1n_1p1: ldo1 { 827 regulator-name = "vreg_l1n_1p1"; 828 regulator-min-microvolt = <1104000>; 829 regulator-max-microvolt = <1104000>; 830 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 831 regulator-allow-set-load; 832 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 833 RPMH_REGULATOR_MODE_HPM>; 834 }; 835 836 vreg_l2n_1p1: ldo2 { 837 regulator-name = "vreg_l2n_1p1"; 838 regulator-min-microvolt = <1104000>; 839 regulator-max-microvolt = <1104000>; 840 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 841 regulator-allow-set-load; 842 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM 843 RPMH_REGULATOR_MODE_HPM>; 844 }; 845 846 vreg_l3n_1p8: ldo3 { 847 regulator-name = "vreg_l3n_1p8"; 848 regulator-min-microvolt = <1800000>; 849 regulator-max-microvolt = <1800000>; 850 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 851 }; 852 853 vreg_l4n_1p8: ldo4 { 854 regulator-name = "vreg_l4n_1p8"; 855 regulator-min-microvolt = <1800000>; 856 regulator-max-microvolt = <1800000>; 857 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 858 }; 859 860 vreg_l5n_2p8: ldo5 { 861 regulator-name = "vreg_l5n_2p8"; 862 regulator-min-microvolt = <2800000>; 863 regulator-max-microvolt = <2800000>; 864 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 865 }; 866 867 vreg_l6n_2p8: ldo6 { 868 regulator-name = "vreg_l6n_2p8"; 869 regulator-min-microvolt = <2800000>; 870 regulator-max-microvolt = <2800000>; 871 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 872 }; 873 874 vreg_l7n_3p3: ldo7 { 875 regulator-name = "vreg_l7n_3p3"; 876 regulator-min-microvolt = <3304000>; 877 regulator-max-microvolt = <3304000>; 878 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 879 }; 880 }; 881}; 882 883&lpass_vamacro { 884 pinctrl-0 = <&dmic01_default>, <&dmic23_default>; 885 pinctrl-names = "default"; 886 887 vdd-micb-supply = <&vreg_l1b_1p8>; 888 qcom,dmic-sample-rate = <4800000>; 889}; 890 891&pm8550_flash { 892 status = "okay"; 893 894 led-0 { 895 function = LED_FUNCTION_FLASH; 896 color = <LED_COLOR_ID_YELLOW>; 897 led-sources = <1>, <4>; 898 led-max-microamp = <500000>; 899 flash-max-microamp = <2000000>; 900 flash-max-timeout-us = <1280000>; 901 function-enumerator = <0>; 902 }; 903 904 led-1 { 905 function = LED_FUNCTION_FLASH; 906 color = <LED_COLOR_ID_WHITE>; 907 led-sources = <2>, <3>; 908 led-max-microamp = <500000>; 909 flash-max-microamp = <2000000>; 910 flash-max-timeout-us = <1280000>; 911 function-enumerator = <1>; 912 }; 913}; 914 915&pm8550_gpios { 916 volume_up_n: volume-up-n-state { 917 pins = "gpio6"; 918 function = "normal"; 919 bias-pull-up; 920 input-enable; 921 power-source = <1>; 922 }; 923}; 924 925&pm8550_pwm { 926 status = "okay"; 927 928 multi-led { 929 color = <LED_COLOR_ID_RGB>; 930 function = LED_FUNCTION_STATUS; 931 932 #address-cells = <1>; 933 #size-cells = <0>; 934 935 led@1 { 936 reg = <1>; 937 color = <LED_COLOR_ID_RED>; 938 }; 939 940 led@2 { 941 reg = <2>; 942 color = <LED_COLOR_ID_GREEN>; 943 }; 944 945 led@3 { 946 reg = <3>; 947 color = <LED_COLOR_ID_BLUE>; 948 }; 949 }; 950}; 951 952&pon_pwrkey { 953 status = "okay"; 954}; 955 956&pon_resin { 957 linux,code = <KEY_VOLUMEDOWN>; 958 959 status = "okay"; 960}; 961 962&pcie0 { 963 wake-gpios = <&tlmm 104 GPIO_ACTIVE_HIGH>; 964 perst-gpios = <&tlmm 102 GPIO_ACTIVE_LOW>; 965 966 pinctrl-0 = <&pcie0_default_state>; 967 pinctrl-names = "default"; 968 969 status = "okay"; 970}; 971 972&pcie0_phy { 973 vdda-phy-supply = <&vreg_l1f_0p88>; 974 vdda-pll-supply = <&vreg_l3g_1p2>; 975 976 status = "okay"; 977}; 978 979&pcieport0 { 980 wifi@0 { 981 compatible = "pci17cb,1107"; 982 reg = <0x10000 0x0 0x0 0x0 0x0>; 983 984 vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; 985 vddaon-supply = <&vreg_pmu_aon_0p59>; 986 vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; 987 vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; 988 vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; 989 vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; 990 vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; 991 vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>; 992 vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>; 993 }; 994}; 995 996&pmih0108_eusb2_repeater { 997 status = "okay"; 998 999 vdd18-supply = <&vreg_l15b_1p8>; 1000 vdd3-supply = <&vreg_l5b_3p1>; 1001}; 1002 1003&qupv3_1 { 1004 status = "okay"; 1005}; 1006 1007&qupv3_2 { 1008 status = "okay"; 1009}; 1010 1011&remoteproc_adsp { 1012 firmware-name = "qcom/sm8750/adsp.mbn", 1013 "qcom/sm8750/adsp_dtb.mbn"; 1014 1015 status = "okay"; 1016}; 1017 1018&remoteproc_cdsp { 1019 firmware-name = "qcom/sm8750/cdsp.mbn", 1020 "qcom/sm8750/cdsp_dtb.mbn"; 1021 1022 status = "okay"; 1023}; 1024 1025&remoteproc_mpss { 1026 firmware-name = "qcom/sm8750/modem.mbn", 1027 "qcom/sm8750/modem_dtb.mbn"; 1028 1029 /* Modem crashes after some time with "DOG detects stalled initialization" */ 1030 status = "fail"; 1031}; 1032 1033&swr0 { 1034 status = "okay"; 1035 1036 /* WSA883x, left/front speaker */ 1037 left_spkr: speaker@0,1 { 1038 compatible = "sdw10217020200"; 1039 reg = <0 1>; 1040 pinctrl-0 = <&spkr_0_sd_n_active>; 1041 pinctrl-names = "default"; 1042 powerdown-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>; 1043 #sound-dai-cells = <0>; 1044 sound-name-prefix = "SpkrLeft"; 1045 #thermal-sensor-cells = <0>; 1046 vdd-supply = <&vreg_l15b_1p8>; 1047 /* 1048 * WSA8835 Port 1 (DAC) <=> SWR0 Port 1 (SPKR_L) 1049 * WSA8835 Port 2 (COMP) <=> SWR0 Port 2 (SPKR_L_COMP) 1050 * WSA8835 Port 3 (BOOST) <=> SWR0 Port 3 (SPKR_L_BOOST) 1051 * WSA8835 Port 4 (VISENSE) <=> SWR0 Port 10 (SPKR_L_VI) 1052 */ 1053 qcom,port-mapping = <1 2 3 10>; 1054 }; 1055 1056 /* WSA883x, right/back speaker */ 1057 right_spkr: speaker@0,2 { 1058 compatible = "sdw10217020200"; 1059 reg = <0 2>; 1060 pinctrl-0 = <&spkr_1_sd_n_active>; 1061 pinctrl-names = "default"; 1062 powerdown-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>; 1063 #sound-dai-cells = <0>; 1064 sound-name-prefix = "SpkrRight"; 1065 #thermal-sensor-cells = <0>; 1066 vdd-supply = <&vreg_l15b_1p8>; 1067 /* 1068 * WSA8835 Port 1 (DAC) <=> SWR0 Port 4 (SPKR_R) 1069 * WSA8835 Port 2 (COMP) <=> SWR0 Port 5 (SPKR_R_COMP) 1070 * WSA8835 Port 3 (BOOST) <=> SWR0 Port 6 (SPKR_R_BOOST) 1071 * WSA8835 Port 4 (VISENSE) <=> SWR0 Port 11 (SPKR_R_VI) 1072 */ 1073 qcom,port-mapping = <4 5 6 11>; 1074 }; 1075}; 1076 1077&swr1 { 1078 status = "okay"; 1079 1080 /* WCD9395 RX */ 1081 wcd_rx: codec@0,4 { 1082 compatible = "sdw20217010e00"; 1083 reg = <0 4>; 1084 1085 /* 1086 * WCD9395 RX Port 1 (HPH_L/R) <=> SWR1 Port 1 (HPH_L/R) 1087 * WCD9395 RX Port 2 (CLSH) <=> SWR1 Port 2 (CLSH) 1088 * WCD9395 RX Port 3 (COMP_L/R) <=> SWR1 Port 3 (COMP_L/R) 1089 * WCD9395 RX Port 4 (LO) <=> SWR1 Port 4 (LO) 1090 * WCD9395 RX Port 5 (DSD_L/R) <=> SWR1 Port 5 (DSD_L/R) 1091 * WCD9395 RX Port 6 (HIFI_PCM_L/R) <=> SWR1 Port 9 (HIFI_PCM_L/R) 1092 */ 1093 qcom,rx-port-mapping = <1 2 3 4 5 9>; 1094 }; 1095}; 1096 1097&swr2 { 1098 status = "okay"; 1099 1100 /* WCD9395 TX */ 1101 wcd_tx: codec@0,3 { 1102 compatible = "sdw20217010e00"; 1103 reg = <0 3>; 1104 1105 /* 1106 * WCD9395 TX Port 1 (ADC1,2,3,4) <=> SWR2 Port 2 (TX SWR_INPUT 0,1,2,3) 1107 * WCD9395 TX Port 2 (ADC3,4 & DMIC0,1) <=> SWR2 Port 2 (TX SWR_INPUT 0,1,2,3) 1108 * WCD9395 TX Port 3 (DMIC0,1,2,3 & MBHC) <=> SWR2 Port 3 (TX SWR_INPUT 4,5,6,7) 1109 * WCD9395 TX Port 4 (DMIC4,5,6,7) <=> SWR2 Port 4 (TX SWR_INPUT 8,9,10,11) 1110 */ 1111 qcom,tx-port-mapping = <2 2 3 4>; 1112 }; 1113}; 1114 1115&tlmm { 1116 /* reserved for secure world */ 1117 gpio-reserved-ranges = <36 4>, <74 1>; 1118}; 1119 1120&uart7 { 1121 status = "okay"; 1122}; 1123 1124/* Pinctrl */ 1125&lpass_tlmm { 1126 spkr_0_sd_n_active: spkr-0-sd-n-active-state { 1127 pins = "gpio17"; 1128 function = "gpio"; 1129 drive-strength = <16>; 1130 bias-disable; 1131 output-low; 1132 }; 1133 1134 spkr_1_sd_n_active: spkr-1-sd-n-active-state { 1135 pins = "gpio18"; 1136 function = "gpio"; 1137 drive-strength = <16>; 1138 bias-disable; 1139 output-low; 1140 }; 1141}; 1142 1143&tlmm { 1144 bt_default: bt-default-state { 1145 sw-ctrl-pins { 1146 pins = "gpio18"; 1147 function = "gpio"; 1148 bias-pull-down; 1149 }; 1150 }; 1151 1152 wcd_default: wcd-reset-n-active-state { 1153 pins = "gpio101"; 1154 function = "gpio"; 1155 drive-strength = <16>; 1156 bias-disable; 1157 output-low; 1158 }; 1159 1160 wlan_en: wlan-en-state { 1161 pins = "gpio16"; 1162 function = "gpio"; 1163 drive-strength = <8>; 1164 bias-pull-down; 1165 }; 1166}; 1167 1168&uart14 { 1169 status = "okay"; 1170 1171 bluetooth { 1172 compatible = "qcom,wcn7850-bt"; 1173 1174 vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; 1175 vddaon-supply = <&vreg_pmu_aon_0p59>; 1176 vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; 1177 vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; 1178 vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; 1179 vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; 1180 vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; 1181 1182 max-speed = <3200000>; 1183 }; 1184}; 1185 1186&ufs_mem_phy { 1187 vdda-phy-supply = <&vreg_l1j_0p91>; 1188 vdda-pll-supply = <&vreg_l3g_1p2>; 1189 1190 status = "okay"; 1191}; 1192 1193&ufs_mem_hc { 1194 reset-gpios = <&tlmm 215 GPIO_ACTIVE_LOW>; 1195 1196 vcc-supply = <&vreg_l17b_2p5>; 1197 vcc-max-microamp = <1300000>; 1198 vccq-supply = <&vreg_l1d_1p2>; 1199 vccq-max-microamp = <1200000>; 1200 1201 status = "okay"; 1202}; 1203