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