xref: /linux/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts (revision 93f2a11580a9732c1d90f9e01a7e9facc825658f)
144acee20SBjorn Andersson// SPDX-License-Identifier: BSD-3-Clause
244acee20SBjorn Andersson/*
344acee20SBjorn Andersson * Lenovo Yoga C630
444acee20SBjorn Andersson *
544acee20SBjorn Andersson * Copyright (c) 2019, Linaro Ltd.
644acee20SBjorn Andersson */
744acee20SBjorn Andersson
844acee20SBjorn Andersson/dts-v1/;
944acee20SBjorn Andersson
1045021d35SSrinivas Kandagatla#include <dt-bindings/gpio/gpio.h>
1171b83b74SBjorn Andersson#include <dt-bindings/input/gpio-keys.h>
1271b83b74SBjorn Andersson#include <dt-bindings/input/input.h>
1344acee20SBjorn Andersson#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
1445021d35SSrinivas Kandagatla#include <dt-bindings/sound/qcom,q6afe.h>
1545021d35SSrinivas Kandagatla#include <dt-bindings/sound/qcom,q6asm.h>
1644acee20SBjorn Andersson#include "sdm845.dtsi"
1744acee20SBjorn Andersson#include "pm8998.dtsi"
1844acee20SBjorn Andersson
1944acee20SBjorn Andersson/ {
2044acee20SBjorn Andersson	model = "Lenovo Yoga C630";
2144acee20SBjorn Andersson	compatible = "lenovo,yoga-c630", "qcom,sdm845";
2244acee20SBjorn Andersson
2344acee20SBjorn Andersson	aliases {
2444acee20SBjorn Andersson		hsuart0 = &uart6;
2544acee20SBjorn Andersson	};
2671b83b74SBjorn Andersson
2771b83b74SBjorn Andersson	gpio-keys {
2871b83b74SBjorn Andersson		compatible = "gpio-keys";
2971b83b74SBjorn Andersson
3071b83b74SBjorn Andersson		pinctrl-names = "default";
3171b83b74SBjorn Andersson		pinctrl-0 = <&lid_pin_active>, <&mode_pin_active>;
3271b83b74SBjorn Andersson
3371b83b74SBjorn Andersson		lid {
3471b83b74SBjorn Andersson			gpios = <&tlmm 124 GPIO_ACTIVE_HIGH>;
3571b83b74SBjorn Andersson			linux,input-type = <EV_SW>;
3671b83b74SBjorn Andersson			linux,code = <SW_LID>;
3771b83b74SBjorn Andersson			wakeup-source;
3871b83b74SBjorn Andersson			wakeup-event-action = <EV_ACT_DEASSERTED>;
3971b83b74SBjorn Andersson		};
4071b83b74SBjorn Andersson
4171b83b74SBjorn Andersson		mode {
4271b83b74SBjorn Andersson			gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
4371b83b74SBjorn Andersson			linux,input-type = <EV_SW>;
4471b83b74SBjorn Andersson			linux,code = <SW_TABLET_MODE>;
4571b83b74SBjorn Andersson		};
4671b83b74SBjorn Andersson	};
47956e9c85SBjorn Andersson
48956e9c85SBjorn Andersson	panel {
49956e9c85SBjorn Andersson		compatible = "boe,nv133fhm-n61";
50956e9c85SBjorn Andersson		no-hpd;
51956e9c85SBjorn Andersson
52956e9c85SBjorn Andersson		ports {
53956e9c85SBjorn Andersson			port {
54956e9c85SBjorn Andersson				panel_in_edp: endpoint {
55956e9c85SBjorn Andersson					remote-endpoint = <&sn65dsi86_out>;
56956e9c85SBjorn Andersson				};
57956e9c85SBjorn Andersson			};
58956e9c85SBjorn Andersson		};
59956e9c85SBjorn Andersson	};
60956e9c85SBjorn Andersson
61956e9c85SBjorn Andersson	sn65dsi86_refclk: sn65dsi86-refclk {
62956e9c85SBjorn Andersson		compatible = "fixed-clock";
63956e9c85SBjorn Andersson		#clock-cells = <0>;
64956e9c85SBjorn Andersson
65956e9c85SBjorn Andersson		clock-frequency = <19200000>;
66956e9c85SBjorn Andersson	};
6744acee20SBjorn Andersson};
6844acee20SBjorn Andersson
693cd82e95SBjorn Andersson&adsp_pas {
703cd82e95SBjorn Andersson	firmware-name = "qcom/LENOVO/81JL/qcadsp850.mbn";
713cd82e95SBjorn Andersson	status = "okay";
723cd82e95SBjorn Andersson};
733cd82e95SBjorn Andersson
7444acee20SBjorn Andersson&apps_rsc {
7544acee20SBjorn Andersson	pm8998-rpmh-regulators {
7644acee20SBjorn Andersson		compatible = "qcom,pm8998-rpmh-regulators";
7744acee20SBjorn Andersson		qcom,pmic-id = "a";
7844acee20SBjorn Andersson
7944acee20SBjorn Andersson		vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
8044acee20SBjorn Andersson		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
8144acee20SBjorn Andersson
8244acee20SBjorn Andersson		vreg_s2a_1p125: smps2 {
8344acee20SBjorn Andersson		};
8444acee20SBjorn Andersson
8544acee20SBjorn Andersson		vreg_s3a_1p35: smps3 {
8644acee20SBjorn Andersson			regulator-min-microvolt = <1352000>;
8744acee20SBjorn Andersson			regulator-max-microvolt = <1352000>;
8844acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
8944acee20SBjorn Andersson		};
9044acee20SBjorn Andersson
9144acee20SBjorn Andersson		vreg_s4a_1p8: smps4 {
9244acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
9344acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
9444acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
9544acee20SBjorn Andersson		};
9644acee20SBjorn Andersson
9744acee20SBjorn Andersson		vreg_s5a_2p04: smps5 {
9844acee20SBjorn Andersson			regulator-min-microvolt = <2040000>;
9944acee20SBjorn Andersson			regulator-max-microvolt = <2040000>;
10044acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
10144acee20SBjorn Andersson		};
10244acee20SBjorn Andersson
10344acee20SBjorn Andersson		vreg_s7a_1p025: smps7 {
10444acee20SBjorn Andersson		};
10544acee20SBjorn Andersson
10644acee20SBjorn Andersson		vdd_qusb_hs0:
10744acee20SBjorn Andersson		vdda_hp_pcie_core:
10844acee20SBjorn Andersson		vdda_mipi_csi0_0p9:
10944acee20SBjorn Andersson		vdda_mipi_csi1_0p9:
11044acee20SBjorn Andersson		vdda_mipi_csi2_0p9:
11144acee20SBjorn Andersson		vdda_mipi_dsi0_pll:
11244acee20SBjorn Andersson		vdda_mipi_dsi1_pll:
11344acee20SBjorn Andersson		vdda_qlink_lv:
11444acee20SBjorn Andersson		vdda_qlink_lv_ck:
11544acee20SBjorn Andersson		vdda_qrefs_0p875:
11644acee20SBjorn Andersson		vdda_pcie_core:
11744acee20SBjorn Andersson		vdda_pll_cc_ebi01:
11844acee20SBjorn Andersson		vdda_pll_cc_ebi23:
11944acee20SBjorn Andersson		vdda_sp_sensor:
12044acee20SBjorn Andersson		vdda_ufs1_core:
12144acee20SBjorn Andersson		vdda_ufs2_core:
12244acee20SBjorn Andersson		vdda_usb1_ss_core:
12344acee20SBjorn Andersson		vdda_usb2_ss_core:
12444acee20SBjorn Andersson		vreg_l1a_0p875: ldo1 {
12544acee20SBjorn Andersson			regulator-min-microvolt = <880000>;
12644acee20SBjorn Andersson			regulator-max-microvolt = <880000>;
12744acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
12844acee20SBjorn Andersson		};
12944acee20SBjorn Andersson
13044acee20SBjorn Andersson		vddpx_10:
13144acee20SBjorn Andersson		vreg_l2a_1p2: ldo2 {
13244acee20SBjorn Andersson			regulator-min-microvolt = <1200000>;
13344acee20SBjorn Andersson			regulator-max-microvolt = <1200000>;
13444acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
13544acee20SBjorn Andersson			regulator-always-on;
13644acee20SBjorn Andersson		};
13744acee20SBjorn Andersson
13844acee20SBjorn Andersson		vreg_l3a_1p0: ldo3 {
13944acee20SBjorn Andersson		};
14044acee20SBjorn Andersson
14144acee20SBjorn Andersson		vdd_wcss_cx:
14244acee20SBjorn Andersson		vdd_wcss_mx:
14344acee20SBjorn Andersson		vdda_wcss_pll:
14444acee20SBjorn Andersson		vreg_l5a_0p8: ldo5 {
14544acee20SBjorn Andersson			regulator-min-microvolt = <800000>;
14644acee20SBjorn Andersson			regulator-max-microvolt = <800000>;
14744acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
14844acee20SBjorn Andersson		};
14944acee20SBjorn Andersson
15044acee20SBjorn Andersson		vddpx_13:
15144acee20SBjorn Andersson		vreg_l6a_1p8: ldo6 {
15244acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
15344acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
15444acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
15544acee20SBjorn Andersson		};
15644acee20SBjorn Andersson
15744acee20SBjorn Andersson		vreg_l7a_1p8: ldo7 {
15844acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
15944acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
16044acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
16144acee20SBjorn Andersson		};
16244acee20SBjorn Andersson
16344acee20SBjorn Andersson		vreg_l8a_1p2: ldo8 {
16444acee20SBjorn Andersson		};
16544acee20SBjorn Andersson
16644acee20SBjorn Andersson		vreg_l9a_1p8: ldo9 {
16744acee20SBjorn Andersson		};
16844acee20SBjorn Andersson
16944acee20SBjorn Andersson		vreg_l10a_1p8: ldo10 {
17044acee20SBjorn Andersson		};
17144acee20SBjorn Andersson
17244acee20SBjorn Andersson		vreg_l11a_1p0: ldo11 {
17344acee20SBjorn Andersson		};
17444acee20SBjorn Andersson
17544acee20SBjorn Andersson		vdd_qfprom:
17644acee20SBjorn Andersson		vdd_qfprom_sp:
17744acee20SBjorn Andersson		vdda_apc1_cs_1p8:
17844acee20SBjorn Andersson		vdda_gfx_cs_1p8:
17944acee20SBjorn Andersson		vdda_qrefs_1p8:
18044acee20SBjorn Andersson		vdda_qusb_hs0_1p8:
18144acee20SBjorn Andersson		vddpx_11:
18244acee20SBjorn Andersson		vreg_l12a_1p8: ldo12 {
18344acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
18444acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
18544acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
18644acee20SBjorn Andersson		};
18744acee20SBjorn Andersson
18844acee20SBjorn Andersson		vddpx_2:
18944acee20SBjorn Andersson		vreg_l13a_2p95: ldo13 {
19044acee20SBjorn Andersson		};
19144acee20SBjorn Andersson
19244acee20SBjorn Andersson		vreg_l14a_1p88: ldo14 {
19344acee20SBjorn Andersson			regulator-min-microvolt = <1880000>;
19444acee20SBjorn Andersson			regulator-max-microvolt = <1880000>;
19544acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
19644acee20SBjorn Andersson			regulator-always-on;
19744acee20SBjorn Andersson		};
19844acee20SBjorn Andersson
19944acee20SBjorn Andersson		vreg_l15a_1p8: ldo15 {
20044acee20SBjorn Andersson		};
20144acee20SBjorn Andersson
20244acee20SBjorn Andersson		vreg_l16a_2p7: ldo16 {
20344acee20SBjorn Andersson		};
20444acee20SBjorn Andersson
20544acee20SBjorn Andersson		vreg_l17a_1p3: ldo17 {
20644acee20SBjorn Andersson			regulator-min-microvolt = <1304000>;
20744acee20SBjorn Andersson			regulator-max-microvolt = <1304000>;
20844acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
20944acee20SBjorn Andersson		};
21044acee20SBjorn Andersson
21144acee20SBjorn Andersson		vreg_l18a_2p7: ldo18 {
21244acee20SBjorn Andersson		};
21344acee20SBjorn Andersson
21444acee20SBjorn Andersson		vreg_l19a_3p0: ldo19 {
21544acee20SBjorn Andersson			regulator-min-microvolt = <3100000>;
21644acee20SBjorn Andersson			regulator-max-microvolt = <3108000>;
21744acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
21844acee20SBjorn Andersson		};
21944acee20SBjorn Andersson
22044acee20SBjorn Andersson		vreg_l20a_2p95: ldo20 {
22144acee20SBjorn Andersson			regulator-min-microvolt = <2960000>;
22244acee20SBjorn Andersson			regulator-max-microvolt = <2960000>;
22344acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
22444acee20SBjorn Andersson		};
22544acee20SBjorn Andersson
22644acee20SBjorn Andersson		vreg_l21a_2p95: ldo21 {
22744acee20SBjorn Andersson		};
22844acee20SBjorn Andersson
22944acee20SBjorn Andersson		vreg_l22a_2p85: ldo22 {
23044acee20SBjorn Andersson		};
23144acee20SBjorn Andersson
23244acee20SBjorn Andersson		vreg_l23a_3p3: ldo23 {
23344acee20SBjorn Andersson		};
23444acee20SBjorn Andersson
23544acee20SBjorn Andersson		vdda_qusb_hs0_3p1:
23644acee20SBjorn Andersson		vreg_l24a_3p075: ldo24 {
23744acee20SBjorn Andersson			regulator-min-microvolt = <3075000>;
23844acee20SBjorn Andersson			regulator-max-microvolt = <3083000>;
23944acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
24044acee20SBjorn Andersson		};
24144acee20SBjorn Andersson
24244acee20SBjorn Andersson		vreg_l25a_3p3: ldo25 {
24344acee20SBjorn Andersson			regulator-min-microvolt = <3104000>;
24444acee20SBjorn Andersson			regulator-max-microvolt = <3112000>;
24544acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
24644acee20SBjorn Andersson		};
24744acee20SBjorn Andersson
24844acee20SBjorn Andersson		vdda_hp_pcie_1p2:
24944acee20SBjorn Andersson		vdda_hv_ebi0:
25044acee20SBjorn Andersson		vdda_hv_ebi1:
25144acee20SBjorn Andersson		vdda_hv_ebi2:
25244acee20SBjorn Andersson		vdda_hv_ebi3:
25344acee20SBjorn Andersson		vdda_mipi_csi_1p25:
25444acee20SBjorn Andersson		vdda_mipi_dsi0_1p2:
25544acee20SBjorn Andersson		vdda_mipi_dsi1_1p2:
25644acee20SBjorn Andersson		vdda_pcie_1p2:
25744acee20SBjorn Andersson		vdda_ufs1_1p2:
25844acee20SBjorn Andersson		vdda_ufs2_1p2:
25944acee20SBjorn Andersson		vdda_usb1_ss_1p2:
26044acee20SBjorn Andersson		vdda_usb2_ss_1p2:
26144acee20SBjorn Andersson		vreg_l26a_1p2: ldo26 {
26244acee20SBjorn Andersson			regulator-min-microvolt = <1200000>;
26344acee20SBjorn Andersson			regulator-max-microvolt = <1208000>;
26444acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
26544acee20SBjorn Andersson		};
26644acee20SBjorn Andersson
26744acee20SBjorn Andersson		vreg_l28a_3p0: ldo28 {
26844acee20SBjorn Andersson		};
26944acee20SBjorn Andersson
27044acee20SBjorn Andersson		vreg_lvs1a_1p8: lvs1 {
27144acee20SBjorn Andersson		};
27244acee20SBjorn Andersson
27344acee20SBjorn Andersson		vreg_lvs2a_1p8: lvs2 {
27444acee20SBjorn Andersson		};
27544acee20SBjorn Andersson	};
27644acee20SBjorn Andersson};
27744acee20SBjorn Andersson
2783cd82e95SBjorn Andersson&cdsp_pas {
2793cd82e95SBjorn Andersson	firmware-name = "qcom/LENOVO/81JL/qccdsp850.mbn";
2803cd82e95SBjorn Andersson	status = "okay";
2813cd82e95SBjorn Andersson};
2823cd82e95SBjorn Andersson
283956e9c85SBjorn Andersson&dsi0 {
284956e9c85SBjorn Andersson	status = "okay";
285956e9c85SBjorn Andersson	vdda-supply = <&vreg_l26a_1p2>;
286956e9c85SBjorn Andersson
287956e9c85SBjorn Andersson	ports {
288956e9c85SBjorn Andersson		port@1 {
289956e9c85SBjorn Andersson			endpoint {
290956e9c85SBjorn Andersson				remote-endpoint = <&sn65dsi86_in_a>;
291956e9c85SBjorn Andersson				data-lanes = <0 1 2 3>;
292956e9c85SBjorn Andersson			};
293956e9c85SBjorn Andersson		};
294956e9c85SBjorn Andersson	};
295956e9c85SBjorn Andersson};
296956e9c85SBjorn Andersson
297956e9c85SBjorn Andersson&dsi0_phy {
298956e9c85SBjorn Andersson	status = "okay";
299956e9c85SBjorn Andersson	vdds-supply = <&vreg_l1a_0p875>;
300956e9c85SBjorn Andersson};
301956e9c85SBjorn Andersson
30244acee20SBjorn Andersson&gcc {
30344acee20SBjorn Andersson	protected-clocks = <GCC_QSPI_CORE_CLK>,
30444acee20SBjorn Andersson			   <GCC_QSPI_CORE_CLK_SRC>,
305*93f2a115SBjorn Andersson			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
306*93f2a115SBjorn Andersson			   <GCC_LPASS_Q6_AXI_CLK>,
307*93f2a115SBjorn Andersson			   <GCC_LPASS_SWAY_CLK>;
30844acee20SBjorn Andersson};
30944acee20SBjorn Andersson
310f489b13dSRob Clark&gpu {
311f489b13dSRob Clark	zap-shader {
312f489b13dSRob Clark		memory-region = <&gpu_mem>;
313f489b13dSRob Clark		firmware-name = "qcom/LENOVO/81JL/qcdxkmsuc850.mbn";
314f489b13dSRob Clark	};
315f489b13dSRob Clark};
316f489b13dSRob Clark
31744acee20SBjorn Andersson&i2c1 {
31844acee20SBjorn Andersson	status = "okay";
31944acee20SBjorn Andersson	clock-frequency = <400000>;
32044acee20SBjorn Andersson};
32144acee20SBjorn Andersson
32244acee20SBjorn Andersson&i2c3 {
32344acee20SBjorn Andersson	status = "okay";
32444acee20SBjorn Andersson	clock-frequency = <400000>;
325a9164910SShawn Guo	/* Overwrite pinctrl-0 from sdm845.dtsi */
326a9164910SShawn Guo	pinctrl-0 = <&qup_i2c3_default &i2c3_hid_active>;
32744acee20SBjorn Andersson
32811d0e4f2SBjorn Andersson	tsel: hid@15 {
32944acee20SBjorn Andersson		compatible = "hid-over-i2c";
33044acee20SBjorn Andersson		reg = <0x15>;
33144acee20SBjorn Andersson		hid-descr-addr = <0x1>;
33244acee20SBjorn Andersson
33311d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
33444acee20SBjorn Andersson	};
33544acee20SBjorn Andersson
33611d0e4f2SBjorn Andersson	tsc2: hid@2c {
33744acee20SBjorn Andersson		compatible = "hid-over-i2c";
33844acee20SBjorn Andersson		reg = <0x2c>;
33944acee20SBjorn Andersson		hid-descr-addr = <0x20>;
34044acee20SBjorn Andersson
34111d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
34244acee20SBjorn Andersson	};
34344acee20SBjorn Andersson};
34444acee20SBjorn Andersson
34544acee20SBjorn Andersson&i2c5 {
34644acee20SBjorn Andersson	status = "okay";
34744acee20SBjorn Andersson	clock-frequency = <400000>;
34844acee20SBjorn Andersson
34911d0e4f2SBjorn Andersson	tsc1: hid@10 {
35044acee20SBjorn Andersson		compatible = "hid-over-i2c";
35144acee20SBjorn Andersson		reg = <0x10>;
35244acee20SBjorn Andersson		hid-descr-addr = <0x1>;
35344acee20SBjorn Andersson
35411d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 125 IRQ_TYPE_LEVEL_LOW>;
35544acee20SBjorn Andersson
35644acee20SBjorn Andersson		pinctrl-names = "default";
35711d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c5_hid_active>;
35844acee20SBjorn Andersson	};
35944acee20SBjorn Andersson};
36044acee20SBjorn Andersson
361956e9c85SBjorn Andersson&i2c10 {
362956e9c85SBjorn Andersson	status = "okay";
363956e9c85SBjorn Andersson	clock-frequency = <400000>;
364956e9c85SBjorn Andersson
365956e9c85SBjorn Andersson	sn65dsi86: bridge@2c {
366956e9c85SBjorn Andersson		compatible = "ti,sn65dsi86";
367956e9c85SBjorn Andersson		reg = <0x2c>;
368956e9c85SBjorn Andersson		pinctrl-names = "default";
369956e9c85SBjorn Andersson		pinctrl-0 = <&sn65dsi86_pin_active>;
370956e9c85SBjorn Andersson
371956e9c85SBjorn Andersson		enable-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
372956e9c85SBjorn Andersson
373956e9c85SBjorn Andersson		vpll-supply = <&vreg_l14a_1p88>;
374956e9c85SBjorn Andersson		vccio-supply = <&vreg_l14a_1p88>;
375956e9c85SBjorn Andersson
376956e9c85SBjorn Andersson		clocks = <&sn65dsi86_refclk>;
377956e9c85SBjorn Andersson		clock-names = "refclk";
378956e9c85SBjorn Andersson
379956e9c85SBjorn Andersson		ports {
380956e9c85SBjorn Andersson			#address-cells = <1>;
381956e9c85SBjorn Andersson			#size-cells = <0>;
382956e9c85SBjorn Andersson
383956e9c85SBjorn Andersson			port@0 {
384956e9c85SBjorn Andersson				reg = <0>;
385956e9c85SBjorn Andersson				sn65dsi86_in_a: endpoint {
386956e9c85SBjorn Andersson					remote-endpoint = <&dsi0_out>;
387956e9c85SBjorn Andersson				};
388956e9c85SBjorn Andersson			};
389956e9c85SBjorn Andersson
390956e9c85SBjorn Andersson			port@1 {
391956e9c85SBjorn Andersson				reg = <1>;
392956e9c85SBjorn Andersson				sn65dsi86_out: endpoint {
393956e9c85SBjorn Andersson					remote-endpoint = <&panel_in_edp>;
394956e9c85SBjorn Andersson				};
395956e9c85SBjorn Andersson			};
396956e9c85SBjorn Andersson		};
397956e9c85SBjorn Andersson	};
398956e9c85SBjorn Andersson};
399956e9c85SBjorn Andersson
40044acee20SBjorn Andersson&i2c11 {
40144acee20SBjorn Andersson	status = "okay";
40244acee20SBjorn Andersson	clock-frequency = <400000>;
40344acee20SBjorn Andersson
40411d0e4f2SBjorn Andersson	ecsh: hid@5c {
40544acee20SBjorn Andersson		compatible = "hid-over-i2c";
40644acee20SBjorn Andersson		reg = <0x5c>;
40744acee20SBjorn Andersson		hid-descr-addr = <0x1>;
40844acee20SBjorn Andersson
40944acee20SBjorn Andersson		interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>;
41044acee20SBjorn Andersson
41144acee20SBjorn Andersson		pinctrl-names = "default";
41211d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c11_hid_active>;
41344acee20SBjorn Andersson	};
41444acee20SBjorn Andersson};
41544acee20SBjorn Andersson
416956e9c85SBjorn Andersson&mdss {
417956e9c85SBjorn Andersson	status = "okay";
418956e9c85SBjorn Andersson};
419956e9c85SBjorn Andersson
420956e9c85SBjorn Andersson&mdss_mdp {
421956e9c85SBjorn Andersson	status = "okay";
422956e9c85SBjorn Andersson};
423956e9c85SBjorn Andersson
4243cd82e95SBjorn Andersson&mss_pil {
4253cd82e95SBjorn Andersson	firmware-name = "qcom/LENOVO/81JL/qcdsp1v2850.mbn", "qcom/LENOVO/81JL/qcdsp2850.mbn";
4263cd82e95SBjorn Andersson};
4273cd82e95SBjorn Andersson
428956e9c85SBjorn Andersson&qup_i2c10_default {
429956e9c85SBjorn Andersson	pinconf {
430956e9c85SBjorn Andersson		pins = "gpio55", "gpio56";
431956e9c85SBjorn Andersson		drive-strength = <2>;
432956e9c85SBjorn Andersson		bias-disable;
433956e9c85SBjorn Andersson	};
434956e9c85SBjorn Andersson};
435956e9c85SBjorn Andersson
43644acee20SBjorn Andersson&qup_i2c12_default {
43744acee20SBjorn Andersson	drive-strength = <2>;
43844acee20SBjorn Andersson	bias-disable;
43944acee20SBjorn Andersson};
44044acee20SBjorn Andersson
44144acee20SBjorn Andersson&qup_uart6_default {
44244acee20SBjorn Andersson	pinmux {
44344acee20SBjorn Andersson		 pins = "gpio45", "gpio46", "gpio47", "gpio48";
44444acee20SBjorn Andersson		 function = "qup6";
44544acee20SBjorn Andersson	};
44644acee20SBjorn Andersson
44744acee20SBjorn Andersson	cts {
44844acee20SBjorn Andersson		pins = "gpio45";
44944acee20SBjorn Andersson		bias-pull-down;
45044acee20SBjorn Andersson	};
45144acee20SBjorn Andersson
45244acee20SBjorn Andersson	rts-tx {
45344acee20SBjorn Andersson		pins = "gpio46", "gpio47";
45444acee20SBjorn Andersson		drive-strength = <2>;
45544acee20SBjorn Andersson		bias-disable;
45644acee20SBjorn Andersson	};
45744acee20SBjorn Andersson
45844acee20SBjorn Andersson	rx {
45944acee20SBjorn Andersson		pins = "gpio48";
46044acee20SBjorn Andersson		bias-pull-up;
46144acee20SBjorn Andersson	};
46244acee20SBjorn Andersson};
46344acee20SBjorn Andersson
46444acee20SBjorn Andersson&qupv3_id_0 {
46544acee20SBjorn Andersson	status = "okay";
46644acee20SBjorn Andersson};
46744acee20SBjorn Andersson
46844acee20SBjorn Andersson&qupv3_id_1 {
46944acee20SBjorn Andersson	status = "okay";
47044acee20SBjorn Andersson};
47144acee20SBjorn Andersson
47245021d35SSrinivas Kandagatla&q6asmdai {
47345021d35SSrinivas Kandagatla	dai@0 {
47445021d35SSrinivas Kandagatla		reg = <0>;
47545021d35SSrinivas Kandagatla	};
47645021d35SSrinivas Kandagatla
47745021d35SSrinivas Kandagatla	dai@1 {
47845021d35SSrinivas Kandagatla		reg = <1>;
47945021d35SSrinivas Kandagatla	};
48045021d35SSrinivas Kandagatla};
48145021d35SSrinivas Kandagatla
48245021d35SSrinivas Kandagatla&sound {
48345021d35SSrinivas Kandagatla	compatible = "qcom,db845c-sndcard";
48445021d35SSrinivas Kandagatla	model = "Lenovo-YOGA-C630-13Q50";
48545021d35SSrinivas Kandagatla
48645021d35SSrinivas Kandagatla	audio-routing =
48745021d35SSrinivas Kandagatla		"RX_BIAS", "MCLK",
48845021d35SSrinivas Kandagatla		"AMIC2", "MIC BIAS2",
48945021d35SSrinivas Kandagatla		"SpkrLeft IN", "SPK1 OUT",
49045021d35SSrinivas Kandagatla		"SpkrRight IN", "SPK2 OUT",
49145021d35SSrinivas Kandagatla		"MM_DL1",  "MultiMedia1 Playback",
49245021d35SSrinivas Kandagatla		"MultiMedia2 Capture", "MM_UL2";
49345021d35SSrinivas Kandagatla
49445021d35SSrinivas Kandagatla	mm1-dai-link {
49545021d35SSrinivas Kandagatla		link-name = "MultiMedia1";
49645021d35SSrinivas Kandagatla		cpu {
49745021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
49845021d35SSrinivas Kandagatla		};
49945021d35SSrinivas Kandagatla	};
50045021d35SSrinivas Kandagatla
50145021d35SSrinivas Kandagatla	mm2-dai-link {
50245021d35SSrinivas Kandagatla		link-name = "MultiMedia2";
50345021d35SSrinivas Kandagatla		cpu {
50445021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
50545021d35SSrinivas Kandagatla		};
50645021d35SSrinivas Kandagatla	};
50745021d35SSrinivas Kandagatla
50845021d35SSrinivas Kandagatla	slim-dai-link {
50945021d35SSrinivas Kandagatla		link-name = "SLIM Playback";
51045021d35SSrinivas Kandagatla		cpu {
51145021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_RX>;
51245021d35SSrinivas Kandagatla		};
51345021d35SSrinivas Kandagatla
51445021d35SSrinivas Kandagatla		platform {
51545021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
51645021d35SSrinivas Kandagatla		};
51745021d35SSrinivas Kandagatla
51845021d35SSrinivas Kandagatla		codec {
51945021d35SSrinivas Kandagatla			sound-dai =  <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
52045021d35SSrinivas Kandagatla		};
52145021d35SSrinivas Kandagatla	};
52245021d35SSrinivas Kandagatla
52345021d35SSrinivas Kandagatla	slimcap-dai-link {
52445021d35SSrinivas Kandagatla		link-name = "SLIM Capture";
52545021d35SSrinivas Kandagatla		cpu {
52645021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_TX>;
52745021d35SSrinivas Kandagatla		};
52845021d35SSrinivas Kandagatla
52945021d35SSrinivas Kandagatla		platform {
53045021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
53145021d35SSrinivas Kandagatla		};
53245021d35SSrinivas Kandagatla
53345021d35SSrinivas Kandagatla		codec {
53445021d35SSrinivas Kandagatla			sound-dai = <&wcd9340 1>;
53545021d35SSrinivas Kandagatla		};
53645021d35SSrinivas Kandagatla	};
53745021d35SSrinivas Kandagatla};
53845021d35SSrinivas Kandagatla
53944acee20SBjorn Andersson&tlmm {
54044acee20SBjorn Andersson	gpio-reserved-ranges = <0 4>, <81 4>;
54144acee20SBjorn Andersson
542956e9c85SBjorn Andersson	sn65dsi86_pin_active: sn65dsi86-enable {
543956e9c85SBjorn Andersson		pins = "gpio96";
544956e9c85SBjorn Andersson		drive-strength = <2>;
545956e9c85SBjorn Andersson		bias-disable;
546956e9c85SBjorn Andersson	};
547956e9c85SBjorn Andersson
54811d0e4f2SBjorn Andersson	i2c3_hid_active: i2c2-hid-active {
549f55d373fSBjorn Andersson		pins = "gpio37";
55044acee20SBjorn Andersson		function = "gpio";
55144acee20SBjorn Andersson
55244acee20SBjorn Andersson		input-enable;
55344acee20SBjorn Andersson		bias-pull-up;
55444acee20SBjorn Andersson		drive-strength = <2>;
55544acee20SBjorn Andersson	};
55644acee20SBjorn Andersson
55711d0e4f2SBjorn Andersson	i2c5_hid_active: i2c5-hid-active {
558f55d373fSBjorn Andersson		pins = "gpio125";
55944acee20SBjorn Andersson		function = "gpio";
56044acee20SBjorn Andersson
56144acee20SBjorn Andersson		input-enable;
56244acee20SBjorn Andersson		bias-pull-up;
56344acee20SBjorn Andersson		drive-strength = <2>;
56444acee20SBjorn Andersson	};
56544acee20SBjorn Andersson
56611d0e4f2SBjorn Andersson	i2c11_hid_active: i2c11-hid-active {
567f55d373fSBjorn Andersson		pins = "gpio92";
56844acee20SBjorn Andersson		function = "gpio";
56944acee20SBjorn Andersson
57044acee20SBjorn Andersson		input-enable;
57144acee20SBjorn Andersson		bias-pull-up;
57244acee20SBjorn Andersson		drive-strength = <2>;
57344acee20SBjorn Andersson	};
57445021d35SSrinivas Kandagatla
57545021d35SSrinivas Kandagatla	wcd_intr_default: wcd_intr_default {
576f55d373fSBjorn Andersson		pins = "gpio54";
57745021d35SSrinivas Kandagatla		function = "gpio";
57845021d35SSrinivas Kandagatla
57945021d35SSrinivas Kandagatla		input-enable;
58045021d35SSrinivas Kandagatla		bias-pull-down;
58145021d35SSrinivas Kandagatla		drive-strength = <2>;
58245021d35SSrinivas Kandagatla	};
58371b83b74SBjorn Andersson
58471b83b74SBjorn Andersson	lid_pin_active: lid-pin {
58571b83b74SBjorn Andersson		pins = "gpio124";
58671b83b74SBjorn Andersson		function = "gpio";
58771b83b74SBjorn Andersson
58871b83b74SBjorn Andersson		input-enable;
58971b83b74SBjorn Andersson		bias-disable;
59071b83b74SBjorn Andersson	};
59171b83b74SBjorn Andersson
59271b83b74SBjorn Andersson	mode_pin_active: mode-pin {
59371b83b74SBjorn Andersson		pins = "gpio95";
59471b83b74SBjorn Andersson		function = "gpio";
59571b83b74SBjorn Andersson
59671b83b74SBjorn Andersson		input-enable;
59771b83b74SBjorn Andersson		bias-disable;
59871b83b74SBjorn Andersson	};
59944acee20SBjorn Andersson};
60044acee20SBjorn Andersson
60144acee20SBjorn Andersson&uart6 {
60244acee20SBjorn Andersson	status = "okay";
60344acee20SBjorn Andersson
60444acee20SBjorn Andersson	bluetooth {
60544acee20SBjorn Andersson		compatible = "qcom,wcn3990-bt";
60644acee20SBjorn Andersson
60744acee20SBjorn Andersson		vddio-supply = <&vreg_s4a_1p8>;
60844acee20SBjorn Andersson		vddxo-supply = <&vreg_l7a_1p8>;
60944acee20SBjorn Andersson		vddrf-supply = <&vreg_l17a_1p3>;
61044acee20SBjorn Andersson		vddch0-supply = <&vreg_l25a_3p3>;
61144acee20SBjorn Andersson		max-speed = <3200000>;
61244acee20SBjorn Andersson	};
61344acee20SBjorn Andersson};
61444acee20SBjorn Andersson
61544acee20SBjorn Andersson&ufs_mem_hc {
61644acee20SBjorn Andersson	status = "okay";
61744acee20SBjorn Andersson
6182536bedeSBjorn Andersson	reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
6192536bedeSBjorn Andersson
62044acee20SBjorn Andersson	vcc-supply = <&vreg_l20a_2p95>;
62144acee20SBjorn Andersson	vcc-max-microamp = <600000>;
62244acee20SBjorn Andersson};
62344acee20SBjorn Andersson
62444acee20SBjorn Andersson&ufs_mem_phy {
62544acee20SBjorn Andersson	status = "okay";
62644acee20SBjorn Andersson
62744acee20SBjorn Andersson	vdda-phy-supply = <&vdda_ufs1_core>;
62844acee20SBjorn Andersson	vdda-pll-supply = <&vdda_ufs1_1p2>;
62944acee20SBjorn Andersson};
63044acee20SBjorn Andersson
63144acee20SBjorn Andersson&usb_1 {
63244acee20SBjorn Andersson	status = "okay";
63344acee20SBjorn Andersson};
63444acee20SBjorn Andersson
63544acee20SBjorn Andersson&usb_1_dwc3 {
63644acee20SBjorn Andersson	dr_mode = "host";
63744acee20SBjorn Andersson};
63844acee20SBjorn Andersson
63944acee20SBjorn Andersson&usb_1_hsphy {
64044acee20SBjorn Andersson	status = "okay";
64144acee20SBjorn Andersson
64244acee20SBjorn Andersson	vdd-supply = <&vdda_usb1_ss_core>;
64344acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
64444acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
64544acee20SBjorn Andersson
64644acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
64744acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
64844acee20SBjorn Andersson	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
64944acee20SBjorn Andersson	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
65044acee20SBjorn Andersson};
65144acee20SBjorn Andersson
65244acee20SBjorn Andersson&usb_1_qmpphy {
65344acee20SBjorn Andersson	status = "okay";
65444acee20SBjorn Andersson
65544acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb1_ss_1p2>;
65644acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb1_ss_core>;
65744acee20SBjorn Andersson};
65844acee20SBjorn Andersson
65944acee20SBjorn Andersson&usb_2 {
66044acee20SBjorn Andersson	status = "okay";
66144acee20SBjorn Andersson};
66244acee20SBjorn Andersson
66344acee20SBjorn Andersson&usb_2_dwc3 {
66444acee20SBjorn Andersson	dr_mode = "host";
66544acee20SBjorn Andersson};
66644acee20SBjorn Andersson
66744acee20SBjorn Andersson&usb_2_hsphy {
66844acee20SBjorn Andersson	status = "okay";
66944acee20SBjorn Andersson
67044acee20SBjorn Andersson	vdd-supply = <&vdda_usb2_ss_core>;
67144acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
67244acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
67344acee20SBjorn Andersson
67444acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
67544acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
67644acee20SBjorn Andersson};
67744acee20SBjorn Andersson
67844acee20SBjorn Andersson&usb_2_qmpphy {
67944acee20SBjorn Andersson	status = "okay";
68044acee20SBjorn Andersson
68144acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb2_ss_1p2>;
68244acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb2_ss_core>;
68344acee20SBjorn Andersson};
68445021d35SSrinivas Kandagatla
68545021d35SSrinivas Kandagatla&wcd9340{
68645021d35SSrinivas Kandagatla	pinctrl-0 = <&wcd_intr_default>;
68745021d35SSrinivas Kandagatla	pinctrl-names = "default";
68845021d35SSrinivas Kandagatla	clock-names = "extclk";
68945021d35SSrinivas Kandagatla	clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
69045021d35SSrinivas Kandagatla	reset-gpios = <&tlmm 64 0>;
69145021d35SSrinivas Kandagatla	vdd-buck-supply = <&vreg_s4a_1p8>;
69245021d35SSrinivas Kandagatla	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
69345021d35SSrinivas Kandagatla	vdd-tx-supply = <&vreg_s4a_1p8>;
69445021d35SSrinivas Kandagatla	vdd-rx-supply = <&vreg_s4a_1p8>;
69545021d35SSrinivas Kandagatla	vdd-io-supply = <&vreg_s4a_1p8>;
69645021d35SSrinivas Kandagatla
69745021d35SSrinivas Kandagatla	swm: swm@c85 {
69845021d35SSrinivas Kandagatla		left_spkr: wsa8810-left{
69945021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
70045021d35SSrinivas Kandagatla			reg = <0 3>;
70145021d35SSrinivas Kandagatla			powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
70245021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
70345021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrLeft";
70445021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
70545021d35SSrinivas Kandagatla		};
70645021d35SSrinivas Kandagatla
70745021d35SSrinivas Kandagatla		right_spkr: wsa8810-right{
70845021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
70945021d35SSrinivas Kandagatla			powerdown-gpios = <&wcdgpio 3 GPIO_ACTIVE_HIGH>;
71045021d35SSrinivas Kandagatla			reg = <0 4>;
71145021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
71245021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrRight";
71345021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
71445021d35SSrinivas Kandagatla		};
71545021d35SSrinivas Kandagatla	};
71645021d35SSrinivas Kandagatla};
7173fb298d0SBjorn Andersson
7183fb298d0SBjorn Andersson&wifi {
7193fb298d0SBjorn Andersson	status = "okay";
7203fb298d0SBjorn Andersson
7213fb298d0SBjorn Andersson	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
7223fb298d0SBjorn Andersson	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
7233fb298d0SBjorn Andersson	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
7243fb298d0SBjorn Andersson	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
7253fb298d0SBjorn Andersson
7263fb298d0SBjorn Andersson	qcom,snoc-host-cap-8bit-quirk;
7273fb298d0SBjorn Andersson};
728