xref: /linux/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts (revision eaa744b1c101a33fba5978866defc8a7e87f8d79)
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";
22*eaa744b1SArnaud Ferraris	chassis-type = "convertible";
2344acee20SBjorn Andersson
2444acee20SBjorn Andersson	aliases {
2544acee20SBjorn Andersson		hsuart0 = &uart6;
2644acee20SBjorn Andersson	};
2771b83b74SBjorn Andersson
2871b83b74SBjorn Andersson	gpio-keys {
2971b83b74SBjorn Andersson		compatible = "gpio-keys";
3071b83b74SBjorn Andersson
3171b83b74SBjorn Andersson		pinctrl-names = "default";
3271b83b74SBjorn Andersson		pinctrl-0 = <&lid_pin_active>, <&mode_pin_active>;
3371b83b74SBjorn Andersson
3471b83b74SBjorn Andersson		lid {
3571b83b74SBjorn Andersson			gpios = <&tlmm 124 GPIO_ACTIVE_HIGH>;
3671b83b74SBjorn Andersson			linux,input-type = <EV_SW>;
3771b83b74SBjorn Andersson			linux,code = <SW_LID>;
3871b83b74SBjorn Andersson			wakeup-source;
3971b83b74SBjorn Andersson			wakeup-event-action = <EV_ACT_DEASSERTED>;
4071b83b74SBjorn Andersson		};
4171b83b74SBjorn Andersson
4271b83b74SBjorn Andersson		mode {
4371b83b74SBjorn Andersson			gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
4471b83b74SBjorn Andersson			linux,input-type = <EV_SW>;
4571b83b74SBjorn Andersson			linux,code = <SW_TABLET_MODE>;
4671b83b74SBjorn Andersson		};
4771b83b74SBjorn Andersson	};
48956e9c85SBjorn Andersson
49956e9c85SBjorn Andersson	panel {
50956e9c85SBjorn Andersson		compatible = "boe,nv133fhm-n61";
51956e9c85SBjorn Andersson		no-hpd;
52956e9c85SBjorn Andersson
53956e9c85SBjorn Andersson		ports {
54956e9c85SBjorn Andersson			port {
55956e9c85SBjorn Andersson				panel_in_edp: endpoint {
56956e9c85SBjorn Andersson					remote-endpoint = <&sn65dsi86_out>;
57956e9c85SBjorn Andersson				};
58956e9c85SBjorn Andersson			};
59956e9c85SBjorn Andersson		};
60956e9c85SBjorn Andersson	};
61956e9c85SBjorn Andersson
62956e9c85SBjorn Andersson	sn65dsi86_refclk: sn65dsi86-refclk {
63956e9c85SBjorn Andersson		compatible = "fixed-clock";
64956e9c85SBjorn Andersson		#clock-cells = <0>;
65956e9c85SBjorn Andersson
66956e9c85SBjorn Andersson		clock-frequency = <19200000>;
67956e9c85SBjorn Andersson	};
6844acee20SBjorn Andersson};
6944acee20SBjorn Andersson
703cd82e95SBjorn Andersson&adsp_pas {
713cd82e95SBjorn Andersson	firmware-name = "qcom/LENOVO/81JL/qcadsp850.mbn";
723cd82e95SBjorn Andersson	status = "okay";
733cd82e95SBjorn Andersson};
743cd82e95SBjorn Andersson
7544acee20SBjorn Andersson&apps_rsc {
7644acee20SBjorn Andersson	pm8998-rpmh-regulators {
7744acee20SBjorn Andersson		compatible = "qcom,pm8998-rpmh-regulators";
7844acee20SBjorn Andersson		qcom,pmic-id = "a";
7944acee20SBjorn Andersson
8044acee20SBjorn Andersson		vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
8144acee20SBjorn Andersson		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
8244acee20SBjorn Andersson
8344acee20SBjorn Andersson		vreg_s2a_1p125: smps2 {
8444acee20SBjorn Andersson		};
8544acee20SBjorn Andersson
8644acee20SBjorn Andersson		vreg_s3a_1p35: smps3 {
8744acee20SBjorn Andersson			regulator-min-microvolt = <1352000>;
8844acee20SBjorn Andersson			regulator-max-microvolt = <1352000>;
8944acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
9044acee20SBjorn Andersson		};
9144acee20SBjorn Andersson
9244acee20SBjorn Andersson		vreg_s4a_1p8: smps4 {
9344acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
9444acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
9544acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
9644acee20SBjorn Andersson		};
9744acee20SBjorn Andersson
9844acee20SBjorn Andersson		vreg_s5a_2p04: smps5 {
9944acee20SBjorn Andersson			regulator-min-microvolt = <2040000>;
10044acee20SBjorn Andersson			regulator-max-microvolt = <2040000>;
10144acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
10244acee20SBjorn Andersson		};
10344acee20SBjorn Andersson
10444acee20SBjorn Andersson		vreg_s7a_1p025: smps7 {
10544acee20SBjorn Andersson		};
10644acee20SBjorn Andersson
10744acee20SBjorn Andersson		vdd_qusb_hs0:
10844acee20SBjorn Andersson		vdda_hp_pcie_core:
10944acee20SBjorn Andersson		vdda_mipi_csi0_0p9:
11044acee20SBjorn Andersson		vdda_mipi_csi1_0p9:
11144acee20SBjorn Andersson		vdda_mipi_csi2_0p9:
11244acee20SBjorn Andersson		vdda_mipi_dsi0_pll:
11344acee20SBjorn Andersson		vdda_mipi_dsi1_pll:
11444acee20SBjorn Andersson		vdda_qlink_lv:
11544acee20SBjorn Andersson		vdda_qlink_lv_ck:
11644acee20SBjorn Andersson		vdda_qrefs_0p875:
11744acee20SBjorn Andersson		vdda_pcie_core:
11844acee20SBjorn Andersson		vdda_pll_cc_ebi01:
11944acee20SBjorn Andersson		vdda_pll_cc_ebi23:
12044acee20SBjorn Andersson		vdda_sp_sensor:
12144acee20SBjorn Andersson		vdda_ufs1_core:
12244acee20SBjorn Andersson		vdda_ufs2_core:
12344acee20SBjorn Andersson		vdda_usb1_ss_core:
12444acee20SBjorn Andersson		vdda_usb2_ss_core:
12544acee20SBjorn Andersson		vreg_l1a_0p875: ldo1 {
12644acee20SBjorn Andersson			regulator-min-microvolt = <880000>;
12744acee20SBjorn Andersson			regulator-max-microvolt = <880000>;
12844acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
12944acee20SBjorn Andersson		};
13044acee20SBjorn Andersson
13144acee20SBjorn Andersson		vddpx_10:
13244acee20SBjorn Andersson		vreg_l2a_1p2: ldo2 {
13344acee20SBjorn Andersson			regulator-min-microvolt = <1200000>;
13444acee20SBjorn Andersson			regulator-max-microvolt = <1200000>;
13544acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
13644acee20SBjorn Andersson			regulator-always-on;
13744acee20SBjorn Andersson		};
13844acee20SBjorn Andersson
13944acee20SBjorn Andersson		vreg_l3a_1p0: ldo3 {
14044acee20SBjorn Andersson		};
14144acee20SBjorn Andersson
14244acee20SBjorn Andersson		vdd_wcss_cx:
14344acee20SBjorn Andersson		vdd_wcss_mx:
14444acee20SBjorn Andersson		vdda_wcss_pll:
14544acee20SBjorn Andersson		vreg_l5a_0p8: ldo5 {
14644acee20SBjorn Andersson			regulator-min-microvolt = <800000>;
14744acee20SBjorn Andersson			regulator-max-microvolt = <800000>;
14844acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
14944acee20SBjorn Andersson		};
15044acee20SBjorn Andersson
15144acee20SBjorn Andersson		vddpx_13:
15244acee20SBjorn Andersson		vreg_l6a_1p8: ldo6 {
15344acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
15444acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
15544acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
15644acee20SBjorn Andersson		};
15744acee20SBjorn Andersson
15844acee20SBjorn Andersson		vreg_l7a_1p8: ldo7 {
15944acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
16044acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
16144acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
16244acee20SBjorn Andersson		};
16344acee20SBjorn Andersson
16444acee20SBjorn Andersson		vreg_l8a_1p2: ldo8 {
16544acee20SBjorn Andersson		};
16644acee20SBjorn Andersson
16744acee20SBjorn Andersson		vreg_l9a_1p8: ldo9 {
16844acee20SBjorn Andersson		};
16944acee20SBjorn Andersson
17044acee20SBjorn Andersson		vreg_l10a_1p8: ldo10 {
17144acee20SBjorn Andersson		};
17244acee20SBjorn Andersson
17344acee20SBjorn Andersson		vreg_l11a_1p0: ldo11 {
17444acee20SBjorn Andersson		};
17544acee20SBjorn Andersson
17644acee20SBjorn Andersson		vdd_qfprom:
17744acee20SBjorn Andersson		vdd_qfprom_sp:
17844acee20SBjorn Andersson		vdda_apc1_cs_1p8:
17944acee20SBjorn Andersson		vdda_gfx_cs_1p8:
18044acee20SBjorn Andersson		vdda_qrefs_1p8:
18144acee20SBjorn Andersson		vdda_qusb_hs0_1p8:
18244acee20SBjorn Andersson		vddpx_11:
18344acee20SBjorn Andersson		vreg_l12a_1p8: ldo12 {
18444acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
18544acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
18644acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
18744acee20SBjorn Andersson		};
18844acee20SBjorn Andersson
18944acee20SBjorn Andersson		vddpx_2:
19044acee20SBjorn Andersson		vreg_l13a_2p95: ldo13 {
19144acee20SBjorn Andersson		};
19244acee20SBjorn Andersson
19344acee20SBjorn Andersson		vreg_l14a_1p88: ldo14 {
19444acee20SBjorn Andersson			regulator-min-microvolt = <1880000>;
19544acee20SBjorn Andersson			regulator-max-microvolt = <1880000>;
19644acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
19744acee20SBjorn Andersson			regulator-always-on;
19844acee20SBjorn Andersson		};
19944acee20SBjorn Andersson
20044acee20SBjorn Andersson		vreg_l15a_1p8: ldo15 {
20144acee20SBjorn Andersson		};
20244acee20SBjorn Andersson
20344acee20SBjorn Andersson		vreg_l16a_2p7: ldo16 {
20444acee20SBjorn Andersson		};
20544acee20SBjorn Andersson
20644acee20SBjorn Andersson		vreg_l17a_1p3: ldo17 {
20744acee20SBjorn Andersson			regulator-min-microvolt = <1304000>;
20844acee20SBjorn Andersson			regulator-max-microvolt = <1304000>;
20944acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
21044acee20SBjorn Andersson		};
21144acee20SBjorn Andersson
21244acee20SBjorn Andersson		vreg_l18a_2p7: ldo18 {
21344acee20SBjorn Andersson		};
21444acee20SBjorn Andersson
21544acee20SBjorn Andersson		vreg_l19a_3p0: ldo19 {
21644acee20SBjorn Andersson			regulator-min-microvolt = <3100000>;
21744acee20SBjorn Andersson			regulator-max-microvolt = <3108000>;
21844acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
21944acee20SBjorn Andersson		};
22044acee20SBjorn Andersson
22144acee20SBjorn Andersson		vreg_l20a_2p95: ldo20 {
22244acee20SBjorn Andersson			regulator-min-microvolt = <2960000>;
22344acee20SBjorn Andersson			regulator-max-microvolt = <2960000>;
22444acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
22544acee20SBjorn Andersson		};
22644acee20SBjorn Andersson
22744acee20SBjorn Andersson		vreg_l21a_2p95: ldo21 {
22844acee20SBjorn Andersson		};
22944acee20SBjorn Andersson
23044acee20SBjorn Andersson		vreg_l22a_2p85: ldo22 {
23144acee20SBjorn Andersson		};
23244acee20SBjorn Andersson
23344acee20SBjorn Andersson		vreg_l23a_3p3: ldo23 {
234b464f08cSSteev Klimaszewski			regulator-min-microvolt = <3300000>;
235b464f08cSSteev Klimaszewski			regulator-max-microvolt = <3312000>;
236b464f08cSSteev Klimaszewski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
23744acee20SBjorn Andersson		};
23844acee20SBjorn Andersson
23944acee20SBjorn Andersson		vdda_qusb_hs0_3p1:
24044acee20SBjorn Andersson		vreg_l24a_3p075: ldo24 {
24144acee20SBjorn Andersson			regulator-min-microvolt = <3075000>;
24244acee20SBjorn Andersson			regulator-max-microvolt = <3083000>;
24344acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
24444acee20SBjorn Andersson		};
24544acee20SBjorn Andersson
24644acee20SBjorn Andersson		vreg_l25a_3p3: ldo25 {
24744acee20SBjorn Andersson			regulator-min-microvolt = <3104000>;
24844acee20SBjorn Andersson			regulator-max-microvolt = <3112000>;
24944acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
25044acee20SBjorn Andersson		};
25144acee20SBjorn Andersson
25244acee20SBjorn Andersson		vdda_hp_pcie_1p2:
25344acee20SBjorn Andersson		vdda_hv_ebi0:
25444acee20SBjorn Andersson		vdda_hv_ebi1:
25544acee20SBjorn Andersson		vdda_hv_ebi2:
25644acee20SBjorn Andersson		vdda_hv_ebi3:
25744acee20SBjorn Andersson		vdda_mipi_csi_1p25:
25844acee20SBjorn Andersson		vdda_mipi_dsi0_1p2:
25944acee20SBjorn Andersson		vdda_mipi_dsi1_1p2:
26044acee20SBjorn Andersson		vdda_pcie_1p2:
26144acee20SBjorn Andersson		vdda_ufs1_1p2:
26244acee20SBjorn Andersson		vdda_ufs2_1p2:
26344acee20SBjorn Andersson		vdda_usb1_ss_1p2:
26444acee20SBjorn Andersson		vdda_usb2_ss_1p2:
26544acee20SBjorn Andersson		vreg_l26a_1p2: ldo26 {
26644acee20SBjorn Andersson			regulator-min-microvolt = <1200000>;
26744acee20SBjorn Andersson			regulator-max-microvolt = <1208000>;
26844acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
26944acee20SBjorn Andersson		};
27044acee20SBjorn Andersson
27144acee20SBjorn Andersson		vreg_l28a_3p0: ldo28 {
27244acee20SBjorn Andersson		};
27344acee20SBjorn Andersson
27444acee20SBjorn Andersson		vreg_lvs1a_1p8: lvs1 {
27544acee20SBjorn Andersson		};
27644acee20SBjorn Andersson
27744acee20SBjorn Andersson		vreg_lvs2a_1p8: lvs2 {
27844acee20SBjorn Andersson		};
27944acee20SBjorn Andersson	};
28044acee20SBjorn Andersson};
28144acee20SBjorn Andersson
2823cd82e95SBjorn Andersson&cdsp_pas {
2833cd82e95SBjorn Andersson	firmware-name = "qcom/LENOVO/81JL/qccdsp850.mbn";
2843cd82e95SBjorn Andersson	status = "okay";
2853cd82e95SBjorn Andersson};
2863cd82e95SBjorn Andersson
287956e9c85SBjorn Andersson&dsi0 {
288956e9c85SBjorn Andersson	status = "okay";
289956e9c85SBjorn Andersson	vdda-supply = <&vreg_l26a_1p2>;
290956e9c85SBjorn Andersson
291956e9c85SBjorn Andersson	ports {
292956e9c85SBjorn Andersson		port@1 {
293956e9c85SBjorn Andersson			endpoint {
294956e9c85SBjorn Andersson				remote-endpoint = <&sn65dsi86_in_a>;
295956e9c85SBjorn Andersson				data-lanes = <0 1 2 3>;
296956e9c85SBjorn Andersson			};
297956e9c85SBjorn Andersson		};
298956e9c85SBjorn Andersson	};
299956e9c85SBjorn Andersson};
300956e9c85SBjorn Andersson
301956e9c85SBjorn Andersson&dsi0_phy {
302956e9c85SBjorn Andersson	status = "okay";
303956e9c85SBjorn Andersson	vdds-supply = <&vreg_l1a_0p875>;
304956e9c85SBjorn Andersson};
305956e9c85SBjorn Andersson
30644acee20SBjorn Andersson&gcc {
30744acee20SBjorn Andersson	protected-clocks = <GCC_QSPI_CORE_CLK>,
30844acee20SBjorn Andersson			   <GCC_QSPI_CORE_CLK_SRC>,
30993f2a115SBjorn Andersson			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
31093f2a115SBjorn Andersson			   <GCC_LPASS_Q6_AXI_CLK>,
31193f2a115SBjorn Andersson			   <GCC_LPASS_SWAY_CLK>;
31244acee20SBjorn Andersson};
31344acee20SBjorn Andersson
314f489b13dSRob Clark&gpu {
315f489b13dSRob Clark	zap-shader {
316f489b13dSRob Clark		memory-region = <&gpu_mem>;
317f489b13dSRob Clark		firmware-name = "qcom/LENOVO/81JL/qcdxkmsuc850.mbn";
318f489b13dSRob Clark	};
319f489b13dSRob Clark};
320f489b13dSRob Clark
32144acee20SBjorn Andersson&i2c1 {
32244acee20SBjorn Andersson	status = "okay";
32344acee20SBjorn Andersson	clock-frequency = <400000>;
32444acee20SBjorn Andersson};
32544acee20SBjorn Andersson
32644acee20SBjorn Andersson&i2c3 {
32744acee20SBjorn Andersson	status = "okay";
32844acee20SBjorn Andersson	clock-frequency = <400000>;
329a9164910SShawn Guo	/* Overwrite pinctrl-0 from sdm845.dtsi */
330a9164910SShawn Guo	pinctrl-0 = <&qup_i2c3_default &i2c3_hid_active>;
33144acee20SBjorn Andersson
33211d0e4f2SBjorn Andersson	tsel: hid@15 {
33344acee20SBjorn Andersson		compatible = "hid-over-i2c";
33444acee20SBjorn Andersson		reg = <0x15>;
33544acee20SBjorn Andersson		hid-descr-addr = <0x1>;
33644acee20SBjorn Andersson
33711d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
33844acee20SBjorn Andersson	};
33944acee20SBjorn Andersson
34011d0e4f2SBjorn Andersson	tsc2: hid@2c {
34144acee20SBjorn Andersson		compatible = "hid-over-i2c";
34244acee20SBjorn Andersson		reg = <0x2c>;
34344acee20SBjorn Andersson		hid-descr-addr = <0x20>;
34444acee20SBjorn Andersson
34511d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
34644acee20SBjorn Andersson	};
34744acee20SBjorn Andersson};
34844acee20SBjorn Andersson
34944acee20SBjorn Andersson&i2c5 {
35044acee20SBjorn Andersson	status = "okay";
35144acee20SBjorn Andersson	clock-frequency = <400000>;
35244acee20SBjorn Andersson
35311d0e4f2SBjorn Andersson	tsc1: hid@10 {
35444acee20SBjorn Andersson		compatible = "hid-over-i2c";
35544acee20SBjorn Andersson		reg = <0x10>;
35644acee20SBjorn Andersson		hid-descr-addr = <0x1>;
35744acee20SBjorn Andersson
35811d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 125 IRQ_TYPE_LEVEL_LOW>;
35944acee20SBjorn Andersson
36044acee20SBjorn Andersson		pinctrl-names = "default";
36111d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c5_hid_active>;
36244acee20SBjorn Andersson	};
36344acee20SBjorn Andersson};
36444acee20SBjorn Andersson
365956e9c85SBjorn Andersson&i2c10 {
366956e9c85SBjorn Andersson	status = "okay";
367956e9c85SBjorn Andersson	clock-frequency = <400000>;
368956e9c85SBjorn Andersson
369956e9c85SBjorn Andersson	sn65dsi86: bridge@2c {
370956e9c85SBjorn Andersson		compatible = "ti,sn65dsi86";
371956e9c85SBjorn Andersson		reg = <0x2c>;
372956e9c85SBjorn Andersson		pinctrl-names = "default";
373956e9c85SBjorn Andersson		pinctrl-0 = <&sn65dsi86_pin_active>;
374956e9c85SBjorn Andersson
375956e9c85SBjorn Andersson		enable-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
376956e9c85SBjorn Andersson
377956e9c85SBjorn Andersson		vpll-supply = <&vreg_l14a_1p88>;
378956e9c85SBjorn Andersson		vccio-supply = <&vreg_l14a_1p88>;
379956e9c85SBjorn Andersson
380956e9c85SBjorn Andersson		clocks = <&sn65dsi86_refclk>;
381956e9c85SBjorn Andersson		clock-names = "refclk";
382956e9c85SBjorn Andersson
383c0dcfe6aSStephen Boyd		no-hpd;
384c0dcfe6aSStephen Boyd
385956e9c85SBjorn Andersson		ports {
386956e9c85SBjorn Andersson			#address-cells = <1>;
387956e9c85SBjorn Andersson			#size-cells = <0>;
388956e9c85SBjorn Andersson
389956e9c85SBjorn Andersson			port@0 {
390956e9c85SBjorn Andersson				reg = <0>;
391956e9c85SBjorn Andersson				sn65dsi86_in_a: endpoint {
392956e9c85SBjorn Andersson					remote-endpoint = <&dsi0_out>;
393956e9c85SBjorn Andersson				};
394956e9c85SBjorn Andersson			};
395956e9c85SBjorn Andersson
396956e9c85SBjorn Andersson			port@1 {
397956e9c85SBjorn Andersson				reg = <1>;
398956e9c85SBjorn Andersson				sn65dsi86_out: endpoint {
399956e9c85SBjorn Andersson					remote-endpoint = <&panel_in_edp>;
400956e9c85SBjorn Andersson				};
401956e9c85SBjorn Andersson			};
402956e9c85SBjorn Andersson		};
403956e9c85SBjorn Andersson	};
404956e9c85SBjorn Andersson};
405956e9c85SBjorn Andersson
40644acee20SBjorn Andersson&i2c11 {
40744acee20SBjorn Andersson	status = "okay";
40844acee20SBjorn Andersson	clock-frequency = <400000>;
40944acee20SBjorn Andersson
41011d0e4f2SBjorn Andersson	ecsh: hid@5c {
41144acee20SBjorn Andersson		compatible = "hid-over-i2c";
41244acee20SBjorn Andersson		reg = <0x5c>;
41344acee20SBjorn Andersson		hid-descr-addr = <0x1>;
41444acee20SBjorn Andersson
41544acee20SBjorn Andersson		interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>;
41644acee20SBjorn Andersson
41744acee20SBjorn Andersson		pinctrl-names = "default";
41811d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c11_hid_active>;
41944acee20SBjorn Andersson	};
42044acee20SBjorn Andersson};
42144acee20SBjorn Andersson
4222e01e0c2SBjorn Andersson&ipa {
4232e01e0c2SBjorn Andersson	status = "okay";
4242e01e0c2SBjorn Andersson	memory-region = <&ipa_fw_mem>;
4252e01e0c2SBjorn Andersson};
4262e01e0c2SBjorn Andersson
427956e9c85SBjorn Andersson&mdss {
428956e9c85SBjorn Andersson	status = "okay";
429956e9c85SBjorn Andersson};
430956e9c85SBjorn Andersson
431956e9c85SBjorn Andersson&mdss_mdp {
432956e9c85SBjorn Andersson	status = "okay";
433956e9c85SBjorn Andersson};
434956e9c85SBjorn Andersson
4353cd82e95SBjorn Andersson&mss_pil {
4363cd82e95SBjorn Andersson	firmware-name = "qcom/LENOVO/81JL/qcdsp1v2850.mbn", "qcom/LENOVO/81JL/qcdsp2850.mbn";
4373cd82e95SBjorn Andersson};
4383cd82e95SBjorn Andersson
439956e9c85SBjorn Andersson&qup_i2c10_default {
440956e9c85SBjorn Andersson	pinconf {
441956e9c85SBjorn Andersson		pins = "gpio55", "gpio56";
442956e9c85SBjorn Andersson		drive-strength = <2>;
443956e9c85SBjorn Andersson		bias-disable;
444956e9c85SBjorn Andersson	};
445956e9c85SBjorn Andersson};
446956e9c85SBjorn Andersson
44744acee20SBjorn Andersson&qup_i2c12_default {
44844acee20SBjorn Andersson	drive-strength = <2>;
44944acee20SBjorn Andersson	bias-disable;
45044acee20SBjorn Andersson};
45144acee20SBjorn Andersson
45244acee20SBjorn Andersson&qup_uart6_default {
45344acee20SBjorn Andersson	pinmux {
45444acee20SBjorn Andersson		 pins = "gpio45", "gpio46", "gpio47", "gpio48";
45544acee20SBjorn Andersson		 function = "qup6";
45644acee20SBjorn Andersson	};
45744acee20SBjorn Andersson
45844acee20SBjorn Andersson	cts {
45944acee20SBjorn Andersson		pins = "gpio45";
46044acee20SBjorn Andersson		bias-pull-down;
46144acee20SBjorn Andersson	};
46244acee20SBjorn Andersson
46344acee20SBjorn Andersson	rts-tx {
46444acee20SBjorn Andersson		pins = "gpio46", "gpio47";
46544acee20SBjorn Andersson		drive-strength = <2>;
46644acee20SBjorn Andersson		bias-disable;
46744acee20SBjorn Andersson	};
46844acee20SBjorn Andersson
46944acee20SBjorn Andersson	rx {
47044acee20SBjorn Andersson		pins = "gpio48";
47144acee20SBjorn Andersson		bias-pull-up;
47244acee20SBjorn Andersson	};
47344acee20SBjorn Andersson};
47444acee20SBjorn Andersson
47544acee20SBjorn Andersson&qupv3_id_0 {
47644acee20SBjorn Andersson	status = "okay";
47744acee20SBjorn Andersson};
47844acee20SBjorn Andersson
47944acee20SBjorn Andersson&qupv3_id_1 {
48044acee20SBjorn Andersson	status = "okay";
48144acee20SBjorn Andersson};
48244acee20SBjorn Andersson
48345021d35SSrinivas Kandagatla&q6asmdai {
48445021d35SSrinivas Kandagatla	dai@0 {
48545021d35SSrinivas Kandagatla		reg = <0>;
48645021d35SSrinivas Kandagatla	};
48745021d35SSrinivas Kandagatla
48845021d35SSrinivas Kandagatla	dai@1 {
48945021d35SSrinivas Kandagatla		reg = <1>;
49045021d35SSrinivas Kandagatla	};
49145021d35SSrinivas Kandagatla};
49245021d35SSrinivas Kandagatla
49345021d35SSrinivas Kandagatla&sound {
49445021d35SSrinivas Kandagatla	compatible = "qcom,db845c-sndcard";
49545021d35SSrinivas Kandagatla	model = "Lenovo-YOGA-C630-13Q50";
49645021d35SSrinivas Kandagatla
49745021d35SSrinivas Kandagatla	audio-routing =
49845021d35SSrinivas Kandagatla		"RX_BIAS", "MCLK",
49945021d35SSrinivas Kandagatla		"AMIC2", "MIC BIAS2",
50045021d35SSrinivas Kandagatla		"SpkrLeft IN", "SPK1 OUT",
50145021d35SSrinivas Kandagatla		"SpkrRight IN", "SPK2 OUT",
50245021d35SSrinivas Kandagatla		"MM_DL1",  "MultiMedia1 Playback",
50345021d35SSrinivas Kandagatla		"MultiMedia2 Capture", "MM_UL2";
50445021d35SSrinivas Kandagatla
50545021d35SSrinivas Kandagatla	mm1-dai-link {
50645021d35SSrinivas Kandagatla		link-name = "MultiMedia1";
50745021d35SSrinivas Kandagatla		cpu {
50845021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
50945021d35SSrinivas Kandagatla		};
51045021d35SSrinivas Kandagatla	};
51145021d35SSrinivas Kandagatla
51245021d35SSrinivas Kandagatla	mm2-dai-link {
51345021d35SSrinivas Kandagatla		link-name = "MultiMedia2";
51445021d35SSrinivas Kandagatla		cpu {
51545021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
51645021d35SSrinivas Kandagatla		};
51745021d35SSrinivas Kandagatla	};
51845021d35SSrinivas Kandagatla
51945021d35SSrinivas Kandagatla	slim-dai-link {
52045021d35SSrinivas Kandagatla		link-name = "SLIM Playback";
52145021d35SSrinivas Kandagatla		cpu {
52245021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_RX>;
52345021d35SSrinivas Kandagatla		};
52445021d35SSrinivas Kandagatla
52545021d35SSrinivas Kandagatla		platform {
52645021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
52745021d35SSrinivas Kandagatla		};
52845021d35SSrinivas Kandagatla
52945021d35SSrinivas Kandagatla		codec {
53045021d35SSrinivas Kandagatla			sound-dai =  <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
53145021d35SSrinivas Kandagatla		};
53245021d35SSrinivas Kandagatla	};
53345021d35SSrinivas Kandagatla
53445021d35SSrinivas Kandagatla	slimcap-dai-link {
53545021d35SSrinivas Kandagatla		link-name = "SLIM Capture";
53645021d35SSrinivas Kandagatla		cpu {
53745021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_TX>;
53845021d35SSrinivas Kandagatla		};
53945021d35SSrinivas Kandagatla
54045021d35SSrinivas Kandagatla		platform {
54145021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
54245021d35SSrinivas Kandagatla		};
54345021d35SSrinivas Kandagatla
54445021d35SSrinivas Kandagatla		codec {
54545021d35SSrinivas Kandagatla			sound-dai = <&wcd9340 1>;
54645021d35SSrinivas Kandagatla		};
54745021d35SSrinivas Kandagatla	};
54845021d35SSrinivas Kandagatla};
54945021d35SSrinivas Kandagatla
55044acee20SBjorn Andersson&tlmm {
55144acee20SBjorn Andersson	gpio-reserved-ranges = <0 4>, <81 4>;
55244acee20SBjorn Andersson
553956e9c85SBjorn Andersson	sn65dsi86_pin_active: sn65dsi86-enable {
554956e9c85SBjorn Andersson		pins = "gpio96";
555956e9c85SBjorn Andersson		drive-strength = <2>;
556956e9c85SBjorn Andersson		bias-disable;
557956e9c85SBjorn Andersson	};
558956e9c85SBjorn Andersson
55911d0e4f2SBjorn Andersson	i2c3_hid_active: i2c2-hid-active {
560f55d373fSBjorn Andersson		pins = "gpio37";
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	i2c5_hid_active: i2c5-hid-active {
569f55d373fSBjorn Andersson		pins = "gpio125";
57044acee20SBjorn Andersson		function = "gpio";
57144acee20SBjorn Andersson
57244acee20SBjorn Andersson		input-enable;
57344acee20SBjorn Andersson		bias-pull-up;
57444acee20SBjorn Andersson		drive-strength = <2>;
57544acee20SBjorn Andersson	};
57644acee20SBjorn Andersson
57711d0e4f2SBjorn Andersson	i2c11_hid_active: i2c11-hid-active {
578f55d373fSBjorn Andersson		pins = "gpio92";
57944acee20SBjorn Andersson		function = "gpio";
58044acee20SBjorn Andersson
58144acee20SBjorn Andersson		input-enable;
58244acee20SBjorn Andersson		bias-pull-up;
58344acee20SBjorn Andersson		drive-strength = <2>;
58444acee20SBjorn Andersson	};
58545021d35SSrinivas Kandagatla
58645021d35SSrinivas Kandagatla	wcd_intr_default: wcd_intr_default {
587f55d373fSBjorn Andersson		pins = "gpio54";
58845021d35SSrinivas Kandagatla		function = "gpio";
58945021d35SSrinivas Kandagatla
59045021d35SSrinivas Kandagatla		input-enable;
59145021d35SSrinivas Kandagatla		bias-pull-down;
59245021d35SSrinivas Kandagatla		drive-strength = <2>;
59345021d35SSrinivas Kandagatla	};
59471b83b74SBjorn Andersson
59571b83b74SBjorn Andersson	lid_pin_active: lid-pin {
59671b83b74SBjorn Andersson		pins = "gpio124";
59771b83b74SBjorn Andersson		function = "gpio";
59871b83b74SBjorn Andersson
59971b83b74SBjorn Andersson		input-enable;
60071b83b74SBjorn Andersson		bias-disable;
60171b83b74SBjorn Andersson	};
60271b83b74SBjorn Andersson
60371b83b74SBjorn Andersson	mode_pin_active: mode-pin {
60471b83b74SBjorn Andersson		pins = "gpio95";
60571b83b74SBjorn Andersson		function = "gpio";
60671b83b74SBjorn Andersson
60771b83b74SBjorn Andersson		input-enable;
60871b83b74SBjorn Andersson		bias-disable;
60971b83b74SBjorn Andersson	};
61044acee20SBjorn Andersson};
61144acee20SBjorn Andersson
61244acee20SBjorn Andersson&uart6 {
61344acee20SBjorn Andersson	status = "okay";
61444acee20SBjorn Andersson
61544acee20SBjorn Andersson	bluetooth {
61644acee20SBjorn Andersson		compatible = "qcom,wcn3990-bt";
61744acee20SBjorn Andersson
61844acee20SBjorn Andersson		vddio-supply = <&vreg_s4a_1p8>;
61944acee20SBjorn Andersson		vddxo-supply = <&vreg_l7a_1p8>;
62044acee20SBjorn Andersson		vddrf-supply = <&vreg_l17a_1p3>;
62144acee20SBjorn Andersson		vddch0-supply = <&vreg_l25a_3p3>;
622b464f08cSSteev Klimaszewski		vddch1-supply = <&vreg_l23a_3p3>;
62344acee20SBjorn Andersson		max-speed = <3200000>;
62444acee20SBjorn Andersson	};
62544acee20SBjorn Andersson};
62644acee20SBjorn Andersson
62744acee20SBjorn Andersson&ufs_mem_hc {
62844acee20SBjorn Andersson	status = "okay";
62944acee20SBjorn Andersson
6302536bedeSBjorn Andersson	reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
6312536bedeSBjorn Andersson
63244acee20SBjorn Andersson	vcc-supply = <&vreg_l20a_2p95>;
63344acee20SBjorn Andersson	vcc-max-microamp = <600000>;
63444acee20SBjorn Andersson};
63544acee20SBjorn Andersson
63644acee20SBjorn Andersson&ufs_mem_phy {
63744acee20SBjorn Andersson	status = "okay";
63844acee20SBjorn Andersson
63944acee20SBjorn Andersson	vdda-phy-supply = <&vdda_ufs1_core>;
64044acee20SBjorn Andersson	vdda-pll-supply = <&vdda_ufs1_1p2>;
64144acee20SBjorn Andersson};
64244acee20SBjorn Andersson
64344acee20SBjorn Andersson&usb_1 {
64444acee20SBjorn Andersson	status = "okay";
64544acee20SBjorn Andersson};
64644acee20SBjorn Andersson
64744acee20SBjorn Andersson&usb_1_dwc3 {
64844acee20SBjorn Andersson	dr_mode = "host";
64944acee20SBjorn Andersson};
65044acee20SBjorn Andersson
65144acee20SBjorn Andersson&usb_1_hsphy {
65244acee20SBjorn Andersson	status = "okay";
65344acee20SBjorn Andersson
65444acee20SBjorn Andersson	vdd-supply = <&vdda_usb1_ss_core>;
65544acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
65644acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
65744acee20SBjorn Andersson
65844acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
65944acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
66044acee20SBjorn Andersson	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
66144acee20SBjorn Andersson	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
66244acee20SBjorn Andersson};
66344acee20SBjorn Andersson
66444acee20SBjorn Andersson&usb_1_qmpphy {
66544acee20SBjorn Andersson	status = "okay";
66644acee20SBjorn Andersson
66744acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb1_ss_1p2>;
66844acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb1_ss_core>;
66944acee20SBjorn Andersson};
67044acee20SBjorn Andersson
67144acee20SBjorn Andersson&usb_2 {
67244acee20SBjorn Andersson	status = "okay";
67344acee20SBjorn Andersson};
67444acee20SBjorn Andersson
67544acee20SBjorn Andersson&usb_2_dwc3 {
67644acee20SBjorn Andersson	dr_mode = "host";
67744acee20SBjorn Andersson};
67844acee20SBjorn Andersson
67944acee20SBjorn Andersson&usb_2_hsphy {
68044acee20SBjorn Andersson	status = "okay";
68144acee20SBjorn Andersson
68244acee20SBjorn Andersson	vdd-supply = <&vdda_usb2_ss_core>;
68344acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
68444acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
68544acee20SBjorn Andersson
68644acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
68744acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
68844acee20SBjorn Andersson};
68944acee20SBjorn Andersson
69044acee20SBjorn Andersson&usb_2_qmpphy {
69144acee20SBjorn Andersson	status = "okay";
69244acee20SBjorn Andersson
69344acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb2_ss_1p2>;
69444acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb2_ss_core>;
69544acee20SBjorn Andersson};
69645021d35SSrinivas Kandagatla
69745021d35SSrinivas Kandagatla&wcd9340{
69845021d35SSrinivas Kandagatla	pinctrl-0 = <&wcd_intr_default>;
69945021d35SSrinivas Kandagatla	pinctrl-names = "default";
70045021d35SSrinivas Kandagatla	clock-names = "extclk";
70145021d35SSrinivas Kandagatla	clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
70245021d35SSrinivas Kandagatla	reset-gpios = <&tlmm 64 0>;
70345021d35SSrinivas Kandagatla	vdd-buck-supply = <&vreg_s4a_1p8>;
70445021d35SSrinivas Kandagatla	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
70545021d35SSrinivas Kandagatla	vdd-tx-supply = <&vreg_s4a_1p8>;
70645021d35SSrinivas Kandagatla	vdd-rx-supply = <&vreg_s4a_1p8>;
70745021d35SSrinivas Kandagatla	vdd-io-supply = <&vreg_s4a_1p8>;
70845021d35SSrinivas Kandagatla
70945021d35SSrinivas Kandagatla	swm: swm@c85 {
71045021d35SSrinivas Kandagatla		left_spkr: wsa8810-left{
71145021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
71245021d35SSrinivas Kandagatla			reg = <0 3>;
7139a253bb4SSrinivas Kandagatla			powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_HIGH>;
71445021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
71545021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrLeft";
71645021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
71745021d35SSrinivas Kandagatla		};
71845021d35SSrinivas Kandagatla
71945021d35SSrinivas Kandagatla		right_spkr: wsa8810-right{
72045021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
7219a253bb4SSrinivas Kandagatla			powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
72245021d35SSrinivas Kandagatla			reg = <0 4>;
72345021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
72445021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrRight";
72545021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
72645021d35SSrinivas Kandagatla		};
72745021d35SSrinivas Kandagatla	};
72845021d35SSrinivas Kandagatla};
7293fb298d0SBjorn Andersson
7303fb298d0SBjorn Andersson&wifi {
7313fb298d0SBjorn Andersson	status = "okay";
7323fb298d0SBjorn Andersson
7333fb298d0SBjorn Andersson	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
7343fb298d0SBjorn Andersson	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
7353fb298d0SBjorn Andersson	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
7363fb298d0SBjorn Andersson	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
737b464f08cSSteev Klimaszewski	vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;
7383fb298d0SBjorn Andersson
7393fb298d0SBjorn Andersson	qcom,snoc-host-cap-8bit-quirk;
7403fb298d0SBjorn Andersson};
741