1*4882a593Smuzhiyun// SPDX-License-Identifier: BSD-3-Clause 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Lenovo Yoga C630 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (c) 2019, Linaro Ltd. 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun/dts-v1/; 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 11*4882a593Smuzhiyun#include <dt-bindings/regulator/qcom,rpmh-regulator.h> 12*4882a593Smuzhiyun#include <dt-bindings/sound/qcom,q6afe.h> 13*4882a593Smuzhiyun#include <dt-bindings/sound/qcom,q6asm.h> 14*4882a593Smuzhiyun#include "sdm845.dtsi" 15*4882a593Smuzhiyun#include "pm8998.dtsi" 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun/ { 18*4882a593Smuzhiyun model = "Lenovo Yoga C630"; 19*4882a593Smuzhiyun compatible = "lenovo,yoga-c630", "qcom,sdm845"; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun aliases { 22*4882a593Smuzhiyun hsuart0 = &uart6; 23*4882a593Smuzhiyun }; 24*4882a593Smuzhiyun}; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun&adsp_pas { 27*4882a593Smuzhiyun firmware-name = "qcom/LENOVO/81JL/qcadsp850.mbn"; 28*4882a593Smuzhiyun status = "okay"; 29*4882a593Smuzhiyun}; 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun&apps_rsc { 32*4882a593Smuzhiyun pm8998-rpmh-regulators { 33*4882a593Smuzhiyun compatible = "qcom,pm8998-rpmh-regulators"; 34*4882a593Smuzhiyun qcom,pmic-id = "a"; 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>; 37*4882a593Smuzhiyun vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun vreg_s2a_1p125: smps2 { 40*4882a593Smuzhiyun }; 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun vreg_s3a_1p35: smps3 { 43*4882a593Smuzhiyun regulator-min-microvolt = <1352000>; 44*4882a593Smuzhiyun regulator-max-microvolt = <1352000>; 45*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun vreg_s4a_1p8: smps4 { 49*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 50*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 51*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 52*4882a593Smuzhiyun }; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun vreg_s5a_2p04: smps5 { 55*4882a593Smuzhiyun regulator-min-microvolt = <2040000>; 56*4882a593Smuzhiyun regulator-max-microvolt = <2040000>; 57*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 58*4882a593Smuzhiyun }; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun vreg_s7a_1p025: smps7 { 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun vdd_qusb_hs0: 64*4882a593Smuzhiyun vdda_hp_pcie_core: 65*4882a593Smuzhiyun vdda_mipi_csi0_0p9: 66*4882a593Smuzhiyun vdda_mipi_csi1_0p9: 67*4882a593Smuzhiyun vdda_mipi_csi2_0p9: 68*4882a593Smuzhiyun vdda_mipi_dsi0_pll: 69*4882a593Smuzhiyun vdda_mipi_dsi1_pll: 70*4882a593Smuzhiyun vdda_qlink_lv: 71*4882a593Smuzhiyun vdda_qlink_lv_ck: 72*4882a593Smuzhiyun vdda_qrefs_0p875: 73*4882a593Smuzhiyun vdda_pcie_core: 74*4882a593Smuzhiyun vdda_pll_cc_ebi01: 75*4882a593Smuzhiyun vdda_pll_cc_ebi23: 76*4882a593Smuzhiyun vdda_sp_sensor: 77*4882a593Smuzhiyun vdda_ufs1_core: 78*4882a593Smuzhiyun vdda_ufs2_core: 79*4882a593Smuzhiyun vdda_usb1_ss_core: 80*4882a593Smuzhiyun vdda_usb2_ss_core: 81*4882a593Smuzhiyun vreg_l1a_0p875: ldo1 { 82*4882a593Smuzhiyun regulator-min-microvolt = <880000>; 83*4882a593Smuzhiyun regulator-max-microvolt = <880000>; 84*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun vddpx_10: 88*4882a593Smuzhiyun vreg_l2a_1p2: ldo2 { 89*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 90*4882a593Smuzhiyun regulator-max-microvolt = <1200000>; 91*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 92*4882a593Smuzhiyun regulator-always-on; 93*4882a593Smuzhiyun }; 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun vreg_l3a_1p0: ldo3 { 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun vdd_wcss_cx: 99*4882a593Smuzhiyun vdd_wcss_mx: 100*4882a593Smuzhiyun vdda_wcss_pll: 101*4882a593Smuzhiyun vreg_l5a_0p8: ldo5 { 102*4882a593Smuzhiyun regulator-min-microvolt = <800000>; 103*4882a593Smuzhiyun regulator-max-microvolt = <800000>; 104*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun vddpx_13: 108*4882a593Smuzhiyun vreg_l6a_1p8: ldo6 { 109*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 110*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 111*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun vreg_l7a_1p8: ldo7 { 115*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 116*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 117*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 118*4882a593Smuzhiyun }; 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun vreg_l8a_1p2: ldo8 { 121*4882a593Smuzhiyun }; 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun vreg_l9a_1p8: ldo9 { 124*4882a593Smuzhiyun }; 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun vreg_l10a_1p8: ldo10 { 127*4882a593Smuzhiyun }; 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun vreg_l11a_1p0: ldo11 { 130*4882a593Smuzhiyun }; 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun vdd_qfprom: 133*4882a593Smuzhiyun vdd_qfprom_sp: 134*4882a593Smuzhiyun vdda_apc1_cs_1p8: 135*4882a593Smuzhiyun vdda_gfx_cs_1p8: 136*4882a593Smuzhiyun vdda_qrefs_1p8: 137*4882a593Smuzhiyun vdda_qusb_hs0_1p8: 138*4882a593Smuzhiyun vddpx_11: 139*4882a593Smuzhiyun vreg_l12a_1p8: ldo12 { 140*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 141*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 142*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 143*4882a593Smuzhiyun }; 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun vddpx_2: 146*4882a593Smuzhiyun vreg_l13a_2p95: ldo13 { 147*4882a593Smuzhiyun }; 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun vreg_l14a_1p88: ldo14 { 150*4882a593Smuzhiyun regulator-min-microvolt = <1880000>; 151*4882a593Smuzhiyun regulator-max-microvolt = <1880000>; 152*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 153*4882a593Smuzhiyun regulator-always-on; 154*4882a593Smuzhiyun }; 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun vreg_l15a_1p8: ldo15 { 157*4882a593Smuzhiyun }; 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun vreg_l16a_2p7: ldo16 { 160*4882a593Smuzhiyun }; 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun vreg_l17a_1p3: ldo17 { 163*4882a593Smuzhiyun regulator-min-microvolt = <1304000>; 164*4882a593Smuzhiyun regulator-max-microvolt = <1304000>; 165*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 166*4882a593Smuzhiyun }; 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun vreg_l18a_2p7: ldo18 { 169*4882a593Smuzhiyun }; 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun vreg_l19a_3p0: ldo19 { 172*4882a593Smuzhiyun regulator-min-microvolt = <3100000>; 173*4882a593Smuzhiyun regulator-max-microvolt = <3108000>; 174*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 175*4882a593Smuzhiyun }; 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun vreg_l20a_2p95: ldo20 { 178*4882a593Smuzhiyun regulator-min-microvolt = <2960000>; 179*4882a593Smuzhiyun regulator-max-microvolt = <2960000>; 180*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 181*4882a593Smuzhiyun }; 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun vreg_l21a_2p95: ldo21 { 184*4882a593Smuzhiyun }; 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun vreg_l22a_2p85: ldo22 { 187*4882a593Smuzhiyun }; 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun vreg_l23a_3p3: ldo23 { 190*4882a593Smuzhiyun }; 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun vdda_qusb_hs0_3p1: 193*4882a593Smuzhiyun vreg_l24a_3p075: ldo24 { 194*4882a593Smuzhiyun regulator-min-microvolt = <3075000>; 195*4882a593Smuzhiyun regulator-max-microvolt = <3083000>; 196*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 197*4882a593Smuzhiyun }; 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun vreg_l25a_3p3: ldo25 { 200*4882a593Smuzhiyun regulator-min-microvolt = <3104000>; 201*4882a593Smuzhiyun regulator-max-microvolt = <3112000>; 202*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 203*4882a593Smuzhiyun }; 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun vdda_hp_pcie_1p2: 206*4882a593Smuzhiyun vdda_hv_ebi0: 207*4882a593Smuzhiyun vdda_hv_ebi1: 208*4882a593Smuzhiyun vdda_hv_ebi2: 209*4882a593Smuzhiyun vdda_hv_ebi3: 210*4882a593Smuzhiyun vdda_mipi_csi_1p25: 211*4882a593Smuzhiyun vdda_mipi_dsi0_1p2: 212*4882a593Smuzhiyun vdda_mipi_dsi1_1p2: 213*4882a593Smuzhiyun vdda_pcie_1p2: 214*4882a593Smuzhiyun vdda_ufs1_1p2: 215*4882a593Smuzhiyun vdda_ufs2_1p2: 216*4882a593Smuzhiyun vdda_usb1_ss_1p2: 217*4882a593Smuzhiyun vdda_usb2_ss_1p2: 218*4882a593Smuzhiyun vreg_l26a_1p2: ldo26 { 219*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 220*4882a593Smuzhiyun regulator-max-microvolt = <1208000>; 221*4882a593Smuzhiyun regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 222*4882a593Smuzhiyun }; 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun vreg_l28a_3p0: ldo28 { 225*4882a593Smuzhiyun }; 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun vreg_lvs1a_1p8: lvs1 { 228*4882a593Smuzhiyun }; 229*4882a593Smuzhiyun 230*4882a593Smuzhiyun vreg_lvs2a_1p8: lvs2 { 231*4882a593Smuzhiyun }; 232*4882a593Smuzhiyun }; 233*4882a593Smuzhiyun}; 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun&apps_smmu { 236*4882a593Smuzhiyun /* TODO: Figure out how to survive booting with this enabled */ 237*4882a593Smuzhiyun status = "disabled"; 238*4882a593Smuzhiyun}; 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun&cdsp_pas { 241*4882a593Smuzhiyun firmware-name = "qcom/LENOVO/81JL/qccdsp850.mbn"; 242*4882a593Smuzhiyun status = "okay"; 243*4882a593Smuzhiyun}; 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun&gcc { 246*4882a593Smuzhiyun protected-clocks = <GCC_QSPI_CORE_CLK>, 247*4882a593Smuzhiyun <GCC_QSPI_CORE_CLK_SRC>, 248*4882a593Smuzhiyun <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 249*4882a593Smuzhiyun <GCC_LPASS_Q6_AXI_CLK>, 250*4882a593Smuzhiyun <GCC_LPASS_SWAY_CLK>; 251*4882a593Smuzhiyun}; 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun&gpu { 254*4882a593Smuzhiyun zap-shader { 255*4882a593Smuzhiyun memory-region = <&gpu_mem>; 256*4882a593Smuzhiyun firmware-name = "qcom/LENOVO/81JL/qcdxkmsuc850.mbn"; 257*4882a593Smuzhiyun }; 258*4882a593Smuzhiyun}; 259*4882a593Smuzhiyun 260*4882a593Smuzhiyun&i2c1 { 261*4882a593Smuzhiyun status = "okay"; 262*4882a593Smuzhiyun clock-frequency = <400000>; 263*4882a593Smuzhiyun}; 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun&i2c3 { 266*4882a593Smuzhiyun status = "okay"; 267*4882a593Smuzhiyun clock-frequency = <400000>; 268*4882a593Smuzhiyun /* Overwrite pinctrl-0 from sdm845.dtsi */ 269*4882a593Smuzhiyun pinctrl-0 = <&qup_i2c3_default &i2c3_hid_active>; 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun tsel: hid@15 { 272*4882a593Smuzhiyun compatible = "hid-over-i2c"; 273*4882a593Smuzhiyun reg = <0x15>; 274*4882a593Smuzhiyun hid-descr-addr = <0x1>; 275*4882a593Smuzhiyun 276*4882a593Smuzhiyun interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>; 277*4882a593Smuzhiyun }; 278*4882a593Smuzhiyun 279*4882a593Smuzhiyun tsc2: hid@2c { 280*4882a593Smuzhiyun compatible = "hid-over-i2c"; 281*4882a593Smuzhiyun reg = <0x2c>; 282*4882a593Smuzhiyun hid-descr-addr = <0x20>; 283*4882a593Smuzhiyun 284*4882a593Smuzhiyun interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>; 285*4882a593Smuzhiyun }; 286*4882a593Smuzhiyun}; 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun&i2c5 { 289*4882a593Smuzhiyun status = "okay"; 290*4882a593Smuzhiyun clock-frequency = <400000>; 291*4882a593Smuzhiyun 292*4882a593Smuzhiyun tsc1: hid@10 { 293*4882a593Smuzhiyun compatible = "hid-over-i2c"; 294*4882a593Smuzhiyun reg = <0x10>; 295*4882a593Smuzhiyun hid-descr-addr = <0x1>; 296*4882a593Smuzhiyun 297*4882a593Smuzhiyun interrupts-extended = <&tlmm 125 IRQ_TYPE_LEVEL_LOW>; 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun pinctrl-names = "default"; 300*4882a593Smuzhiyun pinctrl-0 = <&i2c5_hid_active>; 301*4882a593Smuzhiyun }; 302*4882a593Smuzhiyun}; 303*4882a593Smuzhiyun 304*4882a593Smuzhiyun&i2c11 { 305*4882a593Smuzhiyun status = "okay"; 306*4882a593Smuzhiyun clock-frequency = <400000>; 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun ecsh: hid@5c { 309*4882a593Smuzhiyun compatible = "hid-over-i2c"; 310*4882a593Smuzhiyun reg = <0x5c>; 311*4882a593Smuzhiyun hid-descr-addr = <0x1>; 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>; 314*4882a593Smuzhiyun 315*4882a593Smuzhiyun pinctrl-names = "default"; 316*4882a593Smuzhiyun pinctrl-0 = <&i2c11_hid_active>; 317*4882a593Smuzhiyun }; 318*4882a593Smuzhiyun}; 319*4882a593Smuzhiyun 320*4882a593Smuzhiyun&mss_pil { 321*4882a593Smuzhiyun firmware-name = "qcom/LENOVO/81JL/qcdsp1v2850.mbn", "qcom/LENOVO/81JL/qcdsp2850.mbn"; 322*4882a593Smuzhiyun}; 323*4882a593Smuzhiyun 324*4882a593Smuzhiyun&qup_i2c12_default { 325*4882a593Smuzhiyun drive-strength = <2>; 326*4882a593Smuzhiyun bias-disable; 327*4882a593Smuzhiyun}; 328*4882a593Smuzhiyun 329*4882a593Smuzhiyun&qup_uart6_default { 330*4882a593Smuzhiyun pinmux { 331*4882a593Smuzhiyun pins = "gpio45", "gpio46", "gpio47", "gpio48"; 332*4882a593Smuzhiyun function = "qup6"; 333*4882a593Smuzhiyun }; 334*4882a593Smuzhiyun 335*4882a593Smuzhiyun cts { 336*4882a593Smuzhiyun pins = "gpio45"; 337*4882a593Smuzhiyun bias-pull-down; 338*4882a593Smuzhiyun }; 339*4882a593Smuzhiyun 340*4882a593Smuzhiyun rts-tx { 341*4882a593Smuzhiyun pins = "gpio46", "gpio47"; 342*4882a593Smuzhiyun drive-strength = <2>; 343*4882a593Smuzhiyun bias-disable; 344*4882a593Smuzhiyun }; 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun rx { 347*4882a593Smuzhiyun pins = "gpio48"; 348*4882a593Smuzhiyun bias-pull-up; 349*4882a593Smuzhiyun }; 350*4882a593Smuzhiyun}; 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun&qupv3_id_0 { 353*4882a593Smuzhiyun status = "okay"; 354*4882a593Smuzhiyun}; 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun&qupv3_id_1 { 357*4882a593Smuzhiyun status = "okay"; 358*4882a593Smuzhiyun}; 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun&q6asmdai { 361*4882a593Smuzhiyun dai@0 { 362*4882a593Smuzhiyun reg = <0>; 363*4882a593Smuzhiyun }; 364*4882a593Smuzhiyun 365*4882a593Smuzhiyun dai@1 { 366*4882a593Smuzhiyun reg = <1>; 367*4882a593Smuzhiyun }; 368*4882a593Smuzhiyun 369*4882a593Smuzhiyun dai@2 { 370*4882a593Smuzhiyun reg = <2>; 371*4882a593Smuzhiyun }; 372*4882a593Smuzhiyun}; 373*4882a593Smuzhiyun 374*4882a593Smuzhiyun&sound { 375*4882a593Smuzhiyun compatible = "qcom,db845c-sndcard"; 376*4882a593Smuzhiyun model = "Lenovo-YOGA-C630-13Q50"; 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun audio-routing = 379*4882a593Smuzhiyun "RX_BIAS", "MCLK", 380*4882a593Smuzhiyun "AMIC2", "MIC BIAS2", 381*4882a593Smuzhiyun "SpkrLeft IN", "SPK1 OUT", 382*4882a593Smuzhiyun "SpkrRight IN", "SPK2 OUT", 383*4882a593Smuzhiyun "MM_DL1", "MultiMedia1 Playback", 384*4882a593Smuzhiyun "MM_DL3", "MultiMedia3 Playback", 385*4882a593Smuzhiyun "MultiMedia2 Capture", "MM_UL2"; 386*4882a593Smuzhiyun 387*4882a593Smuzhiyun mm1-dai-link { 388*4882a593Smuzhiyun link-name = "MultiMedia1"; 389*4882a593Smuzhiyun cpu { 390*4882a593Smuzhiyun sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 391*4882a593Smuzhiyun }; 392*4882a593Smuzhiyun }; 393*4882a593Smuzhiyun 394*4882a593Smuzhiyun mm2-dai-link { 395*4882a593Smuzhiyun link-name = "MultiMedia2"; 396*4882a593Smuzhiyun cpu { 397*4882a593Smuzhiyun sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 398*4882a593Smuzhiyun }; 399*4882a593Smuzhiyun }; 400*4882a593Smuzhiyun 401*4882a593Smuzhiyun mm3-dai-link { 402*4882a593Smuzhiyun link-name = "MultiMedia3"; 403*4882a593Smuzhiyun cpu { 404*4882a593Smuzhiyun sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 405*4882a593Smuzhiyun }; 406*4882a593Smuzhiyun }; 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun slim-dai-link { 409*4882a593Smuzhiyun link-name = "SLIM Playback"; 410*4882a593Smuzhiyun cpu { 411*4882a593Smuzhiyun sound-dai = <&q6afedai SLIMBUS_0_RX>; 412*4882a593Smuzhiyun }; 413*4882a593Smuzhiyun 414*4882a593Smuzhiyun platform { 415*4882a593Smuzhiyun sound-dai = <&q6routing>; 416*4882a593Smuzhiyun }; 417*4882a593Smuzhiyun 418*4882a593Smuzhiyun codec { 419*4882a593Smuzhiyun sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>; 420*4882a593Smuzhiyun }; 421*4882a593Smuzhiyun }; 422*4882a593Smuzhiyun 423*4882a593Smuzhiyun slimcap-dai-link { 424*4882a593Smuzhiyun link-name = "SLIM Capture"; 425*4882a593Smuzhiyun cpu { 426*4882a593Smuzhiyun sound-dai = <&q6afedai SLIMBUS_0_TX>; 427*4882a593Smuzhiyun }; 428*4882a593Smuzhiyun 429*4882a593Smuzhiyun platform { 430*4882a593Smuzhiyun sound-dai = <&q6routing>; 431*4882a593Smuzhiyun }; 432*4882a593Smuzhiyun 433*4882a593Smuzhiyun codec { 434*4882a593Smuzhiyun sound-dai = <&wcd9340 1>; 435*4882a593Smuzhiyun }; 436*4882a593Smuzhiyun }; 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun slim-wcd-dai-link { 439*4882a593Smuzhiyun link-name = "SLIM WCD Playback"; 440*4882a593Smuzhiyun cpu { 441*4882a593Smuzhiyun sound-dai = <&q6afedai SLIMBUS_1_RX>; 442*4882a593Smuzhiyun }; 443*4882a593Smuzhiyun 444*4882a593Smuzhiyun platform { 445*4882a593Smuzhiyun sound-dai = <&q6routing>; 446*4882a593Smuzhiyun }; 447*4882a593Smuzhiyun 448*4882a593Smuzhiyun codec { 449*4882a593Smuzhiyun sound-dai = <&wcd9340 2>; 450*4882a593Smuzhiyun }; 451*4882a593Smuzhiyun }; 452*4882a593Smuzhiyun}; 453*4882a593Smuzhiyun 454*4882a593Smuzhiyun&tlmm { 455*4882a593Smuzhiyun gpio-reserved-ranges = <0 4>, <81 4>; 456*4882a593Smuzhiyun 457*4882a593Smuzhiyun i2c3_hid_active: i2c2-hid-active { 458*4882a593Smuzhiyun pins = "gpio37"; 459*4882a593Smuzhiyun function = "gpio"; 460*4882a593Smuzhiyun 461*4882a593Smuzhiyun input-enable; 462*4882a593Smuzhiyun bias-pull-up; 463*4882a593Smuzhiyun drive-strength = <2>; 464*4882a593Smuzhiyun }; 465*4882a593Smuzhiyun 466*4882a593Smuzhiyun i2c5_hid_active: i2c5-hid-active { 467*4882a593Smuzhiyun pins = "gpio125"; 468*4882a593Smuzhiyun function = "gpio"; 469*4882a593Smuzhiyun 470*4882a593Smuzhiyun input-enable; 471*4882a593Smuzhiyun bias-pull-up; 472*4882a593Smuzhiyun drive-strength = <2>; 473*4882a593Smuzhiyun }; 474*4882a593Smuzhiyun 475*4882a593Smuzhiyun i2c11_hid_active: i2c11-hid-active { 476*4882a593Smuzhiyun pins = "gpio92"; 477*4882a593Smuzhiyun function = "gpio"; 478*4882a593Smuzhiyun 479*4882a593Smuzhiyun input-enable; 480*4882a593Smuzhiyun bias-pull-up; 481*4882a593Smuzhiyun drive-strength = <2>; 482*4882a593Smuzhiyun }; 483*4882a593Smuzhiyun 484*4882a593Smuzhiyun wcd_intr_default: wcd_intr_default { 485*4882a593Smuzhiyun pins = "gpio54"; 486*4882a593Smuzhiyun function = "gpio"; 487*4882a593Smuzhiyun 488*4882a593Smuzhiyun input-enable; 489*4882a593Smuzhiyun bias-pull-down; 490*4882a593Smuzhiyun drive-strength = <2>; 491*4882a593Smuzhiyun }; 492*4882a593Smuzhiyun}; 493*4882a593Smuzhiyun 494*4882a593Smuzhiyun&uart6 { 495*4882a593Smuzhiyun status = "okay"; 496*4882a593Smuzhiyun 497*4882a593Smuzhiyun bluetooth { 498*4882a593Smuzhiyun compatible = "qcom,wcn3990-bt"; 499*4882a593Smuzhiyun 500*4882a593Smuzhiyun vddio-supply = <&vreg_s4a_1p8>; 501*4882a593Smuzhiyun vddxo-supply = <&vreg_l7a_1p8>; 502*4882a593Smuzhiyun vddrf-supply = <&vreg_l17a_1p3>; 503*4882a593Smuzhiyun vddch0-supply = <&vreg_l25a_3p3>; 504*4882a593Smuzhiyun max-speed = <3200000>; 505*4882a593Smuzhiyun }; 506*4882a593Smuzhiyun}; 507*4882a593Smuzhiyun 508*4882a593Smuzhiyun&ufs_mem_hc { 509*4882a593Smuzhiyun status = "okay"; 510*4882a593Smuzhiyun 511*4882a593Smuzhiyun reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; 512*4882a593Smuzhiyun 513*4882a593Smuzhiyun vcc-supply = <&vreg_l20a_2p95>; 514*4882a593Smuzhiyun vcc-max-microamp = <600000>; 515*4882a593Smuzhiyun}; 516*4882a593Smuzhiyun 517*4882a593Smuzhiyun&ufs_mem_phy { 518*4882a593Smuzhiyun status = "okay"; 519*4882a593Smuzhiyun 520*4882a593Smuzhiyun vdda-phy-supply = <&vdda_ufs1_core>; 521*4882a593Smuzhiyun vdda-pll-supply = <&vdda_ufs1_1p2>; 522*4882a593Smuzhiyun}; 523*4882a593Smuzhiyun 524*4882a593Smuzhiyun&usb_1 { 525*4882a593Smuzhiyun status = "okay"; 526*4882a593Smuzhiyun}; 527*4882a593Smuzhiyun 528*4882a593Smuzhiyun&usb_1_dwc3 { 529*4882a593Smuzhiyun dr_mode = "host"; 530*4882a593Smuzhiyun}; 531*4882a593Smuzhiyun 532*4882a593Smuzhiyun&usb_1_hsphy { 533*4882a593Smuzhiyun status = "okay"; 534*4882a593Smuzhiyun 535*4882a593Smuzhiyun vdd-supply = <&vdda_usb1_ss_core>; 536*4882a593Smuzhiyun vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 537*4882a593Smuzhiyun vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 538*4882a593Smuzhiyun 539*4882a593Smuzhiyun qcom,imp-res-offset-value = <8>; 540*4882a593Smuzhiyun qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 541*4882a593Smuzhiyun qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 542*4882a593Smuzhiyun qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 543*4882a593Smuzhiyun}; 544*4882a593Smuzhiyun 545*4882a593Smuzhiyun&usb_1_qmpphy { 546*4882a593Smuzhiyun status = "okay"; 547*4882a593Smuzhiyun 548*4882a593Smuzhiyun vdda-phy-supply = <&vdda_usb1_ss_1p2>; 549*4882a593Smuzhiyun vdda-pll-supply = <&vdda_usb1_ss_core>; 550*4882a593Smuzhiyun}; 551*4882a593Smuzhiyun 552*4882a593Smuzhiyun&usb_2 { 553*4882a593Smuzhiyun status = "okay"; 554*4882a593Smuzhiyun}; 555*4882a593Smuzhiyun 556*4882a593Smuzhiyun&usb_2_dwc3 { 557*4882a593Smuzhiyun dr_mode = "host"; 558*4882a593Smuzhiyun}; 559*4882a593Smuzhiyun 560*4882a593Smuzhiyun&usb_2_hsphy { 561*4882a593Smuzhiyun status = "okay"; 562*4882a593Smuzhiyun 563*4882a593Smuzhiyun vdd-supply = <&vdda_usb2_ss_core>; 564*4882a593Smuzhiyun vdda-pll-supply = <&vdda_qusb_hs0_1p8>; 565*4882a593Smuzhiyun vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; 566*4882a593Smuzhiyun 567*4882a593Smuzhiyun qcom,imp-res-offset-value = <8>; 568*4882a593Smuzhiyun qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>; 569*4882a593Smuzhiyun}; 570*4882a593Smuzhiyun 571*4882a593Smuzhiyun&usb_2_qmpphy { 572*4882a593Smuzhiyun status = "okay"; 573*4882a593Smuzhiyun 574*4882a593Smuzhiyun vdda-phy-supply = <&vdda_usb2_ss_1p2>; 575*4882a593Smuzhiyun vdda-pll-supply = <&vdda_usb2_ss_core>; 576*4882a593Smuzhiyun}; 577*4882a593Smuzhiyun 578*4882a593Smuzhiyun&wcd9340{ 579*4882a593Smuzhiyun pinctrl-0 = <&wcd_intr_default>; 580*4882a593Smuzhiyun pinctrl-names = "default"; 581*4882a593Smuzhiyun clock-names = "extclk"; 582*4882a593Smuzhiyun clocks = <&rpmhcc RPMH_LN_BB_CLK2>; 583*4882a593Smuzhiyun reset-gpios = <&tlmm 64 0>; 584*4882a593Smuzhiyun vdd-buck-supply = <&vreg_s4a_1p8>; 585*4882a593Smuzhiyun vdd-buck-sido-supply = <&vreg_s4a_1p8>; 586*4882a593Smuzhiyun vdd-tx-supply = <&vreg_s4a_1p8>; 587*4882a593Smuzhiyun vdd-rx-supply = <&vreg_s4a_1p8>; 588*4882a593Smuzhiyun vdd-io-supply = <&vreg_s4a_1p8>; 589*4882a593Smuzhiyun 590*4882a593Smuzhiyun swm: swm@c85 { 591*4882a593Smuzhiyun left_spkr: wsa8810-left{ 592*4882a593Smuzhiyun compatible = "sdw10217211000"; 593*4882a593Smuzhiyun reg = <0 3>; 594*4882a593Smuzhiyun powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_HIGH>; 595*4882a593Smuzhiyun #thermal-sensor-cells = <0>; 596*4882a593Smuzhiyun sound-name-prefix = "SpkrLeft"; 597*4882a593Smuzhiyun #sound-dai-cells = <0>; 598*4882a593Smuzhiyun }; 599*4882a593Smuzhiyun 600*4882a593Smuzhiyun right_spkr: wsa8810-right{ 601*4882a593Smuzhiyun compatible = "sdw10217211000"; 602*4882a593Smuzhiyun powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>; 603*4882a593Smuzhiyun reg = <0 4>; 604*4882a593Smuzhiyun #thermal-sensor-cells = <0>; 605*4882a593Smuzhiyun sound-name-prefix = "SpkrRight"; 606*4882a593Smuzhiyun #sound-dai-cells = <0>; 607*4882a593Smuzhiyun }; 608*4882a593Smuzhiyun }; 609*4882a593Smuzhiyun}; 610*4882a593Smuzhiyun 611*4882a593Smuzhiyun&wifi { 612*4882a593Smuzhiyun status = "okay"; 613*4882a593Smuzhiyun 614*4882a593Smuzhiyun vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 615*4882a593Smuzhiyun vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 616*4882a593Smuzhiyun vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 617*4882a593Smuzhiyun vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 618*4882a593Smuzhiyun 619*4882a593Smuzhiyun qcom,snoc-host-cap-8bit-quirk; 620*4882a593Smuzhiyun}; 621