xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/sdm850-lenovo-yoga-c630.dts (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * Lenovo Yoga C630
4c66ec88fSEmmanuel Vadot *
5c66ec88fSEmmanuel Vadot * Copyright (c) 2019, Linaro Ltd.
6c66ec88fSEmmanuel Vadot */
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadot/dts-v1/;
9c66ec88fSEmmanuel Vadot
105def4c47SEmmanuel Vadot#include <dt-bindings/input/gpio-keys.h>
115def4c47SEmmanuel Vadot#include <dt-bindings/input/input.h>
12c66ec88fSEmmanuel Vadot#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
13c66ec88fSEmmanuel Vadot#include <dt-bindings/sound/qcom,q6afe.h>
14c66ec88fSEmmanuel Vadot#include <dt-bindings/sound/qcom,q6asm.h>
155def4c47SEmmanuel Vadot#include "sdm850.dtsi"
16cb7aa33aSEmmanuel Vadot#include "sdm845-wcd9340.dtsi"
17c66ec88fSEmmanuel Vadot#include "pm8998.dtsi"
18c66ec88fSEmmanuel Vadot
19354d7675SEmmanuel Vadot/*
20354d7675SEmmanuel Vadot * Update following upstream (sdm845.dtsi) reserved
21354d7675SEmmanuel Vadot * memory mappings for firmware loading to succeed
22354d7675SEmmanuel Vadot * and enable the IPA device.
23354d7675SEmmanuel Vadot */
24354d7675SEmmanuel Vadot/delete-node/ &ipa_fw_mem;
25354d7675SEmmanuel Vadot/delete-node/ &ipa_gsi_mem;
26354d7675SEmmanuel Vadot/delete-node/ &gpu_mem;
27354d7675SEmmanuel Vadot/delete-node/ &adsp_mem;
28354d7675SEmmanuel Vadot/delete-node/ &wlan_msa_mem;
29354d7675SEmmanuel Vadot
30c66ec88fSEmmanuel Vadot/ {
31c66ec88fSEmmanuel Vadot	model = "Lenovo Yoga C630";
32c66ec88fSEmmanuel Vadot	compatible = "lenovo,yoga-c630", "qcom,sdm845";
338cc087a1SEmmanuel Vadot	chassis-type = "convertible";
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot	aliases {
36aa1a8ff2SEmmanuel Vadot		serial0 = &uart9;
37aa1a8ff2SEmmanuel Vadot		serial1 = &uart6;
38c66ec88fSEmmanuel Vadot	};
395def4c47SEmmanuel Vadot
405def4c47SEmmanuel Vadot	gpio-keys {
415def4c47SEmmanuel Vadot		compatible = "gpio-keys";
425def4c47SEmmanuel Vadot
435def4c47SEmmanuel Vadot		pinctrl-names = "default";
445def4c47SEmmanuel Vadot		pinctrl-0 = <&lid_pin_active>, <&mode_pin_active>;
455def4c47SEmmanuel Vadot
46b97ee269SEmmanuel Vadot		switch-lid {
475def4c47SEmmanuel Vadot			gpios = <&tlmm 124 GPIO_ACTIVE_HIGH>;
485def4c47SEmmanuel Vadot			linux,input-type = <EV_SW>;
495def4c47SEmmanuel Vadot			linux,code = <SW_LID>;
505def4c47SEmmanuel Vadot			wakeup-source;
515def4c47SEmmanuel Vadot			wakeup-event-action = <EV_ACT_DEASSERTED>;
525def4c47SEmmanuel Vadot		};
535def4c47SEmmanuel Vadot
54b97ee269SEmmanuel Vadot		switch-mode {
555def4c47SEmmanuel Vadot			gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
565def4c47SEmmanuel Vadot			linux,input-type = <EV_SW>;
575def4c47SEmmanuel Vadot			linux,code = <SW_TABLET_MODE>;
585def4c47SEmmanuel Vadot		};
595def4c47SEmmanuel Vadot	};
605def4c47SEmmanuel Vadot
61354d7675SEmmanuel Vadot	/* Reserved memory changes for IPA */
62354d7675SEmmanuel Vadot	reserved-memory {
63354d7675SEmmanuel Vadot		wlan_msa_mem: memory@8c400000 {
64354d7675SEmmanuel Vadot			reg = <0 0x8c400000 0 0x100000>;
65354d7675SEmmanuel Vadot			no-map;
66354d7675SEmmanuel Vadot		};
67354d7675SEmmanuel Vadot
68354d7675SEmmanuel Vadot		gpu_mem: memory@8c515000 {
69354d7675SEmmanuel Vadot			reg = <0 0x8c515000 0 0x2000>;
70354d7675SEmmanuel Vadot			no-map;
71354d7675SEmmanuel Vadot		};
72354d7675SEmmanuel Vadot
73354d7675SEmmanuel Vadot		ipa_fw_mem: memory@8c517000 {
74354d7675SEmmanuel Vadot			reg = <0 0x8c517000 0 0x5a000>;
75354d7675SEmmanuel Vadot			no-map;
76354d7675SEmmanuel Vadot		};
77354d7675SEmmanuel Vadot
78354d7675SEmmanuel Vadot		adsp_mem: memory@8c600000 {
79354d7675SEmmanuel Vadot			reg = <0 0x8c600000 0 0x1a00000>;
80354d7675SEmmanuel Vadot			no-map;
81354d7675SEmmanuel Vadot		};
82354d7675SEmmanuel Vadot	};
83354d7675SEmmanuel Vadot
84aa1a8ff2SEmmanuel Vadot	sw_edp_1p2: edp-1p2-regulator {
85aa1a8ff2SEmmanuel Vadot		compatible = "regulator-fixed";
86aa1a8ff2SEmmanuel Vadot		regulator-name = "sw_edp_1p2";
87aa1a8ff2SEmmanuel Vadot
88aa1a8ff2SEmmanuel Vadot		regulator-min-microvolt = <1200000>;
89aa1a8ff2SEmmanuel Vadot		regulator-max-microvolt = <1200000>;
90aa1a8ff2SEmmanuel Vadot
91aa1a8ff2SEmmanuel Vadot		pinctrl-0 = <&sw_edp_1p2_en>;
92aa1a8ff2SEmmanuel Vadot		pinctrl-names = "default";
93aa1a8ff2SEmmanuel Vadot
94aa1a8ff2SEmmanuel Vadot		gpio = <&pm8998_gpios 9 GPIO_ACTIVE_HIGH>;
95aa1a8ff2SEmmanuel Vadot		enable-active-high;
96aa1a8ff2SEmmanuel Vadot
97aa1a8ff2SEmmanuel Vadot		vin-supply = <&vreg_l2a_1p2>;
98aa1a8ff2SEmmanuel Vadot	};
99aa1a8ff2SEmmanuel Vadot
1005def4c47SEmmanuel Vadot	sn65dsi86_refclk: sn65dsi86-refclk {
1015def4c47SEmmanuel Vadot		compatible = "fixed-clock";
1025def4c47SEmmanuel Vadot		#clock-cells = <0>;
1035def4c47SEmmanuel Vadot
1045def4c47SEmmanuel Vadot		clock-frequency = <19200000>;
1055def4c47SEmmanuel Vadot	};
106c9ccf3a3SEmmanuel Vadot
107aa1a8ff2SEmmanuel Vadot	vph_pwr: regulator-vph-pwr {
108aa1a8ff2SEmmanuel Vadot		compatible = "regulator-fixed";
109aa1a8ff2SEmmanuel Vadot		regulator-name = "vph_pwr";
110aa1a8ff2SEmmanuel Vadot		regulator-min-microvolt = <3700000>;
111aa1a8ff2SEmmanuel Vadot		regulator-max-microvolt = <3700000>;
112aa1a8ff2SEmmanuel Vadot	};
113aa1a8ff2SEmmanuel Vadot
114aa1a8ff2SEmmanuel Vadot	vlcm_3v3: regulator-vlcm-3v3 {
115aa1a8ff2SEmmanuel Vadot		compatible = "regulator-fixed";
116aa1a8ff2SEmmanuel Vadot		regulator-name = "vlcm_3v3";
117aa1a8ff2SEmmanuel Vadot
118aa1a8ff2SEmmanuel Vadot		vin-supply = <&vph_pwr>;
119aa1a8ff2SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
120aa1a8ff2SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
121aa1a8ff2SEmmanuel Vadot
122aa1a8ff2SEmmanuel Vadot		gpio = <&tlmm 88 GPIO_ACTIVE_HIGH>;
123aa1a8ff2SEmmanuel Vadot		enable-active-high;
124aa1a8ff2SEmmanuel Vadot	};
125aa1a8ff2SEmmanuel Vadot
126c9ccf3a3SEmmanuel Vadot	backlight: backlight {
127c9ccf3a3SEmmanuel Vadot		compatible = "pwm-backlight";
128c9ccf3a3SEmmanuel Vadot		pwms = <&sn65dsi86 1000000>;
129c9ccf3a3SEmmanuel Vadot		enable-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>;
130c9ccf3a3SEmmanuel Vadot	};
131c66ec88fSEmmanuel Vadot};
132c66ec88fSEmmanuel Vadot
133c66ec88fSEmmanuel Vadot&adsp_pas {
134cb7aa33aSEmmanuel Vadot	firmware-name = "qcom/sdm850/LENOVO/81JL/qcadsp850.mbn";
135c66ec88fSEmmanuel Vadot	status = "okay";
136c66ec88fSEmmanuel Vadot};
137c66ec88fSEmmanuel Vadot
138c66ec88fSEmmanuel Vadot&apps_rsc {
139cb7aa33aSEmmanuel Vadot	regulators-0 {
140c66ec88fSEmmanuel Vadot		compatible = "qcom,pm8998-rpmh-regulators";
141c66ec88fSEmmanuel Vadot		qcom,pmic-id = "a";
142c66ec88fSEmmanuel Vadot
143c66ec88fSEmmanuel Vadot		vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
144c66ec88fSEmmanuel Vadot		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
145c66ec88fSEmmanuel Vadot
146c66ec88fSEmmanuel Vadot		vreg_s2a_1p125: smps2 {
147c66ec88fSEmmanuel Vadot		};
148c66ec88fSEmmanuel Vadot
149c66ec88fSEmmanuel Vadot		vreg_s3a_1p35: smps3 {
150c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1352000>;
151c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <1352000>;
152c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
153c66ec88fSEmmanuel Vadot		};
154c66ec88fSEmmanuel Vadot
155c66ec88fSEmmanuel Vadot		vreg_s4a_1p8: smps4 {
156c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
157c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
158c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
159c66ec88fSEmmanuel Vadot		};
160c66ec88fSEmmanuel Vadot
161c66ec88fSEmmanuel Vadot		vreg_s5a_2p04: smps5 {
162c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <2040000>;
163c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <2040000>;
164c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
165c66ec88fSEmmanuel Vadot		};
166c66ec88fSEmmanuel Vadot
167c66ec88fSEmmanuel Vadot		vreg_s7a_1p025: smps7 {
168c66ec88fSEmmanuel Vadot		};
169c66ec88fSEmmanuel Vadot
170c66ec88fSEmmanuel Vadot		vdd_qusb_hs0:
171c66ec88fSEmmanuel Vadot		vdda_hp_pcie_core:
172c66ec88fSEmmanuel Vadot		vdda_mipi_csi0_0p9:
173c66ec88fSEmmanuel Vadot		vdda_mipi_csi1_0p9:
174c66ec88fSEmmanuel Vadot		vdda_mipi_csi2_0p9:
175c66ec88fSEmmanuel Vadot		vdda_mipi_dsi0_pll:
176c66ec88fSEmmanuel Vadot		vdda_mipi_dsi1_pll:
177c66ec88fSEmmanuel Vadot		vdda_qlink_lv:
178c66ec88fSEmmanuel Vadot		vdda_qlink_lv_ck:
179c66ec88fSEmmanuel Vadot		vdda_qrefs_0p875:
180c66ec88fSEmmanuel Vadot		vdda_pcie_core:
181c66ec88fSEmmanuel Vadot		vdda_pll_cc_ebi01:
182c66ec88fSEmmanuel Vadot		vdda_pll_cc_ebi23:
183c66ec88fSEmmanuel Vadot		vdda_sp_sensor:
184c66ec88fSEmmanuel Vadot		vdda_ufs1_core:
185c66ec88fSEmmanuel Vadot		vdda_ufs2_core:
186c66ec88fSEmmanuel Vadot		vdda_usb1_ss_core:
187c66ec88fSEmmanuel Vadot		vdda_usb2_ss_core:
188c66ec88fSEmmanuel Vadot		vreg_l1a_0p875: ldo1 {
189c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <880000>;
190c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <880000>;
191c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
192c66ec88fSEmmanuel Vadot		};
193c66ec88fSEmmanuel Vadot
194c66ec88fSEmmanuel Vadot		vddpx_10:
195c66ec88fSEmmanuel Vadot		vreg_l2a_1p2: ldo2 {
196c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1200000>;
197c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <1200000>;
198c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
199c66ec88fSEmmanuel Vadot			regulator-always-on;
200c66ec88fSEmmanuel Vadot		};
201c66ec88fSEmmanuel Vadot
202c66ec88fSEmmanuel Vadot		vreg_l3a_1p0: ldo3 {
203c66ec88fSEmmanuel Vadot		};
204c66ec88fSEmmanuel Vadot
205c66ec88fSEmmanuel Vadot		vdd_wcss_cx:
206c66ec88fSEmmanuel Vadot		vdd_wcss_mx:
207c66ec88fSEmmanuel Vadot		vdda_wcss_pll:
208c66ec88fSEmmanuel Vadot		vreg_l5a_0p8: ldo5 {
209c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <800000>;
210c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <800000>;
211c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
212c66ec88fSEmmanuel Vadot		};
213c66ec88fSEmmanuel Vadot
214c66ec88fSEmmanuel Vadot		vddpx_13:
215c66ec88fSEmmanuel Vadot		vreg_l6a_1p8: ldo6 {
216c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
217c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
218c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
219c66ec88fSEmmanuel Vadot		};
220c66ec88fSEmmanuel Vadot
221c66ec88fSEmmanuel Vadot		vreg_l7a_1p8: ldo7 {
222c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
223c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
224c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
225c66ec88fSEmmanuel Vadot		};
226c66ec88fSEmmanuel Vadot
227c66ec88fSEmmanuel Vadot		vreg_l8a_1p2: ldo8 {
228c66ec88fSEmmanuel Vadot		};
229c66ec88fSEmmanuel Vadot
230c66ec88fSEmmanuel Vadot		vreg_l9a_1p8: ldo9 {
231c66ec88fSEmmanuel Vadot		};
232c66ec88fSEmmanuel Vadot
233c66ec88fSEmmanuel Vadot		vreg_l10a_1p8: ldo10 {
234c66ec88fSEmmanuel Vadot		};
235c66ec88fSEmmanuel Vadot
236c66ec88fSEmmanuel Vadot		vreg_l11a_1p0: ldo11 {
237c66ec88fSEmmanuel Vadot		};
238c66ec88fSEmmanuel Vadot
239c66ec88fSEmmanuel Vadot		vdd_qfprom:
240c66ec88fSEmmanuel Vadot		vdd_qfprom_sp:
241c66ec88fSEmmanuel Vadot		vdda_apc1_cs_1p8:
242c66ec88fSEmmanuel Vadot		vdda_gfx_cs_1p8:
243c66ec88fSEmmanuel Vadot		vdda_qrefs_1p8:
244c66ec88fSEmmanuel Vadot		vdda_qusb_hs0_1p8:
245c66ec88fSEmmanuel Vadot		vddpx_11:
246c66ec88fSEmmanuel Vadot		vreg_l12a_1p8: ldo12 {
247c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
248c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <1800000>;
249c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
250c66ec88fSEmmanuel Vadot		};
251c66ec88fSEmmanuel Vadot
252c66ec88fSEmmanuel Vadot		vddpx_2:
253c66ec88fSEmmanuel Vadot		vreg_l13a_2p95: ldo13 {
254c66ec88fSEmmanuel Vadot		};
255c66ec88fSEmmanuel Vadot
256c66ec88fSEmmanuel Vadot		vreg_l14a_1p88: ldo14 {
257c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1880000>;
258c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <1880000>;
259c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
260c66ec88fSEmmanuel Vadot			regulator-always-on;
261c66ec88fSEmmanuel Vadot		};
262c66ec88fSEmmanuel Vadot
263c66ec88fSEmmanuel Vadot		vreg_l15a_1p8: ldo15 {
264c66ec88fSEmmanuel Vadot		};
265c66ec88fSEmmanuel Vadot
266c66ec88fSEmmanuel Vadot		vreg_l16a_2p7: ldo16 {
267c66ec88fSEmmanuel Vadot		};
268c66ec88fSEmmanuel Vadot
269c66ec88fSEmmanuel Vadot		vreg_l17a_1p3: ldo17 {
270c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1304000>;
271c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <1304000>;
272c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
273c66ec88fSEmmanuel Vadot		};
274c66ec88fSEmmanuel Vadot
275c66ec88fSEmmanuel Vadot		vreg_l18a_2p7: ldo18 {
276c66ec88fSEmmanuel Vadot		};
277c66ec88fSEmmanuel Vadot
278c66ec88fSEmmanuel Vadot		vreg_l19a_3p0: ldo19 {
279c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <3100000>;
280c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <3108000>;
281c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
282c66ec88fSEmmanuel Vadot		};
283c66ec88fSEmmanuel Vadot
284c66ec88fSEmmanuel Vadot		vreg_l20a_2p95: ldo20 {
285c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <2960000>;
286c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <2960000>;
287c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
288c66ec88fSEmmanuel Vadot		};
289c66ec88fSEmmanuel Vadot
290c66ec88fSEmmanuel Vadot		vreg_l21a_2p95: ldo21 {
291c66ec88fSEmmanuel Vadot		};
292c66ec88fSEmmanuel Vadot
293c66ec88fSEmmanuel Vadot		vreg_l22a_2p85: ldo22 {
294c66ec88fSEmmanuel Vadot		};
295c66ec88fSEmmanuel Vadot
296c66ec88fSEmmanuel Vadot		vreg_l23a_3p3: ldo23 {
2978cc087a1SEmmanuel Vadot			regulator-min-microvolt = <3300000>;
2988cc087a1SEmmanuel Vadot			regulator-max-microvolt = <3312000>;
2998cc087a1SEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
300c66ec88fSEmmanuel Vadot		};
301c66ec88fSEmmanuel Vadot
302c66ec88fSEmmanuel Vadot		vdda_qusb_hs0_3p1:
303c66ec88fSEmmanuel Vadot		vreg_l24a_3p075: ldo24 {
304c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <3075000>;
305c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <3083000>;
306c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
307c66ec88fSEmmanuel Vadot		};
308c66ec88fSEmmanuel Vadot
309c66ec88fSEmmanuel Vadot		vreg_l25a_3p3: ldo25 {
310c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <3104000>;
311c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <3112000>;
312c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
313c66ec88fSEmmanuel Vadot		};
314c66ec88fSEmmanuel Vadot
315c66ec88fSEmmanuel Vadot		vdda_hp_pcie_1p2:
316c66ec88fSEmmanuel Vadot		vdda_hv_ebi0:
317c66ec88fSEmmanuel Vadot		vdda_hv_ebi1:
318c66ec88fSEmmanuel Vadot		vdda_hv_ebi2:
319c66ec88fSEmmanuel Vadot		vdda_hv_ebi3:
320c66ec88fSEmmanuel Vadot		vdda_mipi_csi_1p25:
321c66ec88fSEmmanuel Vadot		vdda_mipi_dsi0_1p2:
322c66ec88fSEmmanuel Vadot		vdda_mipi_dsi1_1p2:
323c66ec88fSEmmanuel Vadot		vdda_pcie_1p2:
324c66ec88fSEmmanuel Vadot		vdda_ufs1_1p2:
325c66ec88fSEmmanuel Vadot		vdda_ufs2_1p2:
326c66ec88fSEmmanuel Vadot		vdda_usb1_ss_1p2:
327c66ec88fSEmmanuel Vadot		vdda_usb2_ss_1p2:
328c66ec88fSEmmanuel Vadot		vreg_l26a_1p2: ldo26 {
329c66ec88fSEmmanuel Vadot			regulator-min-microvolt = <1200000>;
330c66ec88fSEmmanuel Vadot			regulator-max-microvolt = <1208000>;
331c66ec88fSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
332c66ec88fSEmmanuel Vadot		};
333c66ec88fSEmmanuel Vadot
334c66ec88fSEmmanuel Vadot		vreg_l28a_3p0: ldo28 {
335c66ec88fSEmmanuel Vadot		};
336c66ec88fSEmmanuel Vadot
337c66ec88fSEmmanuel Vadot		vreg_lvs1a_1p8: lvs1 {
338c66ec88fSEmmanuel Vadot		};
339c66ec88fSEmmanuel Vadot
340c66ec88fSEmmanuel Vadot		vreg_lvs2a_1p8: lvs2 {
341c66ec88fSEmmanuel Vadot		};
342c66ec88fSEmmanuel Vadot	};
343c66ec88fSEmmanuel Vadot};
344c66ec88fSEmmanuel Vadot
345c66ec88fSEmmanuel Vadot&cdsp_pas {
346cb7aa33aSEmmanuel Vadot	firmware-name = "qcom/sdm850/LENOVO/81JL/qccdsp850.mbn";
347c66ec88fSEmmanuel Vadot	status = "okay";
348c66ec88fSEmmanuel Vadot};
349c66ec88fSEmmanuel Vadot
350c66ec88fSEmmanuel Vadot&gcc {
351c66ec88fSEmmanuel Vadot	protected-clocks = <GCC_QSPI_CORE_CLK>,
352c66ec88fSEmmanuel Vadot			   <GCC_QSPI_CORE_CLK_SRC>,
3535def4c47SEmmanuel Vadot			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
3545def4c47SEmmanuel Vadot			   <GCC_LPASS_Q6_AXI_CLK>,
3555def4c47SEmmanuel Vadot			   <GCC_LPASS_SWAY_CLK>;
356c66ec88fSEmmanuel Vadot};
357c66ec88fSEmmanuel Vadot
3588cc087a1SEmmanuel Vadot&gmu {
3598cc087a1SEmmanuel Vadot	status = "okay";
3608cc087a1SEmmanuel Vadot};
3618cc087a1SEmmanuel Vadot
362c66ec88fSEmmanuel Vadot&gpu {
3638cc087a1SEmmanuel Vadot	status = "okay";
364c66ec88fSEmmanuel Vadot	zap-shader {
365c66ec88fSEmmanuel Vadot		memory-region = <&gpu_mem>;
366cb7aa33aSEmmanuel Vadot		firmware-name = "qcom/sdm850/LENOVO/81JL/qcdxkmsuc850.mbn";
367c66ec88fSEmmanuel Vadot	};
368c66ec88fSEmmanuel Vadot};
369c66ec88fSEmmanuel Vadot
370c66ec88fSEmmanuel Vadot&i2c1 {
371c66ec88fSEmmanuel Vadot	status = "okay";
372c66ec88fSEmmanuel Vadot	clock-frequency = <400000>;
373*0e8011faSEmmanuel Vadot
374*0e8011faSEmmanuel Vadot	embedded-controller@70 {
375*0e8011faSEmmanuel Vadot		compatible = "lenovo,yoga-c630-ec";
376*0e8011faSEmmanuel Vadot		reg = <0x70>;
377*0e8011faSEmmanuel Vadot
378*0e8011faSEmmanuel Vadot		interrupts-extended = <&tlmm 20 IRQ_TYPE_LEVEL_HIGH>;
379*0e8011faSEmmanuel Vadot
380*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
381*0e8011faSEmmanuel Vadot		pinctrl-0 = <&ec_int_state>;
382*0e8011faSEmmanuel Vadot
383*0e8011faSEmmanuel Vadot		#address-cells = <1>;
384*0e8011faSEmmanuel Vadot		#size-cells = <0>;
385*0e8011faSEmmanuel Vadot
386*0e8011faSEmmanuel Vadot		connector@0 {
387*0e8011faSEmmanuel Vadot			compatible = "usb-c-connector";
388*0e8011faSEmmanuel Vadot			reg = <0>;
389*0e8011faSEmmanuel Vadot			power-role = "dual";
390*0e8011faSEmmanuel Vadot			data-role = "host";
391*0e8011faSEmmanuel Vadot
392*0e8011faSEmmanuel Vadot			ports {
393*0e8011faSEmmanuel Vadot				#address-cells = <1>;
394*0e8011faSEmmanuel Vadot				#size-cells = <0>;
395*0e8011faSEmmanuel Vadot
396*0e8011faSEmmanuel Vadot				port@0 {
397*0e8011faSEmmanuel Vadot					reg = <0>;
398*0e8011faSEmmanuel Vadot
399*0e8011faSEmmanuel Vadot					ucsi0_hs_in: endpoint {
400*0e8011faSEmmanuel Vadot						remote-endpoint = <&usb_1_dwc3_hs>;
401*0e8011faSEmmanuel Vadot					};
402*0e8011faSEmmanuel Vadot				};
403*0e8011faSEmmanuel Vadot
404*0e8011faSEmmanuel Vadot				port@1 {
405*0e8011faSEmmanuel Vadot					reg = <1>;
406*0e8011faSEmmanuel Vadot
407*0e8011faSEmmanuel Vadot					ucsi0_ss_in: endpoint {
408*0e8011faSEmmanuel Vadot						remote-endpoint = <&usb_1_qmpphy_out>;
409*0e8011faSEmmanuel Vadot					};
410*0e8011faSEmmanuel Vadot				};
411*0e8011faSEmmanuel Vadot
412*0e8011faSEmmanuel Vadot				port@2 {
413*0e8011faSEmmanuel Vadot					reg = <2>;
414*0e8011faSEmmanuel Vadot
415*0e8011faSEmmanuel Vadot					ucsi0_sbu: endpoint {
416*0e8011faSEmmanuel Vadot					};
417*0e8011faSEmmanuel Vadot				};
418*0e8011faSEmmanuel Vadot			};
419*0e8011faSEmmanuel Vadot		};
420*0e8011faSEmmanuel Vadot
421*0e8011faSEmmanuel Vadot		connector@1 {
422*0e8011faSEmmanuel Vadot			compatible = "usb-c-connector";
423*0e8011faSEmmanuel Vadot			reg = <1>;
424*0e8011faSEmmanuel Vadot			power-role = "dual";
425*0e8011faSEmmanuel Vadot			data-role = "host";
426*0e8011faSEmmanuel Vadot
427*0e8011faSEmmanuel Vadot			/*
428*0e8011faSEmmanuel Vadot			 * connected to the onboard USB hub, orientation is
429*0e8011faSEmmanuel Vadot			 * handled by the controller
430*0e8011faSEmmanuel Vadot			 */
431*0e8011faSEmmanuel Vadot		};
432*0e8011faSEmmanuel Vadot	};
433c66ec88fSEmmanuel Vadot};
434c66ec88fSEmmanuel Vadot
435c66ec88fSEmmanuel Vadot&i2c3 {
436c66ec88fSEmmanuel Vadot	status = "okay";
437c66ec88fSEmmanuel Vadot	clock-frequency = <400000>;
4385def4c47SEmmanuel Vadot	/* Overwrite pinctrl-0 from sdm845.dtsi */
4395def4c47SEmmanuel Vadot	pinctrl-0 = <&qup_i2c3_default &i2c3_hid_active>;
440c66ec88fSEmmanuel Vadot
4415def4c47SEmmanuel Vadot	tsel: hid@15 {
442c66ec88fSEmmanuel Vadot		compatible = "hid-over-i2c";
443c66ec88fSEmmanuel Vadot		reg = <0x15>;
444c66ec88fSEmmanuel Vadot		hid-descr-addr = <0x1>;
445c66ec88fSEmmanuel Vadot
4465def4c47SEmmanuel Vadot		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
447c66ec88fSEmmanuel Vadot	};
448c66ec88fSEmmanuel Vadot
4495def4c47SEmmanuel Vadot	tsc2: hid@2c {
450c66ec88fSEmmanuel Vadot		compatible = "hid-over-i2c";
451c66ec88fSEmmanuel Vadot		reg = <0x2c>;
452c66ec88fSEmmanuel Vadot		hid-descr-addr = <0x20>;
453c66ec88fSEmmanuel Vadot
4545def4c47SEmmanuel Vadot		interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
4558d13bc63SEmmanuel Vadot
4568d13bc63SEmmanuel Vadot		wakeup-source;
457c66ec88fSEmmanuel Vadot	};
458c66ec88fSEmmanuel Vadot};
459c66ec88fSEmmanuel Vadot
460c66ec88fSEmmanuel Vadot&i2c5 {
461c66ec88fSEmmanuel Vadot	status = "okay";
462c66ec88fSEmmanuel Vadot	clock-frequency = <400000>;
463c66ec88fSEmmanuel Vadot
4645def4c47SEmmanuel Vadot	tsc1: hid@10 {
465c66ec88fSEmmanuel Vadot		compatible = "hid-over-i2c";
466c66ec88fSEmmanuel Vadot		reg = <0x10>;
467c66ec88fSEmmanuel Vadot		hid-descr-addr = <0x1>;
468c66ec88fSEmmanuel Vadot
4695def4c47SEmmanuel Vadot		interrupts-extended = <&tlmm 125 IRQ_TYPE_LEVEL_LOW>;
470c66ec88fSEmmanuel Vadot
471c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
4725def4c47SEmmanuel Vadot		pinctrl-0 = <&i2c5_hid_active>;
4738d13bc63SEmmanuel Vadot
4748d13bc63SEmmanuel Vadot		wakeup-source;
4755def4c47SEmmanuel Vadot	};
4765def4c47SEmmanuel Vadot};
4775def4c47SEmmanuel Vadot
4785def4c47SEmmanuel Vadot&i2c10 {
4795def4c47SEmmanuel Vadot	status = "okay";
4805def4c47SEmmanuel Vadot	clock-frequency = <400000>;
4815def4c47SEmmanuel Vadot
4825def4c47SEmmanuel Vadot	sn65dsi86: bridge@2c {
4835def4c47SEmmanuel Vadot		compatible = "ti,sn65dsi86";
4845def4c47SEmmanuel Vadot		reg = <0x2c>;
4855def4c47SEmmanuel Vadot		pinctrl-names = "default";
4865def4c47SEmmanuel Vadot		pinctrl-0 = <&sn65dsi86_pin_active>;
4875def4c47SEmmanuel Vadot
4885def4c47SEmmanuel Vadot		enable-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
4895def4c47SEmmanuel Vadot
490aa1a8ff2SEmmanuel Vadot		vcca-supply = <&sw_edp_1p2>;
491aa1a8ff2SEmmanuel Vadot		vcc-supply = <&sw_edp_1p2>;
4925def4c47SEmmanuel Vadot		vpll-supply = <&vreg_l14a_1p88>;
4935def4c47SEmmanuel Vadot		vccio-supply = <&vreg_l14a_1p88>;
4945def4c47SEmmanuel Vadot
4955def4c47SEmmanuel Vadot		clocks = <&sn65dsi86_refclk>;
4965def4c47SEmmanuel Vadot		clock-names = "refclk";
4975def4c47SEmmanuel Vadot
4985956d97fSEmmanuel Vadot		no-hpd;
499c9ccf3a3SEmmanuel Vadot		#pwm-cells = <1>;
5005956d97fSEmmanuel Vadot
5015def4c47SEmmanuel Vadot		ports {
5025def4c47SEmmanuel Vadot			#address-cells = <1>;
5035def4c47SEmmanuel Vadot			#size-cells = <0>;
5045def4c47SEmmanuel Vadot
5055def4c47SEmmanuel Vadot			port@0 {
5065def4c47SEmmanuel Vadot				reg = <0>;
5075def4c47SEmmanuel Vadot				sn65dsi86_in_a: endpoint {
508f126890aSEmmanuel Vadot					remote-endpoint = <&mdss_dsi0_out>;
5095def4c47SEmmanuel Vadot				};
5105def4c47SEmmanuel Vadot			};
5115def4c47SEmmanuel Vadot
5125def4c47SEmmanuel Vadot			port@1 {
5135def4c47SEmmanuel Vadot				reg = <1>;
5145def4c47SEmmanuel Vadot				sn65dsi86_out: endpoint {
5155def4c47SEmmanuel Vadot					remote-endpoint = <&panel_in_edp>;
5165def4c47SEmmanuel Vadot				};
5175def4c47SEmmanuel Vadot			};
5185def4c47SEmmanuel Vadot		};
519c9ccf3a3SEmmanuel Vadot
520c9ccf3a3SEmmanuel Vadot		aux-bus {
521c9ccf3a3SEmmanuel Vadot			panel: panel {
522c9ccf3a3SEmmanuel Vadot				compatible = "boe,nv133fhm-n61";
523c9ccf3a3SEmmanuel Vadot				backlight = <&backlight>;
524aa1a8ff2SEmmanuel Vadot				power-supply = <&vlcm_3v3>;
525c9ccf3a3SEmmanuel Vadot
526c9ccf3a3SEmmanuel Vadot				port {
527c9ccf3a3SEmmanuel Vadot					panel_in_edp: endpoint {
528c9ccf3a3SEmmanuel Vadot						remote-endpoint = <&sn65dsi86_out>;
529c9ccf3a3SEmmanuel Vadot					};
530c9ccf3a3SEmmanuel Vadot				};
531c9ccf3a3SEmmanuel Vadot			};
532c9ccf3a3SEmmanuel Vadot		};
533c66ec88fSEmmanuel Vadot	};
534c66ec88fSEmmanuel Vadot};
535c66ec88fSEmmanuel Vadot
536c66ec88fSEmmanuel Vadot&i2c11 {
537c66ec88fSEmmanuel Vadot	status = "okay";
538c66ec88fSEmmanuel Vadot	clock-frequency = <400000>;
539c66ec88fSEmmanuel Vadot
5405def4c47SEmmanuel Vadot	ecsh: hid@5c {
541c66ec88fSEmmanuel Vadot		compatible = "hid-over-i2c";
542c66ec88fSEmmanuel Vadot		reg = <0x5c>;
543c66ec88fSEmmanuel Vadot		hid-descr-addr = <0x1>;
544c66ec88fSEmmanuel Vadot
545c66ec88fSEmmanuel Vadot		interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>;
546c66ec88fSEmmanuel Vadot
547c66ec88fSEmmanuel Vadot		pinctrl-names = "default";
5485def4c47SEmmanuel Vadot		pinctrl-0 = <&i2c11_hid_active>;
5498d13bc63SEmmanuel Vadot
5508d13bc63SEmmanuel Vadot		wakeup-source;
551c66ec88fSEmmanuel Vadot	};
552c66ec88fSEmmanuel Vadot};
553c66ec88fSEmmanuel Vadot
554354d7675SEmmanuel Vadot&ipa {
555cb7aa33aSEmmanuel Vadot	qcom,gsi-loader = "self";
556354d7675SEmmanuel Vadot	memory-region = <&ipa_fw_mem>;
557*0e8011faSEmmanuel Vadot	firmware-name = "qcom/sdm850/LENOVO/81JL/ipa_fws.elf";
558cb7aa33aSEmmanuel Vadot	status = "okay";
559354d7675SEmmanuel Vadot};
560354d7675SEmmanuel Vadot
5615def4c47SEmmanuel Vadot&mdss {
5625def4c47SEmmanuel Vadot	status = "okay";
5635def4c47SEmmanuel Vadot};
5645def4c47SEmmanuel Vadot
565f126890aSEmmanuel Vadot&mdss_dsi0 {
566f126890aSEmmanuel Vadot	status = "okay";
567f126890aSEmmanuel Vadot	vdda-supply = <&vreg_l26a_1p2>;
568f126890aSEmmanuel Vadot
569f126890aSEmmanuel Vadot	ports {
570f126890aSEmmanuel Vadot		port@1 {
571f126890aSEmmanuel Vadot			endpoint {
572f126890aSEmmanuel Vadot				remote-endpoint = <&sn65dsi86_in_a>;
573f126890aSEmmanuel Vadot				data-lanes = <0 1 2 3>;
574f126890aSEmmanuel Vadot			};
575f126890aSEmmanuel Vadot		};
576f126890aSEmmanuel Vadot	};
577f126890aSEmmanuel Vadot};
578f126890aSEmmanuel Vadot
579f126890aSEmmanuel Vadot&mdss_dsi0_phy {
580f126890aSEmmanuel Vadot	status = "okay";
581f126890aSEmmanuel Vadot	vdds-supply = <&vreg_l1a_0p875>;
582f126890aSEmmanuel Vadot};
583f126890aSEmmanuel Vadot
584c66ec88fSEmmanuel Vadot&mss_pil {
5858cc087a1SEmmanuel Vadot	status = "okay";
586cb7aa33aSEmmanuel Vadot	firmware-name = "qcom/sdm850/LENOVO/81JL/qcdsp1v2850.mbn", "qcom/sdm850/LENOVO/81JL/qcdsp2850.mbn";
587c66ec88fSEmmanuel Vadot};
588c66ec88fSEmmanuel Vadot
589aa1a8ff2SEmmanuel Vadot&pm8998_gpios {
590aa1a8ff2SEmmanuel Vadot	/* This pin is pulled down by a fixed resistor */
591aa1a8ff2SEmmanuel Vadot	sw_edp_1p2_en: pm8998-gpio9-state {
592aa1a8ff2SEmmanuel Vadot		pins = "gpio9";
593aa1a8ff2SEmmanuel Vadot		function = "normal";
594aa1a8ff2SEmmanuel Vadot		bias-disable;
595aa1a8ff2SEmmanuel Vadot		qcom,drive-strength = <0>;
596aa1a8ff2SEmmanuel Vadot	};
597aa1a8ff2SEmmanuel Vadot};
598aa1a8ff2SEmmanuel Vadot
5995def4c47SEmmanuel Vadot&qup_i2c10_default {
6005def4c47SEmmanuel Vadot	drive-strength = <2>;
6015def4c47SEmmanuel Vadot	bias-disable;
6025def4c47SEmmanuel Vadot};
6035def4c47SEmmanuel Vadot
604c66ec88fSEmmanuel Vadot&qup_i2c12_default {
605c66ec88fSEmmanuel Vadot	drive-strength = <2>;
606c66ec88fSEmmanuel Vadot	bias-disable;
607c66ec88fSEmmanuel Vadot};
608c66ec88fSEmmanuel Vadot
609c66ec88fSEmmanuel Vadot&qupv3_id_0 {
610c66ec88fSEmmanuel Vadot	status = "okay";
611c66ec88fSEmmanuel Vadot};
612c66ec88fSEmmanuel Vadot
613c66ec88fSEmmanuel Vadot&qupv3_id_1 {
614c66ec88fSEmmanuel Vadot	status = "okay";
615c66ec88fSEmmanuel Vadot};
616c66ec88fSEmmanuel Vadot
617c66ec88fSEmmanuel Vadot&q6asmdai {
618c66ec88fSEmmanuel Vadot	dai@0 {
619c66ec88fSEmmanuel Vadot		reg = <0>;
620c66ec88fSEmmanuel Vadot	};
621c66ec88fSEmmanuel Vadot
622c66ec88fSEmmanuel Vadot	dai@1 {
623c66ec88fSEmmanuel Vadot		reg = <1>;
624c66ec88fSEmmanuel Vadot	};
625e67e8565SEmmanuel Vadot
626e67e8565SEmmanuel Vadot	dai@2 {
627e67e8565SEmmanuel Vadot		reg = <2>;
628e67e8565SEmmanuel Vadot	};
629c66ec88fSEmmanuel Vadot};
630c66ec88fSEmmanuel Vadot
631c66ec88fSEmmanuel Vadot&sound {
632cb7aa33aSEmmanuel Vadot	compatible = "lenovo,yoga-c630-sndcard", "qcom,sdm845-sndcard";
633c66ec88fSEmmanuel Vadot	model = "Lenovo-YOGA-C630-13Q50";
634c66ec88fSEmmanuel Vadot
635c66ec88fSEmmanuel Vadot	audio-routing =
636c66ec88fSEmmanuel Vadot		"RX_BIAS", "MCLK",
637c66ec88fSEmmanuel Vadot		"AMIC2", "MIC BIAS2",
638c66ec88fSEmmanuel Vadot		"SpkrLeft IN", "SPK1 OUT",
639c66ec88fSEmmanuel Vadot		"SpkrRight IN", "SPK2 OUT",
640c66ec88fSEmmanuel Vadot		"MM_DL1",  "MultiMedia1 Playback",
641e67e8565SEmmanuel Vadot		"MM_DL3",  "MultiMedia3 Playback",
642c66ec88fSEmmanuel Vadot		"MultiMedia2 Capture", "MM_UL2";
643c66ec88fSEmmanuel Vadot
644c66ec88fSEmmanuel Vadot	mm1-dai-link {
645c66ec88fSEmmanuel Vadot		link-name = "MultiMedia1";
646c66ec88fSEmmanuel Vadot		cpu {
647c66ec88fSEmmanuel Vadot			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
648c66ec88fSEmmanuel Vadot		};
649c66ec88fSEmmanuel Vadot	};
650c66ec88fSEmmanuel Vadot
651c66ec88fSEmmanuel Vadot	mm2-dai-link {
652c66ec88fSEmmanuel Vadot		link-name = "MultiMedia2";
653c66ec88fSEmmanuel Vadot		cpu {
654c66ec88fSEmmanuel Vadot			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
655c66ec88fSEmmanuel Vadot		};
656c66ec88fSEmmanuel Vadot	};
657c66ec88fSEmmanuel Vadot
658e67e8565SEmmanuel Vadot	mm3-dai-link {
659e67e8565SEmmanuel Vadot		link-name = "MultiMedia3";
660e67e8565SEmmanuel Vadot		cpu {
661e67e8565SEmmanuel Vadot			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
662e67e8565SEmmanuel Vadot		};
663e67e8565SEmmanuel Vadot	};
664e67e8565SEmmanuel Vadot
665c66ec88fSEmmanuel Vadot	slim-dai-link {
666c66ec88fSEmmanuel Vadot		link-name = "SLIM Playback";
667c66ec88fSEmmanuel Vadot		cpu {
668c66ec88fSEmmanuel Vadot			sound-dai = <&q6afedai SLIMBUS_0_RX>;
669c66ec88fSEmmanuel Vadot		};
670c66ec88fSEmmanuel Vadot
671c66ec88fSEmmanuel Vadot		platform {
672c66ec88fSEmmanuel Vadot			sound-dai = <&q6routing>;
673c66ec88fSEmmanuel Vadot		};
674c66ec88fSEmmanuel Vadot
675c66ec88fSEmmanuel Vadot		codec {
676c66ec88fSEmmanuel Vadot			sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
677c66ec88fSEmmanuel Vadot		};
678c66ec88fSEmmanuel Vadot	};
679c66ec88fSEmmanuel Vadot
680c66ec88fSEmmanuel Vadot	slimcap-dai-link {
681c66ec88fSEmmanuel Vadot		link-name = "SLIM Capture";
682c66ec88fSEmmanuel Vadot		cpu {
683c66ec88fSEmmanuel Vadot			sound-dai = <&q6afedai SLIMBUS_0_TX>;
684c66ec88fSEmmanuel Vadot		};
685c66ec88fSEmmanuel Vadot
686c66ec88fSEmmanuel Vadot		platform {
687c66ec88fSEmmanuel Vadot			sound-dai = <&q6routing>;
688c66ec88fSEmmanuel Vadot		};
689c66ec88fSEmmanuel Vadot
690c66ec88fSEmmanuel Vadot		codec {
691c66ec88fSEmmanuel Vadot			sound-dai = <&wcd9340 1>;
692c66ec88fSEmmanuel Vadot		};
693c66ec88fSEmmanuel Vadot	};
694e67e8565SEmmanuel Vadot
695e67e8565SEmmanuel Vadot	slim-wcd-dai-link {
696e67e8565SEmmanuel Vadot		link-name = "SLIM WCD Playback";
697e67e8565SEmmanuel Vadot		cpu {
698e67e8565SEmmanuel Vadot			sound-dai = <&q6afedai SLIMBUS_1_RX>;
699e67e8565SEmmanuel Vadot		};
700e67e8565SEmmanuel Vadot
701e67e8565SEmmanuel Vadot		platform {
702e67e8565SEmmanuel Vadot			sound-dai = <&q6routing>;
703e67e8565SEmmanuel Vadot		};
704e67e8565SEmmanuel Vadot
705e67e8565SEmmanuel Vadot		codec {
706e67e8565SEmmanuel Vadot			sound-dai = <&wcd9340 2>;
707e67e8565SEmmanuel Vadot		};
708e67e8565SEmmanuel Vadot	};
709c66ec88fSEmmanuel Vadot};
710c66ec88fSEmmanuel Vadot
711c66ec88fSEmmanuel Vadot&tlmm {
712c66ec88fSEmmanuel Vadot	gpio-reserved-ranges = <0 4>, <81 4>;
713c66ec88fSEmmanuel Vadot
714cb7aa33aSEmmanuel Vadot	sn65dsi86_pin_active: sn65dsi86-enable-state {
7155def4c47SEmmanuel Vadot		pins = "gpio96";
716cb7aa33aSEmmanuel Vadot		function = "gpio";
7175def4c47SEmmanuel Vadot		drive-strength = <2>;
7185def4c47SEmmanuel Vadot		bias-disable;
7195def4c47SEmmanuel Vadot	};
7205def4c47SEmmanuel Vadot
721cb7aa33aSEmmanuel Vadot	i2c3_hid_active: i2c2-hid-active-state {
7225def4c47SEmmanuel Vadot		pins = "gpio37";
723c66ec88fSEmmanuel Vadot		function = "gpio";
724c66ec88fSEmmanuel Vadot
725c66ec88fSEmmanuel Vadot		bias-pull-up;
726c66ec88fSEmmanuel Vadot		drive-strength = <2>;
727c66ec88fSEmmanuel Vadot	};
728c66ec88fSEmmanuel Vadot
729cb7aa33aSEmmanuel Vadot	i2c5_hid_active: i2c5-hid-active-state {
7305def4c47SEmmanuel Vadot		pins = "gpio125";
731c66ec88fSEmmanuel Vadot		function = "gpio";
732c66ec88fSEmmanuel Vadot
733c66ec88fSEmmanuel Vadot		bias-pull-up;
734c66ec88fSEmmanuel Vadot		drive-strength = <2>;
735c66ec88fSEmmanuel Vadot	};
736c66ec88fSEmmanuel Vadot
737cb7aa33aSEmmanuel Vadot	i2c11_hid_active: i2c11-hid-active-state {
7385def4c47SEmmanuel Vadot		pins = "gpio92";
739c66ec88fSEmmanuel Vadot		function = "gpio";
740c66ec88fSEmmanuel Vadot
741c66ec88fSEmmanuel Vadot		bias-pull-up;
742c66ec88fSEmmanuel Vadot		drive-strength = <2>;
743c66ec88fSEmmanuel Vadot	};
744c66ec88fSEmmanuel Vadot
745cb7aa33aSEmmanuel Vadot	lid_pin_active: lid-pin-state {
7465def4c47SEmmanuel Vadot		pins = "gpio124";
7475def4c47SEmmanuel Vadot		function = "gpio";
7485def4c47SEmmanuel Vadot
7495def4c47SEmmanuel Vadot		bias-disable;
7505def4c47SEmmanuel Vadot	};
7515def4c47SEmmanuel Vadot
752cb7aa33aSEmmanuel Vadot	mode_pin_active: mode-pin-state {
7535def4c47SEmmanuel Vadot		pins = "gpio95";
7545def4c47SEmmanuel Vadot		function = "gpio";
7555def4c47SEmmanuel Vadot
7565def4c47SEmmanuel Vadot		bias-disable;
7575def4c47SEmmanuel Vadot	};
758*0e8011faSEmmanuel Vadot
759*0e8011faSEmmanuel Vadot	ec_int_state: ec-int-state {
760*0e8011faSEmmanuel Vadot		pins = "gpio20";
761*0e8011faSEmmanuel Vadot		function = "gpio";
762*0e8011faSEmmanuel Vadot
763*0e8011faSEmmanuel Vadot		bias-disable;
764*0e8011faSEmmanuel Vadot	};
765c66ec88fSEmmanuel Vadot};
766c66ec88fSEmmanuel Vadot
767c66ec88fSEmmanuel Vadot&uart6 {
768cb7aa33aSEmmanuel Vadot	pinctrl-names = "default";
769cb7aa33aSEmmanuel Vadot	pinctrl-0 = <&qup_uart6_4pin>;
770c66ec88fSEmmanuel Vadot	status = "okay";
771c66ec88fSEmmanuel Vadot
772c66ec88fSEmmanuel Vadot	bluetooth {
773c66ec88fSEmmanuel Vadot		compatible = "qcom,wcn3990-bt";
774c66ec88fSEmmanuel Vadot
775c66ec88fSEmmanuel Vadot		vddio-supply = <&vreg_s4a_1p8>;
776c66ec88fSEmmanuel Vadot		vddxo-supply = <&vreg_l7a_1p8>;
777c66ec88fSEmmanuel Vadot		vddrf-supply = <&vreg_l17a_1p3>;
778c66ec88fSEmmanuel Vadot		vddch0-supply = <&vreg_l25a_3p3>;
7798cc087a1SEmmanuel Vadot		vddch1-supply = <&vreg_l23a_3p3>;
780c66ec88fSEmmanuel Vadot		max-speed = <3200000>;
781c66ec88fSEmmanuel Vadot	};
782c66ec88fSEmmanuel Vadot};
783c66ec88fSEmmanuel Vadot
784aa1a8ff2SEmmanuel Vadot&uart9 {
785aa1a8ff2SEmmanuel Vadot	status = "okay";
786aa1a8ff2SEmmanuel Vadot};
787aa1a8ff2SEmmanuel Vadot
788c66ec88fSEmmanuel Vadot&ufs_mem_hc {
789c66ec88fSEmmanuel Vadot	status = "okay";
790c66ec88fSEmmanuel Vadot
791c66ec88fSEmmanuel Vadot	reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
792c66ec88fSEmmanuel Vadot
793c66ec88fSEmmanuel Vadot	vcc-supply = <&vreg_l20a_2p95>;
794c66ec88fSEmmanuel Vadot	vcc-max-microamp = <600000>;
795c66ec88fSEmmanuel Vadot};
796c66ec88fSEmmanuel Vadot
797c66ec88fSEmmanuel Vadot&ufs_mem_phy {
798c66ec88fSEmmanuel Vadot	status = "okay";
799c66ec88fSEmmanuel Vadot
800c66ec88fSEmmanuel Vadot	vdda-phy-supply = <&vdda_ufs1_core>;
801c66ec88fSEmmanuel Vadot	vdda-pll-supply = <&vdda_ufs1_1p2>;
802c66ec88fSEmmanuel Vadot};
803c66ec88fSEmmanuel Vadot
804c66ec88fSEmmanuel Vadot&usb_1 {
805c66ec88fSEmmanuel Vadot	status = "okay";
806c66ec88fSEmmanuel Vadot};
807c66ec88fSEmmanuel Vadot
808c66ec88fSEmmanuel Vadot&usb_1_dwc3 {
809c66ec88fSEmmanuel Vadot	dr_mode = "host";
810c66ec88fSEmmanuel Vadot};
811c66ec88fSEmmanuel Vadot
812*0e8011faSEmmanuel Vadot&usb_1_dwc3_hs {
813*0e8011faSEmmanuel Vadot	remote-endpoint = <&ucsi0_hs_in>;
814*0e8011faSEmmanuel Vadot};
815*0e8011faSEmmanuel Vadot
816c66ec88fSEmmanuel Vadot&usb_1_hsphy {
817c66ec88fSEmmanuel Vadot	status = "okay";
818c66ec88fSEmmanuel Vadot
819c66ec88fSEmmanuel Vadot	vdd-supply = <&vdda_usb1_ss_core>;
820c66ec88fSEmmanuel Vadot	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
821c66ec88fSEmmanuel Vadot	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
822c66ec88fSEmmanuel Vadot
823c66ec88fSEmmanuel Vadot	qcom,imp-res-offset-value = <8>;
824c66ec88fSEmmanuel Vadot	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
825c66ec88fSEmmanuel Vadot	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
826c66ec88fSEmmanuel Vadot	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
827c66ec88fSEmmanuel Vadot};
828c66ec88fSEmmanuel Vadot
829c66ec88fSEmmanuel Vadot&usb_1_qmpphy {
830c66ec88fSEmmanuel Vadot	status = "okay";
831c66ec88fSEmmanuel Vadot
832c66ec88fSEmmanuel Vadot	vdda-phy-supply = <&vdda_usb1_ss_1p2>;
833c66ec88fSEmmanuel Vadot	vdda-pll-supply = <&vdda_usb1_ss_core>;
834c66ec88fSEmmanuel Vadot};
835c66ec88fSEmmanuel Vadot
836*0e8011faSEmmanuel Vadot&usb_1_qmpphy_out {
837*0e8011faSEmmanuel Vadot	remote-endpoint = <&ucsi0_ss_in>;
838*0e8011faSEmmanuel Vadot};
839*0e8011faSEmmanuel Vadot
840c66ec88fSEmmanuel Vadot&usb_2 {
841c66ec88fSEmmanuel Vadot	status = "okay";
842c66ec88fSEmmanuel Vadot};
843c66ec88fSEmmanuel Vadot
844c66ec88fSEmmanuel Vadot&usb_2_dwc3 {
845c66ec88fSEmmanuel Vadot	dr_mode = "host";
846c66ec88fSEmmanuel Vadot};
847c66ec88fSEmmanuel Vadot
848c66ec88fSEmmanuel Vadot&usb_2_hsphy {
849c66ec88fSEmmanuel Vadot	status = "okay";
850c66ec88fSEmmanuel Vadot
851c66ec88fSEmmanuel Vadot	vdd-supply = <&vdda_usb2_ss_core>;
852c66ec88fSEmmanuel Vadot	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
853c66ec88fSEmmanuel Vadot	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
854c66ec88fSEmmanuel Vadot
855c66ec88fSEmmanuel Vadot	qcom,imp-res-offset-value = <8>;
856c66ec88fSEmmanuel Vadot	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
857c66ec88fSEmmanuel Vadot};
858c66ec88fSEmmanuel Vadot
859c66ec88fSEmmanuel Vadot&usb_2_qmpphy {
860c66ec88fSEmmanuel Vadot	status = "okay";
861c66ec88fSEmmanuel Vadot
862c66ec88fSEmmanuel Vadot	vdda-phy-supply = <&vdda_usb2_ss_1p2>;
863c66ec88fSEmmanuel Vadot	vdda-pll-supply = <&vdda_usb2_ss_core>;
864c66ec88fSEmmanuel Vadot};
865c66ec88fSEmmanuel Vadot
8668cc087a1SEmmanuel Vadot&venus {
867cb7aa33aSEmmanuel Vadot	firmware-name = "qcom/sdm850/LENOVO/81JL/qcvss850.mbn";
8688cc087a1SEmmanuel Vadot	status = "okay";
8698cc087a1SEmmanuel Vadot};
8708cc087a1SEmmanuel Vadot
871c66ec88fSEmmanuel Vadot&wcd9340 {
8727ef62cebSEmmanuel Vadot	reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
873c66ec88fSEmmanuel Vadot	vdd-buck-supply = <&vreg_s4a_1p8>;
874c66ec88fSEmmanuel Vadot	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
875c66ec88fSEmmanuel Vadot	vdd-tx-supply = <&vreg_s4a_1p8>;
876c66ec88fSEmmanuel Vadot	vdd-rx-supply = <&vreg_s4a_1p8>;
877c66ec88fSEmmanuel Vadot	vdd-io-supply = <&vreg_s4a_1p8>;
878e67e8565SEmmanuel Vadot	qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
879e67e8565SEmmanuel Vadot	qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
880e67e8565SEmmanuel Vadot	qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
881c66ec88fSEmmanuel Vadot
8828d13bc63SEmmanuel Vadot	swm: soundwire@c85 {
8838bab661aSEmmanuel Vadot		left_spkr: speaker@0,3 {
884c66ec88fSEmmanuel Vadot			compatible = "sdw10217211000";
885c66ec88fSEmmanuel Vadot			reg = <0 3>;
886cb7aa33aSEmmanuel Vadot			powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_LOW>;
887c66ec88fSEmmanuel Vadot			#thermal-sensor-cells = <0>;
888c66ec88fSEmmanuel Vadot			sound-name-prefix = "SpkrLeft";
889c66ec88fSEmmanuel Vadot			#sound-dai-cells = <0>;
890c66ec88fSEmmanuel Vadot		};
891c66ec88fSEmmanuel Vadot
8928bab661aSEmmanuel Vadot		right_spkr: speaker@0,4 {
893c66ec88fSEmmanuel Vadot			compatible = "sdw10217211000";
894cb7aa33aSEmmanuel Vadot			powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_LOW>;
895c66ec88fSEmmanuel Vadot			reg = <0 4>;
896c66ec88fSEmmanuel Vadot			#thermal-sensor-cells = <0>;
897c66ec88fSEmmanuel Vadot			sound-name-prefix = "SpkrRight";
898c66ec88fSEmmanuel Vadot			#sound-dai-cells = <0>;
899c66ec88fSEmmanuel Vadot		};
900c66ec88fSEmmanuel Vadot	};
901c66ec88fSEmmanuel Vadot};
902c66ec88fSEmmanuel Vadot
903c66ec88fSEmmanuel Vadot&wifi {
904c66ec88fSEmmanuel Vadot	status = "okay";
905c66ec88fSEmmanuel Vadot
906c66ec88fSEmmanuel Vadot	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
907c66ec88fSEmmanuel Vadot	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
908c66ec88fSEmmanuel Vadot	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
909c66ec88fSEmmanuel Vadot	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
9108cc087a1SEmmanuel Vadot	vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;
911c66ec88fSEmmanuel Vadot
912c66ec88fSEmmanuel Vadot	qcom,snoc-host-cap-8bit-quirk;
913*0e8011faSEmmanuel Vadot	qcom,ath10k-calibration-variant = "Lenovo_C630";
914c66ec88fSEmmanuel Vadot};
915e67e8565SEmmanuel Vadot
916e67e8565SEmmanuel Vadot&crypto {
917e67e8565SEmmanuel Vadot	/* FIXME: qce_start triggers an SError */
918aa1a8ff2SEmmanuel Vadot	status = "disabled";
919e67e8565SEmmanuel Vadot};
920