1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Lenovo Yoga C630 4 * 5 * Copyright (c) 2019, Linaro Ltd. 6 */ 7 8/dts-v1/; 9 10#include <dt-bindings/input/gpio-keys.h> 11#include <dt-bindings/input/input.h> 12#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 13#include <dt-bindings/sound/qcom,q6afe.h> 14#include <dt-bindings/sound/qcom,q6asm.h> 15#include "sdm850.dtsi" 16#include "sdm845-wcd9340.dtsi" 17#include "pm8998.dtsi" 18 19/* 20 * Update following upstream (sdm845.dtsi) reserved 21 * memory mappings for firmware loading to succeed 22 * and enable the IPA device. 23 */ 24/delete-node/ &ipa_fw_mem; 25/delete-node/ &ipa_gsi_mem; 26/delete-node/ &gpu_mem; 27/delete-node/ &adsp_mem; 28/delete-node/ &wlan_msa_mem; 29 30/ { 31 model = "Lenovo Yoga C630"; 32 compatible = "lenovo,yoga-c630", "qcom,sdm845"; 33 chassis-type = "convertible"; 34 35 aliases { 36 serial0 = &uart9; 37 serial1 = &uart6; 38 }; 39 40 gpio-keys { 41 compatible = "gpio-keys"; 42 43 pinctrl-names = "default"; 44 pinctrl-0 = <&lid_pin_active>, <&mode_pin_active>; 45 46 switch-lid { 47 gpios = <&tlmm 124 GPIO_ACTIVE_HIGH>; 48 linux,input-type = <EV_SW>; 49 linux,code = <SW_LID>; 50 wakeup-source; 51 wakeup-event-action = <EV_ACT_DEASSERTED>; 52 }; 53 54 switch-mode { 55 gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>; 56 linux,input-type = <EV_SW>; 57 linux,code = <SW_TABLET_MODE>; 58 }; 59 }; 60 61 /* Reserved memory changes for IPA */ 62 reserved-memory { 63 wlan_msa_mem: memory@8c400000 { 64 reg = <0 0x8c400000 0 0x100000>; 65 no-map; 66 }; 67 68 gpu_mem: memory@8c515000 { 69 reg = <0 0x8c515000 0 0x2000>; 70 no-map; 71 }; 72 73 ipa_fw_mem: memory@8c517000 { 74 reg = <0 0x8c517000 0 0x5a000>; 75 no-map; 76 }; 77 78 adsp_mem: memory@8c600000 { 79 reg = <0 0x8c600000 0 0x1a00000>; 80 no-map; 81 }; 82 }; 83 84 sw_edp_1p2: edp-1p2-regulator { 85 compatible = "regulator-fixed"; 86 regulator-name = "sw_edp_1p2"; 87 88 regulator-min-microvolt = <1200000>; 89 regulator-max-microvolt = <1200000>; 90 91 pinctrl-0 = <&sw_edp_1p2_en>; 92 pinctrl-names = "default"; 93 94 gpio = <&pm8998_gpios 9 GPIO_ACTIVE_HIGH>; 95 enable-active-high; 96 97 vin-supply = <&vreg_l2a_1p2>; 98 }; 99 100 sn65dsi86_refclk: sn65dsi86-refclk { 101 compatible = "fixed-clock"; 102 #clock-cells = <0>; 103 104 clock-frequency = <19200000>; 105 }; 106 107 vph_pwr: regulator-vph-pwr { 108 compatible = "regulator-fixed"; 109 regulator-name = "vph_pwr"; 110 regulator-min-microvolt = <3700000>; 111 regulator-max-microvolt = <3700000>; 112 }; 113 114 vlcm_3v3: regulator-vlcm-3v3 { 115 compatible = "regulator-fixed"; 116 regulator-name = "vlcm_3v3"; 117 118 vin-supply = <&vph_pwr>; 119 regulator-min-microvolt = <3300000>; 120 regulator-max-microvolt = <3300000>; 121 122 gpio = <&tlmm 88 GPIO_ACTIVE_HIGH>; 123 enable-active-high; 124 }; 125 126 backlight: backlight { 127 compatible = "pwm-backlight"; 128 pwms = <&sn65dsi86 1000000>; 129 enable-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>; 130 }; 131}; 132 133&adsp_pas { 134 firmware-name = "qcom/sdm850/LENOVO/81JL/qcadsp850.mbn"; 135 status = "okay"; 136}; 137 138&apps_rsc { 139 regulators-0 { 140 compatible = "qcom,pm8998-rpmh-regulators"; 141 qcom,pmic-id = "a"; 142 143 vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>; 144 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; 145 146 vreg_s2a_1p125: smps2 { 147 }; 148 149 vreg_s3a_1p35: smps3 { 150 regulator-min-microvolt = <1352000>; 151 regulator-max-microvolt = <1352000>; 152 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 153 }; 154 155 vreg_s4a_1p8: smps4 { 156 regulator-min-microvolt = <1800000>; 157 regulator-max-microvolt = <1800000>; 158 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 159 }; 160 161 vreg_s5a_2p04: smps5 { 162 regulator-min-microvolt = <2040000>; 163 regulator-max-microvolt = <2040000>; 164 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 165 }; 166 167 vreg_s7a_1p025: smps7 { 168 }; 169 170 vdd_qusb_hs0: 171 vdda_hp_pcie_core: 172 vdda_mipi_csi0_0p9: 173 vdda_mipi_csi1_0p9: 174 vdda_mipi_csi2_0p9: 175 vdda_mipi_dsi0_pll: 176 vdda_mipi_dsi1_pll: 177 vdda_qlink_lv: 178 vdda_qlink_lv_ck: 179 vdda_qrefs_0p875: 180 vdda_pcie_core: 181 vdda_pll_cc_ebi01: 182 vdda_pll_cc_ebi23: 183 vdda_sp_sensor: 184 vdda_ufs1_core: 185 vdda_ufs2_core: 186 vdda_usb1_ss_core: 187 vdda_usb2_ss_core: 188 vreg_l1a_0p875: ldo1 { 189 regulator-min-microvolt = <880000>; 190 regulator-max-microvolt = <880000>; 191 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 192 }; 193 194 vddpx_10: 195 vreg_l2a_1p2: ldo2 { 196 regulator-min-microvolt = <1200000>; 197 regulator-max-microvolt = <1200000>; 198 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 199 regulator-always-on; 200 }; 201 202 vreg_l3a_1p0: ldo3 { 203 }; 204 205 vdd_wcss_cx: 206 vdd_wcss_mx: 207 vdda_wcss_pll: 208 vreg_l5a_0p8: ldo5 { 209 regulator-min-microvolt = <800000>; 210 regulator-max-microvolt = <800000>; 211 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 212 }; 213 214 vddpx_13: 215 vreg_l6a_1p8: ldo6 { 216 regulator-min-microvolt = <1800000>; 217 regulator-max-microvolt = <1800000>; 218 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 219 }; 220 221 vreg_l7a_1p8: ldo7 { 222 regulator-min-microvolt = <1800000>; 223 regulator-max-microvolt = <1800000>; 224 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 225 }; 226 227 vreg_l8a_1p2: ldo8 { 228 }; 229 230 vreg_l9a_1p8: ldo9 { 231 }; 232 233 vreg_l10a_1p8: ldo10 { 234 }; 235 236 vreg_l11a_1p0: ldo11 { 237 }; 238 239 vdd_qfprom: 240 vdd_qfprom_sp: 241 vdda_apc1_cs_1p8: 242 vdda_gfx_cs_1p8: 243 vdda_qrefs_1p8: 244 vdda_qusb_hs0_1p8: 245 vddpx_11: 246 vreg_l12a_1p8: ldo12 { 247 regulator-min-microvolt = <1800000>; 248 regulator-max-microvolt = <1800000>; 249 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 250 }; 251 252 vddpx_2: 253 vreg_l13a_2p95: ldo13 { 254 }; 255 256 vreg_l14a_1p88: ldo14 { 257 regulator-min-microvolt = <1880000>; 258 regulator-max-microvolt = <1880000>; 259 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 260 regulator-always-on; 261 }; 262 263 vreg_l15a_1p8: ldo15 { 264 }; 265 266 vreg_l16a_2p7: ldo16 { 267 }; 268 269 vreg_l17a_1p3: ldo17 { 270 regulator-min-microvolt = <1304000>; 271 regulator-max-microvolt = <1304000>; 272 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 273 }; 274 275 vreg_l18a_2p7: ldo18 { 276 }; 277 278 vreg_l19a_3p0: ldo19 { 279 regulator-min-microvolt = <3100000>; 280 regulator-max-microvolt = <3108000>; 281 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 282 }; 283 284 vreg_l20a_2p95: ldo20 { 285 regulator-min-microvolt = <2960000>; 286 regulator-max-microvolt = <2960000>; 287 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 288 }; 289 290 vreg_l21a_2p95: ldo21 { 291 }; 292 293 vreg_l22a_2p85: ldo22 { 294 }; 295 296 vreg_l23a_3p3: ldo23 { 297 regulator-min-microvolt = <3300000>; 298 regulator-max-microvolt = <3312000>; 299 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 300 }; 301 302 vdda_qusb_hs0_3p1: 303 vreg_l24a_3p075: ldo24 { 304 regulator-min-microvolt = <3075000>; 305 regulator-max-microvolt = <3083000>; 306 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 307 }; 308 309 vreg_l25a_3p3: ldo25 { 310 regulator-min-microvolt = <3104000>; 311 regulator-max-microvolt = <3112000>; 312 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 313 }; 314 315 vdda_hp_pcie_1p2: 316 vdda_hv_ebi0: 317 vdda_hv_ebi1: 318 vdda_hv_ebi2: 319 vdda_hv_ebi3: 320 vdda_mipi_csi_1p25: 321 vdda_mipi_dsi0_1p2: 322 vdda_mipi_dsi1_1p2: 323 vdda_pcie_1p2: 324 vdda_ufs1_1p2: 325 vdda_ufs2_1p2: 326 vdda_usb1_ss_1p2: 327 vdda_usb2_ss_1p2: 328 vreg_l26a_1p2: ldo26 { 329 regulator-min-microvolt = <1200000>; 330 regulator-max-microvolt = <1208000>; 331 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 332 }; 333 334 vreg_l28a_3p0: ldo28 { 335 }; 336 337 vreg_lvs1a_1p8: lvs1 { 338 }; 339 340 vreg_lvs2a_1p8: lvs2 { 341 }; 342 }; 343}; 344 345&cdsp_pas { 346 firmware-name = "qcom/sdm850/LENOVO/81JL/qccdsp850.mbn"; 347 status = "okay"; 348}; 349 350&gcc { 351 protected-clocks = <GCC_QSPI_CORE_CLK>, 352 <GCC_QSPI_CORE_CLK_SRC>, 353 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 354 <GCC_LPASS_Q6_AXI_CLK>, 355 <GCC_LPASS_SWAY_CLK>; 356}; 357 358&gpu { 359 status = "okay";}; 360 361&gpu_zap_shader { 362 firmware-name = "qcom/sdm850/LENOVO/81JL/qcdxkmsuc850.mbn"; 363}; 364 365&i2c1 { 366 status = "okay"; 367 clock-frequency = <400000>; 368 369 embedded-controller@70 { 370 compatible = "lenovo,yoga-c630-ec"; 371 reg = <0x70>; 372 373 interrupts-extended = <&tlmm 20 IRQ_TYPE_LEVEL_HIGH>; 374 375 pinctrl-names = "default"; 376 pinctrl-0 = <&ec_int_state>; 377 378 #address-cells = <1>; 379 #size-cells = <0>; 380 381 connector@0 { 382 compatible = "usb-c-connector"; 383 reg = <0>; 384 power-role = "dual"; 385 data-role = "host"; 386 387 ports { 388 #address-cells = <1>; 389 #size-cells = <0>; 390 391 port@0 { 392 reg = <0>; 393 394 ucsi0_hs_in: endpoint { 395 remote-endpoint = <&usb_1_dwc3_hs>; 396 }; 397 }; 398 399 port@1 { 400 reg = <1>; 401 402 ucsi0_ss_in: endpoint { 403 remote-endpoint = <&usb_1_qmpphy_out>; 404 }; 405 }; 406 407 port@2 { 408 reg = <2>; 409 410 ucsi0_sbu: endpoint { 411 }; 412 }; 413 }; 414 }; 415 416 connector@1 { 417 compatible = "usb-c-connector"; 418 reg = <1>; 419 power-role = "dual"; 420 data-role = "host"; 421 422 /* 423 * connected to the onboard USB hub, each pair of lanes 424 * (and D+/D- pair) is connected to a separate port on 425 * the hub. 426 */ 427 ports { 428 #address-cells = <1>; 429 #size-cells = <0>; 430 431 port@0 { 432 reg = <0>; 433 #address-cells = <1>; 434 #size-cells = <0>; 435 436 ucsi1_hs_in_1: endpoint@1 { 437 reg = <1>; 438 remote-endpoint = <&usb_hub_2_1>; 439 }; 440 441 ucsi1_hs_in_2: endpoint@2 { 442 reg = <2>; 443 remote-endpoint = <&usb_hub_2_2>; 444 }; 445 }; 446 447 port@1 { 448 reg = <1>; 449 #address-cells = <1>; 450 #size-cells = <0>; 451 452 ucsi1_ss_in_1: endpoint@1 { 453 reg = <1>; 454 remote-endpoint = <&usb_hub_3_1>; 455 }; 456 457 ucsi1_ss_in_2: endpoint@2 { 458 reg = <2>; 459 remote-endpoint = <&usb_hub_3_2>; 460 }; 461 }; 462 }; 463 }; 464 }; 465}; 466 467&i2c3 { 468 status = "okay"; 469 clock-frequency = <400000>; 470 /* Overwrite pinctrl-0 from sdm845.dtsi */ 471 pinctrl-0 = <&qup_i2c3_default &i2c3_hid_active>; 472 473 tsel: hid@15 { 474 compatible = "hid-over-i2c"; 475 reg = <0x15>; 476 hid-descr-addr = <0x1>; 477 478 interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>; 479 }; 480 481 tsc2: hid@2c { 482 compatible = "hid-over-i2c"; 483 reg = <0x2c>; 484 hid-descr-addr = <0x20>; 485 486 interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>; 487 488 wakeup-source; 489 }; 490}; 491 492&i2c5 { 493 status = "okay"; 494 clock-frequency = <400000>; 495 496 tsc1: hid@10 { 497 compatible = "hid-over-i2c"; 498 reg = <0x10>; 499 hid-descr-addr = <0x1>; 500 501 interrupts-extended = <&tlmm 125 IRQ_TYPE_LEVEL_LOW>; 502 503 pinctrl-names = "default"; 504 pinctrl-0 = <&i2c5_hid_active>; 505 506 wakeup-source; 507 }; 508}; 509 510&i2c10 { 511 status = "okay"; 512 clock-frequency = <400000>; 513 514 sn65dsi86: bridge@2c { 515 compatible = "ti,sn65dsi86"; 516 reg = <0x2c>; 517 pinctrl-names = "default"; 518 pinctrl-0 = <&sn65dsi86_pin_active>; 519 520 enable-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>; 521 522 vcca-supply = <&sw_edp_1p2>; 523 vcc-supply = <&sw_edp_1p2>; 524 vpll-supply = <&vreg_l14a_1p88>; 525 vccio-supply = <&vreg_l14a_1p88>; 526 527 clocks = <&sn65dsi86_refclk>; 528 clock-names = "refclk"; 529 530 no-hpd; 531 #pwm-cells = <1>; 532 533 ports { 534 #address-cells = <1>; 535 #size-cells = <0>; 536 537 port@0 { 538 reg = <0>; 539 sn65dsi86_in_a: endpoint { 540 remote-endpoint = <&mdss_dsi0_out>; 541 }; 542 }; 543 544 port@1 { 545 reg = <1>; 546 sn65dsi86_out: endpoint { 547 remote-endpoint = <&panel_in_edp>; 548 }; 549 }; 550 }; 551 552 aux-bus { 553 panel: panel { 554 compatible = "boe,nv133fhm-n61"; 555 backlight = <&backlight>; 556 power-supply = <&vlcm_3v3>; 557 558 port { 559 panel_in_edp: endpoint { 560 remote-endpoint = <&sn65dsi86_out>; 561 }; 562 }; 563 }; 564 }; 565 }; 566}; 567 568&i2c11 { 569 status = "okay"; 570 clock-frequency = <400000>; 571 572 ecsh: hid@5c { 573 compatible = "hid-over-i2c"; 574 reg = <0x5c>; 575 hid-descr-addr = <0x1>; 576 577 interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>; 578 579 pinctrl-names = "default"; 580 pinctrl-0 = <&i2c11_hid_active>; 581 582 wakeup-source; 583 }; 584}; 585 586&ipa { 587 qcom,gsi-loader = "self"; 588 memory-region = <&ipa_fw_mem>; 589 firmware-name = "qcom/sdm850/LENOVO/81JL/ipa_fws.elf"; 590 status = "okay"; 591}; 592 593&mdss { 594 status = "okay"; 595}; 596 597&mdss_dsi0 { 598 status = "okay"; 599 vdda-supply = <&vreg_l26a_1p2>; 600}; 601 602&mdss_dsi0_out { 603 remote-endpoint = <&sn65dsi86_in_a>; 604 data-lanes = <0 1 2 3>; 605}; 606 607&mdss_dsi0_phy { 608 status = "okay"; 609 vdds-supply = <&vreg_l1a_0p875>; 610}; 611 612&mss_pil { 613 status = "okay"; 614 firmware-name = "qcom/sdm850/LENOVO/81JL/qcdsp1v2850.mbn", "qcom/sdm850/LENOVO/81JL/qcdsp2850.mbn"; 615}; 616 617&pm8998_gpios { 618 /* This pin is pulled down by a fixed resistor */ 619 sw_edp_1p2_en: pm8998-gpio9-state { 620 pins = "gpio9"; 621 function = "normal"; 622 bias-disable; 623 qcom,drive-strength = <0>; 624 }; 625}; 626 627&qup_i2c10_default { 628 drive-strength = <2>; 629 bias-disable; 630}; 631 632&qup_i2c12_default { 633 drive-strength = <2>; 634 bias-disable; 635}; 636 637&qupv3_id_0 { 638 status = "okay"; 639}; 640 641&qupv3_id_1 { 642 status = "okay"; 643}; 644 645&q6asmdai { 646 dai@0 { 647 reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>; 648 }; 649 650 dai@1 { 651 reg = <MSM_FRONTEND_DAI_MULTIMEDIA2>; 652 }; 653 654 dai@2 { 655 reg = <MSM_FRONTEND_DAI_MULTIMEDIA3>; 656 }; 657}; 658 659&slpi_pas { 660 firmware-name = "qcom/sdm850/LENOVO/81JL/qcslpi850.mbn"; 661 662 status = "okay"; 663}; 664 665&sound { 666 compatible = "lenovo,yoga-c630-sndcard", "qcom,sdm845-sndcard"; 667 model = "Lenovo-YOGA-C630-13Q50"; 668 669 audio-routing = 670 "RX_BIAS", "MCLK", 671 "AMIC2", "MIC BIAS2", 672 "SpkrLeft IN", "SPK1 OUT", 673 "SpkrRight IN", "SPK2 OUT"; 674 675 mm1-dai-link { 676 link-name = "MultiMedia1"; 677 cpu { 678 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 679 }; 680 }; 681 682 mm2-dai-link { 683 link-name = "MultiMedia2"; 684 cpu { 685 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 686 }; 687 }; 688 689 mm3-dai-link { 690 link-name = "MultiMedia3"; 691 cpu { 692 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 693 }; 694 }; 695 696 slim-dai-link { 697 link-name = "SLIM Playback"; 698 cpu { 699 sound-dai = <&q6afedai SLIMBUS_0_RX>; 700 }; 701 702 platform { 703 sound-dai = <&q6routing>; 704 }; 705 706 codec { 707 sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>; 708 }; 709 }; 710 711 slimcap-dai-link { 712 link-name = "SLIM Capture"; 713 cpu { 714 sound-dai = <&q6afedai SLIMBUS_0_TX>; 715 }; 716 717 platform { 718 sound-dai = <&q6routing>; 719 }; 720 721 codec { 722 sound-dai = <&wcd9340 1>; 723 }; 724 }; 725 726 slim-wcd-dai-link { 727 link-name = "SLIM WCD Playback"; 728 cpu { 729 sound-dai = <&q6afedai SLIMBUS_1_RX>; 730 }; 731 732 platform { 733 sound-dai = <&q6routing>; 734 }; 735 736 codec { 737 sound-dai = <&wcd9340 2>; 738 }; 739 }; 740}; 741 742&tlmm { 743 gpio-reserved-ranges = <0 4>, <81 4>; 744 745 sn65dsi86_pin_active: sn65dsi86-enable-state { 746 pins = "gpio96"; 747 function = "gpio"; 748 drive-strength = <2>; 749 bias-disable; 750 }; 751 752 i2c3_hid_active: i2c2-hid-active-state { 753 pins = "gpio37"; 754 function = "gpio"; 755 756 bias-pull-up; 757 drive-strength = <2>; 758 }; 759 760 i2c5_hid_active: i2c5-hid-active-state { 761 pins = "gpio125"; 762 function = "gpio"; 763 764 bias-pull-up; 765 drive-strength = <2>; 766 }; 767 768 i2c11_hid_active: i2c11-hid-active-state { 769 pins = "gpio92"; 770 function = "gpio"; 771 772 bias-pull-up; 773 drive-strength = <2>; 774 }; 775 776 lid_pin_active: lid-pin-state { 777 pins = "gpio124"; 778 function = "gpio"; 779 780 bias-disable; 781 }; 782 783 mode_pin_active: mode-pin-state { 784 pins = "gpio95"; 785 function = "gpio"; 786 787 bias-disable; 788 }; 789 790 ec_int_state: ec-int-state { 791 pins = "gpio20"; 792 function = "gpio"; 793 794 bias-disable; 795 }; 796}; 797 798&uart6 { 799 pinctrl-names = "default"; 800 pinctrl-0 = <&qup_uart6_4pin>; 801 status = "okay"; 802 803 bluetooth { 804 compatible = "qcom,wcn3990-bt"; 805 806 vddio-supply = <&vreg_s4a_1p8>; 807 vddxo-supply = <&vreg_l7a_1p8>; 808 vddrf-supply = <&vreg_l17a_1p3>; 809 vddch0-supply = <&vreg_l25a_3p3>; 810 vddch1-supply = <&vreg_l23a_3p3>; 811 max-speed = <3200000>; 812 }; 813}; 814 815&uart9 { 816 status = "okay"; 817}; 818 819&ufs_mem_hc { 820 status = "okay"; 821 822 reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; 823 824 vcc-supply = <&vreg_l20a_2p95>; 825 vcc-max-microamp = <600000>; 826}; 827 828&ufs_mem_phy { 829 status = "okay"; 830 831 vdda-phy-supply = <&vdda_ufs1_core>; 832 vdda-pll-supply = <&vdda_ufs1_1p2>; 833}; 834 835&usb_1 { 836 status = "okay"; 837}; 838 839&usb_1_dwc3 { 840 dr_mode = "host"; 841}; 842 843&usb_1_dwc3_hs { 844 remote-endpoint = <&ucsi0_hs_in>; 845}; 846 847&usb_1_hsphy { 848 status = "okay"; 849 850 vdd-supply = <&vdda_usb1_ss_core>; 851 vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 852 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 853 854 qcom,imp-res-offset-value = <8>; 855 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 856 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 857 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 858}; 859 860&usb_1_qmpphy { 861 status = "okay"; 862 863 vdda-phy-supply = <&vdda_usb1_ss_1p2>; 864 vdda-pll-supply = <&vdda_usb1_ss_core>; 865}; 866 867&usb_1_qmpphy_out { 868 remote-endpoint = <&ucsi0_ss_in>; 869}; 870 871&usb_2 { 872 status = "okay"; 873}; 874 875&usb_2_dwc3 { 876 dr_mode = "host"; 877 #address-cells = <1>; 878 #size-cells = <0>; 879 880 usb_hub_2_x: hub@1 { 881 compatible = "usb5e3,610"; 882 reg = <1>; 883 peer-hub = <&usb_hub_3_x>; 884 #address-cells = <1>; 885 #size-cells = <0>; 886 887 camera@3 { 888 compatible = "usb4f2,b61e"; 889 reg = <3>; 890 }; 891 892 ports { 893 #address-cells = <1>; 894 #size-cells = <0>; 895 896 port@1 { 897 reg = <1>; 898 899 usb_hub_2_1: endpoint { 900 remote-endpoint = <&ucsi1_hs_in_1>; 901 }; 902 }; 903 904 port@2 { 905 reg = <2>; 906 907 usb_hub_2_2: endpoint { 908 remote-endpoint = <&ucsi1_hs_in_2>; 909 }; 910 }; 911 }; 912 }; 913 914 usb_hub_3_x: hub@2 { 915 compatible = "usb5e3,620"; 916 reg = <2>; 917 peer-hub = <&usb_hub_2_x>; 918 919 ports { 920 #address-cells = <1>; 921 #size-cells = <0>; 922 923 port@1 { 924 reg = <1>; 925 926 usb_hub_3_1: endpoint { 927 remote-endpoint = <&ucsi1_ss_in_1>; 928 }; 929 }; 930 931 port@2 { 932 reg = <2>; 933 934 usb_hub_3_2: endpoint { 935 remote-endpoint = <&ucsi1_ss_in_2>; 936 }; 937 }; 938 }; 939 }; 940}; 941 942&usb_2_hsphy { 943 status = "okay"; 944 945 vdd-supply = <&vdda_usb2_ss_core>; 946 vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 947 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 948 949 qcom,imp-res-offset-value = <8>; 950 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>; 951}; 952 953&usb_2_qmpphy { 954 status = "okay"; 955 956 vdda-phy-supply = <&vdda_usb2_ss_1p2>; 957 vdda-pll-supply = <&vdda_usb2_ss_core>; 958}; 959 960&venus { 961 firmware-name = "qcom/sdm850/LENOVO/81JL/qcvss850.mbn"; 962 status = "okay"; 963}; 964 965&wcd9340 { 966 reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; 967 vdd-buck-supply = <&vreg_s4a_1p8>; 968 vdd-buck-sido-supply = <&vreg_s4a_1p8>; 969 vdd-tx-supply = <&vreg_s4a_1p8>; 970 vdd-rx-supply = <&vreg_s4a_1p8>; 971 vdd-io-supply = <&vreg_s4a_1p8>; 972 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 973 qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 974 qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 975 976 swm: soundwire@c85 { 977 left_spkr: speaker@0,3 { 978 compatible = "sdw10217211000"; 979 reg = <0 3>; 980 powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_LOW>; 981 #thermal-sensor-cells = <0>; 982 sound-name-prefix = "SpkrLeft"; 983 #sound-dai-cells = <0>; 984 }; 985 986 right_spkr: speaker@0,4 { 987 compatible = "sdw10217211000"; 988 powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_LOW>; 989 reg = <0 4>; 990 #thermal-sensor-cells = <0>; 991 sound-name-prefix = "SpkrRight"; 992 #sound-dai-cells = <0>; 993 }; 994 }; 995}; 996 997&wifi { 998 status = "okay"; 999 1000 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 1001 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 1002 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 1003 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 1004 vdd-3.3-ch1-supply = <&vreg_l23a_3p3>; 1005 1006 qcom,snoc-host-cap-8bit-quirk; 1007 qcom,calibration-variant = "Lenovo_C630"; 1008}; 1009 1010&crypto { 1011 /* FIXME: qce_start triggers an SError */ 1012 status = "disabled"; 1013}; 1014