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