xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/qcom/sdm850-samsung-w737.dts (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1d4b34126SXilin Wu// SPDX-License-Identifier: BSD-3-Clause
2d4b34126SXilin Wu/*
3d4b34126SXilin Wu * Samsung Galaxy Book2
4d4b34126SXilin Wu *
5d4b34126SXilin Wu * Copyright (c) 2022, Xilin Wu <strongtz@yeah.net>
6d4b34126SXilin Wu */
7d4b34126SXilin Wu
8d4b34126SXilin Wu/dts-v1/;
9d4b34126SXilin Wu
10d4b34126SXilin Wu#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
11d4b34126SXilin Wu#include <dt-bindings/input/gpio-keys.h>
12d4b34126SXilin Wu#include <dt-bindings/input/input.h>
13d4b34126SXilin Wu#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
14d4b34126SXilin Wu#include <dt-bindings/sound/qcom,q6afe.h>
15d4b34126SXilin Wu#include <dt-bindings/sound/qcom,q6asm.h>
16d4b34126SXilin Wu#include "sdm850.dtsi"
1734c86173SKrzysztof Kozlowski#include "sdm845-wcd9340.dtsi"
18d4b34126SXilin Wu#include "pm8998.dtsi"
19d4b34126SXilin Wu
20d4b34126SXilin Wu/*
21d4b34126SXilin Wu * Update following upstream (sdm845.dtsi) reserved
22d4b34126SXilin Wu * memory mappings for firmware loading to succeed
23d4b34126SXilin Wu */
24d4b34126SXilin Wu/delete-node/ &qseecom_mem;
25d4b34126SXilin Wu/delete-node/ &wlan_msa_mem;
26d4b34126SXilin Wu/delete-node/ &slpi_mem;
27d4b34126SXilin Wu/delete-node/ &ipa_fw_mem;
28d4b34126SXilin Wu/delete-node/ &ipa_gsi_mem;
29d4b34126SXilin Wu/delete-node/ &gpu_mem;
30d4b34126SXilin Wu/delete-node/ &mpss_region;
31d4b34126SXilin Wu/delete-node/ &adsp_mem;
32d4b34126SXilin Wu/delete-node/ &cdsp_mem;
33d4b34126SXilin Wu/delete-node/ &venus_mem;
34d4b34126SXilin Wu/delete-node/ &mba_region;
35d4b34126SXilin Wu/delete-node/ &spss_mem;
36d4b34126SXilin Wu
37d4b34126SXilin Wu/ {
38d4b34126SXilin Wu	model = "Samsung Galaxy Book2";
39d4b34126SXilin Wu	compatible = "samsung,w737", "qcom,sdm845";
40d4b34126SXilin Wu	chassis-type = "convertible";
41d4b34126SXilin Wu
42d4b34126SXilin Wu	chosen {
43d4b34126SXilin Wu		#address-cells = <2>;
44d4b34126SXilin Wu		#size-cells = <2>;
45d4b34126SXilin Wu		ranges;
46d4b34126SXilin Wu
4710816289SKonrad Dybcio		/* Firmware initialized the display at 1280p instead of 1440p */
48d4b34126SXilin Wu		framebuffer0: framebuffer@80400000 {
49d4b34126SXilin Wu			compatible = "simple-framebuffer";
50d4b34126SXilin Wu			reg = <0 0x80400000 0 (1920 * 1280 * 4)>;
51d4b34126SXilin Wu			width = <1920>;
52d4b34126SXilin Wu			height = <1280>;
53d4b34126SXilin Wu			stride = <(1920 * 4)>;
54d4b34126SXilin Wu			format = "a8r8g8b8";
55d4b34126SXilin Wu		};
56d4b34126SXilin Wu	};
57d4b34126SXilin Wu
58d4b34126SXilin Wu	aliases {
59*2c2f83d9SCaleb Connolly		serial1 = &uart6;
60d4b34126SXilin Wu	};
61d4b34126SXilin Wu
62d4b34126SXilin Wu	/* Reserved memory changes */
63d4b34126SXilin Wu	reserved-memory {
64d4b34126SXilin Wu		/* Bootloader display framebuffer region */
65d4b34126SXilin Wu		cont_splash_mem: memory@80400000 {
66d4b34126SXilin Wu			reg = <0x0 0x80400000 0x0 0x960000>;
67d4b34126SXilin Wu			no-map;
68d4b34126SXilin Wu		};
69d4b34126SXilin Wu
70d4b34126SXilin Wu		qseecom_mem: memory@8b500000 {
71d4b34126SXilin Wu			reg = <0 0x8b500000 0 0xa00000>;
72d4b34126SXilin Wu			no-map;
73d4b34126SXilin Wu		};
74d4b34126SXilin Wu
75d4b34126SXilin Wu		wlan_msa_mem: memory@8c400000 {
76d4b34126SXilin Wu			reg = <0 0x8c400000 0 0x100000>;
77d4b34126SXilin Wu			no-map;
78d4b34126SXilin Wu		};
79d4b34126SXilin Wu
80d4b34126SXilin Wu		slpi_mem: memory@8c500000 {
81d4b34126SXilin Wu			reg = <0 0x8c500000 0 0x1200000>;
82d4b34126SXilin Wu			no-map;
83d4b34126SXilin Wu		};
84d4b34126SXilin Wu
85d4b34126SXilin Wu		ipa_fw_mem: memory@8d700000 {
86d4b34126SXilin Wu			reg = <0 0x8d700000 0 0x100000>;
87d4b34126SXilin Wu			no-map;
88d4b34126SXilin Wu		};
89d4b34126SXilin Wu
90d4b34126SXilin Wu		gpu_mem: memory@8d800000 {
91d4b34126SXilin Wu			reg = <0 0x8d800000 0 0x5000>;
92d4b34126SXilin Wu			no-map;
93d4b34126SXilin Wu		};
94d4b34126SXilin Wu
95d4b34126SXilin Wu		mpss_region: memory@8e000000 {
96d4b34126SXilin Wu			reg = <0 0x8e000000 0 0x8000000>;
97d4b34126SXilin Wu			no-map;
98d4b34126SXilin Wu		};
99d4b34126SXilin Wu
100d4b34126SXilin Wu		adsp_mem: memory@96000000 {
101d4b34126SXilin Wu			reg = <0 0x96000000 0 0x2000000>;
102d4b34126SXilin Wu			no-map;
103d4b34126SXilin Wu		};
104d4b34126SXilin Wu
105d4b34126SXilin Wu		cdsp_mem: memory@98000000 {
106d4b34126SXilin Wu			reg = <0 0x98000000 0 0x800000>;
107d4b34126SXilin Wu			no-map;
108d4b34126SXilin Wu		};
109d4b34126SXilin Wu
110d4b34126SXilin Wu		venus_mem: memory@98800000 {
111d4b34126SXilin Wu			reg = <0 0x98800000 0 0x500000>;
112d4b34126SXilin Wu			no-map;
113d4b34126SXilin Wu		};
114d4b34126SXilin Wu
115d4b34126SXilin Wu		mba_region: memory@98d00000 {
116d4b34126SXilin Wu			reg = <0 0x98d00000 0 0x200000>;
117d4b34126SXilin Wu			no-map;
118d4b34126SXilin Wu		};
119d4b34126SXilin Wu
120d4b34126SXilin Wu		spss_mem: memory@98f00000 {
121d4b34126SXilin Wu			reg = <0 0x98f00000 0 0x100000>;
122d4b34126SXilin Wu			no-map;
123d4b34126SXilin Wu		};
124d4b34126SXilin Wu	};
125d4b34126SXilin Wu};
126d4b34126SXilin Wu
127d4b34126SXilin Wu&adsp_pas {
1287d1473d7SDmitry Baryshkov	firmware-name = "qcom/sdm850/samsung/w737/qcadsp850.mbn";
129d4b34126SXilin Wu	status = "okay";
130d4b34126SXilin Wu};
131d4b34126SXilin Wu
132d4b34126SXilin Wu&apps_rsc {
13386dd19bbSKrzysztof Kozlowski	regulators-0 {
134d4b34126SXilin Wu		compatible = "qcom,pm8998-rpmh-regulators";
135d4b34126SXilin Wu		qcom,pmic-id = "a";
136d4b34126SXilin Wu
137d4b34126SXilin Wu		vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
138d4b34126SXilin Wu		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
139d4b34126SXilin Wu
140d4b34126SXilin Wu		vreg_s2a_1p125: smps2 {
141d4b34126SXilin Wu		};
142d4b34126SXilin Wu
143d4b34126SXilin Wu		vreg_s3a_1p35: smps3 {
144d4b34126SXilin Wu			regulator-min-microvolt = <1352000>;
145d4b34126SXilin Wu			regulator-max-microvolt = <1352000>;
146d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
147d4b34126SXilin Wu		};
148d4b34126SXilin Wu
149d4b34126SXilin Wu		vreg_s4a_1p8: smps4 {
150d4b34126SXilin Wu			regulator-min-microvolt = <1800000>;
151d4b34126SXilin Wu			regulator-max-microvolt = <1800000>;
152d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
153d4b34126SXilin Wu		};
154d4b34126SXilin Wu
155d4b34126SXilin Wu		vreg_s5a_2p04: smps5 {
156d4b34126SXilin Wu			regulator-min-microvolt = <2040000>;
157d4b34126SXilin Wu			regulator-max-microvolt = <2040000>;
158d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
159d4b34126SXilin Wu		};
160d4b34126SXilin Wu
161d4b34126SXilin Wu		vreg_s7a_1p025: smps7 {
162d4b34126SXilin Wu		};
163d4b34126SXilin Wu
164d4b34126SXilin Wu		vdd_qusb_hs0:
165d4b34126SXilin Wu		vdda_hp_pcie_core:
166d4b34126SXilin Wu		vdda_mipi_csi0_0p9:
167d4b34126SXilin Wu		vdda_mipi_csi1_0p9:
168d4b34126SXilin Wu		vdda_mipi_csi2_0p9:
169d4b34126SXilin Wu		vdda_mipi_dsi0_pll:
170d4b34126SXilin Wu		vdda_mipi_dsi1_pll:
171d4b34126SXilin Wu		vdda_qlink_lv:
172d4b34126SXilin Wu		vdda_qlink_lv_ck:
173d4b34126SXilin Wu		vdda_qrefs_0p875:
174d4b34126SXilin Wu		vdda_pcie_core:
175d4b34126SXilin Wu		vdda_pll_cc_ebi01:
176d4b34126SXilin Wu		vdda_pll_cc_ebi23:
177d4b34126SXilin Wu		vdda_sp_sensor:
178d4b34126SXilin Wu		vdda_ufs1_core:
179d4b34126SXilin Wu		vdda_ufs2_core:
180d4b34126SXilin Wu		vdda_usb1_ss_core:
181d4b34126SXilin Wu		vdda_usb2_ss_core:
182d4b34126SXilin Wu		vreg_l1a_0p875: ldo1 {
183d4b34126SXilin Wu			regulator-min-microvolt = <880000>;
184d4b34126SXilin Wu			regulator-max-microvolt = <880000>;
185d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
186d4b34126SXilin Wu		};
187d4b34126SXilin Wu
188d4b34126SXilin Wu		vddpx_10:
189d4b34126SXilin Wu		vreg_l2a_1p2: ldo2 {
190d4b34126SXilin Wu			regulator-min-microvolt = <1200000>;
191d4b34126SXilin Wu			regulator-max-microvolt = <1200000>;
192d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
193d4b34126SXilin Wu			regulator-always-on;
194d4b34126SXilin Wu		};
195d4b34126SXilin Wu
196d4b34126SXilin Wu		vreg_l3a_1p0: ldo3 {
197d4b34126SXilin Wu		};
198d4b34126SXilin Wu
199d4b34126SXilin Wu		vdd_wcss_cx:
200d4b34126SXilin Wu		vdd_wcss_mx:
201d4b34126SXilin Wu		vdda_wcss_pll:
202d4b34126SXilin Wu		vreg_l5a_0p8: ldo5 {
203d4b34126SXilin Wu			regulator-min-microvolt = <800000>;
204d4b34126SXilin Wu			regulator-max-microvolt = <800000>;
205d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
206d4b34126SXilin Wu		};
207d4b34126SXilin Wu
208d4b34126SXilin Wu		vddpx_13:
209d4b34126SXilin Wu		vreg_l6a_1p8: ldo6 {
210d4b34126SXilin Wu			regulator-min-microvolt = <1800000>;
211d4b34126SXilin Wu			regulator-max-microvolt = <1800000>;
212d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
213d4b34126SXilin Wu		};
214d4b34126SXilin Wu
215d4b34126SXilin Wu		vreg_l7a_1p8: ldo7 {
216d4b34126SXilin Wu			regulator-min-microvolt = <1800000>;
217d4b34126SXilin Wu			regulator-max-microvolt = <1800000>;
218d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
219d4b34126SXilin Wu		};
220d4b34126SXilin Wu
221d4b34126SXilin Wu		vreg_l8a_1p2: ldo8 {
222d4b34126SXilin Wu		};
223d4b34126SXilin Wu
224d4b34126SXilin Wu		vreg_l9a_1p8: ldo9 {
225d4b34126SXilin Wu		};
226d4b34126SXilin Wu
227d4b34126SXilin Wu		vreg_l10a_1p8: ldo10 {
228d4b34126SXilin Wu		};
229d4b34126SXilin Wu
230d4b34126SXilin Wu		vreg_l11a_1p0: ldo11 {
231d4b34126SXilin Wu		};
232d4b34126SXilin Wu
233d4b34126SXilin Wu		vdd_qfprom:
234d4b34126SXilin Wu		vdd_qfprom_sp:
235d4b34126SXilin Wu		vdda_apc1_cs_1p8:
236d4b34126SXilin Wu		vdda_gfx_cs_1p8:
237d4b34126SXilin Wu		vdda_qrefs_1p8:
238d4b34126SXilin Wu		vdda_qusb_hs0_1p8:
239d4b34126SXilin Wu		vddpx_11:
240d4b34126SXilin Wu		vreg_l12a_1p8: ldo12 {
241d4b34126SXilin Wu			regulator-min-microvolt = <1800000>;
242d4b34126SXilin Wu			regulator-max-microvolt = <1800000>;
243d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
244d4b34126SXilin Wu		};
245d4b34126SXilin Wu
246d4b34126SXilin Wu		vddpx_2:
247d4b34126SXilin Wu		vreg_l13a_2p95: ldo13 {
248d4b34126SXilin Wu		};
249d4b34126SXilin Wu
250d4b34126SXilin Wu		vreg_l14a_1p88: ldo14 {
251d4b34126SXilin Wu			regulator-min-microvolt = <1880000>;
252d4b34126SXilin Wu			regulator-max-microvolt = <1880000>;
253d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
254d4b34126SXilin Wu			regulator-always-on;
255d4b34126SXilin Wu		};
256d4b34126SXilin Wu
257d4b34126SXilin Wu		vreg_l15a_1p8: ldo15 {
258d4b34126SXilin Wu		};
259d4b34126SXilin Wu
260d4b34126SXilin Wu		vreg_l16a_2p7: ldo16 {
261d4b34126SXilin Wu		};
262d4b34126SXilin Wu
263d4b34126SXilin Wu		vreg_l17a_1p3: ldo17 {
264d4b34126SXilin Wu			regulator-min-microvolt = <1304000>;
265d4b34126SXilin Wu			regulator-max-microvolt = <1304000>;
266d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
267d4b34126SXilin Wu		};
268d4b34126SXilin Wu
269d4b34126SXilin Wu		vreg_l18a_1p8: ldo18 {
270d4b34126SXilin Wu		};
271d4b34126SXilin Wu
272d4b34126SXilin Wu		vreg_l19a_3p0: ldo19 {
273d4b34126SXilin Wu			regulator-min-microvolt = <3100000>;
274d4b34126SXilin Wu			regulator-max-microvolt = <3108000>;
275d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
276d4b34126SXilin Wu		};
277d4b34126SXilin Wu
278d4b34126SXilin Wu		vreg_l20a_2p95: ldo20 {
279d4b34126SXilin Wu			regulator-min-microvolt = <2960000>;
280d4b34126SXilin Wu			regulator-max-microvolt = <2960000>;
281d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
282d4b34126SXilin Wu		};
283d4b34126SXilin Wu
284d4b34126SXilin Wu		vreg_l21a_2p95: ldo21 {
285d4b34126SXilin Wu		};
286d4b34126SXilin Wu
287d4b34126SXilin Wu		vreg_l22a_2p85: ldo22 {
288d4b34126SXilin Wu		};
289d4b34126SXilin Wu
290d4b34126SXilin Wu		vreg_l23a_3p3: ldo23 {
291d4b34126SXilin Wu			regulator-min-microvolt = <3300000>;
292d4b34126SXilin Wu			regulator-max-microvolt = <3312000>;
293d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294d4b34126SXilin Wu		};
295d4b34126SXilin Wu
296d4b34126SXilin Wu		vdda_qusb_hs0_3p1:
297d4b34126SXilin Wu		vreg_l24a_3p075: ldo24 {
298d4b34126SXilin Wu			regulator-min-microvolt = <3075000>;
299d4b34126SXilin Wu			regulator-max-microvolt = <3083000>;
300d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
301d4b34126SXilin Wu		};
302d4b34126SXilin Wu
303d4b34126SXilin Wu		vreg_l25a_3p3: ldo25 {
304d4b34126SXilin Wu			regulator-min-microvolt = <3104000>;
305d4b34126SXilin Wu			regulator-max-microvolt = <3112000>;
306d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
307d4b34126SXilin Wu		};
308d4b34126SXilin Wu
309d4b34126SXilin Wu		vdda_hp_pcie_1p2:
310d4b34126SXilin Wu		vdda_hv_ebi0:
311d4b34126SXilin Wu		vdda_hv_ebi1:
312d4b34126SXilin Wu		vdda_hv_ebi2:
313d4b34126SXilin Wu		vdda_hv_ebi3:
314d4b34126SXilin Wu		vdda_mipi_csi_1p25:
315d4b34126SXilin Wu		vdda_mipi_dsi0_1p2:
316d4b34126SXilin Wu		vdda_mipi_dsi1_1p2:
317d4b34126SXilin Wu		vdda_pcie_1p2:
318d4b34126SXilin Wu		vdda_ufs1_1p2:
319d4b34126SXilin Wu		vdda_ufs2_1p2:
320d4b34126SXilin Wu		vdda_usb1_ss_1p2:
321d4b34126SXilin Wu		vdda_usb2_ss_1p2:
322d4b34126SXilin Wu		vreg_l26a_1p2: ldo26 {
323d4b34126SXilin Wu			regulator-min-microvolt = <1200000>;
324d4b34126SXilin Wu			regulator-max-microvolt = <1208000>;
325d4b34126SXilin Wu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326d4b34126SXilin Wu		};
327d4b34126SXilin Wu
328d4b34126SXilin Wu		vreg_l28a_3p0: ldo28 {
329d4b34126SXilin Wu		};
330d4b34126SXilin Wu
331d4b34126SXilin Wu		vreg_lvs1a_1p8: lvs1 {
332d4b34126SXilin Wu		};
333d4b34126SXilin Wu
334d4b34126SXilin Wu		vreg_lvs2a_1p8: lvs2 {
335d4b34126SXilin Wu		};
336d4b34126SXilin Wu	};
337d4b34126SXilin Wu};
338d4b34126SXilin Wu
339d4b34126SXilin Wu&cdsp_pas {
3407d1473d7SDmitry Baryshkov	firmware-name = "qcom/sdm850/samsung/w737/qccdsp850.mbn";
341d4b34126SXilin Wu	status = "okay";
342d4b34126SXilin Wu};
343d4b34126SXilin Wu
344d4b34126SXilin Wu&gcc {
345d4b34126SXilin Wu	protected-clocks = <GCC_QSPI_CORE_CLK>,
346d4b34126SXilin Wu			   <GCC_QSPI_CORE_CLK_SRC>,
347d4b34126SXilin Wu			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
348d4b34126SXilin Wu			   <GCC_LPASS_Q6_AXI_CLK>,
349d4b34126SXilin Wu			   <GCC_LPASS_SWAY_CLK>;
350d4b34126SXilin Wu};
351d4b34126SXilin Wu
352d4b34126SXilin Wu&i2c10 {
353d4b34126SXilin Wu	status = "okay";
354d4b34126SXilin Wu	clock-frequency = <400000>;
355d4b34126SXilin Wu
356d4b34126SXilin Wu	/* SN65DSI86 @ 0x2c */
357d4b34126SXilin Wu	/* The panel requires dual DSI, which is not supported by the bridge driver */
358d4b34126SXilin Wu};
359d4b34126SXilin Wu
360d4b34126SXilin Wu&i2c11 {
361d4b34126SXilin Wu	status = "okay";
362d4b34126SXilin Wu	clock-frequency = <400000>;
363d4b34126SXilin Wu
364d4b34126SXilin Wu	/* HID-I2C Touchscreen @ 0x20 */
365d4b34126SXilin Wu};
366d4b34126SXilin Wu
367d4b34126SXilin Wu&i2c15 {
368d4b34126SXilin Wu	status = "okay";
369d4b34126SXilin Wu	clock-frequency = <400000>;
370d4b34126SXilin Wu
371d4b34126SXilin Wu	digitizer@9 {
372d4b34126SXilin Wu		compatible = "wacom,w9013", "hid-over-i2c";
373d4b34126SXilin Wu		reg = <0x9>;
374d4b34126SXilin Wu		pinctrl-names = "default";
375d4b34126SXilin Wu		pinctrl-0 = <&pen_irq_l>, <&pen_pdct_l>, <&pen_rst_l>;
376d4b34126SXilin Wu
377d4b34126SXilin Wu		post-power-on-delay-ms = <120>;
378d4b34126SXilin Wu
379d4b34126SXilin Wu		interrupt-parent = <&tlmm>;
380d4b34126SXilin Wu		interrupts = <119 IRQ_TYPE_LEVEL_LOW>;
381d4b34126SXilin Wu
382d4b34126SXilin Wu		hid-descr-addr = <0x1>;
383d4b34126SXilin Wu	};
384d4b34126SXilin Wu};
385d4b34126SXilin Wu
386d4b34126SXilin Wu&ipa {
387a9a9e857SAlex Elder	qcom,gsi-loader = "self";
388d4b34126SXilin Wu	memory-region = <&ipa_fw_mem>;
3897d1473d7SDmitry Baryshkov	firmware-name = "qcom/sdm850/samsung/w737/ipa_fws.elf";
390a9a9e857SAlex Elder	status = "okay";
391d4b34126SXilin Wu};
392d4b34126SXilin Wu
393d4b34126SXilin Wu/* No idea why it causes an SError when enabled */
394d4b34126SXilin Wu&llcc {
395d4b34126SXilin Wu	status = "disabled";
396d4b34126SXilin Wu};
397d4b34126SXilin Wu
398d4b34126SXilin Wu&mss_pil {
399d4b34126SXilin Wu	status = "okay";
4007d1473d7SDmitry Baryshkov	firmware-name = "qcom/sdm850/samsung/w737/qcdsp1v2850.mbn", "qcom/sdm850/samsung/w737/qcdsp2850.mbn";
401d4b34126SXilin Wu};
402d4b34126SXilin Wu
403d4b34126SXilin Wu&qup_i2c10_default {
404d4b34126SXilin Wu	drive-strength = <2>;
405d4b34126SXilin Wu	bias-disable;
406d4b34126SXilin Wu};
407d4b34126SXilin Wu
408d4b34126SXilin Wu&qup_i2c11_default {
409d4b34126SXilin Wu	drive-strength = <2>;
410d4b34126SXilin Wu	bias-disable;
411d4b34126SXilin Wu};
412d4b34126SXilin Wu
413d4b34126SXilin Wu&qup_i2c12_default {
414d4b34126SXilin Wu	drive-strength = <2>;
415d4b34126SXilin Wu	bias-disable;
416d4b34126SXilin Wu};
417d4b34126SXilin Wu
418d4b34126SXilin Wu&qupv3_id_0 {
419d4b34126SXilin Wu	status = "okay";
420d4b34126SXilin Wu};
421d4b34126SXilin Wu
422d4b34126SXilin Wu&qupv3_id_1 {
423d4b34126SXilin Wu	status = "okay";
424d4b34126SXilin Wu};
425d4b34126SXilin Wu
426d4b34126SXilin Wu&q6asmdai {
427d4b34126SXilin Wu	dai@0 {
428d4b34126SXilin Wu		reg = <0>;
429d4b34126SXilin Wu	};
430d4b34126SXilin Wu
431d4b34126SXilin Wu	dai@1 {
432d4b34126SXilin Wu		reg = <1>;
433d4b34126SXilin Wu	};
434d4b34126SXilin Wu
435d4b34126SXilin Wu	dai@2 {
436d4b34126SXilin Wu		reg = <2>;
437d4b34126SXilin Wu	};
438d4b34126SXilin Wu};
439d4b34126SXilin Wu
440d4b34126SXilin Wu&sound {
441d4b34126SXilin Wu	compatible = "qcom,sdm845-sndcard";
442d4b34126SXilin Wu	model = "Samsung-W737";
443d4b34126SXilin Wu
444d4b34126SXilin Wu	audio-routing =
445d4b34126SXilin Wu		"RX_BIAS", "MCLK",
446d4b34126SXilin Wu		"AMIC2", "MIC BIAS2",
447d4b34126SXilin Wu		"SpkrLeft IN", "SPK1 OUT",
448d4b34126SXilin Wu		"SpkrRight IN", "SPK2 OUT",
449d4b34126SXilin Wu		"MM_DL1",  "MultiMedia1 Playback",
450d4b34126SXilin Wu		"MM_DL3",  "MultiMedia3 Playback",
451d4b34126SXilin Wu		"MultiMedia2 Capture", "MM_UL2";
452d4b34126SXilin Wu
453d4b34126SXilin Wu	mm1-dai-link {
454d4b34126SXilin Wu		link-name = "MultiMedia1";
455d4b34126SXilin Wu		cpu {
456d4b34126SXilin Wu			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
457d4b34126SXilin Wu		};
458d4b34126SXilin Wu	};
459d4b34126SXilin Wu
460d4b34126SXilin Wu	mm2-dai-link {
461d4b34126SXilin Wu		link-name = "MultiMedia2";
462d4b34126SXilin Wu		cpu {
463d4b34126SXilin Wu			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
464d4b34126SXilin Wu		};
465d4b34126SXilin Wu	};
466d4b34126SXilin Wu
467d4b34126SXilin Wu	mm3-dai-link {
468d4b34126SXilin Wu		link-name = "MultiMedia3";
469d4b34126SXilin Wu		cpu {
470d4b34126SXilin Wu			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
471d4b34126SXilin Wu		};
472d4b34126SXilin Wu	};
473d4b34126SXilin Wu
474d4b34126SXilin Wu	slim-dai-link {
475d4b34126SXilin Wu		link-name = "SLIM Playback";
476d4b34126SXilin Wu		cpu {
477d4b34126SXilin Wu			sound-dai = <&q6afedai SLIMBUS_0_RX>;
478d4b34126SXilin Wu		};
479d4b34126SXilin Wu
480d4b34126SXilin Wu		platform {
481d4b34126SXilin Wu			sound-dai = <&q6routing>;
482d4b34126SXilin Wu		};
483d4b34126SXilin Wu
484d4b34126SXilin Wu		codec {
485d4b34126SXilin Wu			sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>;
486d4b34126SXilin Wu		};
487d4b34126SXilin Wu	};
488d4b34126SXilin Wu
489d4b34126SXilin Wu	slimcap-dai-link {
490d4b34126SXilin Wu		link-name = "SLIM Capture";
491d4b34126SXilin Wu		cpu {
492d4b34126SXilin Wu			sound-dai = <&q6afedai SLIMBUS_0_TX>;
493d4b34126SXilin Wu		};
494d4b34126SXilin Wu
495d4b34126SXilin Wu		platform {
496d4b34126SXilin Wu			sound-dai = <&q6routing>;
497d4b34126SXilin Wu		};
498d4b34126SXilin Wu
499d4b34126SXilin Wu		codec {
500d4b34126SXilin Wu			sound-dai = <&wcd9340 1>;
501d4b34126SXilin Wu		};
502d4b34126SXilin Wu	};
503d4b34126SXilin Wu
504d4b34126SXilin Wu	slim-wcd-dai-link {
505d4b34126SXilin Wu		link-name = "SLIM WCD Playback";
506d4b34126SXilin Wu		cpu {
507d4b34126SXilin Wu			sound-dai = <&q6afedai SLIMBUS_1_RX>;
508d4b34126SXilin Wu		};
509d4b34126SXilin Wu
510d4b34126SXilin Wu		platform {
511d4b34126SXilin Wu			sound-dai = <&q6routing>;
512d4b34126SXilin Wu		};
513d4b34126SXilin Wu
514d4b34126SXilin Wu		codec {
515d4b34126SXilin Wu			sound-dai = <&wcd9340 2>;
516d4b34126SXilin Wu		};
517d4b34126SXilin Wu	};
518d4b34126SXilin Wu};
519d4b34126SXilin Wu
520d4b34126SXilin Wu&tlmm {
521d4b34126SXilin Wu	gpio-reserved-ranges = <0 6>, <85 4>;
522d4b34126SXilin Wu
523d05e3428SKrzysztof Kozlowski	pen_irq_l: pen-irq-l-state {
524d4b34126SXilin Wu		pins = "gpio119";
525d4b34126SXilin Wu		function = "gpio";
526d4b34126SXilin Wu		bias-disable;
527d4b34126SXilin Wu	};
528d4b34126SXilin Wu
529d05e3428SKrzysztof Kozlowski	pen_pdct_l: pen-pdct-l-state {
530d4b34126SXilin Wu		pins = "gpio124";
531d4b34126SXilin Wu		function = "gpio";
532d4b34126SXilin Wu		bias-disable;
533d4b34126SXilin Wu		drive-strength = <2>;
534d4b34126SXilin Wu		output-high;
535d4b34126SXilin Wu	};
536d4b34126SXilin Wu
537d05e3428SKrzysztof Kozlowski	pen_rst_l: pen-rst-l-state {
538d4b34126SXilin Wu		pins = "gpio21";
539d4b34126SXilin Wu		function = "gpio";
540d4b34126SXilin Wu		bias-disable;
541d4b34126SXilin Wu		drive-strength = <2>;
542d4b34126SXilin Wu
543d4b34126SXilin Wu		/*
544d4b34126SXilin Wu		 * The pen driver doesn't currently support
545d4b34126SXilin Wu		 * driving this reset line.  By specifying
546d4b34126SXilin Wu		 * output-high here we're relying on the fact
547d4b34126SXilin Wu		 * that this pin has a default pulldown at boot
548d4b34126SXilin Wu		 * (which makes sure the pen was in reset if it
549d4b34126SXilin Wu		 * was powered) and then we set it high here to
550d4b34126SXilin Wu		 * take it out of reset.  Better would be if the
551d4b34126SXilin Wu		 * pen driver could control this and we could
552d4b34126SXilin Wu		 * remove "output-high" here.
553d4b34126SXilin Wu		 */
554d4b34126SXilin Wu		output-high;
555d4b34126SXilin Wu	};
556d4b34126SXilin Wu};
557d4b34126SXilin Wu
558d4b34126SXilin Wu&uart6 {
559d05e3428SKrzysztof Kozlowski	pinctrl-names = "default";
560d05e3428SKrzysztof Kozlowski	pinctrl-0 = <&qup_uart6_4pin>;
561d4b34126SXilin Wu	status = "okay";
562d4b34126SXilin Wu
563d4b34126SXilin Wu	bluetooth {
564d4b34126SXilin Wu		compatible = "qcom,wcn3990-bt";
565d4b34126SXilin Wu
566d4b34126SXilin Wu		vddio-supply = <&vreg_s4a_1p8>;
567d4b34126SXilin Wu		vddxo-supply = <&vreg_l7a_1p8>;
568d4b34126SXilin Wu		vddrf-supply = <&vreg_l17a_1p3>;
569d4b34126SXilin Wu		vddch0-supply = <&vreg_l25a_3p3>;
570d4b34126SXilin Wu		vddch1-supply = <&vreg_l23a_3p3>;
571d4b34126SXilin Wu		max-speed = <3200000>;
572d4b34126SXilin Wu	};
573d4b34126SXilin Wu};
574d4b34126SXilin Wu
575d4b34126SXilin Wu&ufs_mem_hc {
576d4b34126SXilin Wu	status = "okay";
577d4b34126SXilin Wu
578d4b34126SXilin Wu	reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
579d4b34126SXilin Wu
580d4b34126SXilin Wu	vcc-supply = <&vreg_l20a_2p95>;
581d4b34126SXilin Wu	vcc-max-microamp = <600000>;
582d4b34126SXilin Wu};
583d4b34126SXilin Wu
584d4b34126SXilin Wu&ufs_mem_phy {
585d4b34126SXilin Wu	status = "okay";
586d4b34126SXilin Wu
587d4b34126SXilin Wu	vdda-phy-supply = <&vdda_ufs1_core>;
588d4b34126SXilin Wu	vdda-pll-supply = <&vdda_ufs1_1p2>;
589d4b34126SXilin Wu};
590d4b34126SXilin Wu
591d4b34126SXilin Wu&usb_1 {
592d4b34126SXilin Wu	status = "okay";
593d4b34126SXilin Wu};
594d4b34126SXilin Wu
595d4b34126SXilin Wu&usb_1_dwc3 {
596d4b34126SXilin Wu	dr_mode = "host";
597d4b34126SXilin Wu};
598d4b34126SXilin Wu
599d4b34126SXilin Wu&usb_1_hsphy {
600d4b34126SXilin Wu	status = "okay";
601d4b34126SXilin Wu
602d4b34126SXilin Wu	vdd-supply = <&vdda_usb1_ss_core>;
603d4b34126SXilin Wu	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
604d4b34126SXilin Wu	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
605d4b34126SXilin Wu
606d4b34126SXilin Wu	qcom,imp-res-offset-value = <8>;
607d4b34126SXilin Wu	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
608d4b34126SXilin Wu	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
609d4b34126SXilin Wu	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
610d4b34126SXilin Wu};
611d4b34126SXilin Wu
612d4b34126SXilin Wu&usb_1_qmpphy {
613d4b34126SXilin Wu	status = "okay";
614d4b34126SXilin Wu
615d4b34126SXilin Wu	vdda-phy-supply = <&vdda_usb1_ss_1p2>;
616d4b34126SXilin Wu	vdda-pll-supply = <&vdda_usb1_ss_core>;
617d4b34126SXilin Wu};
618d4b34126SXilin Wu
619d4b34126SXilin Wu&usb_2 {
620d4b34126SXilin Wu	status = "okay";
621d4b34126SXilin Wu};
622d4b34126SXilin Wu
623d4b34126SXilin Wu&usb_2_dwc3 {
624d4b34126SXilin Wu	dr_mode = "host";
625d4b34126SXilin Wu};
626d4b34126SXilin Wu
627d4b34126SXilin Wu&usb_2_hsphy {
628d4b34126SXilin Wu	status = "okay";
629d4b34126SXilin Wu
630d4b34126SXilin Wu	vdd-supply = <&vdda_usb2_ss_core>;
631d4b34126SXilin Wu	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
632d4b34126SXilin Wu	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
633d4b34126SXilin Wu
634d4b34126SXilin Wu	qcom,imp-res-offset-value = <8>;
635d4b34126SXilin Wu	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
636d4b34126SXilin Wu};
637d4b34126SXilin Wu
638d4b34126SXilin Wu&usb_2_qmpphy {
639d4b34126SXilin Wu	status = "okay";
640d4b34126SXilin Wu
641d4b34126SXilin Wu	vdda-phy-supply = <&vdda_usb2_ss_1p2>;
642d4b34126SXilin Wu	vdda-pll-supply = <&vdda_usb2_ss_core>;
643d4b34126SXilin Wu};
644d4b34126SXilin Wu
645d4b34126SXilin Wu&venus {
646d4b34126SXilin Wu	status = "okay";
6477d1473d7SDmitry Baryshkov	firmware-name = "qcom/sdm850/samsung/w737/qcvss850.mbn";
648d4b34126SXilin Wu};
649d4b34126SXilin Wu
650d4b34126SXilin Wu&wcd9340 {
65136c9d012SKrzysztof Kozlowski	reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
652d4b34126SXilin Wu	vdd-buck-supply = <&vreg_s4a_1p8>;
653d4b34126SXilin Wu	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
654d4b34126SXilin Wu	vdd-tx-supply = <&vreg_s4a_1p8>;
655d4b34126SXilin Wu	vdd-rx-supply = <&vreg_s4a_1p8>;
656d4b34126SXilin Wu	vdd-io-supply = <&vreg_s4a_1p8>;
657d4b34126SXilin Wu	qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
658d4b34126SXilin Wu	qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
659d4b34126SXilin Wu	qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
660d4b34126SXilin Wu
661d4b34126SXilin Wu	swm: swm@c85 {
662bd35f4b0SSrinivasa Rao Mandadapu		left_spkr: speaker@0,3 {
663d4b34126SXilin Wu			compatible = "sdw10217211000";
664d4b34126SXilin Wu			reg = <0 3>;
6655b91fab8SKrzysztof Kozlowski			powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_LOW>;
666d4b34126SXilin Wu			#thermal-sensor-cells = <0>;
667d4b34126SXilin Wu			sound-name-prefix = "SpkrLeft";
668d4b34126SXilin Wu			#sound-dai-cells = <0>;
669d4b34126SXilin Wu		};
670d4b34126SXilin Wu
671bd35f4b0SSrinivasa Rao Mandadapu		right_spkr: speaker@0,4 {
672d4b34126SXilin Wu			compatible = "sdw10217211000";
6735b91fab8SKrzysztof Kozlowski			powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_LOW>;
674d4b34126SXilin Wu			reg = <0 4>;
675d4b34126SXilin Wu			#thermal-sensor-cells = <0>;
676d4b34126SXilin Wu			sound-name-prefix = "SpkrRight";
677d4b34126SXilin Wu			#sound-dai-cells = <0>;
678d4b34126SXilin Wu		};
679d4b34126SXilin Wu	};
680d4b34126SXilin Wu};
681d4b34126SXilin Wu
682d4b34126SXilin Wu&wifi {
683d4b34126SXilin Wu	status = "okay";
684d4b34126SXilin Wu
685d4b34126SXilin Wu	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
686d4b34126SXilin Wu	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
687d4b34126SXilin Wu	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
688d4b34126SXilin Wu	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
689d4b34126SXilin Wu	vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;
690d4b34126SXilin Wu
691d4b34126SXilin Wu	qcom,snoc-host-cap-8bit-quirk;
692d4b34126SXilin Wu};
693