xref: /linux/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts (revision c0dcfe6a784fdf7fcc0fdc74bfbb06e9f77de964)
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>
166be4ba54SSteev Klimaszewski#include "sdm850.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>,
30593f2a115SBjorn Andersson			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
30693f2a115SBjorn Andersson			   <GCC_LPASS_Q6_AXI_CLK>,
30793f2a115SBjorn 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
379*c0dcfe6aSStephen Boyd		no-hpd;
380*c0dcfe6aSStephen Boyd
381956e9c85SBjorn Andersson		ports {
382956e9c85SBjorn Andersson			#address-cells = <1>;
383956e9c85SBjorn Andersson			#size-cells = <0>;
384956e9c85SBjorn Andersson
385956e9c85SBjorn Andersson			port@0 {
386956e9c85SBjorn Andersson				reg = <0>;
387956e9c85SBjorn Andersson				sn65dsi86_in_a: endpoint {
388956e9c85SBjorn Andersson					remote-endpoint = <&dsi0_out>;
389956e9c85SBjorn Andersson				};
390956e9c85SBjorn Andersson			};
391956e9c85SBjorn Andersson
392956e9c85SBjorn Andersson			port@1 {
393956e9c85SBjorn Andersson				reg = <1>;
394956e9c85SBjorn Andersson				sn65dsi86_out: endpoint {
395956e9c85SBjorn Andersson					remote-endpoint = <&panel_in_edp>;
396956e9c85SBjorn Andersson				};
397956e9c85SBjorn Andersson			};
398956e9c85SBjorn Andersson		};
399956e9c85SBjorn Andersson	};
400956e9c85SBjorn Andersson};
401956e9c85SBjorn Andersson
40244acee20SBjorn Andersson&i2c11 {
40344acee20SBjorn Andersson	status = "okay";
40444acee20SBjorn Andersson	clock-frequency = <400000>;
40544acee20SBjorn Andersson
40611d0e4f2SBjorn Andersson	ecsh: hid@5c {
40744acee20SBjorn Andersson		compatible = "hid-over-i2c";
40844acee20SBjorn Andersson		reg = <0x5c>;
40944acee20SBjorn Andersson		hid-descr-addr = <0x1>;
41044acee20SBjorn Andersson
41144acee20SBjorn Andersson		interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>;
41244acee20SBjorn Andersson
41344acee20SBjorn Andersson		pinctrl-names = "default";
41411d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c11_hid_active>;
41544acee20SBjorn Andersson	};
41644acee20SBjorn Andersson};
41744acee20SBjorn Andersson
418956e9c85SBjorn Andersson&mdss {
419956e9c85SBjorn Andersson	status = "okay";
420956e9c85SBjorn Andersson};
421956e9c85SBjorn Andersson
422956e9c85SBjorn Andersson&mdss_mdp {
423956e9c85SBjorn Andersson	status = "okay";
424956e9c85SBjorn Andersson};
425956e9c85SBjorn Andersson
4263cd82e95SBjorn Andersson&mss_pil {
4273cd82e95SBjorn Andersson	firmware-name = "qcom/LENOVO/81JL/qcdsp1v2850.mbn", "qcom/LENOVO/81JL/qcdsp2850.mbn";
4283cd82e95SBjorn Andersson};
4293cd82e95SBjorn Andersson
430956e9c85SBjorn Andersson&qup_i2c10_default {
431956e9c85SBjorn Andersson	pinconf {
432956e9c85SBjorn Andersson		pins = "gpio55", "gpio56";
433956e9c85SBjorn Andersson		drive-strength = <2>;
434956e9c85SBjorn Andersson		bias-disable;
435956e9c85SBjorn Andersson	};
436956e9c85SBjorn Andersson};
437956e9c85SBjorn Andersson
43844acee20SBjorn Andersson&qup_i2c12_default {
43944acee20SBjorn Andersson	drive-strength = <2>;
44044acee20SBjorn Andersson	bias-disable;
44144acee20SBjorn Andersson};
44244acee20SBjorn Andersson
44344acee20SBjorn Andersson&qup_uart6_default {
44444acee20SBjorn Andersson	pinmux {
44544acee20SBjorn Andersson		 pins = "gpio45", "gpio46", "gpio47", "gpio48";
44644acee20SBjorn Andersson		 function = "qup6";
44744acee20SBjorn Andersson	};
44844acee20SBjorn Andersson
44944acee20SBjorn Andersson	cts {
45044acee20SBjorn Andersson		pins = "gpio45";
45144acee20SBjorn Andersson		bias-pull-down;
45244acee20SBjorn Andersson	};
45344acee20SBjorn Andersson
45444acee20SBjorn Andersson	rts-tx {
45544acee20SBjorn Andersson		pins = "gpio46", "gpio47";
45644acee20SBjorn Andersson		drive-strength = <2>;
45744acee20SBjorn Andersson		bias-disable;
45844acee20SBjorn Andersson	};
45944acee20SBjorn Andersson
46044acee20SBjorn Andersson	rx {
46144acee20SBjorn Andersson		pins = "gpio48";
46244acee20SBjorn Andersson		bias-pull-up;
46344acee20SBjorn Andersson	};
46444acee20SBjorn Andersson};
46544acee20SBjorn Andersson
46644acee20SBjorn Andersson&qupv3_id_0 {
46744acee20SBjorn Andersson	status = "okay";
46844acee20SBjorn Andersson};
46944acee20SBjorn Andersson
47044acee20SBjorn Andersson&qupv3_id_1 {
47144acee20SBjorn Andersson	status = "okay";
47244acee20SBjorn Andersson};
47344acee20SBjorn Andersson
47445021d35SSrinivas Kandagatla&q6asmdai {
47545021d35SSrinivas Kandagatla	dai@0 {
47645021d35SSrinivas Kandagatla		reg = <0>;
47745021d35SSrinivas Kandagatla	};
47845021d35SSrinivas Kandagatla
47945021d35SSrinivas Kandagatla	dai@1 {
48045021d35SSrinivas Kandagatla		reg = <1>;
48145021d35SSrinivas Kandagatla	};
48245021d35SSrinivas Kandagatla};
48345021d35SSrinivas Kandagatla
48445021d35SSrinivas Kandagatla&sound {
48545021d35SSrinivas Kandagatla	compatible = "qcom,db845c-sndcard";
48645021d35SSrinivas Kandagatla	model = "Lenovo-YOGA-C630-13Q50";
48745021d35SSrinivas Kandagatla
48845021d35SSrinivas Kandagatla	audio-routing =
48945021d35SSrinivas Kandagatla		"RX_BIAS", "MCLK",
49045021d35SSrinivas Kandagatla		"AMIC2", "MIC BIAS2",
49145021d35SSrinivas Kandagatla		"SpkrLeft IN", "SPK1 OUT",
49245021d35SSrinivas Kandagatla		"SpkrRight IN", "SPK2 OUT",
49345021d35SSrinivas Kandagatla		"MM_DL1",  "MultiMedia1 Playback",
49445021d35SSrinivas Kandagatla		"MultiMedia2 Capture", "MM_UL2";
49545021d35SSrinivas Kandagatla
49645021d35SSrinivas Kandagatla	mm1-dai-link {
49745021d35SSrinivas Kandagatla		link-name = "MultiMedia1";
49845021d35SSrinivas Kandagatla		cpu {
49945021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
50045021d35SSrinivas Kandagatla		};
50145021d35SSrinivas Kandagatla	};
50245021d35SSrinivas Kandagatla
50345021d35SSrinivas Kandagatla	mm2-dai-link {
50445021d35SSrinivas Kandagatla		link-name = "MultiMedia2";
50545021d35SSrinivas Kandagatla		cpu {
50645021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
50745021d35SSrinivas Kandagatla		};
50845021d35SSrinivas Kandagatla	};
50945021d35SSrinivas Kandagatla
51045021d35SSrinivas Kandagatla	slim-dai-link {
51145021d35SSrinivas Kandagatla		link-name = "SLIM Playback";
51245021d35SSrinivas Kandagatla		cpu {
51345021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_RX>;
51445021d35SSrinivas Kandagatla		};
51545021d35SSrinivas Kandagatla
51645021d35SSrinivas Kandagatla		platform {
51745021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
51845021d35SSrinivas Kandagatla		};
51945021d35SSrinivas Kandagatla
52045021d35SSrinivas Kandagatla		codec {
52145021d35SSrinivas Kandagatla			sound-dai =  <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
52245021d35SSrinivas Kandagatla		};
52345021d35SSrinivas Kandagatla	};
52445021d35SSrinivas Kandagatla
52545021d35SSrinivas Kandagatla	slimcap-dai-link {
52645021d35SSrinivas Kandagatla		link-name = "SLIM Capture";
52745021d35SSrinivas Kandagatla		cpu {
52845021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_TX>;
52945021d35SSrinivas Kandagatla		};
53045021d35SSrinivas Kandagatla
53145021d35SSrinivas Kandagatla		platform {
53245021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
53345021d35SSrinivas Kandagatla		};
53445021d35SSrinivas Kandagatla
53545021d35SSrinivas Kandagatla		codec {
53645021d35SSrinivas Kandagatla			sound-dai = <&wcd9340 1>;
53745021d35SSrinivas Kandagatla		};
53845021d35SSrinivas Kandagatla	};
53945021d35SSrinivas Kandagatla};
54045021d35SSrinivas Kandagatla
54144acee20SBjorn Andersson&tlmm {
54244acee20SBjorn Andersson	gpio-reserved-ranges = <0 4>, <81 4>;
54344acee20SBjorn Andersson
544956e9c85SBjorn Andersson	sn65dsi86_pin_active: sn65dsi86-enable {
545956e9c85SBjorn Andersson		pins = "gpio96";
546956e9c85SBjorn Andersson		drive-strength = <2>;
547956e9c85SBjorn Andersson		bias-disable;
548956e9c85SBjorn Andersson	};
549956e9c85SBjorn Andersson
55011d0e4f2SBjorn Andersson	i2c3_hid_active: i2c2-hid-active {
551f55d373fSBjorn Andersson		pins = "gpio37";
55244acee20SBjorn Andersson		function = "gpio";
55344acee20SBjorn Andersson
55444acee20SBjorn Andersson		input-enable;
55544acee20SBjorn Andersson		bias-pull-up;
55644acee20SBjorn Andersson		drive-strength = <2>;
55744acee20SBjorn Andersson	};
55844acee20SBjorn Andersson
55911d0e4f2SBjorn Andersson	i2c5_hid_active: i2c5-hid-active {
560f55d373fSBjorn Andersson		pins = "gpio125";
56144acee20SBjorn Andersson		function = "gpio";
56244acee20SBjorn Andersson
56344acee20SBjorn Andersson		input-enable;
56444acee20SBjorn Andersson		bias-pull-up;
56544acee20SBjorn Andersson		drive-strength = <2>;
56644acee20SBjorn Andersson	};
56744acee20SBjorn Andersson
56811d0e4f2SBjorn Andersson	i2c11_hid_active: i2c11-hid-active {
569f55d373fSBjorn Andersson		pins = "gpio92";
57044acee20SBjorn Andersson		function = "gpio";
57144acee20SBjorn Andersson
57244acee20SBjorn Andersson		input-enable;
57344acee20SBjorn Andersson		bias-pull-up;
57444acee20SBjorn Andersson		drive-strength = <2>;
57544acee20SBjorn Andersson	};
57645021d35SSrinivas Kandagatla
57745021d35SSrinivas Kandagatla	wcd_intr_default: wcd_intr_default {
578f55d373fSBjorn Andersson		pins = "gpio54";
57945021d35SSrinivas Kandagatla		function = "gpio";
58045021d35SSrinivas Kandagatla
58145021d35SSrinivas Kandagatla		input-enable;
58245021d35SSrinivas Kandagatla		bias-pull-down;
58345021d35SSrinivas Kandagatla		drive-strength = <2>;
58445021d35SSrinivas Kandagatla	};
58571b83b74SBjorn Andersson
58671b83b74SBjorn Andersson	lid_pin_active: lid-pin {
58771b83b74SBjorn Andersson		pins = "gpio124";
58871b83b74SBjorn Andersson		function = "gpio";
58971b83b74SBjorn Andersson
59071b83b74SBjorn Andersson		input-enable;
59171b83b74SBjorn Andersson		bias-disable;
59271b83b74SBjorn Andersson	};
59371b83b74SBjorn Andersson
59471b83b74SBjorn Andersson	mode_pin_active: mode-pin {
59571b83b74SBjorn Andersson		pins = "gpio95";
59671b83b74SBjorn Andersson		function = "gpio";
59771b83b74SBjorn Andersson
59871b83b74SBjorn Andersson		input-enable;
59971b83b74SBjorn Andersson		bias-disable;
60071b83b74SBjorn Andersson	};
60144acee20SBjorn Andersson};
60244acee20SBjorn Andersson
60344acee20SBjorn Andersson&uart6 {
60444acee20SBjorn Andersson	status = "okay";
60544acee20SBjorn Andersson
60644acee20SBjorn Andersson	bluetooth {
60744acee20SBjorn Andersson		compatible = "qcom,wcn3990-bt";
60844acee20SBjorn Andersson
60944acee20SBjorn Andersson		vddio-supply = <&vreg_s4a_1p8>;
61044acee20SBjorn Andersson		vddxo-supply = <&vreg_l7a_1p8>;
61144acee20SBjorn Andersson		vddrf-supply = <&vreg_l17a_1p3>;
61244acee20SBjorn Andersson		vddch0-supply = <&vreg_l25a_3p3>;
61344acee20SBjorn Andersson		max-speed = <3200000>;
61444acee20SBjorn Andersson	};
61544acee20SBjorn Andersson};
61644acee20SBjorn Andersson
61744acee20SBjorn Andersson&ufs_mem_hc {
61844acee20SBjorn Andersson	status = "okay";
61944acee20SBjorn Andersson
6202536bedeSBjorn Andersson	reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
6212536bedeSBjorn Andersson
62244acee20SBjorn Andersson	vcc-supply = <&vreg_l20a_2p95>;
62344acee20SBjorn Andersson	vcc-max-microamp = <600000>;
62444acee20SBjorn Andersson};
62544acee20SBjorn Andersson
62644acee20SBjorn Andersson&ufs_mem_phy {
62744acee20SBjorn Andersson	status = "okay";
62844acee20SBjorn Andersson
62944acee20SBjorn Andersson	vdda-phy-supply = <&vdda_ufs1_core>;
63044acee20SBjorn Andersson	vdda-pll-supply = <&vdda_ufs1_1p2>;
63144acee20SBjorn Andersson};
63244acee20SBjorn Andersson
63344acee20SBjorn Andersson&usb_1 {
63444acee20SBjorn Andersson	status = "okay";
63544acee20SBjorn Andersson};
63644acee20SBjorn Andersson
63744acee20SBjorn Andersson&usb_1_dwc3 {
63844acee20SBjorn Andersson	dr_mode = "host";
63944acee20SBjorn Andersson};
64044acee20SBjorn Andersson
64144acee20SBjorn Andersson&usb_1_hsphy {
64244acee20SBjorn Andersson	status = "okay";
64344acee20SBjorn Andersson
64444acee20SBjorn Andersson	vdd-supply = <&vdda_usb1_ss_core>;
64544acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
64644acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
64744acee20SBjorn Andersson
64844acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
64944acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
65044acee20SBjorn Andersson	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
65144acee20SBjorn Andersson	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
65244acee20SBjorn Andersson};
65344acee20SBjorn Andersson
65444acee20SBjorn Andersson&usb_1_qmpphy {
65544acee20SBjorn Andersson	status = "okay";
65644acee20SBjorn Andersson
65744acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb1_ss_1p2>;
65844acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb1_ss_core>;
65944acee20SBjorn Andersson};
66044acee20SBjorn Andersson
66144acee20SBjorn Andersson&usb_2 {
66244acee20SBjorn Andersson	status = "okay";
66344acee20SBjorn Andersson};
66444acee20SBjorn Andersson
66544acee20SBjorn Andersson&usb_2_dwc3 {
66644acee20SBjorn Andersson	dr_mode = "host";
66744acee20SBjorn Andersson};
66844acee20SBjorn Andersson
66944acee20SBjorn Andersson&usb_2_hsphy {
67044acee20SBjorn Andersson	status = "okay";
67144acee20SBjorn Andersson
67244acee20SBjorn Andersson	vdd-supply = <&vdda_usb2_ss_core>;
67344acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
67444acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
67544acee20SBjorn Andersson
67644acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
67744acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
67844acee20SBjorn Andersson};
67944acee20SBjorn Andersson
68044acee20SBjorn Andersson&usb_2_qmpphy {
68144acee20SBjorn Andersson	status = "okay";
68244acee20SBjorn Andersson
68344acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb2_ss_1p2>;
68444acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb2_ss_core>;
68544acee20SBjorn Andersson};
68645021d35SSrinivas Kandagatla
68745021d35SSrinivas Kandagatla&wcd9340{
68845021d35SSrinivas Kandagatla	pinctrl-0 = <&wcd_intr_default>;
68945021d35SSrinivas Kandagatla	pinctrl-names = "default";
69045021d35SSrinivas Kandagatla	clock-names = "extclk";
69145021d35SSrinivas Kandagatla	clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
69245021d35SSrinivas Kandagatla	reset-gpios = <&tlmm 64 0>;
69345021d35SSrinivas Kandagatla	vdd-buck-supply = <&vreg_s4a_1p8>;
69445021d35SSrinivas Kandagatla	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
69545021d35SSrinivas Kandagatla	vdd-tx-supply = <&vreg_s4a_1p8>;
69645021d35SSrinivas Kandagatla	vdd-rx-supply = <&vreg_s4a_1p8>;
69745021d35SSrinivas Kandagatla	vdd-io-supply = <&vreg_s4a_1p8>;
69845021d35SSrinivas Kandagatla
69945021d35SSrinivas Kandagatla	swm: swm@c85 {
70045021d35SSrinivas Kandagatla		left_spkr: wsa8810-left{
70145021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
70245021d35SSrinivas Kandagatla			reg = <0 3>;
70345021d35SSrinivas Kandagatla			powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
70445021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
70545021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrLeft";
70645021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
70745021d35SSrinivas Kandagatla		};
70845021d35SSrinivas Kandagatla
70945021d35SSrinivas Kandagatla		right_spkr: wsa8810-right{
71045021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
71145021d35SSrinivas Kandagatla			powerdown-gpios = <&wcdgpio 3 GPIO_ACTIVE_HIGH>;
71245021d35SSrinivas Kandagatla			reg = <0 4>;
71345021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
71445021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrRight";
71545021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
71645021d35SSrinivas Kandagatla		};
71745021d35SSrinivas Kandagatla	};
71845021d35SSrinivas Kandagatla};
7193fb298d0SBjorn Andersson
7203fb298d0SBjorn Andersson&wifi {
7213fb298d0SBjorn Andersson	status = "okay";
7223fb298d0SBjorn Andersson
7233fb298d0SBjorn Andersson	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
7243fb298d0SBjorn Andersson	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
7253fb298d0SBjorn Andersson	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
7263fb298d0SBjorn Andersson	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
7273fb298d0SBjorn Andersson
7283fb298d0SBjorn Andersson	qcom,snoc-host-cap-8bit-quirk;
7293fb298d0SBjorn Andersson};
730