xref: /linux/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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
1071b83b74SBjorn Andersson#include <dt-bindings/input/gpio-keys.h>
1171b83b74SBjorn Andersson#include <dt-bindings/input/input.h>
1244acee20SBjorn Andersson#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
1345021d35SSrinivas Kandagatla#include <dt-bindings/sound/qcom,q6afe.h>
1445021d35SSrinivas Kandagatla#include <dt-bindings/sound/qcom,q6asm.h>
156be4ba54SSteev Klimaszewski#include "sdm850.dtsi"
1634c86173SKrzysztof Kozlowski#include "sdm845-wcd9340.dtsi"
1744acee20SBjorn Andersson#include "pm8998.dtsi"
1844acee20SBjorn Andersson
194420a0deSAmit Pundir/*
204420a0deSAmit Pundir * Update following upstream (sdm845.dtsi) reserved
214420a0deSAmit Pundir * memory mappings for firmware loading to succeed
224420a0deSAmit Pundir * and enable the IPA device.
234420a0deSAmit Pundir */
244420a0deSAmit Pundir/delete-node/ &ipa_fw_mem;
254420a0deSAmit Pundir/delete-node/ &ipa_gsi_mem;
264420a0deSAmit Pundir/delete-node/ &gpu_mem;
274420a0deSAmit Pundir/delete-node/ &adsp_mem;
284420a0deSAmit Pundir/delete-node/ &wlan_msa_mem;
294420a0deSAmit Pundir
3044acee20SBjorn Andersson/ {
3144acee20SBjorn Andersson	model = "Lenovo Yoga C630";
3244acee20SBjorn Andersson	compatible = "lenovo,yoga-c630", "qcom,sdm845";
33eaa744b1SArnaud Ferraris	chassis-type = "convertible";
3444acee20SBjorn Andersson
3544acee20SBjorn Andersson	aliases {
36443042beSCaleb Connolly		serial0 = &uart9;
372c2f83d9SCaleb Connolly		serial1 = &uart6;
3844acee20SBjorn Andersson	};
3971b83b74SBjorn Andersson
4071b83b74SBjorn Andersson	gpio-keys {
4171b83b74SBjorn Andersson		compatible = "gpio-keys";
4271b83b74SBjorn Andersson
4371b83b74SBjorn Andersson		pinctrl-names = "default";
4471b83b74SBjorn Andersson		pinctrl-0 = <&lid_pin_active>, <&mode_pin_active>;
4571b83b74SBjorn Andersson
46b08f5cbdSKrzysztof Kozlowski		switch-lid {
4771b83b74SBjorn Andersson			gpios = <&tlmm 124 GPIO_ACTIVE_HIGH>;
4871b83b74SBjorn Andersson			linux,input-type = <EV_SW>;
4971b83b74SBjorn Andersson			linux,code = <SW_LID>;
5071b83b74SBjorn Andersson			wakeup-source;
5171b83b74SBjorn Andersson			wakeup-event-action = <EV_ACT_DEASSERTED>;
5271b83b74SBjorn Andersson		};
5371b83b74SBjorn Andersson
54b08f5cbdSKrzysztof Kozlowski		switch-mode {
5571b83b74SBjorn Andersson			gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
5671b83b74SBjorn Andersson			linux,input-type = <EV_SW>;
5771b83b74SBjorn Andersson			linux,code = <SW_TABLET_MODE>;
5871b83b74SBjorn Andersson		};
5971b83b74SBjorn Andersson	};
60956e9c85SBjorn Andersson
614420a0deSAmit Pundir	/* Reserved memory changes for IPA */
624420a0deSAmit Pundir	reserved-memory {
634420a0deSAmit Pundir		wlan_msa_mem: memory@8c400000 {
644420a0deSAmit Pundir			reg = <0 0x8c400000 0 0x100000>;
654420a0deSAmit Pundir			no-map;
664420a0deSAmit Pundir		};
674420a0deSAmit Pundir
684420a0deSAmit Pundir		gpu_mem: memory@8c515000 {
694420a0deSAmit Pundir			reg = <0 0x8c515000 0 0x2000>;
704420a0deSAmit Pundir			no-map;
714420a0deSAmit Pundir		};
724420a0deSAmit Pundir
734420a0deSAmit Pundir		ipa_fw_mem: memory@8c517000 {
744420a0deSAmit Pundir			reg = <0 0x8c517000 0 0x5a000>;
754420a0deSAmit Pundir			no-map;
764420a0deSAmit Pundir		};
774420a0deSAmit Pundir
784420a0deSAmit Pundir		adsp_mem: memory@8c600000 {
794420a0deSAmit Pundir			reg = <0 0x8c600000 0 0x1a00000>;
804420a0deSAmit Pundir			no-map;
814420a0deSAmit Pundir		};
824420a0deSAmit Pundir	};
834420a0deSAmit Pundir
842bc06b76SCaleb Connolly	sw_edp_1p2: edp-1p2-regulator {
852bc06b76SCaleb Connolly		compatible = "regulator-fixed";
862bc06b76SCaleb Connolly		regulator-name = "sw_edp_1p2";
872bc06b76SCaleb Connolly
882bc06b76SCaleb Connolly		regulator-min-microvolt = <1200000>;
892bc06b76SCaleb Connolly		regulator-max-microvolt = <1200000>;
902bc06b76SCaleb Connolly
912bc06b76SCaleb Connolly		pinctrl-0 = <&sw_edp_1p2_en>;
922bc06b76SCaleb Connolly		pinctrl-names = "default";
932bc06b76SCaleb Connolly
942bc06b76SCaleb Connolly		gpio = <&pm8998_gpios 9 GPIO_ACTIVE_HIGH>;
952bc06b76SCaleb Connolly		enable-active-high;
962bc06b76SCaleb Connolly
972bc06b76SCaleb Connolly		vin-supply = <&vreg_l2a_1p2>;
982bc06b76SCaleb Connolly	};
992bc06b76SCaleb Connolly
100956e9c85SBjorn Andersson	sn65dsi86_refclk: sn65dsi86-refclk {
101956e9c85SBjorn Andersson		compatible = "fixed-clock";
102956e9c85SBjorn Andersson		#clock-cells = <0>;
103956e9c85SBjorn Andersson
104956e9c85SBjorn Andersson		clock-frequency = <19200000>;
105956e9c85SBjorn Andersson	};
106a28106a2SBjorn Andersson
1076b0fd355SKrzysztof Kozlowski	vph_pwr: regulator-vph-pwr {
1086b0fd355SKrzysztof Kozlowski		compatible = "regulator-fixed";
1096b0fd355SKrzysztof Kozlowski		regulator-name = "vph_pwr";
1106b0fd355SKrzysztof Kozlowski		regulator-min-microvolt = <3700000>;
1116b0fd355SKrzysztof Kozlowski		regulator-max-microvolt = <3700000>;
1126b0fd355SKrzysztof Kozlowski	};
1136b0fd355SKrzysztof Kozlowski
1146b0fd355SKrzysztof Kozlowski	vlcm_3v3: regulator-vlcm-3v3 {
1156b0fd355SKrzysztof Kozlowski		compatible = "regulator-fixed";
1166b0fd355SKrzysztof Kozlowski		regulator-name = "vlcm_3v3";
1176b0fd355SKrzysztof Kozlowski
1186b0fd355SKrzysztof Kozlowski		vin-supply = <&vph_pwr>;
1196b0fd355SKrzysztof Kozlowski		regulator-min-microvolt = <3300000>;
1206b0fd355SKrzysztof Kozlowski		regulator-max-microvolt = <3300000>;
1216b0fd355SKrzysztof Kozlowski
1226b0fd355SKrzysztof Kozlowski		gpio = <&tlmm 88 GPIO_ACTIVE_HIGH>;
1236b0fd355SKrzysztof Kozlowski		enable-active-high;
1246b0fd355SKrzysztof Kozlowski	};
1256b0fd355SKrzysztof Kozlowski
126a28106a2SBjorn Andersson	backlight: backlight {
127a28106a2SBjorn Andersson		compatible = "pwm-backlight";
128a28106a2SBjorn Andersson		pwms = <&sn65dsi86 1000000>;
129a28106a2SBjorn Andersson		enable-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>;
130a28106a2SBjorn Andersson	};
13144acee20SBjorn Andersson};
13244acee20SBjorn Andersson
1333cd82e95SBjorn Andersson&adsp_pas {
13440103eabSSteev Klimaszewski	firmware-name = "qcom/sdm850/LENOVO/81JL/qcadsp850.mbn";
1353cd82e95SBjorn Andersson	status = "okay";
1363cd82e95SBjorn Andersson};
1373cd82e95SBjorn Andersson
13844acee20SBjorn Andersson&apps_rsc {
13986dd19bbSKrzysztof Kozlowski	regulators-0 {
14044acee20SBjorn Andersson		compatible = "qcom,pm8998-rpmh-regulators";
14144acee20SBjorn Andersson		qcom,pmic-id = "a";
14244acee20SBjorn Andersson
14344acee20SBjorn Andersson		vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
14444acee20SBjorn Andersson		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
14544acee20SBjorn Andersson
14644acee20SBjorn Andersson		vreg_s2a_1p125: smps2 {
14744acee20SBjorn Andersson		};
14844acee20SBjorn Andersson
14944acee20SBjorn Andersson		vreg_s3a_1p35: smps3 {
15044acee20SBjorn Andersson			regulator-min-microvolt = <1352000>;
15144acee20SBjorn Andersson			regulator-max-microvolt = <1352000>;
15244acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
15344acee20SBjorn Andersson		};
15444acee20SBjorn Andersson
15544acee20SBjorn Andersson		vreg_s4a_1p8: smps4 {
15644acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
15744acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
15844acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
15944acee20SBjorn Andersson		};
16044acee20SBjorn Andersson
16144acee20SBjorn Andersson		vreg_s5a_2p04: smps5 {
16244acee20SBjorn Andersson			regulator-min-microvolt = <2040000>;
16344acee20SBjorn Andersson			regulator-max-microvolt = <2040000>;
16444acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
16544acee20SBjorn Andersson		};
16644acee20SBjorn Andersson
16744acee20SBjorn Andersson		vreg_s7a_1p025: smps7 {
16844acee20SBjorn Andersson		};
16944acee20SBjorn Andersson
17044acee20SBjorn Andersson		vdd_qusb_hs0:
17144acee20SBjorn Andersson		vdda_hp_pcie_core:
17244acee20SBjorn Andersson		vdda_mipi_csi0_0p9:
17344acee20SBjorn Andersson		vdda_mipi_csi1_0p9:
17444acee20SBjorn Andersson		vdda_mipi_csi2_0p9:
17544acee20SBjorn Andersson		vdda_mipi_dsi0_pll:
17644acee20SBjorn Andersson		vdda_mipi_dsi1_pll:
17744acee20SBjorn Andersson		vdda_qlink_lv:
17844acee20SBjorn Andersson		vdda_qlink_lv_ck:
17944acee20SBjorn Andersson		vdda_qrefs_0p875:
18044acee20SBjorn Andersson		vdda_pcie_core:
18144acee20SBjorn Andersson		vdda_pll_cc_ebi01:
18244acee20SBjorn Andersson		vdda_pll_cc_ebi23:
18344acee20SBjorn Andersson		vdda_sp_sensor:
18444acee20SBjorn Andersson		vdda_ufs1_core:
18544acee20SBjorn Andersson		vdda_ufs2_core:
18644acee20SBjorn Andersson		vdda_usb1_ss_core:
18744acee20SBjorn Andersson		vdda_usb2_ss_core:
18844acee20SBjorn Andersson		vreg_l1a_0p875: ldo1 {
18944acee20SBjorn Andersson			regulator-min-microvolt = <880000>;
19044acee20SBjorn Andersson			regulator-max-microvolt = <880000>;
19144acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
19244acee20SBjorn Andersson		};
19344acee20SBjorn Andersson
19444acee20SBjorn Andersson		vddpx_10:
19544acee20SBjorn Andersson		vreg_l2a_1p2: ldo2 {
19644acee20SBjorn Andersson			regulator-min-microvolt = <1200000>;
19744acee20SBjorn Andersson			regulator-max-microvolt = <1200000>;
19844acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
19944acee20SBjorn Andersson			regulator-always-on;
20044acee20SBjorn Andersson		};
20144acee20SBjorn Andersson
20244acee20SBjorn Andersson		vreg_l3a_1p0: ldo3 {
20344acee20SBjorn Andersson		};
20444acee20SBjorn Andersson
20544acee20SBjorn Andersson		vdd_wcss_cx:
20644acee20SBjorn Andersson		vdd_wcss_mx:
20744acee20SBjorn Andersson		vdda_wcss_pll:
20844acee20SBjorn Andersson		vreg_l5a_0p8: ldo5 {
20944acee20SBjorn Andersson			regulator-min-microvolt = <800000>;
21044acee20SBjorn Andersson			regulator-max-microvolt = <800000>;
21144acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
21244acee20SBjorn Andersson		};
21344acee20SBjorn Andersson
21444acee20SBjorn Andersson		vddpx_13:
21544acee20SBjorn Andersson		vreg_l6a_1p8: ldo6 {
21644acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
21744acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
21844acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
21944acee20SBjorn Andersson		};
22044acee20SBjorn Andersson
22144acee20SBjorn Andersson		vreg_l7a_1p8: ldo7 {
22244acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
22344acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
22444acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
22544acee20SBjorn Andersson		};
22644acee20SBjorn Andersson
22744acee20SBjorn Andersson		vreg_l8a_1p2: ldo8 {
22844acee20SBjorn Andersson		};
22944acee20SBjorn Andersson
23044acee20SBjorn Andersson		vreg_l9a_1p8: ldo9 {
23144acee20SBjorn Andersson		};
23244acee20SBjorn Andersson
23344acee20SBjorn Andersson		vreg_l10a_1p8: ldo10 {
23444acee20SBjorn Andersson		};
23544acee20SBjorn Andersson
23644acee20SBjorn Andersson		vreg_l11a_1p0: ldo11 {
23744acee20SBjorn Andersson		};
23844acee20SBjorn Andersson
23944acee20SBjorn Andersson		vdd_qfprom:
24044acee20SBjorn Andersson		vdd_qfprom_sp:
24144acee20SBjorn Andersson		vdda_apc1_cs_1p8:
24244acee20SBjorn Andersson		vdda_gfx_cs_1p8:
24344acee20SBjorn Andersson		vdda_qrefs_1p8:
24444acee20SBjorn Andersson		vdda_qusb_hs0_1p8:
24544acee20SBjorn Andersson		vddpx_11:
24644acee20SBjorn Andersson		vreg_l12a_1p8: ldo12 {
24744acee20SBjorn Andersson			regulator-min-microvolt = <1800000>;
24844acee20SBjorn Andersson			regulator-max-microvolt = <1800000>;
24944acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
25044acee20SBjorn Andersson		};
25144acee20SBjorn Andersson
25244acee20SBjorn Andersson		vddpx_2:
25344acee20SBjorn Andersson		vreg_l13a_2p95: ldo13 {
25444acee20SBjorn Andersson		};
25544acee20SBjorn Andersson
25644acee20SBjorn Andersson		vreg_l14a_1p88: ldo14 {
25744acee20SBjorn Andersson			regulator-min-microvolt = <1880000>;
25844acee20SBjorn Andersson			regulator-max-microvolt = <1880000>;
25944acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
26044acee20SBjorn Andersson			regulator-always-on;
26144acee20SBjorn Andersson		};
26244acee20SBjorn Andersson
26344acee20SBjorn Andersson		vreg_l15a_1p8: ldo15 {
26444acee20SBjorn Andersson		};
26544acee20SBjorn Andersson
26644acee20SBjorn Andersson		vreg_l16a_2p7: ldo16 {
26744acee20SBjorn Andersson		};
26844acee20SBjorn Andersson
26944acee20SBjorn Andersson		vreg_l17a_1p3: ldo17 {
27044acee20SBjorn Andersson			regulator-min-microvolt = <1304000>;
27144acee20SBjorn Andersson			regulator-max-microvolt = <1304000>;
27244acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
27344acee20SBjorn Andersson		};
27444acee20SBjorn Andersson
27544acee20SBjorn Andersson		vreg_l18a_2p7: ldo18 {
27644acee20SBjorn Andersson		};
27744acee20SBjorn Andersson
27844acee20SBjorn Andersson		vreg_l19a_3p0: ldo19 {
27944acee20SBjorn Andersson			regulator-min-microvolt = <3100000>;
28044acee20SBjorn Andersson			regulator-max-microvolt = <3108000>;
28144acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
28244acee20SBjorn Andersson		};
28344acee20SBjorn Andersson
28444acee20SBjorn Andersson		vreg_l20a_2p95: ldo20 {
28544acee20SBjorn Andersson			regulator-min-microvolt = <2960000>;
28644acee20SBjorn Andersson			regulator-max-microvolt = <2960000>;
28744acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
28844acee20SBjorn Andersson		};
28944acee20SBjorn Andersson
29044acee20SBjorn Andersson		vreg_l21a_2p95: ldo21 {
29144acee20SBjorn Andersson		};
29244acee20SBjorn Andersson
29344acee20SBjorn Andersson		vreg_l22a_2p85: ldo22 {
29444acee20SBjorn Andersson		};
29544acee20SBjorn Andersson
29644acee20SBjorn Andersson		vreg_l23a_3p3: ldo23 {
297b464f08cSSteev Klimaszewski			regulator-min-microvolt = <3300000>;
298b464f08cSSteev Klimaszewski			regulator-max-microvolt = <3312000>;
299b464f08cSSteev Klimaszewski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
30044acee20SBjorn Andersson		};
30144acee20SBjorn Andersson
30244acee20SBjorn Andersson		vdda_qusb_hs0_3p1:
30344acee20SBjorn Andersson		vreg_l24a_3p075: ldo24 {
30444acee20SBjorn Andersson			regulator-min-microvolt = <3075000>;
30544acee20SBjorn Andersson			regulator-max-microvolt = <3083000>;
30644acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
30744acee20SBjorn Andersson		};
30844acee20SBjorn Andersson
30944acee20SBjorn Andersson		vreg_l25a_3p3: ldo25 {
31044acee20SBjorn Andersson			regulator-min-microvolt = <3104000>;
31144acee20SBjorn Andersson			regulator-max-microvolt = <3112000>;
31244acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
31344acee20SBjorn Andersson		};
31444acee20SBjorn Andersson
31544acee20SBjorn Andersson		vdda_hp_pcie_1p2:
31644acee20SBjorn Andersson		vdda_hv_ebi0:
31744acee20SBjorn Andersson		vdda_hv_ebi1:
31844acee20SBjorn Andersson		vdda_hv_ebi2:
31944acee20SBjorn Andersson		vdda_hv_ebi3:
32044acee20SBjorn Andersson		vdda_mipi_csi_1p25:
32144acee20SBjorn Andersson		vdda_mipi_dsi0_1p2:
32244acee20SBjorn Andersson		vdda_mipi_dsi1_1p2:
32344acee20SBjorn Andersson		vdda_pcie_1p2:
32444acee20SBjorn Andersson		vdda_ufs1_1p2:
32544acee20SBjorn Andersson		vdda_ufs2_1p2:
32644acee20SBjorn Andersson		vdda_usb1_ss_1p2:
32744acee20SBjorn Andersson		vdda_usb2_ss_1p2:
32844acee20SBjorn Andersson		vreg_l26a_1p2: ldo26 {
32944acee20SBjorn Andersson			regulator-min-microvolt = <1200000>;
33044acee20SBjorn Andersson			regulator-max-microvolt = <1208000>;
33144acee20SBjorn Andersson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
33244acee20SBjorn Andersson		};
33344acee20SBjorn Andersson
33444acee20SBjorn Andersson		vreg_l28a_3p0: ldo28 {
33544acee20SBjorn Andersson		};
33644acee20SBjorn Andersson
33744acee20SBjorn Andersson		vreg_lvs1a_1p8: lvs1 {
33844acee20SBjorn Andersson		};
33944acee20SBjorn Andersson
34044acee20SBjorn Andersson		vreg_lvs2a_1p8: lvs2 {
34144acee20SBjorn Andersson		};
34244acee20SBjorn Andersson	};
34344acee20SBjorn Andersson};
34444acee20SBjorn Andersson
3453cd82e95SBjorn Andersson&cdsp_pas {
34640103eabSSteev Klimaszewski	firmware-name = "qcom/sdm850/LENOVO/81JL/qccdsp850.mbn";
3473cd82e95SBjorn Andersson	status = "okay";
3483cd82e95SBjorn Andersson};
3493cd82e95SBjorn Andersson
35044acee20SBjorn Andersson&gcc {
35144acee20SBjorn Andersson	protected-clocks = <GCC_QSPI_CORE_CLK>,
35244acee20SBjorn Andersson			   <GCC_QSPI_CORE_CLK_SRC>,
35393f2a115SBjorn Andersson			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
35493f2a115SBjorn Andersson			   <GCC_LPASS_Q6_AXI_CLK>,
35593f2a115SBjorn Andersson			   <GCC_LPASS_SWAY_CLK>;
35644acee20SBjorn Andersson};
35744acee20SBjorn Andersson
3587f761609SKonrad Dybcio&gmu {
3597f761609SKonrad Dybcio	status = "okay";
3607f761609SKonrad Dybcio};
3617f761609SKonrad Dybcio
362f489b13dSRob Clark&gpu {
3637f761609SKonrad Dybcio	status = "okay";
364f489b13dSRob Clark	zap-shader {
365f489b13dSRob Clark		memory-region = <&gpu_mem>;
36640103eabSSteev Klimaszewski		firmware-name = "qcom/sdm850/LENOVO/81JL/qcdxkmsuc850.mbn";
367f489b13dSRob Clark	};
368f489b13dSRob Clark};
369f489b13dSRob Clark
37044acee20SBjorn Andersson&i2c1 {
37144acee20SBjorn Andersson	status = "okay";
37244acee20SBjorn Andersson	clock-frequency = <400000>;
373*060a1ebdSBjorn Andersson
374*060a1ebdSBjorn Andersson	embedded-controller@70 {
375*060a1ebdSBjorn Andersson		compatible = "lenovo,yoga-c630-ec";
376*060a1ebdSBjorn Andersson		reg = <0x70>;
377*060a1ebdSBjorn Andersson
378*060a1ebdSBjorn Andersson		interrupts-extended = <&tlmm 20 IRQ_TYPE_LEVEL_HIGH>;
379*060a1ebdSBjorn Andersson
380*060a1ebdSBjorn Andersson		pinctrl-names = "default";
381*060a1ebdSBjorn Andersson		pinctrl-0 = <&ec_int_state>;
382*060a1ebdSBjorn Andersson
383*060a1ebdSBjorn Andersson		#address-cells = <1>;
384*060a1ebdSBjorn Andersson		#size-cells = <0>;
385*060a1ebdSBjorn Andersson
386*060a1ebdSBjorn Andersson		connector@0 {
387*060a1ebdSBjorn Andersson			compatible = "usb-c-connector";
388*060a1ebdSBjorn Andersson			reg = <0>;
389*060a1ebdSBjorn Andersson			power-role = "dual";
390*060a1ebdSBjorn Andersson			data-role = "host";
391*060a1ebdSBjorn Andersson
392*060a1ebdSBjorn Andersson			ports {
393*060a1ebdSBjorn Andersson				#address-cells = <1>;
394*060a1ebdSBjorn Andersson				#size-cells = <0>;
395*060a1ebdSBjorn Andersson
396*060a1ebdSBjorn Andersson				port@0 {
397*060a1ebdSBjorn Andersson					reg = <0>;
398*060a1ebdSBjorn Andersson
399*060a1ebdSBjorn Andersson					ucsi0_hs_in: endpoint {
400*060a1ebdSBjorn Andersson						remote-endpoint = <&usb_1_dwc3_hs>;
401*060a1ebdSBjorn Andersson					};
402*060a1ebdSBjorn Andersson				};
403*060a1ebdSBjorn Andersson
404*060a1ebdSBjorn Andersson				port@1 {
405*060a1ebdSBjorn Andersson					reg = <1>;
406*060a1ebdSBjorn Andersson
407*060a1ebdSBjorn Andersson					ucsi0_ss_in: endpoint {
408*060a1ebdSBjorn Andersson						remote-endpoint = <&usb_1_qmpphy_out>;
409*060a1ebdSBjorn Andersson					};
410*060a1ebdSBjorn Andersson				};
411*060a1ebdSBjorn Andersson
412*060a1ebdSBjorn Andersson				port@2 {
413*060a1ebdSBjorn Andersson					reg = <2>;
414*060a1ebdSBjorn Andersson
415*060a1ebdSBjorn Andersson					ucsi0_sbu: endpoint {
416*060a1ebdSBjorn Andersson					};
417*060a1ebdSBjorn Andersson				};
418*060a1ebdSBjorn Andersson			};
419*060a1ebdSBjorn Andersson		};
420*060a1ebdSBjorn Andersson
421*060a1ebdSBjorn Andersson		connector@1 {
422*060a1ebdSBjorn Andersson			compatible = "usb-c-connector";
423*060a1ebdSBjorn Andersson			reg = <1>;
424*060a1ebdSBjorn Andersson			power-role = "dual";
425*060a1ebdSBjorn Andersson			data-role = "host";
426*060a1ebdSBjorn Andersson
427*060a1ebdSBjorn Andersson			/*
428*060a1ebdSBjorn Andersson			 * connected to the onboard USB hub, orientation is
429*060a1ebdSBjorn Andersson			 * handled by the controller
430*060a1ebdSBjorn Andersson			 */
431*060a1ebdSBjorn Andersson		};
432*060a1ebdSBjorn Andersson	};
43344acee20SBjorn Andersson};
43444acee20SBjorn Andersson
43544acee20SBjorn Andersson&i2c3 {
43644acee20SBjorn Andersson	status = "okay";
43744acee20SBjorn Andersson	clock-frequency = <400000>;
438a9164910SShawn Guo	/* Overwrite pinctrl-0 from sdm845.dtsi */
439a9164910SShawn Guo	pinctrl-0 = <&qup_i2c3_default &i2c3_hid_active>;
44044acee20SBjorn Andersson
44111d0e4f2SBjorn Andersson	tsel: hid@15 {
44244acee20SBjorn Andersson		compatible = "hid-over-i2c";
44344acee20SBjorn Andersson		reg = <0x15>;
44444acee20SBjorn Andersson		hid-descr-addr = <0x1>;
44544acee20SBjorn Andersson
44611d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
44744acee20SBjorn Andersson	};
44844acee20SBjorn Andersson
44911d0e4f2SBjorn Andersson	tsc2: hid@2c {
45044acee20SBjorn Andersson		compatible = "hid-over-i2c";
45144acee20SBjorn Andersson		reg = <0x2c>;
45244acee20SBjorn Andersson		hid-descr-addr = <0x20>;
45344acee20SBjorn Andersson
45411d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
455fdcc36cdSSteev Klimaszewski
456fdcc36cdSSteev Klimaszewski		wakeup-source;
45744acee20SBjorn Andersson	};
45844acee20SBjorn Andersson};
45944acee20SBjorn Andersson
46044acee20SBjorn Andersson&i2c5 {
46144acee20SBjorn Andersson	status = "okay";
46244acee20SBjorn Andersson	clock-frequency = <400000>;
46344acee20SBjorn Andersson
46411d0e4f2SBjorn Andersson	tsc1: hid@10 {
46544acee20SBjorn Andersson		compatible = "hid-over-i2c";
46644acee20SBjorn Andersson		reg = <0x10>;
46744acee20SBjorn Andersson		hid-descr-addr = <0x1>;
46844acee20SBjorn Andersson
46911d0e4f2SBjorn Andersson		interrupts-extended = <&tlmm 125 IRQ_TYPE_LEVEL_LOW>;
47044acee20SBjorn Andersson
47144acee20SBjorn Andersson		pinctrl-names = "default";
47211d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c5_hid_active>;
473fdcc36cdSSteev Klimaszewski
474fdcc36cdSSteev Klimaszewski		wakeup-source;
47544acee20SBjorn Andersson	};
47644acee20SBjorn Andersson};
47744acee20SBjorn Andersson
478956e9c85SBjorn Andersson&i2c10 {
479956e9c85SBjorn Andersson	status = "okay";
480956e9c85SBjorn Andersson	clock-frequency = <400000>;
481956e9c85SBjorn Andersson
482956e9c85SBjorn Andersson	sn65dsi86: bridge@2c {
483956e9c85SBjorn Andersson		compatible = "ti,sn65dsi86";
484956e9c85SBjorn Andersson		reg = <0x2c>;
485956e9c85SBjorn Andersson		pinctrl-names = "default";
486956e9c85SBjorn Andersson		pinctrl-0 = <&sn65dsi86_pin_active>;
487956e9c85SBjorn Andersson
488956e9c85SBjorn Andersson		enable-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
489956e9c85SBjorn Andersson
4902bc06b76SCaleb Connolly		vcca-supply = <&sw_edp_1p2>;
4912bc06b76SCaleb Connolly		vcc-supply = <&sw_edp_1p2>;
492956e9c85SBjorn Andersson		vpll-supply = <&vreg_l14a_1p88>;
493956e9c85SBjorn Andersson		vccio-supply = <&vreg_l14a_1p88>;
494956e9c85SBjorn Andersson
495956e9c85SBjorn Andersson		clocks = <&sn65dsi86_refclk>;
496956e9c85SBjorn Andersson		clock-names = "refclk";
497956e9c85SBjorn Andersson
498c0dcfe6aSStephen Boyd		no-hpd;
499a28106a2SBjorn Andersson		#pwm-cells = <1>;
500c0dcfe6aSStephen Boyd
501956e9c85SBjorn Andersson		ports {
502956e9c85SBjorn Andersson			#address-cells = <1>;
503956e9c85SBjorn Andersson			#size-cells = <0>;
504956e9c85SBjorn Andersson
505956e9c85SBjorn Andersson			port@0 {
506956e9c85SBjorn Andersson				reg = <0>;
507956e9c85SBjorn Andersson				sn65dsi86_in_a: endpoint {
508e47a7f57SDmitry Baryshkov					remote-endpoint = <&mdss_dsi0_out>;
509956e9c85SBjorn Andersson				};
510956e9c85SBjorn Andersson			};
511956e9c85SBjorn Andersson
512956e9c85SBjorn Andersson			port@1 {
513956e9c85SBjorn Andersson				reg = <1>;
514956e9c85SBjorn Andersson				sn65dsi86_out: endpoint {
515956e9c85SBjorn Andersson					remote-endpoint = <&panel_in_edp>;
516956e9c85SBjorn Andersson				};
517956e9c85SBjorn Andersson			};
518956e9c85SBjorn Andersson		};
519ff899133SBjorn Andersson
520ff899133SBjorn Andersson		aux-bus {
521ff899133SBjorn Andersson			panel: panel {
522ff899133SBjorn Andersson				compatible = "boe,nv133fhm-n61";
523ff899133SBjorn Andersson				backlight = <&backlight>;
5246b0fd355SKrzysztof Kozlowski				power-supply = <&vlcm_3v3>;
525ff899133SBjorn Andersson
526ff899133SBjorn Andersson				port {
527ff899133SBjorn Andersson					panel_in_edp: endpoint {
528ff899133SBjorn Andersson						remote-endpoint = <&sn65dsi86_out>;
529ff899133SBjorn Andersson					};
530ff899133SBjorn Andersson				};
531ff899133SBjorn Andersson			};
532ff899133SBjorn Andersson		};
533956e9c85SBjorn Andersson	};
534956e9c85SBjorn Andersson};
535956e9c85SBjorn Andersson
53644acee20SBjorn Andersson&i2c11 {
53744acee20SBjorn Andersson	status = "okay";
53844acee20SBjorn Andersson	clock-frequency = <400000>;
53944acee20SBjorn Andersson
54011d0e4f2SBjorn Andersson	ecsh: hid@5c {
54144acee20SBjorn Andersson		compatible = "hid-over-i2c";
54244acee20SBjorn Andersson		reg = <0x5c>;
54344acee20SBjorn Andersson		hid-descr-addr = <0x1>;
54444acee20SBjorn Andersson
54544acee20SBjorn Andersson		interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>;
54644acee20SBjorn Andersson
54744acee20SBjorn Andersson		pinctrl-names = "default";
54811d0e4f2SBjorn Andersson		pinctrl-0 = <&i2c11_hid_active>;
549fdcc36cdSSteev Klimaszewski
550fdcc36cdSSteev Klimaszewski		wakeup-source;
55144acee20SBjorn Andersson	};
55244acee20SBjorn Andersson};
55344acee20SBjorn Andersson
5542e01e0c2SBjorn Andersson&ipa {
555a9a9e857SAlex Elder	qcom,gsi-loader = "self";
5562e01e0c2SBjorn Andersson	memory-region = <&ipa_fw_mem>;
557cae4c862SDmitry Baryshkov	firmware-name = "qcom/sdm850/LENOVO/81JL/ipa_fws.elf";
558a9a9e857SAlex Elder	status = "okay";
5592e01e0c2SBjorn Andersson};
5602e01e0c2SBjorn Andersson
561956e9c85SBjorn Andersson&mdss {
562956e9c85SBjorn Andersson	status = "okay";
563956e9c85SBjorn Andersson};
564956e9c85SBjorn Andersson
565e47a7f57SDmitry Baryshkov&mdss_dsi0 {
566e47a7f57SDmitry Baryshkov	status = "okay";
567e47a7f57SDmitry Baryshkov	vdda-supply = <&vreg_l26a_1p2>;
568e47a7f57SDmitry Baryshkov
569e47a7f57SDmitry Baryshkov	ports {
570e47a7f57SDmitry Baryshkov		port@1 {
571e47a7f57SDmitry Baryshkov			endpoint {
572e47a7f57SDmitry Baryshkov				remote-endpoint = <&sn65dsi86_in_a>;
573e47a7f57SDmitry Baryshkov				data-lanes = <0 1 2 3>;
574e47a7f57SDmitry Baryshkov			};
575e47a7f57SDmitry Baryshkov		};
576e47a7f57SDmitry Baryshkov	};
577e47a7f57SDmitry Baryshkov};
578e47a7f57SDmitry Baryshkov
579e47a7f57SDmitry Baryshkov&mdss_dsi0_phy {
580e47a7f57SDmitry Baryshkov	status = "okay";
581e47a7f57SDmitry Baryshkov	vdds-supply = <&vreg_l1a_0p875>;
582e47a7f57SDmitry Baryshkov};
583e47a7f57SDmitry Baryshkov
5843cd82e95SBjorn Andersson&mss_pil {
5857f761609SKonrad Dybcio	status = "okay";
58640103eabSSteev Klimaszewski	firmware-name = "qcom/sdm850/LENOVO/81JL/qcdsp1v2850.mbn", "qcom/sdm850/LENOVO/81JL/qcdsp2850.mbn";
5873cd82e95SBjorn Andersson};
5883cd82e95SBjorn Andersson
5892bc06b76SCaleb Connolly&pm8998_gpios {
5902bc06b76SCaleb Connolly	/* This pin is pulled down by a fixed resistor */
5912bc06b76SCaleb Connolly	sw_edp_1p2_en: pm8998-gpio9-state {
5922bc06b76SCaleb Connolly		pins = "gpio9";
5932bc06b76SCaleb Connolly		function = "normal";
5942bc06b76SCaleb Connolly		bias-disable;
5952bc06b76SCaleb Connolly		qcom,drive-strength = <0>;
5962bc06b76SCaleb Connolly	};
5972bc06b76SCaleb Connolly};
5982bc06b76SCaleb Connolly
599956e9c85SBjorn Andersson&qup_i2c10_default {
600956e9c85SBjorn Andersson	drive-strength = <2>;
601956e9c85SBjorn Andersson	bias-disable;
602956e9c85SBjorn Andersson};
603956e9c85SBjorn Andersson
60444acee20SBjorn Andersson&qup_i2c12_default {
60544acee20SBjorn Andersson	drive-strength = <2>;
60644acee20SBjorn Andersson	bias-disable;
60744acee20SBjorn Andersson};
60844acee20SBjorn Andersson
60944acee20SBjorn Andersson&qupv3_id_0 {
61044acee20SBjorn Andersson	status = "okay";
61144acee20SBjorn Andersson};
61244acee20SBjorn Andersson
61344acee20SBjorn Andersson&qupv3_id_1 {
61444acee20SBjorn Andersson	status = "okay";
61544acee20SBjorn Andersson};
61644acee20SBjorn Andersson
61745021d35SSrinivas Kandagatla&q6asmdai {
61845021d35SSrinivas Kandagatla	dai@0 {
61945021d35SSrinivas Kandagatla		reg = <0>;
62045021d35SSrinivas Kandagatla	};
62145021d35SSrinivas Kandagatla
62245021d35SSrinivas Kandagatla	dai@1 {
62345021d35SSrinivas Kandagatla		reg = <1>;
62445021d35SSrinivas Kandagatla	};
625c02b360cSSrinivas Kandagatla
626c02b360cSSrinivas Kandagatla	dai@2 {
627c02b360cSSrinivas Kandagatla		reg = <2>;
628c02b360cSSrinivas Kandagatla	};
62945021d35SSrinivas Kandagatla};
63045021d35SSrinivas Kandagatla
63145021d35SSrinivas Kandagatla&sound {
632099f035dSKrzysztof Kozlowski	compatible = "lenovo,yoga-c630-sndcard", "qcom,sdm845-sndcard";
63345021d35SSrinivas Kandagatla	model = "Lenovo-YOGA-C630-13Q50";
63445021d35SSrinivas Kandagatla
63545021d35SSrinivas Kandagatla	audio-routing =
63645021d35SSrinivas Kandagatla		"RX_BIAS", "MCLK",
63745021d35SSrinivas Kandagatla		"AMIC2", "MIC BIAS2",
63845021d35SSrinivas Kandagatla		"SpkrLeft IN", "SPK1 OUT",
63945021d35SSrinivas Kandagatla		"SpkrRight IN", "SPK2 OUT",
64045021d35SSrinivas Kandagatla		"MM_DL1",  "MultiMedia1 Playback",
641c02b360cSSrinivas Kandagatla		"MM_DL3",  "MultiMedia3 Playback",
64245021d35SSrinivas Kandagatla		"MultiMedia2 Capture", "MM_UL2";
64345021d35SSrinivas Kandagatla
64445021d35SSrinivas Kandagatla	mm1-dai-link {
64545021d35SSrinivas Kandagatla		link-name = "MultiMedia1";
64645021d35SSrinivas Kandagatla		cpu {
64745021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
64845021d35SSrinivas Kandagatla		};
64945021d35SSrinivas Kandagatla	};
65045021d35SSrinivas Kandagatla
65145021d35SSrinivas Kandagatla	mm2-dai-link {
65245021d35SSrinivas Kandagatla		link-name = "MultiMedia2";
65345021d35SSrinivas Kandagatla		cpu {
65445021d35SSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
65545021d35SSrinivas Kandagatla		};
65645021d35SSrinivas Kandagatla	};
65745021d35SSrinivas Kandagatla
658c02b360cSSrinivas Kandagatla	mm3-dai-link {
659c02b360cSSrinivas Kandagatla		link-name = "MultiMedia3";
660c02b360cSSrinivas Kandagatla		cpu {
661c02b360cSSrinivas Kandagatla			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
662c02b360cSSrinivas Kandagatla		};
663c02b360cSSrinivas Kandagatla	};
664c02b360cSSrinivas Kandagatla
66545021d35SSrinivas Kandagatla	slim-dai-link {
66645021d35SSrinivas Kandagatla		link-name = "SLIM Playback";
66745021d35SSrinivas Kandagatla		cpu {
66845021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_RX>;
66945021d35SSrinivas Kandagatla		};
67045021d35SSrinivas Kandagatla
67145021d35SSrinivas Kandagatla		platform {
67245021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
67345021d35SSrinivas Kandagatla		};
67445021d35SSrinivas Kandagatla
67545021d35SSrinivas Kandagatla		codec {
67645021d35SSrinivas Kandagatla			sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
67745021d35SSrinivas Kandagatla		};
67845021d35SSrinivas Kandagatla	};
67945021d35SSrinivas Kandagatla
68045021d35SSrinivas Kandagatla	slimcap-dai-link {
68145021d35SSrinivas Kandagatla		link-name = "SLIM Capture";
68245021d35SSrinivas Kandagatla		cpu {
68345021d35SSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_0_TX>;
68445021d35SSrinivas Kandagatla		};
68545021d35SSrinivas Kandagatla
68645021d35SSrinivas Kandagatla		platform {
68745021d35SSrinivas Kandagatla			sound-dai = <&q6routing>;
68845021d35SSrinivas Kandagatla		};
68945021d35SSrinivas Kandagatla
69045021d35SSrinivas Kandagatla		codec {
69145021d35SSrinivas Kandagatla			sound-dai = <&wcd9340 1>;
69245021d35SSrinivas Kandagatla		};
69345021d35SSrinivas Kandagatla	};
694c02b360cSSrinivas Kandagatla
695c02b360cSSrinivas Kandagatla	slim-wcd-dai-link {
696c02b360cSSrinivas Kandagatla		link-name = "SLIM WCD Playback";
697c02b360cSSrinivas Kandagatla		cpu {
698c02b360cSSrinivas Kandagatla			sound-dai = <&q6afedai SLIMBUS_1_RX>;
699c02b360cSSrinivas Kandagatla		};
700c02b360cSSrinivas Kandagatla
701c02b360cSSrinivas Kandagatla		platform {
702c02b360cSSrinivas Kandagatla			sound-dai = <&q6routing>;
703c02b360cSSrinivas Kandagatla		};
704c02b360cSSrinivas Kandagatla
705c02b360cSSrinivas Kandagatla		codec {
706c02b360cSSrinivas Kandagatla			sound-dai = <&wcd9340 2>;
707c02b360cSSrinivas Kandagatla		};
708c02b360cSSrinivas Kandagatla	};
70945021d35SSrinivas Kandagatla};
71045021d35SSrinivas Kandagatla
71144acee20SBjorn Andersson&tlmm {
71244acee20SBjorn Andersson	gpio-reserved-ranges = <0 4>, <81 4>;
71344acee20SBjorn Andersson
714d05e3428SKrzysztof Kozlowski	sn65dsi86_pin_active: sn65dsi86-enable-state {
715956e9c85SBjorn Andersson		pins = "gpio96";
716d05e3428SKrzysztof Kozlowski		function = "gpio";
717956e9c85SBjorn Andersson		drive-strength = <2>;
718956e9c85SBjorn Andersson		bias-disable;
719956e9c85SBjorn Andersson	};
720956e9c85SBjorn Andersson
721d05e3428SKrzysztof Kozlowski	i2c3_hid_active: i2c2-hid-active-state {
722f55d373fSBjorn Andersson		pins = "gpio37";
72344acee20SBjorn Andersson		function = "gpio";
72444acee20SBjorn Andersson
72544acee20SBjorn Andersson		bias-pull-up;
72644acee20SBjorn Andersson		drive-strength = <2>;
72744acee20SBjorn Andersson	};
72844acee20SBjorn Andersson
729d05e3428SKrzysztof Kozlowski	i2c5_hid_active: i2c5-hid-active-state {
730f55d373fSBjorn Andersson		pins = "gpio125";
73144acee20SBjorn Andersson		function = "gpio";
73244acee20SBjorn Andersson
73344acee20SBjorn Andersson		bias-pull-up;
73444acee20SBjorn Andersson		drive-strength = <2>;
73544acee20SBjorn Andersson	};
73644acee20SBjorn Andersson
737d05e3428SKrzysztof Kozlowski	i2c11_hid_active: i2c11-hid-active-state {
738f55d373fSBjorn Andersson		pins = "gpio92";
73944acee20SBjorn Andersson		function = "gpio";
74044acee20SBjorn Andersson
74144acee20SBjorn Andersson		bias-pull-up;
74244acee20SBjorn Andersson		drive-strength = <2>;
74344acee20SBjorn Andersson	};
74445021d35SSrinivas Kandagatla
745d05e3428SKrzysztof Kozlowski	lid_pin_active: lid-pin-state {
74671b83b74SBjorn Andersson		pins = "gpio124";
74771b83b74SBjorn Andersson		function = "gpio";
74871b83b74SBjorn Andersson
74971b83b74SBjorn Andersson		bias-disable;
75071b83b74SBjorn Andersson	};
75171b83b74SBjorn Andersson
752d05e3428SKrzysztof Kozlowski	mode_pin_active: mode-pin-state {
75371b83b74SBjorn Andersson		pins = "gpio95";
75471b83b74SBjorn Andersson		function = "gpio";
75571b83b74SBjorn Andersson
75671b83b74SBjorn Andersson		bias-disable;
75771b83b74SBjorn Andersson	};
758*060a1ebdSBjorn Andersson
759*060a1ebdSBjorn Andersson	ec_int_state: ec-int-state {
760*060a1ebdSBjorn Andersson		pins = "gpio20";
761*060a1ebdSBjorn Andersson		function = "gpio";
762*060a1ebdSBjorn Andersson
763*060a1ebdSBjorn Andersson		bias-disable;
764*060a1ebdSBjorn Andersson	};
76544acee20SBjorn Andersson};
76644acee20SBjorn Andersson
76744acee20SBjorn Andersson&uart6 {
768d05e3428SKrzysztof Kozlowski	pinctrl-names = "default";
769d05e3428SKrzysztof Kozlowski	pinctrl-0 = <&qup_uart6_4pin>;
77044acee20SBjorn Andersson	status = "okay";
77144acee20SBjorn Andersson
77244acee20SBjorn Andersson	bluetooth {
77344acee20SBjorn Andersson		compatible = "qcom,wcn3990-bt";
77444acee20SBjorn Andersson
77544acee20SBjorn Andersson		vddio-supply = <&vreg_s4a_1p8>;
77644acee20SBjorn Andersson		vddxo-supply = <&vreg_l7a_1p8>;
77744acee20SBjorn Andersson		vddrf-supply = <&vreg_l17a_1p3>;
77844acee20SBjorn Andersson		vddch0-supply = <&vreg_l25a_3p3>;
779b464f08cSSteev Klimaszewski		vddch1-supply = <&vreg_l23a_3p3>;
78044acee20SBjorn Andersson		max-speed = <3200000>;
78144acee20SBjorn Andersson	};
78244acee20SBjorn Andersson};
78344acee20SBjorn Andersson
784443042beSCaleb Connolly&uart9 {
785443042beSCaleb Connolly	status = "okay";
786443042beSCaleb Connolly};
787443042beSCaleb Connolly
78844acee20SBjorn Andersson&ufs_mem_hc {
78944acee20SBjorn Andersson	status = "okay";
79044acee20SBjorn Andersson
7912536bedeSBjorn Andersson	reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
7922536bedeSBjorn Andersson
79344acee20SBjorn Andersson	vcc-supply = <&vreg_l20a_2p95>;
79444acee20SBjorn Andersson	vcc-max-microamp = <600000>;
79544acee20SBjorn Andersson};
79644acee20SBjorn Andersson
79744acee20SBjorn Andersson&ufs_mem_phy {
79844acee20SBjorn Andersson	status = "okay";
79944acee20SBjorn Andersson
80044acee20SBjorn Andersson	vdda-phy-supply = <&vdda_ufs1_core>;
80144acee20SBjorn Andersson	vdda-pll-supply = <&vdda_ufs1_1p2>;
80244acee20SBjorn Andersson};
80344acee20SBjorn Andersson
80444acee20SBjorn Andersson&usb_1 {
80544acee20SBjorn Andersson	status = "okay";
80644acee20SBjorn Andersson};
80744acee20SBjorn Andersson
80844acee20SBjorn Andersson&usb_1_dwc3 {
80944acee20SBjorn Andersson	dr_mode = "host";
81044acee20SBjorn Andersson};
81144acee20SBjorn Andersson
812*060a1ebdSBjorn Andersson&usb_1_dwc3_hs {
813*060a1ebdSBjorn Andersson	remote-endpoint = <&ucsi0_hs_in>;
814*060a1ebdSBjorn Andersson};
815*060a1ebdSBjorn Andersson
81644acee20SBjorn Andersson&usb_1_hsphy {
81744acee20SBjorn Andersson	status = "okay";
81844acee20SBjorn Andersson
81944acee20SBjorn Andersson	vdd-supply = <&vdda_usb1_ss_core>;
82044acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
82144acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
82244acee20SBjorn Andersson
82344acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
82444acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
82544acee20SBjorn Andersson	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
82644acee20SBjorn Andersson	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
82744acee20SBjorn Andersson};
82844acee20SBjorn Andersson
82944acee20SBjorn Andersson&usb_1_qmpphy {
83044acee20SBjorn Andersson	status = "okay";
83144acee20SBjorn Andersson
83244acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb1_ss_1p2>;
83344acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb1_ss_core>;
83444acee20SBjorn Andersson};
83544acee20SBjorn Andersson
836*060a1ebdSBjorn Andersson&usb_1_qmpphy_out {
837*060a1ebdSBjorn Andersson	remote-endpoint = <&ucsi0_ss_in>;
838*060a1ebdSBjorn Andersson};
839*060a1ebdSBjorn Andersson
84044acee20SBjorn Andersson&usb_2 {
84144acee20SBjorn Andersson	status = "okay";
84244acee20SBjorn Andersson};
84344acee20SBjorn Andersson
84444acee20SBjorn Andersson&usb_2_dwc3 {
84544acee20SBjorn Andersson	dr_mode = "host";
84644acee20SBjorn Andersson};
84744acee20SBjorn Andersson
84844acee20SBjorn Andersson&usb_2_hsphy {
84944acee20SBjorn Andersson	status = "okay";
85044acee20SBjorn Andersson
85144acee20SBjorn Andersson	vdd-supply = <&vdda_usb2_ss_core>;
85244acee20SBjorn Andersson	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
85344acee20SBjorn Andersson	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
85444acee20SBjorn Andersson
85544acee20SBjorn Andersson	qcom,imp-res-offset-value = <8>;
85644acee20SBjorn Andersson	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
85744acee20SBjorn Andersson};
85844acee20SBjorn Andersson
85944acee20SBjorn Andersson&usb_2_qmpphy {
86044acee20SBjorn Andersson	status = "okay";
86144acee20SBjorn Andersson
86244acee20SBjorn Andersson	vdda-phy-supply = <&vdda_usb2_ss_1p2>;
86344acee20SBjorn Andersson	vdda-pll-supply = <&vdda_usb2_ss_core>;
86444acee20SBjorn Andersson};
86545021d35SSrinivas Kandagatla
8667f761609SKonrad Dybcio&venus {
86740103eabSSteev Klimaszewski	firmware-name = "qcom/sdm850/LENOVO/81JL/qcvss850.mbn";
8687f761609SKonrad Dybcio	status = "okay";
8697f761609SKonrad Dybcio};
8707f761609SKonrad Dybcio
87145021d35SSrinivas Kandagatla&wcd9340 {
87236c9d012SKrzysztof Kozlowski	reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
87345021d35SSrinivas Kandagatla	vdd-buck-supply = <&vreg_s4a_1p8>;
87445021d35SSrinivas Kandagatla	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
87545021d35SSrinivas Kandagatla	vdd-tx-supply = <&vreg_s4a_1p8>;
87645021d35SSrinivas Kandagatla	vdd-rx-supply = <&vreg_s4a_1p8>;
87745021d35SSrinivas Kandagatla	vdd-io-supply = <&vreg_s4a_1p8>;
878ef10e1b8SSrinivas Kandagatla	qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
879ef10e1b8SSrinivas Kandagatla	qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
880ef10e1b8SSrinivas Kandagatla	qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
88145021d35SSrinivas Kandagatla
88274eed6f4SKrzysztof Kozlowski	swm: soundwire@c85 {
883bd35f4b0SSrinivasa Rao Mandadapu		left_spkr: speaker@0,3 {
88445021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
88545021d35SSrinivas Kandagatla			reg = <0 3>;
886a246c20cSKrzysztof Kozlowski			powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_LOW>;
88745021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
88845021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrLeft";
88945021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
89045021d35SSrinivas Kandagatla		};
89145021d35SSrinivas Kandagatla
892bd35f4b0SSrinivasa Rao Mandadapu		right_spkr: speaker@0,4 {
89345021d35SSrinivas Kandagatla			compatible = "sdw10217211000";
894a246c20cSKrzysztof Kozlowski			powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_LOW>;
89545021d35SSrinivas Kandagatla			reg = <0 4>;
89645021d35SSrinivas Kandagatla			#thermal-sensor-cells = <0>;
89745021d35SSrinivas Kandagatla			sound-name-prefix = "SpkrRight";
89845021d35SSrinivas Kandagatla			#sound-dai-cells = <0>;
89945021d35SSrinivas Kandagatla		};
90045021d35SSrinivas Kandagatla	};
90145021d35SSrinivas Kandagatla};
9023fb298d0SBjorn Andersson
9033fb298d0SBjorn Andersson&wifi {
9043fb298d0SBjorn Andersson	status = "okay";
9053fb298d0SBjorn Andersson
9063fb298d0SBjorn Andersson	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
9073fb298d0SBjorn Andersson	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
9083fb298d0SBjorn Andersson	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
9093fb298d0SBjorn Andersson	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
910b464f08cSSteev Klimaszewski	vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;
9113fb298d0SBjorn Andersson
9123fb298d0SBjorn Andersson	qcom,snoc-host-cap-8bit-quirk;
913ceb39b05SDmitry Baryshkov	qcom,ath10k-calibration-variant = "Lenovo_C630";
9143fb298d0SBjorn Andersson};
915382e3e0eSSteev Klimaszewski
916382e3e0eSSteev Klimaszewski&crypto {
917382e3e0eSSteev Klimaszewski	/* FIXME: qce_start triggers an SError */
91855179c92SRob Herring	status = "disabled";
919382e3e0eSSteev Klimaszewski};
920