xref: /linux/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts (revision 956e9c85f47bfe874d58d96c85471f2e2ebae626)
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	};
47*956e9c85SBjorn Andersson
48*956e9c85SBjorn Andersson	panel {
49*956e9c85SBjorn Andersson		compatible = "boe,nv133fhm-n61";
50*956e9c85SBjorn Andersson		no-hpd;
51*956e9c85SBjorn Andersson
52*956e9c85SBjorn Andersson		ports {
53*956e9c85SBjorn Andersson			port {
54*956e9c85SBjorn Andersson				panel_in_edp: endpoint {
55*956e9c85SBjorn Andersson					remote-endpoint = <&sn65dsi86_out>;
56*956e9c85SBjorn Andersson				};
57*956e9c85SBjorn Andersson			};
58*956e9c85SBjorn Andersson		};
59*956e9c85SBjorn Andersson	};
60*956e9c85SBjorn Andersson
61*956e9c85SBjorn Andersson	sn65dsi86_refclk: sn65dsi86-refclk {
62*956e9c85SBjorn Andersson		compatible = "fixed-clock";
63*956e9c85SBjorn Andersson		#clock-cells = <0>;
64*956e9c85SBjorn Andersson
65*956e9c85SBjorn Andersson		clock-frequency = <19200000>;
66*956e9c85SBjorn 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
283*956e9c85SBjorn Andersson&dsi0 {
284*956e9c85SBjorn Andersson	status = "okay";
285*956e9c85SBjorn Andersson	vdda-supply = <&vreg_l26a_1p2>;
286*956e9c85SBjorn Andersson
287*956e9c85SBjorn Andersson	ports {
288*956e9c85SBjorn Andersson		port@1 {
289*956e9c85SBjorn Andersson			endpoint {
290*956e9c85SBjorn Andersson				remote-endpoint = <&sn65dsi86_in_a>;
291*956e9c85SBjorn Andersson				data-lanes = <0 1 2 3>;
292*956e9c85SBjorn Andersson			};
293*956e9c85SBjorn Andersson		};
294*956e9c85SBjorn Andersson	};
295*956e9c85SBjorn Andersson};
296*956e9c85SBjorn Andersson
297*956e9c85SBjorn Andersson&dsi0_phy {
298*956e9c85SBjorn Andersson	status = "okay";
299*956e9c85SBjorn Andersson	vdds-supply = <&vreg_l1a_0p875>;
300*956e9c85SBjorn Andersson};
301*956e9c85SBjorn 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>;
32344acee20SBjorn Andersson
32411d0e4f2SBjorn Andersson	tsel: hid@15 {
32544acee20SBjorn Andersson		compatible = "hid-over-i2c";
32644acee20SBjorn Andersson		reg = <0x15>;
32744acee20SBjorn Andersson		hid-descr-addr = <0x1>;
32844acee20SBjorn Andersson
32911d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
33011d0e4f2SBjorn Andersson
33111d0e4f2SBjorn Andersson		pinctrl-names = "default";
33211d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c3_hid_active>;
33344acee20SBjorn Andersson	};
33444acee20SBjorn Andersson
33511d0e4f2SBjorn Andersson	tsc2: hid@2c {
33644acee20SBjorn Andersson		compatible = "hid-over-i2c";
33744acee20SBjorn Andersson		reg = <0x2c>;
33844acee20SBjorn Andersson		hid-descr-addr = <0x20>;
33944acee20SBjorn Andersson
34011d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
34144acee20SBjorn Andersson
34244acee20SBjorn Andersson		pinctrl-names = "default";
34311d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c3_hid_active>;
34411d0e4f2SBjorn Andersson
34511d0e4f2SBjorn Andersson		status = "disabled";
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
365*956e9c85SBjorn Andersson&i2c10 {
366*956e9c85SBjorn Andersson	status = "okay";
367*956e9c85SBjorn Andersson	clock-frequency = <400000>;
368*956e9c85SBjorn Andersson
369*956e9c85SBjorn Andersson	sn65dsi86: bridge@2c {
370*956e9c85SBjorn Andersson		compatible = "ti,sn65dsi86";
371*956e9c85SBjorn Andersson		reg = <0x2c>;
372*956e9c85SBjorn Andersson		pinctrl-names = "default";
373*956e9c85SBjorn Andersson		pinctrl-0 = <&sn65dsi86_pin_active>;
374*956e9c85SBjorn Andersson
375*956e9c85SBjorn Andersson		enable-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
376*956e9c85SBjorn Andersson
377*956e9c85SBjorn Andersson		vpll-supply = <&vreg_l14a_1p88>;
378*956e9c85SBjorn Andersson		vccio-supply = <&vreg_l14a_1p88>;
379*956e9c85SBjorn Andersson
380*956e9c85SBjorn Andersson		clocks = <&sn65dsi86_refclk>;
381*956e9c85SBjorn Andersson		clock-names = "refclk";
382*956e9c85SBjorn Andersson
383*956e9c85SBjorn Andersson		ports {
384*956e9c85SBjorn Andersson			#address-cells = <1>;
385*956e9c85SBjorn Andersson			#size-cells = <0>;
386*956e9c85SBjorn Andersson
387*956e9c85SBjorn Andersson			port@0 {
388*956e9c85SBjorn Andersson				reg = <0>;
389*956e9c85SBjorn Andersson				sn65dsi86_in_a: endpoint {
390*956e9c85SBjorn Andersson					remote-endpoint = <&dsi0_out>;
391*956e9c85SBjorn Andersson				};
392*956e9c85SBjorn Andersson			};
393*956e9c85SBjorn Andersson
394*956e9c85SBjorn Andersson			port@1 {
395*956e9c85SBjorn Andersson				reg = <1>;
396*956e9c85SBjorn Andersson				sn65dsi86_out: endpoint {
397*956e9c85SBjorn Andersson					remote-endpoint = <&panel_in_edp>;
398*956e9c85SBjorn Andersson				};
399*956e9c85SBjorn Andersson			};
400*956e9c85SBjorn Andersson		};
401*956e9c85SBjorn Andersson	};
402*956e9c85SBjorn Andersson};
403*956e9c85SBjorn Andersson
40444acee20SBjorn Andersson&i2c11 {
40544acee20SBjorn Andersson	status = "okay";
40644acee20SBjorn Andersson	clock-frequency = <400000>;
40744acee20SBjorn Andersson
40811d0e4f2SBjorn Andersson	ecsh: hid@5c {
40944acee20SBjorn Andersson		compatible = "hid-over-i2c";
41044acee20SBjorn Andersson		reg = <0x5c>;
41144acee20SBjorn Andersson		hid-descr-addr = <0x1>;
41244acee20SBjorn Andersson
41344acee20SBjorn Andersson		interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>;
41444acee20SBjorn Andersson
41544acee20SBjorn Andersson		pinctrl-names = "default";
41611d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c11_hid_active>;
41744acee20SBjorn Andersson	};
41844acee20SBjorn Andersson};
41944acee20SBjorn Andersson
420*956e9c85SBjorn Andersson&mdss {
421*956e9c85SBjorn Andersson	status = "okay";
422*956e9c85SBjorn Andersson};
423*956e9c85SBjorn Andersson
424*956e9c85SBjorn Andersson&mdss_mdp {
425*956e9c85SBjorn Andersson	status = "okay";
426*956e9c85SBjorn Andersson};
427*956e9c85SBjorn Andersson
4283cd82e95SBjorn Andersson&mss_pil {
4293cd82e95SBjorn Andersson	firmware-name = "qcom/LENOVO/81JL/qcdsp1v2850.mbn", "qcom/LENOVO/81JL/qcdsp2850.mbn";
4303cd82e95SBjorn Andersson};
4313cd82e95SBjorn Andersson
432*956e9c85SBjorn Andersson&qup_i2c10_default {
433*956e9c85SBjorn Andersson	pinconf {
434*956e9c85SBjorn Andersson		pins = "gpio55", "gpio56";
435*956e9c85SBjorn Andersson		drive-strength = <2>;
436*956e9c85SBjorn Andersson		bias-disable;
437*956e9c85SBjorn Andersson	};
438*956e9c85SBjorn Andersson};
439*956e9c85SBjorn Andersson
44044acee20SBjorn Andersson&qup_i2c12_default {
44144acee20SBjorn Andersson	drive-strength = <2>;
44244acee20SBjorn Andersson	bias-disable;
44344acee20SBjorn Andersson};
44444acee20SBjorn Andersson
44544acee20SBjorn Andersson&qup_uart6_default {
44644acee20SBjorn Andersson	pinmux {
44744acee20SBjorn Andersson		 pins = "gpio45", "gpio46", "gpio47", "gpio48";
44844acee20SBjorn Andersson		 function = "qup6";
44944acee20SBjorn Andersson	};
45044acee20SBjorn Andersson
45144acee20SBjorn Andersson	cts {
45244acee20SBjorn Andersson		pins = "gpio45";
45344acee20SBjorn Andersson		bias-pull-down;
45444acee20SBjorn Andersson	};
45544acee20SBjorn Andersson
45644acee20SBjorn Andersson	rts-tx {
45744acee20SBjorn Andersson		pins = "gpio46", "gpio47";
45844acee20SBjorn Andersson		drive-strength = <2>;
45944acee20SBjorn Andersson		bias-disable;
46044acee20SBjorn Andersson	};
46144acee20SBjorn Andersson
46244acee20SBjorn Andersson	rx {
46344acee20SBjorn Andersson		pins = "gpio48";
46444acee20SBjorn Andersson		bias-pull-up;
46544acee20SBjorn Andersson	};
46644acee20SBjorn Andersson};
46744acee20SBjorn Andersson
46844acee20SBjorn Andersson&qupv3_id_0 {
46944acee20SBjorn Andersson	status = "okay";
47044acee20SBjorn Andersson};
47144acee20SBjorn Andersson
47244acee20SBjorn Andersson&qupv3_id_1 {
47344acee20SBjorn Andersson	status = "okay";
47444acee20SBjorn Andersson};
47544acee20SBjorn Andersson
47645021d35SSrinivas Kandagatla&q6asmdai {
47745021d35SSrinivas Kandagatla	dai@0 {
47845021d35SSrinivas Kandagatla		reg = <0>;
47945021d35SSrinivas Kandagatla	};
48045021d35SSrinivas Kandagatla
48145021d35SSrinivas Kandagatla	dai@1 {
48245021d35SSrinivas Kandagatla		reg = <1>;
48345021d35SSrinivas Kandagatla	};
48445021d35SSrinivas Kandagatla};
48545021d35SSrinivas Kandagatla
48645021d35SSrinivas Kandagatla&sound {
48745021d35SSrinivas Kandagatla	compatible = "qcom,db845c-sndcard";
48845021d35SSrinivas Kandagatla	model = "Lenovo-YOGA-C630-13Q50";
48945021d35SSrinivas Kandagatla
49045021d35SSrinivas Kandagatla	audio-routing =
49145021d35SSrinivas Kandagatla		"RX_BIAS", "MCLK",
49245021d35SSrinivas Kandagatla		"AMIC2", "MIC BIAS2",
49345021d35SSrinivas Kandagatla		"SpkrLeft IN", "SPK1 OUT",
49445021d35SSrinivas Kandagatla		"SpkrRight IN", "SPK2 OUT",
49545021d35SSrinivas Kandagatla		"MM_DL1",  "MultiMedia1 Playback",
49645021d35SSrinivas Kandagatla		"MultiMedia2 Capture", "MM_UL2";
49745021d35SSrinivas Kandagatla
49845021d35SSrinivas Kandagatla	mm1-dai-link {
49945021d35SSrinivas Kandagatla		link-name = "MultiMedia1";
50045021d35SSrinivas Kandagatla		cpu {
50145021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
50245021d35SSrinivas Kandagatla		};
50345021d35SSrinivas Kandagatla	};
50445021d35SSrinivas Kandagatla
50545021d35SSrinivas Kandagatla	mm2-dai-link {
50645021d35SSrinivas Kandagatla		link-name = "MultiMedia2";
50745021d35SSrinivas Kandagatla		cpu {
50845021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
50945021d35SSrinivas Kandagatla		};
51045021d35SSrinivas Kandagatla	};
51145021d35SSrinivas Kandagatla
51245021d35SSrinivas Kandagatla	slim-dai-link {
51345021d35SSrinivas Kandagatla		link-name = "SLIM Playback";
51445021d35SSrinivas Kandagatla		cpu {
51545021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_RX>;
51645021d35SSrinivas Kandagatla		};
51745021d35SSrinivas Kandagatla
51845021d35SSrinivas Kandagatla		platform {
51945021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
52045021d35SSrinivas Kandagatla		};
52145021d35SSrinivas Kandagatla
52245021d35SSrinivas Kandagatla		codec {
52345021d35SSrinivas Kandagatla			sound-dai =  <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
52445021d35SSrinivas Kandagatla		};
52545021d35SSrinivas Kandagatla	};
52645021d35SSrinivas Kandagatla
52745021d35SSrinivas Kandagatla	slimcap-dai-link {
52845021d35SSrinivas Kandagatla		link-name = "SLIM Capture";
52945021d35SSrinivas Kandagatla		cpu {
53045021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_TX>;
53145021d35SSrinivas Kandagatla		};
53245021d35SSrinivas Kandagatla
53345021d35SSrinivas Kandagatla		platform {
53445021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
53545021d35SSrinivas Kandagatla		};
53645021d35SSrinivas Kandagatla
53745021d35SSrinivas Kandagatla		codec {
53845021d35SSrinivas Kandagatla			sound-dai = <&wcd9340 1>;
53945021d35SSrinivas Kandagatla		};
54045021d35SSrinivas Kandagatla	};
54145021d35SSrinivas Kandagatla};
54245021d35SSrinivas Kandagatla
54344acee20SBjorn Andersson&tlmm {
54444acee20SBjorn Andersson	gpio-reserved-ranges = <0 4>, <81 4>;
54544acee20SBjorn Andersson
546*956e9c85SBjorn Andersson	sn65dsi86_pin_active: sn65dsi86-enable {
547*956e9c85SBjorn Andersson		pins = "gpio96";
548*956e9c85SBjorn Andersson		drive-strength = <2>;
549*956e9c85SBjorn Andersson		bias-disable;
550*956e9c85SBjorn Andersson	};
551*956e9c85SBjorn Andersson
55211d0e4f2SBjorn Andersson	i2c3_hid_active: i2c2-hid-active {
553f55d373fSBjorn Andersson		pins = "gpio37";
55444acee20SBjorn Andersson		function = "gpio";
55544acee20SBjorn Andersson
55644acee20SBjorn Andersson		input-enable;
55744acee20SBjorn Andersson		bias-pull-up;
55844acee20SBjorn Andersson		drive-strength = <2>;
55944acee20SBjorn Andersson	};
56044acee20SBjorn Andersson
56111d0e4f2SBjorn Andersson	i2c5_hid_active: i2c5-hid-active {
562f55d373fSBjorn Andersson		pins = "gpio125";
56344acee20SBjorn Andersson		function = "gpio";
56444acee20SBjorn Andersson
56544acee20SBjorn Andersson		input-enable;
56644acee20SBjorn Andersson		bias-pull-up;
56744acee20SBjorn Andersson		drive-strength = <2>;
56844acee20SBjorn Andersson	};
56944acee20SBjorn Andersson
57011d0e4f2SBjorn Andersson	i2c11_hid_active: i2c11-hid-active {
571f55d373fSBjorn Andersson		pins = "gpio92";
57244acee20SBjorn Andersson		function = "gpio";
57344acee20SBjorn Andersson
57444acee20SBjorn Andersson		input-enable;
57544acee20SBjorn Andersson		bias-pull-up;
57644acee20SBjorn Andersson		drive-strength = <2>;
57744acee20SBjorn Andersson	};
57845021d35SSrinivas Kandagatla
57945021d35SSrinivas Kandagatla	wcd_intr_default: wcd_intr_default {
580f55d373fSBjorn Andersson		pins = "gpio54";
58145021d35SSrinivas Kandagatla		function = "gpio";
58245021d35SSrinivas Kandagatla
58345021d35SSrinivas Kandagatla		input-enable;
58445021d35SSrinivas Kandagatla		bias-pull-down;
58545021d35SSrinivas Kandagatla		drive-strength = <2>;
58645021d35SSrinivas Kandagatla	};
58771b83b74SBjorn Andersson
58871b83b74SBjorn Andersson	lid_pin_active: lid-pin {
58971b83b74SBjorn Andersson		pins = "gpio124";
59071b83b74SBjorn Andersson		function = "gpio";
59171b83b74SBjorn Andersson
59271b83b74SBjorn Andersson		input-enable;
59371b83b74SBjorn Andersson		bias-disable;
59471b83b74SBjorn Andersson	};
59571b83b74SBjorn Andersson
59671b83b74SBjorn Andersson	mode_pin_active: mode-pin {
59771b83b74SBjorn Andersson		pins = "gpio95";
59871b83b74SBjorn Andersson		function = "gpio";
59971b83b74SBjorn Andersson
60071b83b74SBjorn Andersson		input-enable;
60171b83b74SBjorn Andersson		bias-disable;
60271b83b74SBjorn Andersson	};
60344acee20SBjorn Andersson};
60444acee20SBjorn Andersson
60544acee20SBjorn Andersson&uart6 {
60644acee20SBjorn Andersson	status = "okay";
60744acee20SBjorn Andersson
60844acee20SBjorn Andersson	bluetooth {
60944acee20SBjorn Andersson		compatible = "qcom,wcn3990-bt";
61044acee20SBjorn Andersson
61144acee20SBjorn Andersson		vddio-supply = <&vreg_s4a_1p8>;
61244acee20SBjorn Andersson		vddxo-supply = <&vreg_l7a_1p8>;
61344acee20SBjorn Andersson		vddrf-supply = <&vreg_l17a_1p3>;
61444acee20SBjorn Andersson		vddch0-supply = <&vreg_l25a_3p3>;
61544acee20SBjorn Andersson		max-speed = <3200000>;
61644acee20SBjorn Andersson	};
61744acee20SBjorn Andersson};
61844acee20SBjorn Andersson
61944acee20SBjorn Andersson&ufs_mem_hc {
62044acee20SBjorn Andersson	status = "okay";
62144acee20SBjorn Andersson
6222536bedeSBjorn Andersson	reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
6232536bedeSBjorn Andersson
62444acee20SBjorn Andersson	vcc-supply = <&vreg_l20a_2p95>;
62544acee20SBjorn Andersson	vcc-max-microamp = <600000>;
62644acee20SBjorn Andersson};
62744acee20SBjorn Andersson
62844acee20SBjorn Andersson&ufs_mem_phy {
62944acee20SBjorn Andersson	status = "okay";
63044acee20SBjorn Andersson
63144acee20SBjorn Andersson	vdda-phy-supply = <&vdda_ufs1_core>;
63244acee20SBjorn Andersson	vdda-pll-supply = <&vdda_ufs1_1p2>;
63344acee20SBjorn Andersson};
63444acee20SBjorn Andersson
63544acee20SBjorn Andersson&usb_1 {
63644acee20SBjorn Andersson	status = "okay";
63744acee20SBjorn Andersson};
63844acee20SBjorn Andersson
63944acee20SBjorn Andersson&usb_1_dwc3 {
64044acee20SBjorn Andersson	dr_mode = "host";
64144acee20SBjorn Andersson};
64244acee20SBjorn Andersson
64344acee20SBjorn Andersson&usb_1_hsphy {
64444acee20SBjorn Andersson	status = "okay";
64544acee20SBjorn Andersson
64644acee20SBjorn Andersson	vdd-supply = <&vdda_usb1_ss_core>;
64744acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
64844acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
64944acee20SBjorn Andersson
65044acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
65144acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
65244acee20SBjorn Andersson	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
65344acee20SBjorn Andersson	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
65444acee20SBjorn Andersson};
65544acee20SBjorn Andersson
65644acee20SBjorn Andersson&usb_1_qmpphy {
65744acee20SBjorn Andersson	status = "okay";
65844acee20SBjorn Andersson
65944acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb1_ss_1p2>;
66044acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb1_ss_core>;
66144acee20SBjorn Andersson};
66244acee20SBjorn Andersson
66344acee20SBjorn Andersson&usb_2 {
66444acee20SBjorn Andersson	status = "okay";
66544acee20SBjorn Andersson};
66644acee20SBjorn Andersson
66744acee20SBjorn Andersson&usb_2_dwc3 {
66844acee20SBjorn Andersson	dr_mode = "host";
66944acee20SBjorn Andersson};
67044acee20SBjorn Andersson
67144acee20SBjorn Andersson&usb_2_hsphy {
67244acee20SBjorn Andersson	status = "okay";
67344acee20SBjorn Andersson
67444acee20SBjorn Andersson	vdd-supply = <&vdda_usb2_ss_core>;
67544acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
67644acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
67744acee20SBjorn Andersson
67844acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
67944acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
68044acee20SBjorn Andersson};
68144acee20SBjorn Andersson
68244acee20SBjorn Andersson&usb_2_qmpphy {
68344acee20SBjorn Andersson	status = "okay";
68444acee20SBjorn Andersson
68544acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb2_ss_1p2>;
68644acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb2_ss_core>;
68744acee20SBjorn Andersson};
68845021d35SSrinivas Kandagatla
68945021d35SSrinivas Kandagatla&wcd9340{
69045021d35SSrinivas Kandagatla	pinctrl-0 = <&wcd_intr_default>;
69145021d35SSrinivas Kandagatla	pinctrl-names = "default";
69245021d35SSrinivas Kandagatla	clock-names = "extclk";
69345021d35SSrinivas Kandagatla	clocks = <&rpmhcc RPMH_LN_BB_CLK2>;
69445021d35SSrinivas Kandagatla	reset-gpios = <&tlmm 64 0>;
69545021d35SSrinivas Kandagatla	vdd-buck-supply = <&vreg_s4a_1p8>;
69645021d35SSrinivas Kandagatla	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
69745021d35SSrinivas Kandagatla	vdd-tx-supply = <&vreg_s4a_1p8>;
69845021d35SSrinivas Kandagatla	vdd-rx-supply = <&vreg_s4a_1p8>;
69945021d35SSrinivas Kandagatla	vdd-io-supply = <&vreg_s4a_1p8>;
70045021d35SSrinivas Kandagatla
70145021d35SSrinivas Kandagatla	swm: swm@c85 {
70245021d35SSrinivas Kandagatla		left_spkr: wsa8810-left{
70345021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
70445021d35SSrinivas Kandagatla			reg = <0 3>;
70545021d35SSrinivas Kandagatla			powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
70645021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
70745021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrLeft";
70845021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
70945021d35SSrinivas Kandagatla		};
71045021d35SSrinivas Kandagatla
71145021d35SSrinivas Kandagatla		right_spkr: wsa8810-right{
71245021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
71345021d35SSrinivas Kandagatla			powerdown-gpios = <&wcdgpio 3 GPIO_ACTIVE_HIGH>;
71445021d35SSrinivas Kandagatla			reg = <0 4>;
71545021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
71645021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrRight";
71745021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
71845021d35SSrinivas Kandagatla		};
71945021d35SSrinivas Kandagatla	};
72045021d35SSrinivas Kandagatla};
7213fb298d0SBjorn Andersson
7223fb298d0SBjorn Andersson&wifi {
7233fb298d0SBjorn Andersson	status = "okay";
7243fb298d0SBjorn Andersson
7253fb298d0SBjorn Andersson	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
7263fb298d0SBjorn Andersson	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
7273fb298d0SBjorn Andersson	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
7283fb298d0SBjorn Andersson	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
7293fb298d0SBjorn Andersson
7303fb298d0SBjorn Andersson	qcom,snoc-host-cap-8bit-quirk;
7313fb298d0SBjorn Andersson};
732