1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. 4 */ 5 6/dts-v1/; 7 8#include "hamoa-iot-som.dtsi" 9 10/ { 11 model = "Qualcomm Technologies, Inc. Hamoa IoT EVK"; 12 compatible = "qcom,hamoa-iot-evk", "qcom,hamoa-iot-som", "qcom,x1e80100"; 13 chassis-type = "embedded"; 14 15 aliases { 16 serial0 = &uart21; 17 serial1 = &uart14; 18 }; 19 20 wcd938x: audio-codec { 21 compatible = "qcom,wcd9385-codec"; 22 23 pinctrl-0 = <&wcd_default>; 24 pinctrl-names = "default"; 25 26 reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>; 27 28 qcom,micbias1-microvolt = <1800000>; 29 qcom,micbias2-microvolt = <1800000>; 30 qcom,micbias3-microvolt = <1800000>; 31 qcom,micbias4-microvolt = <1800000>; 32 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 33 500000 500000 500000 500000>; 34 qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 35 qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 36 qcom,rx-device = <&wcd_rx>; 37 qcom,tx-device = <&wcd_tx>; 38 39 vdd-buck-supply = <&vreg_l15b_1p8>; 40 vdd-rxtx-supply = <&vreg_l15b_1p8>; 41 vdd-io-supply = <&vreg_l15b_1p8>; 42 vdd-mic-bias-supply = <&vreg_bob1>; 43 44 #sound-dai-cells = <1>; 45 }; 46 47 chosen { 48 stdout-path = "serial0:115200n8"; 49 }; 50 51 pmic-glink { 52 compatible = "qcom,x1e80100-pmic-glink", 53 "qcom,sm8550-pmic-glink", 54 "qcom,pmic-glink"; 55 #address-cells = <1>; 56 #size-cells = <0>; 57 orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>, 58 <&tlmm 123 GPIO_ACTIVE_HIGH>, 59 <&tlmm 125 GPIO_ACTIVE_HIGH>; 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_ss0_hs_in: endpoint { 75 remote-endpoint = <&usb_1_ss0_dwc3_hs>; 76 }; 77 }; 78 79 port@1 { 80 reg = <1>; 81 82 pmic_glink_ss0_ss_in: endpoint { 83 remote-endpoint = <&usb_1_ss0_qmpphy_out>; 84 }; 85 }; 86 87 port@2 { 88 reg = <2>; 89 90 pmic_glink_ss0_sbu: endpoint { 91 remote-endpoint = <&usb_1_ss0_sbu_mux>; 92 }; 93 }; 94 }; 95 }; 96 97 connector@1 { 98 compatible = "usb-c-connector"; 99 reg = <1>; 100 power-role = "dual"; 101 data-role = "dual"; 102 103 ports { 104 #address-cells = <1>; 105 #size-cells = <0>; 106 107 port@0 { 108 reg = <0>; 109 110 pmic_glink_ss1_hs_in: endpoint { 111 remote-endpoint = <&usb_1_ss1_dwc3_hs>; 112 }; 113 }; 114 115 port@1 { 116 reg = <1>; 117 118 pmic_glink_ss1_ss_in: endpoint { 119 remote-endpoint = <&retimer_ss1_ss_out>; 120 }; 121 }; 122 123 port@2 { 124 reg = <2>; 125 126 pmic_glink_ss1_con_sbu_in: endpoint { 127 remote-endpoint = <&retimer_ss1_con_sbu_out>; 128 }; 129 }; 130 }; 131 }; 132 133 connector@2 { 134 compatible = "usb-c-connector"; 135 reg = <2>; 136 power-role = "dual"; 137 data-role = "dual"; 138 139 ports { 140 #address-cells = <1>; 141 #size-cells = <0>; 142 143 port@0 { 144 reg = <0>; 145 146 pmic_glink_ss2_hs_in: endpoint { 147 remote-endpoint = <&usb_1_ss2_dwc3_hs>; 148 }; 149 }; 150 151 port@1 { 152 reg = <1>; 153 154 pmic_glink_ss2_ss_in: endpoint { 155 remote-endpoint = <&retimer_ss2_ss_out>; 156 }; 157 }; 158 159 port@2 { 160 reg = <2>; 161 162 pmic_glink_ss2_con_sbu_in: endpoint { 163 remote-endpoint = <&retimer_ss2_con_sbu_out>; 164 }; 165 }; 166 }; 167 }; 168 }; 169 170 vreg_edp_3p3: regulator-edp-3p3 { 171 compatible = "regulator-fixed"; 172 173 regulator-name = "VREG_EDP_3P3"; 174 regulator-min-microvolt = <3300000>; 175 regulator-max-microvolt = <3300000>; 176 177 gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>; 178 enable-active-high; 179 180 pinctrl-0 = <&edp_reg_en>; 181 pinctrl-names = "default"; 182 183 regulator-boot-on; 184 }; 185 186 vreg_nvme: regulator-nvme { 187 compatible = "regulator-fixed"; 188 189 regulator-name = "VREG_NVME_3P3"; 190 regulator-min-microvolt = <3300000>; 191 regulator-max-microvolt = <3300000>; 192 193 gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>; 194 enable-active-high; 195 196 pinctrl-0 = <&nvme_reg_en>; 197 pinctrl-names = "default"; 198 199 regulator-boot-on; 200 }; 201 202 /* Left unused as the retimer is not used on this board. */ 203 vreg_rtmr0_1p15: regulator-rtmr0-1p15 { 204 compatible = "regulator-fixed"; 205 206 regulator-name = "VREG_RTMR0_1P15"; 207 regulator-min-microvolt = <1150000>; 208 regulator-max-microvolt = <1150000>; 209 210 gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>; 211 enable-active-high; 212 213 pinctrl-0 = <&usb0_pwr_1p15_reg_en>; 214 pinctrl-names = "default"; 215 216 regulator-boot-on; 217 }; 218 219 vreg_rtmr0_1p8: regulator-rtmr0-1p8 { 220 compatible = "regulator-fixed"; 221 222 regulator-name = "VREG_RTMR0_1P8"; 223 regulator-min-microvolt = <1800000>; 224 regulator-max-microvolt = <1800000>; 225 226 gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>; 227 enable-active-high; 228 229 pinctrl-0 = <&usb0_1p8_reg_en>; 230 pinctrl-names = "default"; 231 232 regulator-boot-on; 233 }; 234 235 vreg_rtmr0_3p3: regulator-rtmr0-3p3 { 236 compatible = "regulator-fixed"; 237 238 regulator-name = "VREG_RTMR0_3P3"; 239 regulator-min-microvolt = <3300000>; 240 regulator-max-microvolt = <3300000>; 241 242 gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>; 243 enable-active-high; 244 245 pinctrl-0 = <&usb0_3p3_reg_en>; 246 pinctrl-names = "default"; 247 248 regulator-boot-on; 249 }; 250 251 vreg_rtmr1_1p15: regulator-rtmr1-1p15 { 252 compatible = "regulator-fixed"; 253 254 regulator-name = "VREG_RTMR1_1P15"; 255 regulator-min-microvolt = <1150000>; 256 regulator-max-microvolt = <1150000>; 257 258 gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>; 259 enable-active-high; 260 261 pinctrl-0 = <&usb1_pwr_1p15_reg_en>; 262 pinctrl-names = "default"; 263 264 regulator-boot-on; 265 }; 266 267 vreg_rtmr1_1p8: regulator-rtmr1-1p8 { 268 compatible = "regulator-fixed"; 269 270 regulator-name = "VREG_RTMR1_1P8"; 271 regulator-min-microvolt = <1800000>; 272 regulator-max-microvolt = <1800000>; 273 274 gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>; 275 enable-active-high; 276 277 pinctrl-0 = <&usb1_pwr_1p8_reg_en>; 278 pinctrl-names = "default"; 279 280 regulator-boot-on; 281 }; 282 283 vreg_rtmr1_3p3: regulator-rtmr1-3p3 { 284 compatible = "regulator-fixed"; 285 286 regulator-name = "VREG_RTMR1_3P3"; 287 regulator-min-microvolt = <3300000>; 288 regulator-max-microvolt = <3300000>; 289 290 gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>; 291 enable-active-high; 292 293 pinctrl-0 = <&usb1_pwr_3p3_reg_en>; 294 pinctrl-names = "default"; 295 296 regulator-boot-on; 297 }; 298 299 vreg_rtmr2_1p15: regulator-rtmr2-1p15 { 300 compatible = "regulator-fixed"; 301 302 regulator-name = "VREG_RTMR2_1P15"; 303 regulator-min-microvolt = <1150000>; 304 regulator-max-microvolt = <1150000>; 305 306 gpio = <&tlmm 189 GPIO_ACTIVE_HIGH>; 307 enable-active-high; 308 309 pinctrl-0 = <&usb2_pwr_1p15_reg_en>; 310 pinctrl-names = "default"; 311 312 regulator-boot-on; 313 }; 314 315 vreg_rtmr2_1p8: regulator-rtmr2-1p8 { 316 compatible = "regulator-fixed"; 317 318 regulator-name = "VREG_RTMR2_1P8"; 319 regulator-min-microvolt = <1800000>; 320 regulator-max-microvolt = <1800000>; 321 322 gpio = <&tlmm 126 GPIO_ACTIVE_HIGH>; 323 enable-active-high; 324 325 pinctrl-0 = <&usb2_pwr_1p8_reg_en>; 326 pinctrl-names = "default"; 327 328 regulator-boot-on; 329 }; 330 331 vreg_rtmr2_3p3: regulator-rtmr2-3p3 { 332 compatible = "regulator-fixed"; 333 334 regulator-name = "VREG_RTMR2_3P3"; 335 regulator-min-microvolt = <3300000>; 336 regulator-max-microvolt = <3300000>; 337 338 gpio = <&tlmm 187 GPIO_ACTIVE_HIGH>; 339 enable-active-high; 340 341 pinctrl-0 = <&usb2_pwr_3p3_reg_en>; 342 pinctrl-names = "default"; 343 344 regulator-boot-on; 345 }; 346 347 vph_pwr: regulator-vph-pwr { 348 compatible = "regulator-fixed"; 349 350 regulator-name = "vph_pwr"; 351 regulator-min-microvolt = <3700000>; 352 regulator-max-microvolt = <3700000>; 353 354 regulator-always-on; 355 regulator-boot-on; 356 }; 357 358 /* 359 * TODO: These two regulators are actually part of the removable M.2 360 * card and not the EVK mainboard. Need to describe this differently. 361 * Functionally it works correctly, because all we need to do is to 362 * turn on the actual 3.3V supply above. 363 */ 364 vreg_wcn_0p95: regulator-wcn-0p95 { 365 compatible = "regulator-fixed"; 366 367 regulator-name = "VREG_WCN_0P95"; 368 regulator-min-microvolt = <950000>; 369 regulator-max-microvolt = <950000>; 370 371 vin-supply = <&vreg_wcn_3p3>; 372 }; 373 374 vreg_wcn_1p9: regulator-wcn-1p9 { 375 compatible = "regulator-fixed"; 376 377 regulator-name = "VREG_WCN_1P9"; 378 regulator-min-microvolt = <1900000>; 379 regulator-max-microvolt = <1900000>; 380 381 vin-supply = <&vreg_wcn_3p3>; 382 }; 383 384 vreg_wcn_3p3: regulator-wcn-3p3 { 385 compatible = "regulator-fixed"; 386 387 regulator-name = "VREG_WCN_3P3"; 388 regulator-min-microvolt = <3300000>; 389 regulator-max-microvolt = <3300000>; 390 391 gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>; 392 enable-active-high; 393 394 pinctrl-0 = <&wcn_sw_en>; 395 pinctrl-names = "default"; 396 397 regulator-always-on; 398 regulator-boot-on; 399 }; 400 401 vreg_wwan: regulator-wwan { 402 compatible = "regulator-fixed"; 403 404 regulator-name = "SDX_VPH_PWR"; 405 regulator-min-microvolt = <3300000>; 406 regulator-max-microvolt = <3300000>; 407 408 gpio = <&tlmm 221 GPIO_ACTIVE_HIGH>; 409 enable-active-high; 410 411 pinctrl-0 = <&wwan_sw_en>; 412 pinctrl-names = "default"; 413 414 regulator-boot-on; 415 }; 416 417 sound { 418 compatible = "qcom,x1e80100-sndcard"; 419 model = "X1E80100-EVK"; 420 audio-routing = "WooferLeft IN", "WSA WSA_SPK1 OUT", 421 "TweeterLeft IN", "WSA WSA_SPK2 OUT", 422 "WooferRight IN", "WSA2 WSA_SPK2 OUT", 423 "TweeterRight IN", "WSA2 WSA_SPK2 OUT", 424 "IN1_HPHL", "HPHL_OUT", 425 "IN2_HPHR", "HPHR_OUT", 426 "AMIC2", "MIC BIAS2", 427 "VA DMIC0", "MIC BIAS3", 428 "VA DMIC1", "MIC BIAS3", 429 "VA DMIC2", "MIC BIAS1", 430 "VA DMIC3", "MIC BIAS1", 431 "TX SWR_INPUT1", "ADC2_OUTPUT"; 432 433 wcd-playback-dai-link { 434 link-name = "WCD Playback"; 435 436 codec { 437 sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; 438 }; 439 440 cpu { 441 sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>; 442 }; 443 444 platform { 445 sound-dai = <&q6apm>; 446 }; 447 }; 448 449 wcd-capture-dai-link { 450 link-name = "WCD Capture"; 451 452 codec { 453 sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>; 454 }; 455 456 cpu { 457 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>; 458 }; 459 460 platform { 461 sound-dai = <&q6apm>; 462 }; 463 }; 464 465 wsa-dai-link { 466 link-name = "WSA Playback"; 467 468 codec { 469 sound-dai = <&left_woofer>, 470 <&left_tweeter>, 471 <&swr0 0>, 472 <&lpass_wsamacro 0>, 473 <&right_woofer>, 474 <&right_tweeter>, 475 <&swr3 0>, 476 <&lpass_wsa2macro 0>; 477 }; 478 479 cpu { 480 sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>; 481 }; 482 483 platform { 484 sound-dai = <&q6apm>; 485 }; 486 }; 487 488 va-dai-link { 489 link-name = "VA Capture"; 490 491 codec { 492 sound-dai = <&lpass_vamacro 0>; 493 }; 494 495 cpu { 496 sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>; 497 }; 498 499 platform { 500 sound-dai = <&q6apm>; 501 }; 502 }; 503 }; 504 505 usb-1-ss0-sbu-mux { 506 compatible = "onnn,fsusb42", "gpio-sbu-mux"; 507 508 enable-gpios = <&tlmm 168 GPIO_ACTIVE_LOW>; 509 select-gpios = <&tlmm 167 GPIO_ACTIVE_HIGH>; 510 511 pinctrl-0 = <&usb_1_ss0_sbu_default>; 512 pinctrl-names = "default"; 513 514 mode-switch; 515 orientation-switch; 516 517 port { 518 usb_1_ss0_sbu_mux: endpoint { 519 remote-endpoint = <&pmic_glink_ss0_sbu>; 520 }; 521 }; 522 }; 523 524 wcn7850-pmu { 525 compatible = "qcom,wcn7850-pmu"; 526 527 vdd-supply = <&vreg_wcn_0p95>; 528 vddio-supply = <&vreg_l15b_1p8>; 529 vddaon-supply = <&vreg_wcn_0p95>; 530 vdddig-supply = <&vreg_wcn_0p95>; 531 vddrfa1p2-supply = <&vreg_wcn_1p9>; 532 vddrfa1p8-supply = <&vreg_wcn_1p9>; 533 534 bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>; 535 wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>; 536 537 pinctrl-0 = <&wcn_bt_en>; 538 pinctrl-names = "default"; 539 540 regulators { 541 vreg_pmu_rfa_cmn: ldo0 { 542 regulator-name = "vreg_pmu_rfa_cmn"; 543 }; 544 545 vreg_pmu_aon_0p59: ldo1 { 546 regulator-name = "vreg_pmu_aon_0p59"; 547 }; 548 549 vreg_pmu_wlcx_0p8: ldo2 { 550 regulator-name = "vreg_pmu_wlcx_0p8"; 551 }; 552 553 vreg_pmu_wlmx_0p85: ldo3 { 554 regulator-name = "vreg_pmu_wlmx_0p85"; 555 }; 556 557 vreg_pmu_btcmx_0p85: ldo4 { 558 regulator-name = "vreg_pmu_btcmx_0p85"; 559 }; 560 561 vreg_pmu_rfa_0p8: ldo5 { 562 regulator-name = "vreg_pmu_rfa_0p8"; 563 }; 564 565 vreg_pmu_rfa_1p2: ldo6 { 566 regulator-name = "vreg_pmu_rfa_1p2"; 567 }; 568 569 vreg_pmu_rfa_1p8: ldo7 { 570 regulator-name = "vreg_pmu_rfa_1p8"; 571 }; 572 573 vreg_pmu_pcie_0p9: ldo8 { 574 regulator-name = "vreg_pmu_pcie_0p9"; 575 }; 576 577 vreg_pmu_pcie_1p8: ldo9 { 578 regulator-name = "vreg_pmu_pcie_1p8"; 579 }; 580 }; 581 }; 582}; 583 584&i2c1 { 585 clock-frequency = <400000>; 586 status = "okay"; 587 588 typec-mux@8 { 589 compatible = "parade,ps8830"; 590 reg = <0x08>; 591 592 clocks = <&rpmhcc RPMH_RF_CLK5>; 593 594 vdd-supply = <&vreg_rtmr2_1p15>; 595 vdd33-supply = <&vreg_rtmr2_3p3>; 596 vdd33-cap-supply = <&vreg_rtmr2_3p3>; 597 vddar-supply = <&vreg_rtmr2_1p15>; 598 vddat-supply = <&vreg_rtmr2_1p15>; 599 vddio-supply = <&vreg_rtmr2_1p8>; 600 601 reset-gpios = <&tlmm 185 GPIO_ACTIVE_LOW>; 602 603 pinctrl-0 = <&rtmr2_default>; 604 pinctrl-names = "default"; 605 606 orientation-switch; 607 retimer-switch; 608 609 ports { 610 #address-cells = <1>; 611 #size-cells = <0>; 612 613 port@0 { 614 reg = <0>; 615 616 retimer_ss2_ss_out: endpoint { 617 remote-endpoint = <&pmic_glink_ss2_ss_in>; 618 }; 619 }; 620 621 port@1 { 622 reg = <1>; 623 624 retimer_ss2_ss_in: endpoint { 625 remote-endpoint = <&usb_1_ss2_qmpphy_out>; 626 }; 627 }; 628 629 port@2 { 630 reg = <2>; 631 632 retimer_ss2_con_sbu_out: endpoint { 633 remote-endpoint = <&pmic_glink_ss2_con_sbu_in>; 634 }; 635 }; 636 }; 637 }; 638}; 639 640&i2c5 { 641 clock-frequency = <400000>; 642 643 status = "okay"; 644 645 eusb3_repeater: redriver@47 { 646 compatible = "nxp,ptn3222"; 647 reg = <0x47>; 648 #phy-cells = <0>; 649 650 vdd3v3-supply = <&vreg_l13b_3p0>; 651 vdd1v8-supply = <&vreg_l4b_1p8>; 652 653 reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; 654 655 pinctrl-0 = <&eusb3_reset_n>; 656 pinctrl-names = "default"; 657 }; 658 659 eusb5_repeater: redriver@43 { 660 compatible = "nxp,ptn3222"; 661 reg = <0x43>; 662 #phy-cells = <0>; 663 664 vdd3v3-supply = <&vreg_l13b_3p0>; 665 vdd1v8-supply = <&vreg_l4b_1p8>; 666 667 reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>; 668 669 pinctrl-0 = <&eusb5_reset_n>; 670 pinctrl-names = "default"; 671 }; 672 673 eusb6_repeater: redriver@4f { 674 compatible = "nxp,ptn3222"; 675 reg = <0x4f>; 676 #phy-cells = <0>; 677 678 vdd3v3-supply = <&vreg_l13b_3p0>; 679 vdd1v8-supply = <&vreg_l4b_1p8>; 680 681 reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>; 682 683 pinctrl-0 = <&eusb6_reset_n>; 684 pinctrl-names = "default"; 685 }; 686}; 687 688&i2c7 { 689 clock-frequency = <400000>; 690 691 status = "okay"; 692 693 typec-mux@8 { 694 compatible = "parade,ps8830"; 695 reg = <0x8>; 696 697 clocks = <&rpmhcc RPMH_RF_CLK4>; 698 699 vdd-supply = <&vreg_rtmr1_1p15>; 700 vdd33-supply = <&vreg_rtmr1_3p3>; 701 vdd33-cap-supply = <&vreg_rtmr1_3p3>; 702 vddar-supply = <&vreg_rtmr1_1p15>; 703 vddat-supply = <&vreg_rtmr1_1p15>; 704 vddio-supply = <&vreg_rtmr1_1p8>; 705 706 reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>; 707 708 pinctrl-0 = <&rtmr1_default>; 709 pinctrl-names = "default"; 710 711 retimer-switch; 712 orientation-switch; 713 714 ports { 715 #address-cells = <1>; 716 #size-cells = <0>; 717 718 port@0 { 719 reg = <0>; 720 721 retimer_ss1_ss_out: endpoint { 722 remote-endpoint = <&pmic_glink_ss1_ss_in>; 723 }; 724 }; 725 726 port@1 { 727 reg = <1>; 728 729 retimer_ss1_ss_in: endpoint { 730 remote-endpoint = <&usb_1_ss1_qmpphy_out>; 731 }; 732 }; 733 734 port@2 { 735 reg = <2>; 736 737 retimer_ss1_con_sbu_out: endpoint { 738 remote-endpoint = <&pmic_glink_ss1_con_sbu_in>; 739 }; 740 }; 741 }; 742 }; 743}; 744 745&lpass_tlmm { 746 spkr_01_sd_n_active: spkr-01-sd-n-active-state { 747 pins = "gpio12"; 748 function = "gpio"; 749 drive-strength = <16>; 750 bias-disable; 751 output-low; 752 }; 753 754 spkr_23_sd_n_active: spkr-23-sd-n-active-state { 755 pins = "gpio13"; 756 function = "gpio"; 757 drive-strength = <16>; 758 bias-disable; 759 output-low; 760 }; 761}; 762 763&lpass_vamacro { 764 pinctrl-0 = <&dmic01_default>, <&dmic23_default>; 765 pinctrl-names = "default"; 766 767 vdd-micb-supply = <&vreg_l1b_1p8>; 768 qcom,dmic-sample-rate = <4800000>; 769}; 770 771&mdss { 772 status = "okay"; 773}; 774 775&mdss_dp0 { 776 status = "okay"; 777}; 778 779&mdss_dp0_out { 780 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 781}; 782 783&mdss_dp1 { 784 status = "okay"; 785}; 786 787&mdss_dp1_out { 788 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 789}; 790 791&mdss_dp2 { 792 status = "okay"; 793}; 794 795&mdss_dp2_out { 796 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 797}; 798 799&mdss_dp3 { 800 /delete-property/ #sound-dai-cells; 801 802 pinctrl-0 = <&edp0_hpd_default>; 803 pinctrl-names = "default"; 804 805 status = "okay"; 806 807 aux-bus { 808 panel { 809 compatible = "edp-panel"; 810 power-supply = <&vreg_edp_3p3>; 811 812 port { 813 edp_panel_in: endpoint { 814 remote-endpoint = <&mdss_dp3_out>; 815 }; 816 }; 817 }; 818 }; 819}; 820 821&mdss_dp3_out { 822 data-lanes = <0 1 2 3>; 823 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; 824 825 remote-endpoint = <&edp_panel_in>; 826}; 827 828&mdss_dp3_phy { 829 vdda-phy-supply = <&vreg_l3j_0p8>; 830 vdda-pll-supply = <&vreg_l2j_1p2>; 831 832 status = "okay"; 833}; 834 835&pcie6a { 836 vddpe-3v3-supply = <&vreg_nvme>; 837}; 838 839&pm8550_gpios { 840 rtmr0_default: rtmr0-reset-n-active-state { 841 pins = "gpio10"; 842 function = "normal"; 843 power-source = <1>; /* 1.8V */ 844 bias-disable; 845 input-disable; 846 output-enable; 847 }; 848 849 usb0_3p3_reg_en: usb0-3p3-reg-en-state { 850 pins = "gpio11"; 851 function = "normal"; 852 power-source = <1>; /* 1.8V */ 853 bias-disable; 854 input-disable; 855 output-enable; 856 }; 857}; 858 859&pm8550ve_9_gpios { 860 usb0_1p8_reg_en: usb0-1p8-reg-en-state { 861 pins = "gpio8"; 862 function = "normal"; 863 power-source = <1>; /* 1.8V */ 864 bias-disable; 865 input-disable; 866 output-enable; 867 }; 868}; 869 870&pmc8380_5_gpios { 871 usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state { 872 pins = "gpio8"; 873 function = "normal"; 874 power-source = <1>; /* 1.8V */ 875 bias-disable; 876 input-disable; 877 output-enable; 878 }; 879}; 880 881&smb2360_0 { 882 status = "okay"; 883}; 884 885&smb2360_0_eusb2_repeater { 886 vdd18-supply = <&vreg_l3d_1p8>; 887 vdd3-supply = <&vreg_l2b_3p0>; 888}; 889 890&smb2360_1 { 891 status = "okay"; 892}; 893 894&smb2360_1_eusb2_repeater { 895 vdd18-supply = <&vreg_l3d_1p8>; 896 vdd3-supply = <&vreg_l14b_3p0>; 897}; 898 899&smb2360_2 { 900 status = "okay"; 901}; 902 903&smb2360_2_eusb2_repeater { 904 vdd18-supply = <&vreg_l3d_1p8>; 905 vdd3-supply = <&vreg_l8b_3p0>; 906}; 907 908&swr0 { 909 status = "okay"; 910 911 pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>; 912 pinctrl-names = "default"; 913 914 /* WSA8845, Left Woofer */ 915 left_woofer: speaker@0,0 { 916 compatible = "sdw20217020400"; 917 reg = <0 0>; 918 reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; 919 #sound-dai-cells = <0>; 920 sound-name-prefix = "WooferLeft"; 921 vdd-1p8-supply = <&vreg_l15b_1p8>; 922 vdd-io-supply = <&vreg_l12b_1p2>; 923 qcom,port-mapping = <1 2 3 7 10 13>; 924 }; 925 926 /* WSA8845, Left Tweeter */ 927 left_tweeter: speaker@0,1 { 928 compatible = "sdw20217020400"; 929 reg = <0 1>; 930 reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; 931 #sound-dai-cells = <0>; 932 sound-name-prefix = "TweeterLeft"; 933 vdd-1p8-supply = <&vreg_l15b_1p8>; 934 vdd-io-supply = <&vreg_l12b_1p2>; 935 qcom,port-mapping = <4 5 6 7 11 13>; 936 }; 937}; 938 939&swr1 { 940 status = "okay"; 941 942 /* WCD9385 RX */ 943 wcd_rx: codec@0,4 { 944 compatible = "sdw20217010d00"; 945 reg = <0 4>; 946 qcom,rx-port-mapping = <1 2 3 4 5>; 947 }; 948}; 949 950&swr2 { 951 status = "okay"; 952 953 /* WCD9385 TX */ 954 wcd_tx: codec@0,3 { 955 compatible = "sdw20217010d00"; 956 reg = <0 3>; 957 qcom,tx-port-mapping = <2 2 3 4>; 958 }; 959}; 960 961&swr3 { 962 status = "okay"; 963 964 pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>; 965 pinctrl-names = "default"; 966 967 /* WSA8845, Right Woofer */ 968 right_woofer: speaker@0,0 { 969 compatible = "sdw20217020400"; 970 reg = <0 0>; 971 reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>; 972 #sound-dai-cells = <0>; 973 sound-name-prefix = "WooferRight"; 974 vdd-1p8-supply = <&vreg_l15b_1p8>; 975 vdd-io-supply = <&vreg_l12b_1p2>; 976 qcom,port-mapping = <1 2 3 7 10 13>; 977 }; 978 979 /* WSA8845, Right Tweeter */ 980 right_tweeter: speaker@0,1 { 981 compatible = "sdw20217020400"; 982 reg = <0 1>; 983 reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>; 984 #sound-dai-cells = <0>; 985 sound-name-prefix = "TweeterRight"; 986 vdd-1p8-supply = <&vreg_l15b_1p8>; 987 vdd-io-supply = <&vreg_l12b_1p2>; 988 qcom,port-mapping = <4 5 6 7 11 13>; 989 }; 990}; 991 992&tlmm { 993 edp_reg_en: edp-reg-en-state { 994 pins = "gpio70"; 995 function = "gpio"; 996 drive-strength = <16>; 997 bias-disable; 998 }; 999 1000 eusb3_reset_n: eusb3-reset-n-state { 1001 pins = "gpio6"; 1002 function = "gpio"; 1003 drive-strength = <2>; 1004 bias-disable; 1005 output-low; 1006 }; 1007 1008 eusb5_reset_n: eusb5-reset-n-state { 1009 pins = "gpio7"; 1010 function = "gpio"; 1011 drive-strength = <2>; 1012 bias-pull-up; 1013 output-low; 1014 }; 1015 1016 eusb6_reset_n: eusb6-reset-n-state { 1017 pins = "gpio184"; 1018 function = "gpio"; 1019 drive-strength = <2>; 1020 bias-pull-up; 1021 output-low; 1022 }; 1023 1024 nvme_reg_en: nvme-reg-en-state { 1025 pins = "gpio18"; 1026 function = "gpio"; 1027 drive-strength = <2>; 1028 bias-disable; 1029 }; 1030 1031 rtmr1_default: rtmr1-reset-n-active-state { 1032 pins = "gpio176"; 1033 function = "gpio"; 1034 drive-strength = <2>; 1035 bias-disable; 1036 }; 1037 1038 rtmr2_default: rtmr2-reset-n-active-state { 1039 pins = "gpio185"; 1040 function = "gpio"; 1041 drive-strength = <2>; 1042 bias-disable; 1043 }; 1044 1045 usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state { 1046 pins = "gpio188"; 1047 function = "gpio"; 1048 drive-strength = <2>; 1049 bias-disable; 1050 }; 1051 1052 usb1_pwr_1p8_reg_en: usb1-pwr-1p8-reg-en-state { 1053 pins = "gpio175"; 1054 function = "gpio"; 1055 drive-strength = <2>; 1056 bias-disable; 1057 }; 1058 1059 usb1_pwr_3p3_reg_en: usb1-pwr-3p3-reg-en-state { 1060 pins = "gpio186"; 1061 function = "gpio"; 1062 drive-strength = <2>; 1063 bias-disable; 1064 }; 1065 1066 usb2_pwr_1p15_reg_en: usb2-pwr-1p15-reg-en-state { 1067 pins = "gpio189"; 1068 function = "gpio"; 1069 drive-strength = <2>; 1070 bias-disable; 1071 }; 1072 1073 usb2_pwr_1p8_reg_en: usb2-pwr-1p8-reg-en-state { 1074 pins = "gpio126"; 1075 function = "gpio"; 1076 drive-strength = <2>; 1077 bias-disable; 1078 }; 1079 1080 usb2_pwr_3p3_reg_en: usb2-pwr-3p3-reg-en-state { 1081 pins = "gpio187"; 1082 function = "gpio"; 1083 drive-strength = <2>; 1084 bias-disable; 1085 }; 1086 1087 usb_1_ss0_sbu_default: usb-1-ss0-sbu-state { 1088 mode-pins { 1089 pins = "gpio166"; 1090 function = "gpio"; 1091 bias-disable; 1092 drive-strength = <2>; 1093 output-high; 1094 }; 1095 1096 oe-n-pins { 1097 pins = "gpio168"; 1098 function = "gpio"; 1099 bias-disable; 1100 drive-strength = <2>; 1101 }; 1102 1103 sel-pins { 1104 pins = "gpio167"; 1105 function = "gpio"; 1106 bias-disable; 1107 drive-strength = <2>; 1108 }; 1109 }; 1110 1111 wcd_default: wcd-reset-n-active-state { 1112 pins = "gpio191"; 1113 function = "gpio"; 1114 drive-strength = <16>; 1115 bias-disable; 1116 output-low; 1117 }; 1118 1119 wcn_bt_en: wcn-bt-en-state { 1120 pins = "gpio116"; 1121 function = "gpio"; 1122 drive-strength = <2>; 1123 bias-disable; 1124 }; 1125 1126 wwan_sw_en: wwan-sw-en-state { 1127 pins = "gpio221"; 1128 function = "gpio"; 1129 drive-strength = <4>; 1130 bias-disable; 1131 }; 1132 1133 wcn_sw_en: wcn-sw-en-state { 1134 pins = "gpio214"; 1135 function = "gpio"; 1136 drive-strength = <2>; 1137 bias-disable; 1138 }; 1139 1140 /* Switches USB signal routing between the USB connector and the Wi-Fi card. */ 1141 wcn_usb_sw_n: wcn-usb-sw-n-state { 1142 pins = "gpio225"; 1143 function = "gpio"; 1144 drive-strength = <2>; 1145 bias-disable; 1146 output-high; 1147 }; 1148}; 1149 1150&uart14 { 1151 status = "okay"; 1152 1153 bluetooth { 1154 compatible = "qcom,wcn7850-bt"; 1155 max-speed = <3200000>; 1156 1157 vddaon-supply = <&vreg_pmu_aon_0p59>; 1158 vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; 1159 vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; 1160 vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; 1161 vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; 1162 vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; 1163 vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>; 1164 }; 1165}; 1166 1167&uart21 { 1168 compatible = "qcom,geni-debug-uart"; 1169 1170 status = "okay"; 1171}; 1172 1173&usb_1_ss0_dwc3_hs { 1174 remote-endpoint = <&pmic_glink_ss0_hs_in>; 1175}; 1176 1177&usb_1_ss0_hsphy { 1178 phys = <&smb2360_0_eusb2_repeater>; 1179}; 1180 1181&usb_1_ss0_qmpphy_out { 1182 remote-endpoint = <&pmic_glink_ss0_ss_in>; 1183}; 1184 1185&usb_1_ss1_dwc3_hs { 1186 remote-endpoint = <&pmic_glink_ss1_hs_in>; 1187}; 1188 1189&usb_1_ss1_hsphy { 1190 phys = <&smb2360_1_eusb2_repeater>; 1191}; 1192 1193&usb_1_ss1_qmpphy_out { 1194 remote-endpoint = <&retimer_ss1_ss_in>; 1195}; 1196 1197&usb_1_ss2_dwc3_hs { 1198 remote-endpoint = <&pmic_glink_ss2_hs_in>; 1199}; 1200 1201&usb_1_ss2_hsphy { 1202 phys = <&smb2360_2_eusb2_repeater>; 1203}; 1204 1205&usb_1_ss2_qmpphy_out { 1206 remote-endpoint = <&retimer_ss2_ss_in>; 1207}; 1208 1209&usb_2_hsphy { 1210 phys = <&eusb5_repeater>; 1211 1212 pinctrl-0 = <&wcn_usb_sw_n>; 1213 pinctrl-names = "default"; 1214}; 1215 1216&usb_mp_hsphy0 { 1217 phys = <&eusb3_repeater>; 1218}; 1219 1220&usb_mp_hsphy1 { 1221 phys = <&eusb6_repeater>; 1222}; 1223