1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Linaro Limited
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9#include "sm8550.dtsi"
10#include "pm8010.dtsi"
11#include "pm8550.dtsi"
12#include "pm8550b.dtsi"
13#include "pm8550ve.dtsi"
14#include "pm8550vs.dtsi"
15#include "pmk8550.dtsi"
16#include "pmr735d.dtsi"
17
18/ {
19	model = "Qualcomm Technologies, Inc. SM8550 MTP";
20	compatible = "qcom,sm8550-mtp", "qcom,sm8550";
21	chassis-type = "handset";
22
23	aliases {
24		serial0 = &uart7;
25	};
26
27	wcd938x: audio-codec {
28		compatible = "qcom,wcd9385-codec";
29
30		pinctrl-names = "default";
31		pinctrl-0 = <&wcd_default>;
32
33		qcom,micbias1-microvolt = <1800000>;
34		qcom,micbias2-microvolt = <1800000>;
35		qcom,micbias3-microvolt = <1800000>;
36		qcom,micbias4-microvolt = <1800000>;
37		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
38		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
39		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
40		qcom,rx-device = <&wcd_rx>;
41		qcom,tx-device = <&wcd_tx>;
42
43		reset-gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
44
45		vdd-buck-supply = <&vreg_l15b_1p8>;
46		vdd-rxtx-supply = <&vreg_l15b_1p8>;
47		vdd-io-supply = <&vreg_l15b_1p8>;
48		vdd-mic-bias-supply = <&vreg_bob1>;
49
50		#sound-dai-cells = <1>;
51	};
52
53	chosen {
54		stdout-path = "serial0:115200n8";
55	};
56
57	pmic-glink {
58		compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink";
59		#address-cells = <1>;
60		#size-cells = <0>;
61
62		connector@0 {
63			compatible = "usb-c-connector";
64			reg = <0>;
65			power-role = "dual";
66			data-role = "dual";
67
68			ports {
69				#address-cells = <1>;
70				#size-cells = <0>;
71
72				port@0 {
73					reg = <0>;
74
75					pmic_glink_hs_in: endpoint {
76						remote-endpoint = <&usb_1_dwc3_hs>;
77					};
78				};
79
80				port@1 {
81					reg = <1>;
82
83					pmic_glink_ss_in: endpoint {
84						remote-endpoint = <&usb_dp_qmpphy_out>;
85					};
86				};
87
88				port@2 {
89					reg = <2>;
90
91					pmic_glink_sbu: endpoint {
92						remote-endpoint = <&fsa4480_sbu_mux>;
93					};
94				};
95			};
96		};
97	};
98
99	sound {
100		compatible = "qcom,sm8550-sndcard", "qcom,sm8450-sndcard";
101		model = "SM8550-MTP";
102		audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
103				"SpkrRight IN", "WSA_SPK2 OUT",
104				"IN1_HPHL", "HPHL_OUT",
105				"IN2_HPHR", "HPHR_OUT",
106				"AMIC2", "MIC BIAS2",
107				"VA DMIC0", "MIC BIAS1",
108				"VA DMIC1", "MIC BIAS1",
109				"VA DMIC2", "MIC BIAS3",
110				"TX DMIC0", "MIC BIAS1",
111				"TX DMIC1", "MIC BIAS2",
112				"TX DMIC2", "MIC BIAS3",
113				"TX SWR_ADC1", "ADC2_OUTPUT";
114
115		wcd-playback-dai-link {
116			link-name = "WCD Playback";
117
118			cpu {
119				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
120			};
121
122			codec {
123				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
124			};
125
126			platform {
127				sound-dai = <&q6apm>;
128			};
129		};
130
131		wcd-capture-dai-link {
132			link-name = "WCD Capture";
133
134			cpu {
135				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
136			};
137
138			codec {
139				sound-dai = <&wcd938x 1>, <&swr2 0>, <&lpass_txmacro 0>;
140			};
141
142			platform {
143				sound-dai = <&q6apm>;
144			};
145		};
146
147		wsa-dai-link {
148			link-name = "WSA Playback";
149
150			cpu {
151				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
152			};
153
154			codec {
155				sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
156			};
157
158			platform {
159				sound-dai = <&q6apm>;
160			};
161		};
162
163		va-dai-link {
164			link-name = "VA Capture";
165
166			cpu {
167				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
168			};
169
170			codec {
171				sound-dai = <&lpass_vamacro 0>;
172			};
173
174			platform {
175				sound-dai = <&q6apm>;
176			};
177		};
178	};
179
180	vph_pwr: vph-pwr-regulator {
181		compatible = "regulator-fixed";
182		regulator-name = "vph_pwr";
183		regulator-min-microvolt = <3700000>;
184		regulator-max-microvolt = <3700000>;
185
186		regulator-always-on;
187		regulator-boot-on;
188	};
189};
190
191&apps_rsc {
192	regulators-0 {
193		compatible = "qcom,pm8550-rpmh-regulators";
194		qcom,pmic-id = "b";
195
196		vdd-bob1-supply = <&vph_pwr>;
197		vdd-bob2-supply = <&vph_pwr>;
198		vdd-l1-l4-l10-supply = <&vreg_s6g_1p8>;
199		vdd-l2-l13-l14-supply = <&vreg_bob1>;
200		vdd-l3-supply = <&vreg_s4g_1p3>;
201		vdd-l5-l16-supply = <&vreg_bob1>;
202		vdd-l6-l7-supply = <&vreg_bob1>;
203		vdd-l8-l9-supply = <&vreg_bob1>;
204		vdd-l11-supply = <&vreg_s4g_1p3>;
205		vdd-l12-supply = <&vreg_s6g_1p8>;
206		vdd-l15-supply = <&vreg_s6g_1p8>;
207		vdd-l17-supply = <&vreg_bob2>;
208
209		vreg_bob1: bob1 {
210			regulator-name = "vreg_bob1";
211			regulator-min-microvolt = <3296000>;
212			regulator-max-microvolt = <3960000>;
213			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
214		};
215
216		vreg_bob2: bob2 {
217			regulator-name = "vreg_bob2";
218			regulator-min-microvolt = <2720000>;
219			regulator-max-microvolt = <3960000>;
220			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
221		};
222
223		vreg_l1b_1p8: ldo1 {
224			regulator-name = "vreg_l1b_1p8";
225			regulator-min-microvolt = <1800000>;
226			regulator-max-microvolt = <1800000>;
227			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
228		};
229
230		vreg_l2b_3p0: ldo2 {
231			regulator-name = "vreg_l2b_3p0";
232			regulator-min-microvolt = <3008000>;
233			regulator-max-microvolt = <3008000>;
234			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
235		};
236
237		vreg_l5b_3p1: ldo5 {
238			regulator-name = "vreg_l5b_3p1";
239			regulator-min-microvolt = <3104000>;
240			regulator-max-microvolt = <3104000>;
241			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
242		};
243
244		vreg_l6b_1p8: ldo6 {
245			regulator-name = "vreg_l6b_1p8";
246			regulator-min-microvolt = <1800000>;
247			regulator-max-microvolt = <3008000>;
248			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
249		};
250
251		vreg_l7b_1p8: ldo7 {
252			regulator-name = "vreg_l7b_1p8";
253			regulator-min-microvolt = <1800000>;
254			regulator-max-microvolt = <3008000>;
255			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
256		};
257
258		vreg_l8b_1p8: ldo8 {
259			regulator-name = "vreg_l8b_1p8";
260			regulator-min-microvolt = <1800000>;
261			regulator-max-microvolt = <3008000>;
262			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
263		};
264
265		vreg_l9b_2p9: ldo9 {
266			regulator-name = "vreg_l9b_2p9";
267			regulator-min-microvolt = <2960000>;
268			regulator-max-microvolt = <3008000>;
269			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
270		};
271
272		vreg_l11b_1p2: ldo11 {
273			regulator-name = "vreg_l11b_1p2";
274			regulator-min-microvolt = <1200000>;
275			regulator-max-microvolt = <1504000>;
276			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
277		};
278
279		vreg_l12b_1p8: ldo12 {
280			regulator-name = "vreg_l12b_1p8";
281			regulator-min-microvolt = <1800000>;
282			regulator-max-microvolt = <1800000>;
283			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
284		};
285
286		vreg_l13b_3p0: ldo13 {
287			regulator-name = "vreg_l13b_3p0";
288			regulator-min-microvolt = <3000000>;
289			regulator-max-microvolt = <3000000>;
290			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
291		};
292
293		vreg_l14b_3p2: ldo14 {
294			regulator-name = "vreg_l14b_3p2";
295			regulator-min-microvolt = <3200000>;
296			regulator-max-microvolt = <3200000>;
297			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
298		};
299
300		vreg_l15b_1p8: ldo15 {
301			regulator-name = "vreg_l15b_1p8";
302			regulator-min-microvolt = <1800000>;
303			regulator-max-microvolt = <1800000>;
304			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305		};
306
307		vreg_l16b_2p8: ldo16 {
308			regulator-name = "vreg_l16b_2p8";
309			regulator-min-microvolt = <2800000>;
310			regulator-max-microvolt = <2800000>;
311			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312		};
313
314		vreg_l17b_2p5: ldo17 {
315			regulator-name = "vreg_l17b_2p5";
316			regulator-min-microvolt = <2504000>;
317			regulator-max-microvolt = <2504000>;
318			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
319		};
320	};
321
322	regulators-1 {
323		compatible = "qcom,pm8550vs-rpmh-regulators";
324		qcom,pmic-id = "c";
325
326		vdd-l3-supply = <&vreg_s4e_0p9>;
327
328		vreg_l3c_0p91: ldo3 {
329			regulator-name = "vreg_l3c_0p9";
330			regulator-min-microvolt = <880000>;
331			regulator-max-microvolt = <912000>;
332			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
333		};
334	};
335
336	regulators-2 {
337		compatible = "qcom,pm8550vs-rpmh-regulators";
338		qcom,pmic-id = "d";
339
340		vdd-l1-supply = <&vreg_s4e_0p9>;
341
342		vreg_l1d_0p88: ldo1 {
343			regulator-name = "vreg_l1d_0p88";
344			regulator-min-microvolt = <880000>;
345			regulator-max-microvolt = <920000>;
346			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
347		};
348	};
349
350	regulators-3 {
351		compatible = "qcom,pm8550vs-rpmh-regulators";
352		qcom,pmic-id = "e";
353
354		vdd-l1-supply = <&vreg_s4e_0p9>;
355		vdd-l2-supply = <&vreg_s4e_0p9>;
356		vdd-l3-supply = <&vreg_s4g_1p3>;
357		vdd-s4-supply = <&vph_pwr>;
358		vdd-s5-supply = <&vph_pwr>;
359
360		vreg_s4e_0p9: smps4 {
361			regulator-name = "vreg_s4e_0p9";
362			regulator-min-microvolt = <904000>;
363			regulator-max-microvolt = <984000>;
364			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
365		};
366
367		vreg_s5e_1p1: smps5 {
368			regulator-name = "vreg_s5e_1p1";
369			regulator-min-microvolt = <1080000>;
370			regulator-max-microvolt = <1120000>;
371			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
372		};
373
374		vreg_l1e_0p88: ldo1 {
375			regulator-name = "vreg_l1e_0p88";
376			regulator-min-microvolt = <880000>;
377			regulator-max-microvolt = <880000>;
378			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
379		};
380
381		vreg_l2e_0p9: ldo2 {
382			regulator-name = "vreg_l2e_0p9";
383			regulator-min-microvolt = <904000>;
384			regulator-max-microvolt = <970000>;
385			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
386		};
387
388		vreg_l3e_1p2: ldo3 {
389			regulator-name = "vreg_l3e_1p2";
390			regulator-min-microvolt = <1200000>;
391			regulator-max-microvolt = <1200000>;
392			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
393		};
394	};
395
396	regulators-4 {
397		compatible = "qcom,pm8550ve-rpmh-regulators";
398		qcom,pmic-id = "f";
399
400		vdd-l1-supply = <&vreg_s4e_0p9>;
401		vdd-l2-supply = <&vreg_s4e_0p9>;
402		vdd-l3-supply = <&vreg_s4e_0p9>;
403		vdd-s4-supply = <&vph_pwr>;
404
405		vreg_s4f_0p5: smps4 {
406			regulator-name = "vreg_s4f_0p5";
407			regulator-min-microvolt = <500000>;
408			regulator-max-microvolt = <700000>;
409			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
410		};
411
412		vreg_l1f_0p9: ldo1 {
413			regulator-name = "vreg_l1f_0p9";
414			regulator-min-microvolt = <912000>;
415			regulator-max-microvolt = <912000>;
416			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
417		};
418
419		vreg_l2f_0p88: ldo2 {
420			regulator-name = "vreg_l2f_0p88";
421			regulator-min-microvolt = <880000>;
422			regulator-max-microvolt = <912000>;
423			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
424		};
425
426		vreg_l3f_0p91: ldo3 {
427			regulator-name = "vreg_l3f_0p91";
428			regulator-min-microvolt = <880000>;
429			regulator-max-microvolt = <912000>;
430			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
431		};
432	};
433
434	regulators-5 {
435		compatible = "qcom,pm8550vs-rpmh-regulators";
436		qcom,pmic-id = "g";
437
438		vdd-l1-supply = <&vreg_s4g_1p3>;
439		vdd-l2-supply = <&vreg_s4g_1p3>;
440		vdd-l3-supply = <&vreg_s4g_1p3>;
441		vdd-s1-supply = <&vph_pwr>;
442		vdd-s2-supply = <&vph_pwr>;
443		vdd-s3-supply = <&vph_pwr>;
444		vdd-s4-supply = <&vph_pwr>;
445		vdd-s5-supply = <&vph_pwr>;
446		vdd-s6-supply = <&vph_pwr>;
447
448		vreg_s1g_1p2: smps1 {
449			regulator-name = "vreg_s1g_1p2";
450			regulator-min-microvolt = <1200000>;
451			regulator-max-microvolt = <1300000>;
452			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
453		};
454
455		vreg_s2g_0p8: smps2 {
456			regulator-name = "vreg_s2g_0p8";
457			regulator-min-microvolt = <800000>;
458			regulator-max-microvolt = <1000000>;
459			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
460		};
461
462		vreg_s3g_0p7: smps3 {
463			regulator-name = "vreg_s3g_0p7";
464			regulator-min-microvolt = <300000>;
465			regulator-max-microvolt = <1004000>;
466			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
467		};
468
469		vreg_s4g_1p3: smps4 {
470			regulator-name = "vreg_s4g_1p3";
471			regulator-min-microvolt = <1200000>;
472			regulator-max-microvolt = <1352000>;
473			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
474		};
475
476		vreg_s5g_0p8: smps5 {
477			regulator-name = "vreg_s5g_0p8";
478			regulator-min-microvolt = <500000>;
479			regulator-max-microvolt = <1004000>;
480			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
481		};
482
483		vreg_s6g_1p8: smps6 {
484			regulator-name = "vreg_s6g_1p8";
485			regulator-min-microvolt = <1800000>;
486			regulator-max-microvolt = <2000000>;
487			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
488		};
489
490		vreg_l1g_1p2: ldo1 {
491			regulator-name = "vreg_l1g_1p2";
492			regulator-min-microvolt = <1200000>;
493			regulator-max-microvolt = <1200000>;
494			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
495		};
496
497		vreg_l2g_1p2: ldo2 {
498			regulator-name = "vreg_l2g_1p2";
499			regulator-min-microvolt = <1200000>;
500			regulator-max-microvolt = <1200000>;
501			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
502		};
503
504		vreg_l3g_1p2: ldo3 {
505			regulator-name = "vreg_l3g_1p2";
506			regulator-min-microvolt = <1200000>;
507			regulator-max-microvolt = <1200000>;
508			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
509		};
510	};
511};
512
513&i2c_master_hub_0 {
514	status = "okay";
515};
516
517&i2c_hub_2 {
518	status = "okay";
519
520	typec-mux@42 {
521		compatible = "fcs,fsa4480";
522		reg = <0x42>;
523
524		vcc-supply = <&vreg_bob1>;
525
526		mode-switch;
527		orientation-switch;
528
529		port {
530			fsa4480_sbu_mux: endpoint {
531				remote-endpoint = <&pmic_glink_sbu>;
532			};
533		};
534	};
535};
536
537&lpass_tlmm {
538	spkr_1_sd_n_active: spkr-1-sd-n-active-state {
539		pins = "gpio17";
540		function = "gpio";
541		drive-strength = <16>;
542		bias-disable;
543		output-low;
544	};
545
546	spkr_2_sd_n_active: spkr-2-sd-n-active-state {
547		pins = "gpio18";
548		function = "gpio";
549		drive-strength = <16>;
550		bias-disable;
551		output-low;
552	};
553};
554
555&mdss {
556	status = "okay";
557};
558
559&mdss_dsi0 {
560	vdda-supply = <&vreg_l3e_1p2>;
561	status = "okay";
562
563	panel@0 {
564		compatible = "visionox,vtdr6130";
565		reg = <0>;
566
567		pinctrl-names = "default", "sleep";
568		pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>;
569		pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>;
570
571		vddio-supply = <&vreg_l12b_1p8>;
572		vci-supply = <&vreg_l13b_3p0>;
573		vdd-supply = <&vreg_l11b_1p2>;
574
575		reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
576
577		port {
578			panel0_in: endpoint {
579				remote-endpoint = <&mdss_dsi0_out>;
580			};
581		};
582	};
583};
584
585&mdss_dsi0_out {
586	remote-endpoint = <&panel0_in>;
587	data-lanes = <0 1 2 3>;
588};
589
590&mdss_dsi0_phy {
591	vdds-supply = <&vreg_l1e_0p88>;
592	status = "okay";
593};
594
595&mdss_dp0 {
596	status = "okay";
597};
598
599&mdss_dp0_out {
600	data-lanes = <0 1>;
601	remote-endpoint = <&usb_dp_qmpphy_dp_in>;
602};
603
604&pcie_1_phy_aux_clk {
605	clock-frequency = <1000>;
606};
607
608&pcie0 {
609	wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
610	perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
611
612	pinctrl-names = "default";
613	pinctrl-0 = <&pcie0_default_state>;
614
615	status = "okay";
616};
617
618&pcie0_phy {
619	vdda-phy-supply = <&vreg_l1e_0p88>;
620	vdda-pll-supply = <&vreg_l3e_1p2>;
621
622	status = "okay";
623};
624
625&pcie1 {
626	wake-gpios = <&tlmm 99 GPIO_ACTIVE_HIGH>;
627	perst-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>;
628
629	pinctrl-names = "default";
630	pinctrl-0 = <&pcie1_default_state>;
631
632	status = "okay";
633};
634
635&pcie1_phy {
636	vdda-phy-supply = <&vreg_l3c_0p91>;
637	vdda-pll-supply = <&vreg_l3e_1p2>;
638	vdda-qref-supply = <&vreg_l1e_0p88>;
639
640	status = "okay";
641};
642
643&pm8550_gpios {
644	sdc2_card_det_n: sdc2-card-det-state {
645		pins = "gpio12";
646		function = "normal";
647		input-enable;
648		output-disable;
649		bias-pull-up;
650		power-source = <1>; /* 1.8 V */
651	};
652};
653
654&pm8550b_eusb2_repeater {
655	vdd18-supply = <&vreg_l15b_1p8>;
656	vdd3-supply = <&vreg_l5b_3p1>;
657};
658
659&qupv3_id_0 {
660	status = "okay";
661};
662
663&remoteproc_adsp {
664	firmware-name = "qcom/sm8550/adsp.mbn",
665			"qcom/sm8550/adsp_dtb.mbn";
666	status = "okay";
667};
668
669&remoteproc_cdsp {
670	firmware-name = "qcom/sm8550/cdsp.mbn",
671			"qcom/sm8550/cdsp_dtb.mbn";
672	status = "okay";
673};
674
675&remoteproc_mpss {
676	firmware-name = "qcom/sm8550/modem.mbn",
677			"qcom/sm8550/modem_dtb.mbn";
678	status = "okay";
679};
680
681&sdhc_2 {
682	cd-gpios = <&pm8550_gpios 12 GPIO_ACTIVE_LOW>;
683	pinctrl-names = "default", "sleep";
684	pinctrl-0 = <&sdc2_default &sdc2_card_det_n>;
685	pinctrl-1 = <&sdc2_sleep &sdc2_card_det_n>;
686	vmmc-supply = <&vreg_l9b_2p9>;
687	vqmmc-supply = <&vreg_l8b_1p8>;
688	bus-width = <4>;
689	no-sdio;
690	no-mmc;
691	status = "okay";
692};
693
694&sleep_clk {
695	clock-frequency = <32000>;
696};
697
698&swr0 {
699	status = "okay";
700
701	/* WSA8845 */
702	left_spkr: speaker@0,0 {
703		compatible = "sdw20217020400";
704		reg = <0 0>;
705		pinctrl-names = "default";
706		pinctrl-0 = <&spkr_1_sd_n_active>;
707		powerdown-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>;
708		#sound-dai-cells = <0>;
709		sound-name-prefix = "SpkrLeft";
710		vdd-1p8-supply = <&vreg_l15b_1p8>;
711		vdd-io-supply = <&vreg_l3g_1p2>;
712	};
713
714	/* WSA8845 */
715	right_spkr: speaker@0,1 {
716		compatible = "sdw20217020400";
717		reg = <0 1>;
718		pinctrl-names = "default";
719		pinctrl-0 = <&spkr_2_sd_n_active>;
720		powerdown-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>;
721		#sound-dai-cells = <0>;
722		sound-name-prefix = "SpkrRight";
723		vdd-1p8-supply = <&vreg_l15b_1p8>;
724		vdd-io-supply = <&vreg_l3g_1p2>;
725	};
726};
727
728&swr1 {
729	status = "okay";
730
731	/* WCD9385 RX */
732	wcd_rx: codec@0,4 {
733		compatible = "sdw20217010d00";
734		reg = <0 4>;
735		qcom,rx-port-mapping = <1 2 3 4 5>;
736	};
737};
738
739&swr2 {
740	status = "okay";
741
742	/* WCD9385 TX */
743	wcd_tx: codec@0,3 {
744		compatible = "sdw20217010d00";
745		reg = <0 3>;
746		qcom,tx-port-mapping = <2 2 3 4>;
747	};
748};
749
750&tlmm {
751	gpio-reserved-ranges = <32 8>;
752
753	sde_dsi_active: sde-dsi-active-state {
754		pins = "gpio133";
755		function = "gpio";
756		drive-strength = <8>;
757		bias-disable;
758	};
759
760	sde_dsi_suspend: sde-dsi-suspend-state {
761		pins = "gpio133";
762		function = "gpio";
763		drive-strength = <2>;
764		bias-pull-down;
765	};
766
767	sde_te_active: sde-te-active-state {
768		pins = "gpio86";
769		function = "mdp_vsync";
770		drive-strength = <2>;
771		bias-pull-down;
772	};
773
774	sde_te_suspend: sde-te-suspend-state {
775		pins = "gpio86";
776		function = "mdp_vsync";
777		drive-strength = <2>;
778		bias-pull-down;
779	};
780
781	wcd_default: wcd-reset-n-active-state {
782		pins = "gpio108";
783		function = "gpio";
784		drive-strength = <16>;
785		bias-disable;
786		output-low;
787	};
788};
789
790&uart7 {
791	status = "okay";
792};
793
794&ufs_mem_hc {
795	reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
796	vcc-supply = <&vreg_l17b_2p5>;
797	vcc-max-microamp = <1300000>;
798	vccq-supply = <&vreg_l1g_1p2>;
799	vccq-max-microamp = <1200000>;
800	vccq2-supply = <&vreg_l3g_1p2>;
801	vccq2-max-microamp = <100>;
802
803	status = "okay";
804};
805
806&ufs_mem_phy {
807	vdda-phy-supply = <&vreg_l1d_0p88>;
808	vdda-pll-supply = <&vreg_l3e_1p2>;
809
810	status = "okay";
811};
812
813&usb_1 {
814	status = "okay";
815};
816
817&usb_1_dwc3 {
818	dr_mode = "otg";
819	usb-role-switch;
820};
821
822&usb_1_dwc3_hs {
823	remote-endpoint = <&pmic_glink_hs_in>;
824};
825
826&usb_1_dwc3_ss {
827	remote-endpoint = <&usb_dp_qmpphy_usb_ss_in>;
828};
829
830&usb_1_hsphy {
831	vdd-supply = <&vreg_l1e_0p88>;
832	vdda12-supply = <&vreg_l3e_1p2>;
833
834	phys = <&pm8550b_eusb2_repeater>;
835
836	status = "okay";
837};
838
839&usb_dp_qmpphy {
840	vdda-phy-supply = <&vreg_l3e_1p2>;
841	vdda-pll-supply = <&vreg_l3f_0p91>;
842
843	orientation-switch;
844
845	status = "okay";
846};
847
848&usb_dp_qmpphy_dp_in {
849	remote-endpoint = <&mdss_dp0_out>;
850};
851
852&usb_dp_qmpphy_out {
853	remote-endpoint = <&pmic_glink_ss_in>;
854};
855
856&usb_dp_qmpphy_usb_ss_in {
857	remote-endpoint = <&usb_1_dwc3_ss>;
858};
859
860&xo_board {
861	clock-frequency = <76800000>;
862};
863