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&cluster_sleep_0 { 351 arm,psci-suspend-param = <0x41008244>; 352}; 353 354&gcc { 355 protected-clocks = <GCC_QSPI_CORE_CLK>, 356 <GCC_QSPI_CORE_CLK_SRC>, 357 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 358 <GCC_LPASS_Q6_AXI_CLK>, 359 <GCC_LPASS_SWAY_CLK>; 360}; 361 362&gpu { 363 status = "okay";}; 364 365&gpu_zap_shader { 366 firmware-name = "qcom/sdm850/LENOVO/81JL/qcdxkmsuc850.mbn"; 367}; 368 369&i2c1 { 370 status = "okay"; 371 clock-frequency = <400000>; 372 373 embedded-controller@70 { 374 compatible = "lenovo,yoga-c630-ec"; 375 reg = <0x70>; 376 377 interrupts-extended = <&tlmm 20 IRQ_TYPE_LEVEL_HIGH>; 378 379 pinctrl-names = "default"; 380 pinctrl-0 = <&ec_int_state>; 381 382 #address-cells = <1>; 383 #size-cells = <0>; 384 385 connector@0 { 386 compatible = "usb-c-connector"; 387 reg = <0>; 388 power-role = "dual"; 389 data-role = "host"; 390 391 ports { 392 #address-cells = <1>; 393 #size-cells = <0>; 394 395 port@0 { 396 reg = <0>; 397 398 ucsi0_hs_in: endpoint { 399 remote-endpoint = <&usb_1_dwc3_hs>; 400 }; 401 }; 402 403 port@1 { 404 reg = <1>; 405 406 ucsi0_ss_in: endpoint { 407 remote-endpoint = <&usb_1_qmpphy_out>; 408 }; 409 }; 410 411 port@2 { 412 reg = <2>; 413 414 ucsi0_sbu: endpoint { 415 }; 416 }; 417 }; 418 }; 419 420 connector@1 { 421 compatible = "usb-c-connector"; 422 reg = <1>; 423 power-role = "dual"; 424 data-role = "host"; 425 426 /* 427 * connected to the onboard USB hub, each pair of lanes 428 * (and D+/D- pair) is connected to a separate port on 429 * the hub. 430 */ 431 ports { 432 #address-cells = <1>; 433 #size-cells = <0>; 434 435 port@0 { 436 reg = <0>; 437 #address-cells = <1>; 438 #size-cells = <0>; 439 440 ucsi1_hs_in_1: endpoint@1 { 441 reg = <1>; 442 remote-endpoint = <&usb_hub_2_1>; 443 }; 444 445 ucsi1_hs_in_2: endpoint@2 { 446 reg = <2>; 447 remote-endpoint = <&usb_hub_2_2>; 448 }; 449 }; 450 451 port@1 { 452 reg = <1>; 453 #address-cells = <1>; 454 #size-cells = <0>; 455 456 ucsi1_ss_in_1: endpoint@1 { 457 reg = <1>; 458 remote-endpoint = <&usb_hub_3_1>; 459 }; 460 461 ucsi1_ss_in_2: endpoint@2 { 462 reg = <2>; 463 remote-endpoint = <&usb_hub_3_2>; 464 }; 465 }; 466 }; 467 }; 468 }; 469}; 470 471&i2c3 { 472 status = "okay"; 473 clock-frequency = <400000>; 474 /* Overwrite pinctrl-0 from sdm845.dtsi */ 475 pinctrl-0 = <&qup_i2c3_default &i2c3_hid_active>; 476 477 tsel: hid@15 { 478 compatible = "hid-over-i2c"; 479 reg = <0x15>; 480 hid-descr-addr = <0x1>; 481 482 interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>; 483 }; 484 485 tsc2: hid@2c { 486 compatible = "hid-over-i2c"; 487 reg = <0x2c>; 488 hid-descr-addr = <0x20>; 489 490 interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>; 491 492 wakeup-source; 493 }; 494}; 495 496&i2c5 { 497 status = "okay"; 498 clock-frequency = <400000>; 499 500 tsc1: hid@10 { 501 compatible = "hid-over-i2c"; 502 reg = <0x10>; 503 hid-descr-addr = <0x1>; 504 505 interrupts-extended = <&tlmm 125 IRQ_TYPE_LEVEL_LOW>; 506 507 pinctrl-names = "default"; 508 pinctrl-0 = <&i2c5_hid_active>; 509 510 wakeup-source; 511 }; 512}; 513 514&i2c10 { 515 status = "okay"; 516 clock-frequency = <400000>; 517 518 sn65dsi86: bridge@2c { 519 compatible = "ti,sn65dsi86"; 520 reg = <0x2c>; 521 pinctrl-names = "default"; 522 pinctrl-0 = <&sn65dsi86_pin_active>; 523 524 enable-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>; 525 526 vcca-supply = <&sw_edp_1p2>; 527 vcc-supply = <&sw_edp_1p2>; 528 vpll-supply = <&vreg_l14a_1p88>; 529 vccio-supply = <&vreg_l14a_1p88>; 530 531 clocks = <&sn65dsi86_refclk>; 532 clock-names = "refclk"; 533 534 no-hpd; 535 #pwm-cells = <1>; 536 537 ports { 538 #address-cells = <1>; 539 #size-cells = <0>; 540 541 port@0 { 542 reg = <0>; 543 sn65dsi86_in_a: endpoint { 544 remote-endpoint = <&mdss_dsi0_out>; 545 }; 546 }; 547 548 port@1 { 549 reg = <1>; 550 sn65dsi86_out: endpoint { 551 remote-endpoint = <&panel_in_edp>; 552 }; 553 }; 554 }; 555 556 aux-bus { 557 panel: panel { 558 compatible = "boe,nv133fhm-n61"; 559 backlight = <&backlight>; 560 power-supply = <&vlcm_3v3>; 561 562 port { 563 panel_in_edp: endpoint { 564 remote-endpoint = <&sn65dsi86_out>; 565 }; 566 }; 567 }; 568 }; 569 }; 570}; 571 572&i2c11 { 573 status = "okay"; 574 clock-frequency = <400000>; 575 576 ecsh: hid@5c { 577 compatible = "hid-over-i2c"; 578 reg = <0x5c>; 579 hid-descr-addr = <0x1>; 580 581 interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>; 582 583 pinctrl-names = "default"; 584 pinctrl-0 = <&i2c11_hid_active>; 585 586 wakeup-source; 587 }; 588}; 589 590&ipa { 591 firmware-name = "qcom/sdm850/LENOVO/81JL/ipa_fws.elf"; 592 status = "okay"; 593}; 594 595&mdss { 596 status = "okay"; 597}; 598 599&mdss_dsi0 { 600 status = "okay"; 601 vdda-supply = <&vreg_l26a_1p2>; 602}; 603 604&mdss_dsi0_out { 605 remote-endpoint = <&sn65dsi86_in_a>; 606 data-lanes = <0 1 2 3>; 607}; 608 609&mdss_dsi0_phy { 610 status = "okay"; 611 vdds-supply = <&vreg_l1a_0p875>; 612}; 613 614&mss_pil { 615 status = "okay"; 616 firmware-name = "qcom/sdm850/LENOVO/81JL/qcdsp1v2850.mbn", "qcom/sdm850/LENOVO/81JL/qcdsp2850.mbn"; 617}; 618 619&pm8998_gpios { 620 /* This pin is pulled down by a fixed resistor */ 621 sw_edp_1p2_en: pm8998-gpio9-state { 622 pins = "gpio9"; 623 function = "normal"; 624 bias-disable; 625 qcom,drive-strength = <0>; 626 }; 627}; 628 629&qup_i2c10_default { 630 drive-strength = <2>; 631 bias-disable; 632}; 633 634&qup_i2c12_default { 635 drive-strength = <2>; 636 bias-disable; 637}; 638 639&qupv3_id_0 { 640 status = "okay"; 641}; 642 643&qupv3_id_1 { 644 status = "okay"; 645}; 646 647&q6asmdai { 648 dai@0 { 649 reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>; 650 }; 651 652 dai@1 { 653 reg = <MSM_FRONTEND_DAI_MULTIMEDIA2>; 654 }; 655 656 dai@2 { 657 reg = <MSM_FRONTEND_DAI_MULTIMEDIA3>; 658 }; 659}; 660 661&slpi_pas { 662 firmware-name = "qcom/sdm850/LENOVO/81JL/qcslpi850.mbn"; 663 664 status = "okay"; 665}; 666 667&sound { 668 compatible = "lenovo,yoga-c630-sndcard", "qcom,sdm845-sndcard"; 669 model = "Lenovo-YOGA-C630-13Q50"; 670 671 audio-routing = 672 "RX_BIAS", "MCLK", 673 "AMIC2", "MIC BIAS2", 674 "SpkrLeft IN", "SPK1 OUT", 675 "SpkrRight IN", "SPK2 OUT"; 676 677 mm1-dai-link { 678 link-name = "MultiMedia1"; 679 cpu { 680 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 681 }; 682 }; 683 684 mm2-dai-link { 685 link-name = "MultiMedia2"; 686 cpu { 687 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 688 }; 689 }; 690 691 mm3-dai-link { 692 link-name = "MultiMedia3"; 693 cpu { 694 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 695 }; 696 }; 697 698 slim-dai-link { 699 link-name = "SLIM Playback"; 700 cpu { 701 sound-dai = <&q6afedai SLIMBUS_0_RX>; 702 }; 703 704 platform { 705 sound-dai = <&q6routing>; 706 }; 707 708 codec { 709 sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>; 710 }; 711 }; 712 713 slimcap-dai-link { 714 link-name = "SLIM Capture"; 715 cpu { 716 sound-dai = <&q6afedai SLIMBUS_0_TX>; 717 }; 718 719 platform { 720 sound-dai = <&q6routing>; 721 }; 722 723 codec { 724 sound-dai = <&wcd9340 1>; 725 }; 726 }; 727 728 slim-wcd-dai-link { 729 link-name = "SLIM WCD Playback"; 730 cpu { 731 sound-dai = <&q6afedai SLIMBUS_1_RX>; 732 }; 733 734 platform { 735 sound-dai = <&q6routing>; 736 }; 737 738 codec { 739 sound-dai = <&wcd9340 2>; 740 }; 741 }; 742}; 743 744&tlmm { 745 gpio-reserved-ranges = <0 4>, <81 4>; 746 747 sn65dsi86_pin_active: sn65dsi86-enable-state { 748 pins = "gpio96"; 749 function = "gpio"; 750 drive-strength = <2>; 751 bias-disable; 752 }; 753 754 i2c3_hid_active: i2c2-hid-active-state { 755 pins = "gpio37"; 756 function = "gpio"; 757 758 bias-pull-up; 759 drive-strength = <2>; 760 }; 761 762 i2c5_hid_active: i2c5-hid-active-state { 763 pins = "gpio125"; 764 function = "gpio"; 765 766 bias-pull-up; 767 drive-strength = <2>; 768 }; 769 770 i2c11_hid_active: i2c11-hid-active-state { 771 pins = "gpio92"; 772 function = "gpio"; 773 774 bias-pull-up; 775 drive-strength = <2>; 776 }; 777 778 lid_pin_active: lid-pin-state { 779 pins = "gpio124"; 780 function = "gpio"; 781 782 bias-disable; 783 }; 784 785 mode_pin_active: mode-pin-state { 786 pins = "gpio95"; 787 function = "gpio"; 788 789 bias-disable; 790 }; 791 792 ec_int_state: ec-int-state { 793 pins = "gpio20"; 794 function = "gpio"; 795 796 bias-disable; 797 }; 798}; 799 800&uart6 { 801 pinctrl-names = "default"; 802 pinctrl-0 = <&qup_uart6_4pin>; 803 status = "okay"; 804 805 bluetooth { 806 compatible = "qcom,wcn3990-bt"; 807 808 vddio-supply = <&vreg_s4a_1p8>; 809 vddxo-supply = <&vreg_l7a_1p8>; 810 vddrf-supply = <&vreg_l17a_1p3>; 811 vddch0-supply = <&vreg_l25a_3p3>; 812 vddch1-supply = <&vreg_l23a_3p3>; 813 max-speed = <3200000>; 814 }; 815}; 816 817&uart9 { 818 status = "okay"; 819}; 820 821&ufs_mem_hc { 822 status = "okay"; 823 824 reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; 825 826 vcc-supply = <&vreg_l20a_2p95>; 827 vcc-max-microamp = <600000>; 828}; 829 830&ufs_mem_phy { 831 status = "okay"; 832 833 vdda-phy-supply = <&vdda_ufs1_core>; 834 vdda-pll-supply = <&vdda_ufs1_1p2>; 835}; 836 837&usb_1 { 838 status = "okay"; 839}; 840 841&usb_1_dwc3 { 842 dr_mode = "host"; 843}; 844 845&usb_1_dwc3_hs { 846 remote-endpoint = <&ucsi0_hs_in>; 847}; 848 849&usb_1_hsphy { 850 status = "okay"; 851 852 vdd-supply = <&vdda_usb1_ss_core>; 853 vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 854 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 855 856 qcom,imp-res-offset-value = <8>; 857 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 858 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 859 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 860}; 861 862&usb_1_qmpphy { 863 status = "okay"; 864 865 vdda-phy-supply = <&vdda_usb1_ss_core>; 866 vdda-pll-supply = <&vdda_usb1_ss_1p2>; 867}; 868 869&usb_1_qmpphy_out { 870 remote-endpoint = <&ucsi0_ss_in>; 871}; 872 873&usb_2 { 874 status = "okay"; 875}; 876 877&usb_2_dwc3 { 878 dr_mode = "host"; 879 #address-cells = <1>; 880 #size-cells = <0>; 881 882 usb_hub_2_x: hub@1 { 883 compatible = "usb5e3,610"; 884 reg = <1>; 885 peer-hub = <&usb_hub_3_x>; 886 #address-cells = <1>; 887 #size-cells = <0>; 888 889 camera@3 { 890 compatible = "usb4f2,b61e"; 891 reg = <3>; 892 }; 893 894 ports { 895 #address-cells = <1>; 896 #size-cells = <0>; 897 898 port@1 { 899 reg = <1>; 900 901 usb_hub_2_1: endpoint { 902 remote-endpoint = <&ucsi1_hs_in_1>; 903 }; 904 }; 905 906 port@2 { 907 reg = <2>; 908 909 usb_hub_2_2: endpoint { 910 remote-endpoint = <&ucsi1_hs_in_2>; 911 }; 912 }; 913 }; 914 }; 915 916 usb_hub_3_x: hub@2 { 917 compatible = "usb5e3,620"; 918 reg = <2>; 919 peer-hub = <&usb_hub_2_x>; 920 921 ports { 922 #address-cells = <1>; 923 #size-cells = <0>; 924 925 port@1 { 926 reg = <1>; 927 928 usb_hub_3_1: endpoint { 929 remote-endpoint = <&ucsi1_ss_in_1>; 930 }; 931 }; 932 933 port@2 { 934 reg = <2>; 935 936 usb_hub_3_2: endpoint { 937 remote-endpoint = <&ucsi1_ss_in_2>; 938 }; 939 }; 940 }; 941 }; 942}; 943 944&usb_2_hsphy { 945 status = "okay"; 946 947 vdd-supply = <&vdda_usb2_ss_core>; 948 vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 949 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 950 951 qcom,imp-res-offset-value = <8>; 952 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>; 953}; 954 955&usb_2_qmpphy { 956 status = "okay"; 957 958 vdda-phy-supply = <&vdda_usb2_ss_core>; 959 vdda-pll-supply = <&vdda_usb2_ss_1p2>; 960}; 961 962&venus { 963 firmware-name = "qcom/sdm850/LENOVO/81JL/qcvss850.mbn"; 964 status = "okay"; 965}; 966 967&wcd9340 { 968 reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; 969 vdd-buck-supply = <&vreg_s4a_1p8>; 970 vdd-buck-sido-supply = <&vreg_s4a_1p8>; 971 vdd-tx-supply = <&vreg_s4a_1p8>; 972 vdd-rx-supply = <&vreg_s4a_1p8>; 973 vdd-io-supply = <&vreg_s4a_1p8>; 974 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>; 975 qcom,mbhc-headset-vthreshold-microvolt = <1700000>; 976 qcom,mbhc-headphone-vthreshold-microvolt = <50000>; 977 978 swm: soundwire@c85 { 979 left_spkr: speaker@0,3 { 980 compatible = "sdw10217211000"; 981 reg = <0 3>; 982 powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_LOW>; 983 #thermal-sensor-cells = <0>; 984 sound-name-prefix = "SpkrLeft"; 985 #sound-dai-cells = <0>; 986 }; 987 988 right_spkr: speaker@0,4 { 989 compatible = "sdw10217211000"; 990 powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_LOW>; 991 reg = <0 4>; 992 #thermal-sensor-cells = <0>; 993 sound-name-prefix = "SpkrRight"; 994 #sound-dai-cells = <0>; 995 }; 996 }; 997}; 998 999&wifi { 1000 status = "okay"; 1001 1002 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 1003 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 1004 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 1005 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 1006 vdd-3.3-ch1-supply = <&vreg_l23a_3p3>; 1007 1008 qcom,snoc-host-cap-8bit-quirk; 1009 qcom,calibration-variant = "Lenovo_C630"; 1010}; 1011 1012&crypto { 1013 /* FIXME: qce_start triggers an SError */ 1014 status = "disabled"; 1015}; 1016