xref: /linux/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4 */
5
6/dts-v1/;
7
8#include "hamoa-iot-som.dtsi"
9
10/ {
11	model = "Qualcomm Technologies, Inc. Hamoa IoT EVK";
12	compatible = "qcom,hamoa-iot-evk", "qcom,hamoa-iot-som", "qcom,x1e80100";
13	chassis-type = "embedded";
14
15	aliases {
16		serial0 = &uart21;
17		serial1 = &uart14;
18	};
19
20	wcd938x: audio-codec {
21		compatible = "qcom,wcd9385-codec";
22
23		pinctrl-0 = <&wcd_default>;
24		pinctrl-names = "default";
25
26		reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
27
28		qcom,micbias1-microvolt = <1800000>;
29		qcom,micbias2-microvolt = <1800000>;
30		qcom,micbias3-microvolt = <1800000>;
31		qcom,micbias4-microvolt = <1800000>;
32		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000
33							 500000 500000 500000 500000>;
34		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
35		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
36		qcom,rx-device = <&wcd_rx>;
37		qcom,tx-device = <&wcd_tx>;
38
39		vdd-buck-supply = <&vreg_l15b_1p8>;
40		vdd-rxtx-supply = <&vreg_l15b_1p8>;
41		vdd-io-supply = <&vreg_l15b_1p8>;
42		vdd-mic-bias-supply = <&vreg_bob1>;
43
44		#sound-dai-cells = <1>;
45	};
46
47	chosen {
48		stdout-path = "serial0:115200n8";
49	};
50
51	pmic-glink {
52		compatible = "qcom,x1e80100-pmic-glink",
53			     "qcom,sm8550-pmic-glink",
54			     "qcom,pmic-glink";
55		#address-cells = <1>;
56		#size-cells = <0>;
57		orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
58				    <&tlmm 123 GPIO_ACTIVE_HIGH>,
59				    <&tlmm 125 GPIO_ACTIVE_HIGH>;
60
61		connector@0 {
62			compatible = "usb-c-connector";
63			reg = <0>;
64			power-role = "dual";
65			data-role = "dual";
66
67			ports {
68				#address-cells = <1>;
69				#size-cells = <0>;
70
71				port@0 {
72					reg = <0>;
73
74					pmic_glink_ss0_hs_in: endpoint {
75						remote-endpoint = <&usb_1_ss0_dwc3_hs>;
76					};
77				};
78
79				port@1 {
80					reg = <1>;
81
82					pmic_glink_ss0_ss_in: endpoint {
83						remote-endpoint = <&usb_1_ss0_qmpphy_out>;
84					};
85				};
86
87				port@2 {
88					reg = <2>;
89
90					pmic_glink_ss0_sbu: endpoint {
91						remote-endpoint = <&usb_1_ss0_sbu_mux>;
92					};
93				};
94			};
95		};
96
97		connector@1 {
98			compatible = "usb-c-connector";
99			reg = <1>;
100			power-role = "dual";
101			data-role = "dual";
102
103			ports {
104				#address-cells = <1>;
105				#size-cells = <0>;
106
107				port@0 {
108					reg = <0>;
109
110					pmic_glink_ss1_hs_in: endpoint {
111						remote-endpoint = <&usb_1_ss1_dwc3_hs>;
112					};
113				};
114
115				port@1 {
116					reg = <1>;
117
118					pmic_glink_ss1_ss_in: endpoint {
119						remote-endpoint = <&retimer_ss1_ss_out>;
120					};
121				};
122
123				port@2 {
124					reg = <2>;
125
126					pmic_glink_ss1_con_sbu_in: endpoint {
127						remote-endpoint = <&retimer_ss1_con_sbu_out>;
128					};
129				};
130			};
131		};
132
133		connector@2 {
134			compatible = "usb-c-connector";
135			reg = <2>;
136			power-role = "dual";
137			data-role = "dual";
138
139			ports {
140				#address-cells = <1>;
141				#size-cells = <0>;
142
143				port@0 {
144					reg = <0>;
145
146					pmic_glink_ss2_hs_in: endpoint {
147						remote-endpoint = <&usb_1_ss2_dwc3_hs>;
148					};
149				};
150
151				port@1 {
152					reg = <1>;
153
154					pmic_glink_ss2_ss_in: endpoint {
155						remote-endpoint = <&retimer_ss2_ss_out>;
156					};
157				};
158
159				port@2 {
160					reg = <2>;
161
162					pmic_glink_ss2_con_sbu_in: endpoint {
163						remote-endpoint = <&retimer_ss2_con_sbu_out>;
164					};
165				};
166			};
167		};
168	};
169
170	vreg_edp_3p3: regulator-edp-3p3 {
171		compatible = "regulator-fixed";
172
173		regulator-name = "VREG_EDP_3P3";
174		regulator-min-microvolt = <3300000>;
175		regulator-max-microvolt = <3300000>;
176
177		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
178		enable-active-high;
179
180		pinctrl-0 = <&edp_reg_en>;
181		pinctrl-names = "default";
182
183		regulator-boot-on;
184	};
185
186	vreg_nvme: regulator-nvme {
187		compatible = "regulator-fixed";
188
189		regulator-name = "VREG_NVME_3P3";
190		regulator-min-microvolt = <3300000>;
191		regulator-max-microvolt = <3300000>;
192
193		gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
194		enable-active-high;
195
196		pinctrl-0 = <&nvme_reg_en>;
197		pinctrl-names = "default";
198
199		regulator-boot-on;
200	};
201
202	/* Left unused as the retimer is not used on this board. */
203	vreg_rtmr0_1p15: regulator-rtmr0-1p15 {
204		compatible = "regulator-fixed";
205
206		regulator-name = "VREG_RTMR0_1P15";
207		regulator-min-microvolt = <1150000>;
208		regulator-max-microvolt = <1150000>;
209
210		gpio = <&pmc8380_5_gpios 8 GPIO_ACTIVE_HIGH>;
211		enable-active-high;
212
213		pinctrl-0 = <&usb0_pwr_1p15_reg_en>;
214		pinctrl-names = "default";
215
216		regulator-boot-on;
217	};
218
219	vreg_rtmr0_1p8: regulator-rtmr0-1p8 {
220		compatible = "regulator-fixed";
221
222		regulator-name = "VREG_RTMR0_1P8";
223		regulator-min-microvolt = <1800000>;
224		regulator-max-microvolt = <1800000>;
225
226		gpio = <&pm8550ve_9_gpios 8 GPIO_ACTIVE_HIGH>;
227		enable-active-high;
228
229		pinctrl-0 = <&usb0_1p8_reg_en>;
230		pinctrl-names = "default";
231
232		regulator-boot-on;
233	};
234
235	vreg_rtmr0_3p3: regulator-rtmr0-3p3 {
236		compatible = "regulator-fixed";
237
238		regulator-name = "VREG_RTMR0_3P3";
239		regulator-min-microvolt = <3300000>;
240		regulator-max-microvolt = <3300000>;
241
242		gpio = <&pm8550_gpios 11 GPIO_ACTIVE_HIGH>;
243		enable-active-high;
244
245		pinctrl-0 = <&usb0_3p3_reg_en>;
246		pinctrl-names = "default";
247
248		regulator-boot-on;
249	};
250
251	vreg_rtmr1_1p15: regulator-rtmr1-1p15 {
252		compatible = "regulator-fixed";
253
254		regulator-name = "VREG_RTMR1_1P15";
255		regulator-min-microvolt = <1150000>;
256		regulator-max-microvolt = <1150000>;
257
258		gpio = <&tlmm 188 GPIO_ACTIVE_HIGH>;
259		enable-active-high;
260
261		pinctrl-0 = <&usb1_pwr_1p15_reg_en>;
262		pinctrl-names = "default";
263
264		regulator-boot-on;
265	};
266
267	vreg_rtmr1_1p8: regulator-rtmr1-1p8 {
268		compatible = "regulator-fixed";
269
270		regulator-name = "VREG_RTMR1_1P8";
271		regulator-min-microvolt = <1800000>;
272		regulator-max-microvolt = <1800000>;
273
274		gpio = <&tlmm 175 GPIO_ACTIVE_HIGH>;
275		enable-active-high;
276
277		pinctrl-0 = <&usb1_pwr_1p8_reg_en>;
278		pinctrl-names = "default";
279
280		regulator-boot-on;
281	};
282
283	vreg_rtmr1_3p3: regulator-rtmr1-3p3 {
284		compatible = "regulator-fixed";
285
286		regulator-name = "VREG_RTMR1_3P3";
287		regulator-min-microvolt = <3300000>;
288		regulator-max-microvolt = <3300000>;
289
290		gpio = <&tlmm 186 GPIO_ACTIVE_HIGH>;
291		enable-active-high;
292
293		pinctrl-0 = <&usb1_pwr_3p3_reg_en>;
294		pinctrl-names = "default";
295
296		regulator-boot-on;
297	};
298
299	vreg_rtmr2_1p15: regulator-rtmr2-1p15 {
300		compatible = "regulator-fixed";
301
302		regulator-name = "VREG_RTMR2_1P15";
303		regulator-min-microvolt = <1150000>;
304		regulator-max-microvolt = <1150000>;
305
306		gpio = <&tlmm 189 GPIO_ACTIVE_HIGH>;
307		enable-active-high;
308
309		pinctrl-0 = <&usb2_pwr_1p15_reg_en>;
310		pinctrl-names = "default";
311
312		regulator-boot-on;
313	};
314
315	vreg_rtmr2_1p8: regulator-rtmr2-1p8 {
316		compatible = "regulator-fixed";
317
318		regulator-name = "VREG_RTMR2_1P8";
319		regulator-min-microvolt = <1800000>;
320		regulator-max-microvolt = <1800000>;
321
322		gpio = <&tlmm 126 GPIO_ACTIVE_HIGH>;
323		enable-active-high;
324
325		pinctrl-0 = <&usb2_pwr_1p8_reg_en>;
326		pinctrl-names = "default";
327
328		regulator-boot-on;
329	};
330
331	vreg_rtmr2_3p3: regulator-rtmr2-3p3 {
332		compatible = "regulator-fixed";
333
334		regulator-name = "VREG_RTMR2_3P3";
335		regulator-min-microvolt = <3300000>;
336		regulator-max-microvolt = <3300000>;
337
338		gpio = <&tlmm 187 GPIO_ACTIVE_HIGH>;
339		enable-active-high;
340
341		pinctrl-0 = <&usb2_pwr_3p3_reg_en>;
342		pinctrl-names = "default";
343
344		regulator-boot-on;
345	};
346
347	vph_pwr: regulator-vph-pwr {
348		compatible = "regulator-fixed";
349
350		regulator-name = "vph_pwr";
351		regulator-min-microvolt = <3700000>;
352		regulator-max-microvolt = <3700000>;
353
354		regulator-always-on;
355		regulator-boot-on;
356	};
357
358	/*
359	 * TODO: These two regulators are actually part of the removable M.2
360	 * card and not the EVK mainboard. Need to describe this differently.
361	 * Functionally it works correctly, because all we need to do is to
362	 * turn on the actual 3.3V supply above.
363	 */
364	vreg_wcn_0p95: regulator-wcn-0p95 {
365		compatible = "regulator-fixed";
366
367		regulator-name = "VREG_WCN_0P95";
368		regulator-min-microvolt = <950000>;
369		regulator-max-microvolt = <950000>;
370
371		vin-supply = <&vreg_wcn_3p3>;
372	};
373
374	vreg_wcn_1p9: regulator-wcn-1p9 {
375		compatible = "regulator-fixed";
376
377		regulator-name = "VREG_WCN_1P9";
378		regulator-min-microvolt = <1900000>;
379		regulator-max-microvolt = <1900000>;
380
381		vin-supply = <&vreg_wcn_3p3>;
382	};
383
384	vreg_wcn_3p3: regulator-wcn-3p3 {
385		compatible = "regulator-fixed";
386
387		regulator-name = "VREG_WCN_3P3";
388		regulator-min-microvolt = <3300000>;
389		regulator-max-microvolt = <3300000>;
390
391		gpio = <&tlmm 214 GPIO_ACTIVE_HIGH>;
392		enable-active-high;
393
394		pinctrl-0 = <&wcn_sw_en>;
395		pinctrl-names = "default";
396
397		regulator-always-on;
398		regulator-boot-on;
399	};
400
401	vreg_wwan: regulator-wwan {
402		compatible = "regulator-fixed";
403
404		regulator-name = "SDX_VPH_PWR";
405		regulator-min-microvolt = <3300000>;
406		regulator-max-microvolt = <3300000>;
407
408		gpio = <&tlmm 221 GPIO_ACTIVE_HIGH>;
409		enable-active-high;
410
411		pinctrl-0 = <&wwan_sw_en>;
412		pinctrl-names = "default";
413
414		regulator-boot-on;
415	};
416
417	sound {
418		compatible = "qcom,x1e80100-sndcard";
419		model = "X1E80100-EVK";
420		audio-routing = "WooferLeft IN", "WSA WSA_SPK1 OUT",
421				"TweeterLeft IN", "WSA WSA_SPK2 OUT",
422				"WooferRight IN", "WSA2 WSA_SPK2 OUT",
423				"TweeterRight IN", "WSA2 WSA_SPK2 OUT",
424				"IN1_HPHL", "HPHL_OUT",
425				"IN2_HPHR", "HPHR_OUT",
426				"AMIC2", "MIC BIAS2",
427				"VA DMIC0", "MIC BIAS3",
428				"VA DMIC1", "MIC BIAS3",
429				"VA DMIC2", "MIC BIAS1",
430				"VA DMIC3", "MIC BIAS1",
431				"TX SWR_INPUT1", "ADC2_OUTPUT";
432
433		wcd-playback-dai-link {
434			link-name = "WCD Playback";
435
436			codec {
437				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
438			};
439
440			cpu {
441				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
442			};
443
444			platform {
445				sound-dai = <&q6apm>;
446			};
447		};
448
449		wcd-capture-dai-link {
450			link-name = "WCD Capture";
451
452			codec {
453				sound-dai = <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>;
454			};
455
456			cpu {
457				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
458			};
459
460			platform {
461				sound-dai = <&q6apm>;
462			};
463		};
464
465		wsa-dai-link {
466			link-name = "WSA Playback";
467
468			codec {
469				sound-dai = <&left_woofer>,
470					    <&left_tweeter>,
471					    <&swr0 0>,
472					    <&lpass_wsamacro 0>,
473					    <&right_woofer>,
474					    <&right_tweeter>,
475					    <&swr3 0>,
476					    <&lpass_wsa2macro 0>;
477			};
478
479			cpu {
480				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
481			};
482
483			platform {
484				sound-dai = <&q6apm>;
485			};
486		};
487
488		va-dai-link {
489			link-name = "VA Capture";
490
491			codec {
492				sound-dai = <&lpass_vamacro 0>;
493			};
494
495			cpu {
496				sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
497			};
498
499			platform {
500				sound-dai = <&q6apm>;
501			};
502		};
503	};
504
505	usb-1-ss0-sbu-mux {
506		compatible = "onnn,fsusb42", "gpio-sbu-mux";
507
508		enable-gpios = <&tlmm 168 GPIO_ACTIVE_LOW>;
509		select-gpios = <&tlmm 167 GPIO_ACTIVE_HIGH>;
510
511		pinctrl-0 = <&usb_1_ss0_sbu_default>;
512		pinctrl-names = "default";
513
514		mode-switch;
515		orientation-switch;
516
517		port {
518			usb_1_ss0_sbu_mux: endpoint {
519				remote-endpoint = <&pmic_glink_ss0_sbu>;
520			};
521		};
522	};
523
524	wcn7850-pmu {
525		compatible = "qcom,wcn7850-pmu";
526
527		vdd-supply = <&vreg_wcn_0p95>;
528		vddio-supply = <&vreg_l15b_1p8>;
529		vddaon-supply = <&vreg_wcn_0p95>;
530		vdddig-supply = <&vreg_wcn_0p95>;
531		vddrfa1p2-supply = <&vreg_wcn_1p9>;
532		vddrfa1p8-supply = <&vreg_wcn_1p9>;
533
534		bt-enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>;
535		wlan-enable-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
536
537		pinctrl-0 = <&wcn_bt_en>;
538		pinctrl-names = "default";
539
540		regulators {
541			vreg_pmu_rfa_cmn: ldo0 {
542				regulator-name = "vreg_pmu_rfa_cmn";
543			};
544
545			vreg_pmu_aon_0p59: ldo1 {
546				regulator-name = "vreg_pmu_aon_0p59";
547			};
548
549			vreg_pmu_wlcx_0p8: ldo2 {
550				regulator-name = "vreg_pmu_wlcx_0p8";
551			};
552
553			vreg_pmu_wlmx_0p85: ldo3 {
554				regulator-name = "vreg_pmu_wlmx_0p85";
555			};
556
557			vreg_pmu_btcmx_0p85: ldo4 {
558				regulator-name = "vreg_pmu_btcmx_0p85";
559			};
560
561			vreg_pmu_rfa_0p8: ldo5 {
562				regulator-name = "vreg_pmu_rfa_0p8";
563			};
564
565			vreg_pmu_rfa_1p2: ldo6 {
566				regulator-name = "vreg_pmu_rfa_1p2";
567			};
568
569			vreg_pmu_rfa_1p8: ldo7 {
570				regulator-name = "vreg_pmu_rfa_1p8";
571			};
572
573			vreg_pmu_pcie_0p9: ldo8 {
574				regulator-name = "vreg_pmu_pcie_0p9";
575			};
576
577			vreg_pmu_pcie_1p8: ldo9 {
578				regulator-name = "vreg_pmu_pcie_1p8";
579			};
580		};
581	};
582};
583
584&i2c1 {
585	clock-frequency = <400000>;
586	status = "okay";
587
588	typec-mux@8 {
589		compatible = "parade,ps8830";
590		reg = <0x08>;
591
592		clocks = <&rpmhcc RPMH_RF_CLK5>;
593
594		vdd-supply = <&vreg_rtmr2_1p15>;
595		vdd33-supply = <&vreg_rtmr2_3p3>;
596		vdd33-cap-supply = <&vreg_rtmr2_3p3>;
597		vddar-supply = <&vreg_rtmr2_1p15>;
598		vddat-supply = <&vreg_rtmr2_1p15>;
599		vddio-supply = <&vreg_rtmr2_1p8>;
600
601		reset-gpios = <&tlmm 185 GPIO_ACTIVE_LOW>;
602
603		pinctrl-0 = <&rtmr2_default>;
604		pinctrl-names = "default";
605
606		orientation-switch;
607		retimer-switch;
608
609		ports {
610			#address-cells = <1>;
611			#size-cells = <0>;
612
613			port@0 {
614				reg = <0>;
615
616				retimer_ss2_ss_out: endpoint {
617					remote-endpoint = <&pmic_glink_ss2_ss_in>;
618				};
619			};
620
621			port@1 {
622				reg = <1>;
623
624				retimer_ss2_ss_in: endpoint {
625					remote-endpoint = <&usb_1_ss2_qmpphy_out>;
626				};
627			};
628
629			port@2 {
630				reg = <2>;
631
632				retimer_ss2_con_sbu_out: endpoint {
633					remote-endpoint = <&pmic_glink_ss2_con_sbu_in>;
634				};
635			};
636		};
637	};
638};
639
640&i2c5 {
641	clock-frequency = <400000>;
642
643	status = "okay";
644
645	eusb3_repeater: redriver@47 {
646		compatible = "nxp,ptn3222";
647		reg = <0x47>;
648		#phy-cells = <0>;
649
650		vdd3v3-supply = <&vreg_l13b_3p0>;
651		vdd1v8-supply = <&vreg_l4b_1p8>;
652
653		reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
654
655		pinctrl-0 = <&eusb3_reset_n>;
656		pinctrl-names = "default";
657	};
658
659	eusb5_repeater: redriver@43 {
660		compatible = "nxp,ptn3222";
661		reg = <0x43>;
662		#phy-cells = <0>;
663
664		vdd3v3-supply = <&vreg_l13b_3p0>;
665		vdd1v8-supply = <&vreg_l4b_1p8>;
666
667		reset-gpios = <&tlmm 7 GPIO_ACTIVE_LOW>;
668
669		pinctrl-0 = <&eusb5_reset_n>;
670		pinctrl-names = "default";
671	};
672
673	eusb6_repeater: redriver@4f {
674		compatible = "nxp,ptn3222";
675		reg = <0x4f>;
676		#phy-cells = <0>;
677
678		vdd3v3-supply = <&vreg_l13b_3p0>;
679		vdd1v8-supply = <&vreg_l4b_1p8>;
680
681		reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;
682
683		pinctrl-0 = <&eusb6_reset_n>;
684		pinctrl-names = "default";
685	};
686};
687
688&i2c7 {
689	clock-frequency = <400000>;
690
691	status = "okay";
692
693	typec-mux@8 {
694		compatible = "parade,ps8830";
695		reg = <0x8>;
696
697		clocks = <&rpmhcc RPMH_RF_CLK4>;
698
699		vdd-supply = <&vreg_rtmr1_1p15>;
700		vdd33-supply = <&vreg_rtmr1_3p3>;
701		vdd33-cap-supply = <&vreg_rtmr1_3p3>;
702		vddar-supply = <&vreg_rtmr1_1p15>;
703		vddat-supply = <&vreg_rtmr1_1p15>;
704		vddio-supply = <&vreg_rtmr1_1p8>;
705
706		reset-gpios = <&tlmm 176 GPIO_ACTIVE_LOW>;
707
708		pinctrl-0 = <&rtmr1_default>;
709		pinctrl-names = "default";
710
711		retimer-switch;
712		orientation-switch;
713
714		ports {
715			#address-cells = <1>;
716			#size-cells = <0>;
717
718			port@0 {
719				reg = <0>;
720
721				retimer_ss1_ss_out: endpoint {
722					remote-endpoint = <&pmic_glink_ss1_ss_in>;
723				};
724			};
725
726			port@1 {
727				reg = <1>;
728
729				retimer_ss1_ss_in: endpoint {
730					remote-endpoint = <&usb_1_ss1_qmpphy_out>;
731				};
732			};
733
734			port@2 {
735				reg = <2>;
736
737				retimer_ss1_con_sbu_out: endpoint {
738					remote-endpoint = <&pmic_glink_ss1_con_sbu_in>;
739				};
740			};
741		};
742	};
743};
744
745&lpass_tlmm {
746	spkr_0_sd_n_active: spkr-0-sd-n-active-state {
747		pins = "gpio12";
748		function = "gpio";
749		drive-strength = <16>;
750		bias-disable;
751	};
752
753	spkr_1_sd_n_active: spkr-1-sd-n-active-state {
754		pins = "gpio13";
755		function = "gpio";
756		drive-strength = <16>;
757		bias-disable;
758	};
759
760	spkr_2_sd_n_active: spkr-2-sd-n-active-state {
761		pins = "gpio17";
762		function = "gpio";
763		drive-strength = <16>;
764		bias-disable;
765	};
766
767	spkr_3_sd_n_active: spkr-3-sd-n-active-state {
768		pins = "gpio18";
769		function = "gpio";
770		drive-strength = <16>;
771		bias-disable;
772	};
773};
774
775&lpass_vamacro {
776	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
777	pinctrl-names = "default";
778
779	vdd-micb-supply = <&vreg_l1b_1p8>;
780	qcom,dmic-sample-rate = <4800000>;
781};
782
783&mdss {
784	status = "okay";
785};
786
787&mdss_dp0 {
788	status = "okay";
789};
790
791&mdss_dp0_out {
792	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
793};
794
795&mdss_dp1 {
796	status = "okay";
797};
798
799&mdss_dp1_out {
800	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
801};
802
803&mdss_dp2 {
804	status = "okay";
805};
806
807&mdss_dp2_out {
808	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
809};
810
811&mdss_dp3 {
812	/delete-property/ #sound-dai-cells;
813
814	pinctrl-0 = <&edp0_hpd_default>;
815	pinctrl-names = "default";
816
817	status = "okay";
818
819	aux-bus {
820		panel {
821			compatible = "edp-panel";
822			power-supply = <&vreg_edp_3p3>;
823
824			port {
825				edp_panel_in: endpoint {
826					remote-endpoint = <&mdss_dp3_out>;
827				};
828			};
829		};
830	};
831};
832
833&mdss_dp3_out {
834	data-lanes = <0 1 2 3>;
835	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
836
837	remote-endpoint = <&edp_panel_in>;
838};
839
840&mdss_dp3_phy {
841	vdda-phy-supply = <&vreg_l3j_0p8>;
842	vdda-pll-supply = <&vreg_l2j_1p2>;
843
844	status = "okay";
845};
846
847&pcie6a {
848	vddpe-3v3-supply = <&vreg_nvme>;
849};
850
851&pm8550_gpios {
852	rtmr0_default: rtmr0-reset-n-active-state {
853		pins = "gpio10";
854		function = "normal";
855		power-source = <1>; /* 1.8V */
856		bias-disable;
857		input-disable;
858		output-enable;
859	};
860
861	usb0_3p3_reg_en: usb0-3p3-reg-en-state {
862		pins = "gpio11";
863		function = "normal";
864		power-source = <1>; /* 1.8V */
865		bias-disable;
866		input-disable;
867		output-enable;
868	};
869};
870
871&pm8550ve_9_gpios {
872	usb0_1p8_reg_en: usb0-1p8-reg-en-state {
873		pins = "gpio8";
874		function = "normal";
875		power-source = <1>; /* 1.8V */
876		bias-disable;
877		input-disable;
878		output-enable;
879	};
880};
881
882&pmc8380_5_gpios {
883	usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
884		pins = "gpio8";
885		function = "normal";
886		power-source = <1>; /* 1.8V */
887		bias-disable;
888		input-disable;
889		output-enable;
890	};
891};
892
893&smb2360_0 {
894	status = "okay";
895};
896
897&smb2360_0_eusb2_repeater {
898	vdd18-supply = <&vreg_l3d_1p8>;
899	vdd3-supply = <&vreg_l2b_3p0>;
900};
901
902&smb2360_1 {
903	status = "okay";
904};
905
906&smb2360_1_eusb2_repeater {
907	vdd18-supply = <&vreg_l3d_1p8>;
908	vdd3-supply = <&vreg_l14b_3p0>;
909};
910
911&smb2360_2 {
912	status = "okay";
913};
914
915&smb2360_2_eusb2_repeater {
916	vdd18-supply = <&vreg_l3d_1p8>;
917	vdd3-supply = <&vreg_l8b_3p0>;
918};
919
920&swr0 {
921	status = "okay";
922
923	pinctrl-0 = <&wsa_swr_active>;
924	pinctrl-names = "default";
925
926	/* WSA8845, Left Woofer */
927	left_woofer: speaker@0,0 {
928		compatible = "sdw20217020400";
929		pinctrl-0 = <&spkr_0_sd_n_active>;
930		pinctrl-names = "default";
931		reg = <0 0>;
932		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
933		#sound-dai-cells = <0>;
934		sound-name-prefix = "WooferLeft";
935		vdd-1p8-supply = <&vreg_l15b_1p8>;
936		vdd-io-supply = <&vreg_l12b_1p2>;
937		qcom,port-mapping = <1 2 3 7 10 13>;
938	};
939
940	/* WSA8845, Left Tweeter */
941	left_tweeter: speaker@0,1 {
942		compatible = "sdw20217020400";
943		pinctrl-0 = <&spkr_1_sd_n_active>;
944		pinctrl-names = "default";
945		reg = <0 1>;
946		reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
947		#sound-dai-cells = <0>;
948		sound-name-prefix = "TweeterLeft";
949		vdd-1p8-supply = <&vreg_l15b_1p8>;
950		vdd-io-supply = <&vreg_l12b_1p2>;
951		qcom,port-mapping = <4 5 6 7 11 13>;
952	};
953};
954
955&swr1 {
956	status = "okay";
957
958	/* WCD9385 RX */
959	wcd_rx: codec@0,4 {
960		compatible = "sdw20217010d00";
961		reg = <0 4>;
962		qcom,rx-port-mapping = <1 2 3 4 5>;
963	};
964};
965
966&swr2 {
967	status = "okay";
968
969	/* WCD9385 TX */
970	wcd_tx: codec@0,3 {
971		compatible = "sdw20217010d00";
972		reg = <0 3>;
973		qcom,tx-port-mapping = <2 2 3 4>;
974	};
975};
976
977&swr3 {
978	status = "okay";
979
980	pinctrl-0 = <&wsa2_swr_active>;
981	pinctrl-names = "default";
982
983	/* WSA8845, Right Woofer */
984	right_woofer: speaker@0,0 {
985		compatible = "sdw20217020400";
986		pinctrl-0 = <&spkr_2_sd_n_active>;
987		pinctrl-names = "default";
988		reg = <0 0>;
989		reset-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>;
990		#sound-dai-cells = <0>;
991		sound-name-prefix = "WooferRight";
992		vdd-1p8-supply = <&vreg_l15b_1p8>;
993		vdd-io-supply = <&vreg_l12b_1p2>;
994		qcom,port-mapping = <1 2 3 7 10 13>;
995	};
996
997	/* WSA8845, Right Tweeter */
998	right_tweeter: speaker@0,1 {
999		compatible = "sdw20217020400";
1000		pinctrl-0 = <&spkr_3_sd_n_active>;
1001		pinctrl-names = "default";
1002		reg = <0 1>;
1003		reset-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>;
1004		#sound-dai-cells = <0>;
1005		sound-name-prefix = "TweeterRight";
1006		vdd-1p8-supply = <&vreg_l15b_1p8>;
1007		vdd-io-supply = <&vreg_l12b_1p2>;
1008		qcom,port-mapping = <4 5 6 7 11 13>;
1009	};
1010};
1011
1012&tlmm {
1013	edp_reg_en: edp-reg-en-state {
1014		pins = "gpio70";
1015		function = "gpio";
1016		drive-strength = <16>;
1017		bias-disable;
1018	};
1019
1020	eusb3_reset_n: eusb3-reset-n-state {
1021		pins = "gpio6";
1022		function = "gpio";
1023		drive-strength = <2>;
1024		bias-disable;
1025		output-low;
1026	};
1027
1028	eusb5_reset_n: eusb5-reset-n-state {
1029		pins = "gpio7";
1030		function = "gpio";
1031		drive-strength = <2>;
1032		bias-pull-up;
1033		output-low;
1034	};
1035
1036	eusb6_reset_n: eusb6-reset-n-state {
1037		pins = "gpio184";
1038		function = "gpio";
1039		drive-strength = <2>;
1040		bias-pull-up;
1041		output-low;
1042	};
1043
1044	nvme_reg_en: nvme-reg-en-state {
1045		pins = "gpio18";
1046		function = "gpio";
1047		drive-strength = <2>;
1048		bias-disable;
1049	};
1050
1051	rtmr1_default: rtmr1-reset-n-active-state {
1052		pins = "gpio176";
1053		function = "gpio";
1054		drive-strength = <2>;
1055		bias-disable;
1056	};
1057
1058	rtmr2_default: rtmr2-reset-n-active-state {
1059		pins = "gpio185";
1060		function = "gpio";
1061		drive-strength = <2>;
1062		bias-disable;
1063	};
1064
1065	usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state {
1066		pins = "gpio188";
1067		function = "gpio";
1068		drive-strength = <2>;
1069		bias-disable;
1070	};
1071
1072	usb1_pwr_1p8_reg_en: usb1-pwr-1p8-reg-en-state {
1073		pins = "gpio175";
1074		function = "gpio";
1075		drive-strength = <2>;
1076		bias-disable;
1077	};
1078
1079	usb1_pwr_3p3_reg_en: usb1-pwr-3p3-reg-en-state {
1080		pins = "gpio186";
1081		function = "gpio";
1082		drive-strength = <2>;
1083		bias-disable;
1084	};
1085
1086	usb2_pwr_1p15_reg_en: usb2-pwr-1p15-reg-en-state {
1087		pins = "gpio189";
1088		function = "gpio";
1089		drive-strength = <2>;
1090		bias-disable;
1091	};
1092
1093	usb2_pwr_1p8_reg_en: usb2-pwr-1p8-reg-en-state {
1094		pins = "gpio126";
1095		function = "gpio";
1096		drive-strength = <2>;
1097		bias-disable;
1098	};
1099
1100	usb2_pwr_3p3_reg_en: usb2-pwr-3p3-reg-en-state {
1101		pins = "gpio187";
1102		function = "gpio";
1103		drive-strength = <2>;
1104		bias-disable;
1105	};
1106
1107	usb_1_ss0_sbu_default: usb-1-ss0-sbu-state {
1108		mode-pins {
1109			pins = "gpio166";
1110			function = "gpio";
1111			bias-disable;
1112			drive-strength = <2>;
1113			output-high;
1114		};
1115
1116		oe-n-pins {
1117			pins = "gpio168";
1118			function = "gpio";
1119			bias-disable;
1120			drive-strength = <2>;
1121		};
1122
1123		sel-pins {
1124			pins = "gpio167";
1125			function = "gpio";
1126			bias-disable;
1127			drive-strength = <2>;
1128		};
1129	};
1130
1131	wcd_default: wcd-reset-n-active-state {
1132		pins = "gpio191";
1133		function = "gpio";
1134		drive-strength = <16>;
1135		bias-disable;
1136		output-low;
1137	};
1138
1139	wcn_bt_en: wcn-bt-en-state {
1140		pins = "gpio116";
1141		function = "gpio";
1142		drive-strength = <2>;
1143		bias-disable;
1144	};
1145
1146	wwan_sw_en: wwan-sw-en-state {
1147		pins = "gpio221";
1148		function = "gpio";
1149		drive-strength = <4>;
1150		bias-disable;
1151	};
1152
1153	wcn_sw_en: wcn-sw-en-state {
1154		pins = "gpio214";
1155		function = "gpio";
1156		drive-strength = <2>;
1157		bias-disable;
1158	};
1159
1160	/* Switches USB signal routing between the USB connector and the Wi-Fi card. */
1161	wcn_usb_sw_n: wcn-usb-sw-n-state {
1162		pins = "gpio225";
1163		function = "gpio";
1164		drive-strength = <2>;
1165		bias-disable;
1166		output-high;
1167	};
1168};
1169
1170&uart14 {
1171	status = "okay";
1172
1173	bluetooth {
1174		compatible = "qcom,wcn7850-bt";
1175		max-speed = <3200000>;
1176
1177		vddaon-supply = <&vreg_pmu_aon_0p59>;
1178		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
1179		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
1180		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
1181		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
1182		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
1183		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
1184	};
1185};
1186
1187&uart21 {
1188	compatible = "qcom,geni-debug-uart";
1189
1190	status = "okay";
1191};
1192
1193&usb_1_ss0_dwc3_hs {
1194	remote-endpoint = <&pmic_glink_ss0_hs_in>;
1195};
1196
1197&usb_1_ss0_hsphy {
1198	phys = <&smb2360_0_eusb2_repeater>;
1199};
1200
1201&usb_1_ss0_qmpphy_out {
1202	remote-endpoint = <&pmic_glink_ss0_ss_in>;
1203};
1204
1205&usb_1_ss1_dwc3_hs {
1206	remote-endpoint = <&pmic_glink_ss1_hs_in>;
1207};
1208
1209&usb_1_ss1_hsphy {
1210	phys = <&smb2360_1_eusb2_repeater>;
1211};
1212
1213&usb_1_ss1_qmpphy_out {
1214	remote-endpoint = <&retimer_ss1_ss_in>;
1215};
1216
1217&usb_1_ss2_dwc3_hs {
1218	remote-endpoint = <&pmic_glink_ss2_hs_in>;
1219};
1220
1221&usb_1_ss2_hsphy {
1222	phys = <&smb2360_2_eusb2_repeater>;
1223};
1224
1225&usb_1_ss2_qmpphy_out {
1226	remote-endpoint = <&retimer_ss2_ss_in>;
1227};
1228
1229&usb_2_hsphy {
1230	phys = <&eusb5_repeater>;
1231
1232	pinctrl-0 = <&wcn_usb_sw_n>;
1233	pinctrl-names = "default";
1234};
1235
1236&usb_mp_hsphy0 {
1237	phys = <&eusb3_repeater>;
1238};
1239
1240&usb_mp_hsphy1 {
1241	phys = <&eusb6_repeater>;
1242};
1243