1 // SPDX-License-Identifier: BSD-3-Clause
5 * Copyright (c) 2019, Linaro Ltd.
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
12 #include <dt-bindings/sound/qcom,q6afe.h>
13 #include <dt-bindings/sound/qcom,q6asm.h>
14 #include "sdm845.dtsi"
15 #include "pm8998.dtsi"
18 model = "Lenovo Yoga C630";
19 compatible = "lenovo,yoga-c630", "qcom,sdm845";
27 firmware-name = "qcom/LENOVO/81JL/qcadsp850.mbn";
32 pm8998-rpmh-regulators {
33 compatible = "qcom,pm8998-rpmh-regulators";
36 vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
37 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
39 vreg_s2a_1p125: smps2 {
42 vreg_s3a_1p35: smps3 {
43 regulator-min-microvolt = <1352000>;
44 regulator-max-microvolt = <1352000>;
45 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
49 regulator-min-microvolt = <1800000>;
50 regulator-max-microvolt = <1800000>;
51 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
54 vreg_s5a_2p04: smps5 {
55 regulator-min-microvolt = <2040000>;
56 regulator-max-microvolt = <2040000>;
57 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
60 vreg_s7a_1p025: smps7 {
81 vreg_l1a_0p875: ldo1 {
82 regulator-min-microvolt = <880000>;
83 regulator-max-microvolt = <880000>;
84 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
89 regulator-min-microvolt = <1200000>;
90 regulator-max-microvolt = <1200000>;
91 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
102 regulator-min-microvolt = <800000>;
103 regulator-max-microvolt = <800000>;
104 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
109 regulator-min-microvolt = <1800000>;
110 regulator-max-microvolt = <1800000>;
111 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
115 regulator-min-microvolt = <1800000>;
116 regulator-max-microvolt = <1800000>;
117 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
126 vreg_l10a_1p8: ldo10 {
129 vreg_l11a_1p0: ldo11 {
139 vreg_l12a_1p8: ldo12 {
140 regulator-min-microvolt = <1800000>;
141 regulator-max-microvolt = <1800000>;
142 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
146 vreg_l13a_2p95: ldo13 {
149 vreg_l14a_1p88: ldo14 {
150 regulator-min-microvolt = <1880000>;
151 regulator-max-microvolt = <1880000>;
152 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
156 vreg_l15a_1p8: ldo15 {
159 vreg_l16a_2p7: ldo16 {
162 vreg_l17a_1p3: ldo17 {
163 regulator-min-microvolt = <1304000>;
164 regulator-max-microvolt = <1304000>;
165 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
168 vreg_l18a_2p7: ldo18 {
171 vreg_l19a_3p0: ldo19 {
172 regulator-min-microvolt = <3100000>;
173 regulator-max-microvolt = <3108000>;
174 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
177 vreg_l20a_2p95: ldo20 {
178 regulator-min-microvolt = <2960000>;
179 regulator-max-microvolt = <2960000>;
180 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
183 vreg_l21a_2p95: ldo21 {
186 vreg_l22a_2p85: ldo22 {
189 vreg_l23a_3p3: ldo23 {
193 vreg_l24a_3p075: ldo24 {
194 regulator-min-microvolt = <3075000>;
195 regulator-max-microvolt = <3083000>;
196 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
199 vreg_l25a_3p3: ldo25 {
200 regulator-min-microvolt = <3104000>;
201 regulator-max-microvolt = <3112000>;
202 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
218 vreg_l26a_1p2: ldo26 {
219 regulator-min-microvolt = <1200000>;
220 regulator-max-microvolt = <1208000>;
221 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
224 vreg_l28a_3p0: ldo28 {
227 vreg_lvs1a_1p8: lvs1 {
230 vreg_lvs2a_1p8: lvs2 {
236 /* TODO: Figure out how to survive booting with this enabled */
241 firmware-name = "qcom/LENOVO/81JL/qccdsp850.mbn";
246 protected-clocks = <GCC_QSPI_CORE_CLK>,
247 <GCC_QSPI_CORE_CLK_SRC>,
248 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>;
253 memory-region = <&gpu_mem>;
254 firmware-name = "qcom/LENOVO/81JL/qcdxkmsuc850.mbn";
260 clock-frequency = <400000>;
265 clock-frequency = <400000>;
268 compatible = "hid-over-i2c";
270 hid-descr-addr = <0x1>;
272 interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_RISING>;
276 compatible = "hid-over-i2c";
278 hid-descr-addr = <0x20>;
280 interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_RISING>;
282 pinctrl-names = "default";
283 pinctrl-0 = <&i2c2_hid_active>;
289 clock-frequency = <400000>;
292 compatible = "hid-over-i2c";
294 hid-descr-addr = <0x1>;
296 interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>;
298 pinctrl-names = "default";
299 pinctrl-0 = <&i2c6_hid_active>;
305 clock-frequency = <400000>;
308 compatible = "hid-over-i2c";
310 hid-descr-addr = <0x1>;
312 interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>;
314 pinctrl-names = "default";
315 pinctrl-0 = <&i2c12_hid_active>;
320 firmware-name = "qcom/LENOVO/81JL/qcdsp1v2850.mbn", "qcom/LENOVO/81JL/qcdsp2850.mbn";
324 drive-strength = <2>;
330 pins = "gpio45", "gpio46", "gpio47", "gpio48";
340 pins = "gpio46", "gpio47";
341 drive-strength = <2>;
372 compatible = "qcom,db845c-sndcard";
373 model = "Lenovo-YOGA-C630-13Q50";
377 "AMIC2", "MIC BIAS2",
378 "SpkrLeft IN", "SPK1 OUT",
379 "SpkrRight IN", "SPK2 OUT",
380 "MM_DL1", "MultiMedia1 Playback",
381 "MultiMedia2 Capture", "MM_UL2";
384 link-name = "MultiMedia1";
386 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
391 link-name = "MultiMedia2";
393 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
398 link-name = "SLIM Playback";
400 sound-dai = <&q6afedai SLIMBUS_0_RX>;
404 sound-dai = <&q6routing>;
408 sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
413 link-name = "SLIM Capture";
415 sound-dai = <&q6afedai SLIMBUS_0_TX>;
419 sound-dai = <&q6routing>;
423 sound-dai = <&wcd9340 1>;
429 gpio-reserved-ranges = <0 4>, <81 4>;
431 i2c2_hid_active: i2c2-hid-active {
437 drive-strength = <2>;
440 i2c6_hid_active: i2c6-hid-active {
446 drive-strength = <2>;
449 i2c12_hid_active: i2c12-hid-active {
455 drive-strength = <2>;
458 wcd_intr_default: wcd_intr_default {
464 drive-strength = <2>;
472 compatible = "qcom,wcn3990-bt";
474 vddio-supply = <&vreg_s4a_1p8>;
475 vddxo-supply = <&vreg_l7a_1p8>;
476 vddrf-supply = <&vreg_l17a_1p3>;
477 vddch0-supply = <&vreg_l25a_3p3>;
478 max-speed = <3200000>;
485 vcc-supply = <&vreg_l20a_2p95>;
486 vcc-max-microamp = <600000>;
492 vdda-phy-supply = <&vdda_ufs1_core>;
493 vdda-pll-supply = <&vdda_ufs1_1p2>;
507 vdd-supply = <&vdda_usb1_ss_core>;
508 vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
509 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
511 qcom,imp-res-offset-value = <8>;
512 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
513 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
514 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
520 vdda-phy-supply = <&vdda_usb1_ss_1p2>;
521 vdda-pll-supply = <&vdda_usb1_ss_core>;
535 vdd-supply = <&vdda_usb2_ss_core>;
536 vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
537 vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
539 qcom,imp-res-offset-value = <8>;
540 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
546 vdda-phy-supply = <&vdda_usb2_ss_1p2>;
547 vdda-pll-supply = <&vdda_usb2_ss_core>;
551 pinctrl-0 = <&wcd_intr_default>;
552 pinctrl-names = "default";
553 clock-names = "extclk";
554 clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
555 reset-gpios = <&tlmm 64 0>;
556 vdd-buck-supply = <&vreg_s4a_1p8>;
557 vdd-buck-sido-supply = <&vreg_s4a_1p8>;
558 vdd-tx-supply = <&vreg_s4a_1p8>;
559 vdd-rx-supply = <&vreg_s4a_1p8>;
560 vdd-io-supply = <&vreg_s4a_1p8>;
563 left_spkr: wsa8810-left{
564 compatible = "sdw10217211000";
566 powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
567 #thermal-sensor-cells = <0>;
568 sound-name-prefix = "SpkrLeft";
569 #sound-dai-cells = <0>;
572 right_spkr: wsa8810-right{
573 compatible = "sdw10217211000";
574 powerdown-gpios = <&wcdgpio 3 GPIO_ACTIVE_HIGH>;
576 #thermal-sensor-cells = <0>;
577 sound-name-prefix = "SpkrRight";
578 #sound-dai-cells = <0>;