xref: /linux/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts (revision a9164910c5ceed63551280a4a0b85d37ac2b19a5)
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>,
30544acee20SBjorn Andersson			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>;
30644acee20SBjorn Andersson};
30744acee20SBjorn Andersson
308f489b13dSRob Clark&gpu {
309f489b13dSRob Clark	zap-shader {
310f489b13dSRob Clark		memory-region = <&gpu_mem>;
311f489b13dSRob Clark		firmware-name = "qcom/LENOVO/81JL/qcdxkmsuc850.mbn";
312f489b13dSRob Clark	};
313f489b13dSRob Clark};
314f489b13dSRob Clark
31544acee20SBjorn Andersson&i2c1 {
31644acee20SBjorn Andersson	status = "okay";
31744acee20SBjorn Andersson	clock-frequency = <400000>;
31844acee20SBjorn Andersson};
31944acee20SBjorn Andersson
32044acee20SBjorn Andersson&i2c3 {
32144acee20SBjorn Andersson	status = "okay";
32244acee20SBjorn Andersson	clock-frequency = <400000>;
323*a9164910SShawn Guo	/* Overwrite pinctrl-0 from sdm845.dtsi */
324*a9164910SShawn Guo	pinctrl-0 = <&qup_i2c3_default &i2c3_hid_active>;
32544acee20SBjorn Andersson
32611d0e4f2SBjorn Andersson	tsel: hid@15 {
32744acee20SBjorn Andersson		compatible = "hid-over-i2c";
32844acee20SBjorn Andersson		reg = <0x15>;
32944acee20SBjorn Andersson		hid-descr-addr = <0x1>;
33044acee20SBjorn Andersson
33111d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
33244acee20SBjorn Andersson	};
33344acee20SBjorn Andersson
33411d0e4f2SBjorn Andersson	tsc2: hid@2c {
33544acee20SBjorn Andersson		compatible = "hid-over-i2c";
33644acee20SBjorn Andersson		reg = <0x2c>;
33744acee20SBjorn Andersson		hid-descr-addr = <0x20>;
33844acee20SBjorn Andersson
33911d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
34044acee20SBjorn Andersson	};
34144acee20SBjorn Andersson};
34244acee20SBjorn Andersson
34344acee20SBjorn Andersson&i2c5 {
34444acee20SBjorn Andersson	status = "okay";
34544acee20SBjorn Andersson	clock-frequency = <400000>;
34644acee20SBjorn Andersson
34711d0e4f2SBjorn Andersson	tsc1: hid@10 {
34844acee20SBjorn Andersson		compatible = "hid-over-i2c";
34944acee20SBjorn Andersson		reg = <0x10>;
35044acee20SBjorn Andersson		hid-descr-addr = <0x1>;
35144acee20SBjorn Andersson
35211d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 125 IRQ_TYPE_LEVEL_LOW>;
35344acee20SBjorn Andersson
35444acee20SBjorn Andersson		pinctrl-names = "default";
35511d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c5_hid_active>;
35644acee20SBjorn Andersson	};
35744acee20SBjorn Andersson};
35844acee20SBjorn Andersson
359956e9c85SBjorn Andersson&i2c10 {
360956e9c85SBjorn Andersson	status = "okay";
361956e9c85SBjorn Andersson	clock-frequency = <400000>;
362956e9c85SBjorn Andersson
363956e9c85SBjorn Andersson	sn65dsi86: bridge@2c {
364956e9c85SBjorn Andersson		compatible = "ti,sn65dsi86";
365956e9c85SBjorn Andersson		reg = <0x2c>;
366956e9c85SBjorn Andersson		pinctrl-names = "default";
367956e9c85SBjorn Andersson		pinctrl-0 = <&sn65dsi86_pin_active>;
368956e9c85SBjorn Andersson
369956e9c85SBjorn Andersson		enable-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
370956e9c85SBjorn Andersson
371956e9c85SBjorn Andersson		vpll-supply = <&vreg_l14a_1p88>;
372956e9c85SBjorn Andersson		vccio-supply = <&vreg_l14a_1p88>;
373956e9c85SBjorn Andersson
374956e9c85SBjorn Andersson		clocks = <&sn65dsi86_refclk>;
375956e9c85SBjorn Andersson		clock-names = "refclk";
376956e9c85SBjorn Andersson
377956e9c85SBjorn Andersson		ports {
378956e9c85SBjorn Andersson			#address-cells = <1>;
379956e9c85SBjorn Andersson			#size-cells = <0>;
380956e9c85SBjorn Andersson
381956e9c85SBjorn Andersson			port@0 {
382956e9c85SBjorn Andersson				reg = <0>;
383956e9c85SBjorn Andersson				sn65dsi86_in_a: endpoint {
384956e9c85SBjorn Andersson					remote-endpoint = <&dsi0_out>;
385956e9c85SBjorn Andersson				};
386956e9c85SBjorn Andersson			};
387956e9c85SBjorn Andersson
388956e9c85SBjorn Andersson			port@1 {
389956e9c85SBjorn Andersson				reg = <1>;
390956e9c85SBjorn Andersson				sn65dsi86_out: endpoint {
391956e9c85SBjorn Andersson					remote-endpoint = <&panel_in_edp>;
392956e9c85SBjorn Andersson				};
393956e9c85SBjorn Andersson			};
394956e9c85SBjorn Andersson		};
395956e9c85SBjorn Andersson	};
396956e9c85SBjorn Andersson};
397956e9c85SBjorn Andersson
39844acee20SBjorn Andersson&i2c11 {
39944acee20SBjorn Andersson	status = "okay";
40044acee20SBjorn Andersson	clock-frequency = <400000>;
40144acee20SBjorn Andersson
40211d0e4f2SBjorn Andersson	ecsh: hid@5c {
40344acee20SBjorn Andersson		compatible = "hid-over-i2c";
40444acee20SBjorn Andersson		reg = <0x5c>;
40544acee20SBjorn Andersson		hid-descr-addr = <0x1>;
40644acee20SBjorn Andersson
40744acee20SBjorn Andersson		interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>;
40844acee20SBjorn Andersson
40944acee20SBjorn Andersson		pinctrl-names = "default";
41011d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c11_hid_active>;
41144acee20SBjorn Andersson	};
41244acee20SBjorn Andersson};
41344acee20SBjorn Andersson
414956e9c85SBjorn Andersson&mdss {
415956e9c85SBjorn Andersson	status = "okay";
416956e9c85SBjorn Andersson};
417956e9c85SBjorn Andersson
418956e9c85SBjorn Andersson&mdss_mdp {
419956e9c85SBjorn Andersson	status = "okay";
420956e9c85SBjorn Andersson};
421956e9c85SBjorn Andersson
4223cd82e95SBjorn Andersson&mss_pil {
4233cd82e95SBjorn Andersson	firmware-name = "qcom/LENOVO/81JL/qcdsp1v2850.mbn", "qcom/LENOVO/81JL/qcdsp2850.mbn";
4243cd82e95SBjorn Andersson};
4253cd82e95SBjorn Andersson
426956e9c85SBjorn Andersson&qup_i2c10_default {
427956e9c85SBjorn Andersson	pinconf {
428956e9c85SBjorn Andersson		pins = "gpio55", "gpio56";
429956e9c85SBjorn Andersson		drive-strength = <2>;
430956e9c85SBjorn Andersson		bias-disable;
431956e9c85SBjorn Andersson	};
432956e9c85SBjorn Andersson};
433956e9c85SBjorn Andersson
43444acee20SBjorn Andersson&qup_i2c12_default {
43544acee20SBjorn Andersson	drive-strength = <2>;
43644acee20SBjorn Andersson	bias-disable;
43744acee20SBjorn Andersson};
43844acee20SBjorn Andersson
43944acee20SBjorn Andersson&qup_uart6_default {
44044acee20SBjorn Andersson	pinmux {
44144acee20SBjorn Andersson		 pins = "gpio45", "gpio46", "gpio47", "gpio48";
44244acee20SBjorn Andersson		 function = "qup6";
44344acee20SBjorn Andersson	};
44444acee20SBjorn Andersson
44544acee20SBjorn Andersson	cts {
44644acee20SBjorn Andersson		pins = "gpio45";
44744acee20SBjorn Andersson		bias-pull-down;
44844acee20SBjorn Andersson	};
44944acee20SBjorn Andersson
45044acee20SBjorn Andersson	rts-tx {
45144acee20SBjorn Andersson		pins = "gpio46", "gpio47";
45244acee20SBjorn Andersson		drive-strength = <2>;
45344acee20SBjorn Andersson		bias-disable;
45444acee20SBjorn Andersson	};
45544acee20SBjorn Andersson
45644acee20SBjorn Andersson	rx {
45744acee20SBjorn Andersson		pins = "gpio48";
45844acee20SBjorn Andersson		bias-pull-up;
45944acee20SBjorn Andersson	};
46044acee20SBjorn Andersson};
46144acee20SBjorn Andersson
46244acee20SBjorn Andersson&qupv3_id_0 {
46344acee20SBjorn Andersson	status = "okay";
46444acee20SBjorn Andersson};
46544acee20SBjorn Andersson
46644acee20SBjorn Andersson&qupv3_id_1 {
46744acee20SBjorn Andersson	status = "okay";
46844acee20SBjorn Andersson};
46944acee20SBjorn Andersson
47045021d35SSrinivas Kandagatla&q6asmdai {
47145021d35SSrinivas Kandagatla	dai@0 {
47245021d35SSrinivas Kandagatla		reg = <0>;
47345021d35SSrinivas Kandagatla	};
47445021d35SSrinivas Kandagatla
47545021d35SSrinivas Kandagatla	dai@1 {
47645021d35SSrinivas Kandagatla		reg = <1>;
47745021d35SSrinivas Kandagatla	};
47845021d35SSrinivas Kandagatla};
47945021d35SSrinivas Kandagatla
48045021d35SSrinivas Kandagatla&sound {
48145021d35SSrinivas Kandagatla	compatible = "qcom,db845c-sndcard";
48245021d35SSrinivas Kandagatla	model = "Lenovo-YOGA-C630-13Q50";
48345021d35SSrinivas Kandagatla
48445021d35SSrinivas Kandagatla	audio-routing =
48545021d35SSrinivas Kandagatla		"RX_BIAS", "MCLK",
48645021d35SSrinivas Kandagatla		"AMIC2", "MIC BIAS2",
48745021d35SSrinivas Kandagatla		"SpkrLeft IN", "SPK1 OUT",
48845021d35SSrinivas Kandagatla		"SpkrRight IN", "SPK2 OUT",
48945021d35SSrinivas Kandagatla		"MM_DL1",  "MultiMedia1 Playback",
49045021d35SSrinivas Kandagatla		"MultiMedia2 Capture", "MM_UL2";
49145021d35SSrinivas Kandagatla
49245021d35SSrinivas Kandagatla	mm1-dai-link {
49345021d35SSrinivas Kandagatla		link-name = "MultiMedia1";
49445021d35SSrinivas Kandagatla		cpu {
49545021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
49645021d35SSrinivas Kandagatla		};
49745021d35SSrinivas Kandagatla	};
49845021d35SSrinivas Kandagatla
49945021d35SSrinivas Kandagatla	mm2-dai-link {
50045021d35SSrinivas Kandagatla		link-name = "MultiMedia2";
50145021d35SSrinivas Kandagatla		cpu {
50245021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
50345021d35SSrinivas Kandagatla		};
50445021d35SSrinivas Kandagatla	};
50545021d35SSrinivas Kandagatla
50645021d35SSrinivas Kandagatla	slim-dai-link {
50745021d35SSrinivas Kandagatla		link-name = "SLIM Playback";
50845021d35SSrinivas Kandagatla		cpu {
50945021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_RX>;
51045021d35SSrinivas Kandagatla		};
51145021d35SSrinivas Kandagatla
51245021d35SSrinivas Kandagatla		platform {
51345021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
51445021d35SSrinivas Kandagatla		};
51545021d35SSrinivas Kandagatla
51645021d35SSrinivas Kandagatla		codec {
51745021d35SSrinivas Kandagatla			sound-dai =  <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
51845021d35SSrinivas Kandagatla		};
51945021d35SSrinivas Kandagatla	};
52045021d35SSrinivas Kandagatla
52145021d35SSrinivas Kandagatla	slimcap-dai-link {
52245021d35SSrinivas Kandagatla		link-name = "SLIM Capture";
52345021d35SSrinivas Kandagatla		cpu {
52445021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_TX>;
52545021d35SSrinivas Kandagatla		};
52645021d35SSrinivas Kandagatla
52745021d35SSrinivas Kandagatla		platform {
52845021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
52945021d35SSrinivas Kandagatla		};
53045021d35SSrinivas Kandagatla
53145021d35SSrinivas Kandagatla		codec {
53245021d35SSrinivas Kandagatla			sound-dai = <&wcd9340 1>;
53345021d35SSrinivas Kandagatla		};
53445021d35SSrinivas Kandagatla	};
53545021d35SSrinivas Kandagatla};
53645021d35SSrinivas Kandagatla
53744acee20SBjorn Andersson&tlmm {
53844acee20SBjorn Andersson	gpio-reserved-ranges = <0 4>, <81 4>;
53944acee20SBjorn Andersson
540956e9c85SBjorn Andersson	sn65dsi86_pin_active: sn65dsi86-enable {
541956e9c85SBjorn Andersson		pins = "gpio96";
542956e9c85SBjorn Andersson		drive-strength = <2>;
543956e9c85SBjorn Andersson		bias-disable;
544956e9c85SBjorn Andersson	};
545956e9c85SBjorn Andersson
54611d0e4f2SBjorn Andersson	i2c3_hid_active: i2c2-hid-active {
547f55d373fSBjorn Andersson		pins = "gpio37";
54844acee20SBjorn Andersson		function = "gpio";
54944acee20SBjorn Andersson
55044acee20SBjorn Andersson		input-enable;
55144acee20SBjorn Andersson		bias-pull-up;
55244acee20SBjorn Andersson		drive-strength = <2>;
55344acee20SBjorn Andersson	};
55444acee20SBjorn Andersson
55511d0e4f2SBjorn Andersson	i2c5_hid_active: i2c5-hid-active {
556f55d373fSBjorn Andersson		pins = "gpio125";
55744acee20SBjorn Andersson		function = "gpio";
55844acee20SBjorn Andersson
55944acee20SBjorn Andersson		input-enable;
56044acee20SBjorn Andersson		bias-pull-up;
56144acee20SBjorn Andersson		drive-strength = <2>;
56244acee20SBjorn Andersson	};
56344acee20SBjorn Andersson
56411d0e4f2SBjorn Andersson	i2c11_hid_active: i2c11-hid-active {
565f55d373fSBjorn Andersson		pins = "gpio92";
56644acee20SBjorn Andersson		function = "gpio";
56744acee20SBjorn Andersson
56844acee20SBjorn Andersson		input-enable;
56944acee20SBjorn Andersson		bias-pull-up;
57044acee20SBjorn Andersson		drive-strength = <2>;
57144acee20SBjorn Andersson	};
57245021d35SSrinivas Kandagatla
57345021d35SSrinivas Kandagatla	wcd_intr_default: wcd_intr_default {
574f55d373fSBjorn Andersson		pins = "gpio54";
57545021d35SSrinivas Kandagatla		function = "gpio";
57645021d35SSrinivas Kandagatla
57745021d35SSrinivas Kandagatla		input-enable;
57845021d35SSrinivas Kandagatla		bias-pull-down;
57945021d35SSrinivas Kandagatla		drive-strength = <2>;
58045021d35SSrinivas Kandagatla	};
58171b83b74SBjorn Andersson
58271b83b74SBjorn Andersson	lid_pin_active: lid-pin {
58371b83b74SBjorn Andersson		pins = "gpio124";
58471b83b74SBjorn Andersson		function = "gpio";
58571b83b74SBjorn Andersson
58671b83b74SBjorn Andersson		input-enable;
58771b83b74SBjorn Andersson		bias-disable;
58871b83b74SBjorn Andersson	};
58971b83b74SBjorn Andersson
59071b83b74SBjorn Andersson	mode_pin_active: mode-pin {
59171b83b74SBjorn Andersson		pins = "gpio95";
59271b83b74SBjorn Andersson		function = "gpio";
59371b83b74SBjorn Andersson
59471b83b74SBjorn Andersson		input-enable;
59571b83b74SBjorn Andersson		bias-disable;
59671b83b74SBjorn Andersson	};
59744acee20SBjorn Andersson};
59844acee20SBjorn Andersson
59944acee20SBjorn Andersson&uart6 {
60044acee20SBjorn Andersson	status = "okay";
60144acee20SBjorn Andersson
60244acee20SBjorn Andersson	bluetooth {
60344acee20SBjorn Andersson		compatible = "qcom,wcn3990-bt";
60444acee20SBjorn Andersson
60544acee20SBjorn Andersson		vddio-supply = <&vreg_s4a_1p8>;
60644acee20SBjorn Andersson		vddxo-supply = <&vreg_l7a_1p8>;
60744acee20SBjorn Andersson		vddrf-supply = <&vreg_l17a_1p3>;
60844acee20SBjorn Andersson		vddch0-supply = <&vreg_l25a_3p3>;
60944acee20SBjorn Andersson		max-speed = <3200000>;
61044acee20SBjorn Andersson	};
61144acee20SBjorn Andersson};
61244acee20SBjorn Andersson
61344acee20SBjorn Andersson&ufs_mem_hc {
61444acee20SBjorn Andersson	status = "okay";
61544acee20SBjorn Andersson
6162536bedeSBjorn Andersson	reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
6172536bedeSBjorn Andersson
61844acee20SBjorn Andersson	vcc-supply = <&vreg_l20a_2p95>;
61944acee20SBjorn Andersson	vcc-max-microamp = <600000>;
62044acee20SBjorn Andersson};
62144acee20SBjorn Andersson
62244acee20SBjorn Andersson&ufs_mem_phy {
62344acee20SBjorn Andersson	status = "okay";
62444acee20SBjorn Andersson
62544acee20SBjorn Andersson	vdda-phy-supply = <&vdda_ufs1_core>;
62644acee20SBjorn Andersson	vdda-pll-supply = <&vdda_ufs1_1p2>;
62744acee20SBjorn Andersson};
62844acee20SBjorn Andersson
62944acee20SBjorn Andersson&usb_1 {
63044acee20SBjorn Andersson	status = "okay";
63144acee20SBjorn Andersson};
63244acee20SBjorn Andersson
63344acee20SBjorn Andersson&usb_1_dwc3 {
63444acee20SBjorn Andersson	dr_mode = "host";
63544acee20SBjorn Andersson};
63644acee20SBjorn Andersson
63744acee20SBjorn Andersson&usb_1_hsphy {
63844acee20SBjorn Andersson	status = "okay";
63944acee20SBjorn Andersson
64044acee20SBjorn Andersson	vdd-supply = <&vdda_usb1_ss_core>;
64144acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
64244acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
64344acee20SBjorn Andersson
64444acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
64544acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
64644acee20SBjorn Andersson	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
64744acee20SBjorn Andersson	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
64844acee20SBjorn Andersson};
64944acee20SBjorn Andersson
65044acee20SBjorn Andersson&usb_1_qmpphy {
65144acee20SBjorn Andersson	status = "okay";
65244acee20SBjorn Andersson
65344acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb1_ss_1p2>;
65444acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb1_ss_core>;
65544acee20SBjorn Andersson};
65644acee20SBjorn Andersson
65744acee20SBjorn Andersson&usb_2 {
65844acee20SBjorn Andersson	status = "okay";
65944acee20SBjorn Andersson};
66044acee20SBjorn Andersson
66144acee20SBjorn Andersson&usb_2_dwc3 {
66244acee20SBjorn Andersson	dr_mode = "host";
66344acee20SBjorn Andersson};
66444acee20SBjorn Andersson
66544acee20SBjorn Andersson&usb_2_hsphy {
66644acee20SBjorn Andersson	status = "okay";
66744acee20SBjorn Andersson
66844acee20SBjorn Andersson	vdd-supply = <&vdda_usb2_ss_core>;
66944acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
67044acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
67144acee20SBjorn Andersson
67244acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
67344acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
67444acee20SBjorn Andersson};
67544acee20SBjorn Andersson
67644acee20SBjorn Andersson&usb_2_qmpphy {
67744acee20SBjorn Andersson	status = "okay";
67844acee20SBjorn Andersson
67944acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb2_ss_1p2>;
68044acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb2_ss_core>;
68144acee20SBjorn Andersson};
68245021d35SSrinivas Kandagatla
68345021d35SSrinivas Kandagatla&wcd9340{
68445021d35SSrinivas Kandagatla	pinctrl-0 = <&wcd_intr_default>;
68545021d35SSrinivas Kandagatla	pinctrl-names = "default";
68645021d35SSrinivas Kandagatla	clock-names = "extclk";
68745021d35SSrinivas Kandagatla	clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
68845021d35SSrinivas Kandagatla	reset-gpios = <&tlmm 64 0>;
68945021d35SSrinivas Kandagatla	vdd-buck-supply = <&vreg_s4a_1p8>;
69045021d35SSrinivas Kandagatla	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
69145021d35SSrinivas Kandagatla	vdd-tx-supply = <&vreg_s4a_1p8>;
69245021d35SSrinivas Kandagatla	vdd-rx-supply = <&vreg_s4a_1p8>;
69345021d35SSrinivas Kandagatla	vdd-io-supply = <&vreg_s4a_1p8>;
69445021d35SSrinivas Kandagatla
69545021d35SSrinivas Kandagatla	swm: swm@c85 {
69645021d35SSrinivas Kandagatla		left_spkr: wsa8810-left{
69745021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
69845021d35SSrinivas Kandagatla			reg = <0 3>;
69945021d35SSrinivas Kandagatla			powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
70045021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
70145021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrLeft";
70245021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
70345021d35SSrinivas Kandagatla		};
70445021d35SSrinivas Kandagatla
70545021d35SSrinivas Kandagatla		right_spkr: wsa8810-right{
70645021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
70745021d35SSrinivas Kandagatla			powerdown-gpios = <&wcdgpio 3 GPIO_ACTIVE_HIGH>;
70845021d35SSrinivas Kandagatla			reg = <0 4>;
70945021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
71045021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrRight";
71145021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
71245021d35SSrinivas Kandagatla		};
71345021d35SSrinivas Kandagatla	};
71445021d35SSrinivas Kandagatla};
7153fb298d0SBjorn Andersson
7163fb298d0SBjorn Andersson&wifi {
7173fb298d0SBjorn Andersson	status = "okay";
7183fb298d0SBjorn Andersson
7193fb298d0SBjorn Andersson	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
7203fb298d0SBjorn Andersson	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
7213fb298d0SBjorn Andersson	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
7223fb298d0SBjorn Andersson	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
7233fb298d0SBjorn Andersson
7243fb298d0SBjorn Andersson	qcom,snoc-host-cap-8bit-quirk;
7253fb298d0SBjorn Andersson};
726