xref: /linux/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts (revision 55a42f78ffd386e01a5404419f8c5ded7db70a21)
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_01_sd_n_active: spkr-01-sd-n-active-state {
747		pins = "gpio12";
748		function = "gpio";
749		drive-strength = <16>;
750		bias-disable;
751		output-low;
752	};
753
754	spkr_23_sd_n_active: spkr-23-sd-n-active-state {
755		pins = "gpio13";
756		function = "gpio";
757		drive-strength = <16>;
758		bias-disable;
759		output-low;
760	};
761};
762
763&lpass_vamacro {
764	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
765	pinctrl-names = "default";
766
767	vdd-micb-supply = <&vreg_l1b_1p8>;
768	qcom,dmic-sample-rate = <4800000>;
769};
770
771&mdss {
772	status = "okay";
773};
774
775&mdss_dp0 {
776	status = "okay";
777};
778
779&mdss_dp0_out {
780	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
781};
782
783&mdss_dp1 {
784	status = "okay";
785};
786
787&mdss_dp1_out {
788	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
789};
790
791&mdss_dp2 {
792	status = "okay";
793};
794
795&mdss_dp2_out {
796	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
797};
798
799&mdss_dp3 {
800	/delete-property/ #sound-dai-cells;
801
802	pinctrl-0 = <&edp0_hpd_default>;
803	pinctrl-names = "default";
804
805	status = "okay";
806
807	aux-bus {
808		panel {
809			compatible = "edp-panel";
810			power-supply = <&vreg_edp_3p3>;
811
812			port {
813				edp_panel_in: endpoint {
814					remote-endpoint = <&mdss_dp3_out>;
815				};
816			};
817		};
818	};
819};
820
821&mdss_dp3_out {
822	data-lanes = <0 1 2 3>;
823	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
824
825	remote-endpoint = <&edp_panel_in>;
826};
827
828&mdss_dp3_phy {
829	vdda-phy-supply = <&vreg_l3j_0p8>;
830	vdda-pll-supply = <&vreg_l2j_1p2>;
831
832	status = "okay";
833};
834
835&pcie6a {
836	vddpe-3v3-supply = <&vreg_nvme>;
837};
838
839&pm8550_gpios {
840	rtmr0_default: rtmr0-reset-n-active-state {
841		pins = "gpio10";
842		function = "normal";
843		power-source = <1>; /* 1.8V */
844		bias-disable;
845		input-disable;
846		output-enable;
847	};
848
849	usb0_3p3_reg_en: usb0-3p3-reg-en-state {
850		pins = "gpio11";
851		function = "normal";
852		power-source = <1>; /* 1.8V */
853		bias-disable;
854		input-disable;
855		output-enable;
856	};
857};
858
859&pm8550ve_9_gpios {
860	usb0_1p8_reg_en: usb0-1p8-reg-en-state {
861		pins = "gpio8";
862		function = "normal";
863		power-source = <1>; /* 1.8V */
864		bias-disable;
865		input-disable;
866		output-enable;
867	};
868};
869
870&pmc8380_5_gpios {
871	usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
872		pins = "gpio8";
873		function = "normal";
874		power-source = <1>; /* 1.8V */
875		bias-disable;
876		input-disable;
877		output-enable;
878	};
879};
880
881&smb2360_0 {
882	status = "okay";
883};
884
885&smb2360_0_eusb2_repeater {
886	vdd18-supply = <&vreg_l3d_1p8>;
887	vdd3-supply = <&vreg_l2b_3p0>;
888};
889
890&smb2360_1 {
891	status = "okay";
892};
893
894&smb2360_1_eusb2_repeater {
895	vdd18-supply = <&vreg_l3d_1p8>;
896	vdd3-supply = <&vreg_l14b_3p0>;
897};
898
899&smb2360_2 {
900	status = "okay";
901};
902
903&smb2360_2_eusb2_repeater {
904	vdd18-supply = <&vreg_l3d_1p8>;
905	vdd3-supply = <&vreg_l8b_3p0>;
906};
907
908&swr0 {
909	status = "okay";
910
911	pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
912	pinctrl-names = "default";
913
914	/* WSA8845, Left Woofer */
915	left_woofer: speaker@0,0 {
916		compatible = "sdw20217020400";
917		reg = <0 0>;
918		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
919		#sound-dai-cells = <0>;
920		sound-name-prefix = "WooferLeft";
921		vdd-1p8-supply = <&vreg_l15b_1p8>;
922		vdd-io-supply = <&vreg_l12b_1p2>;
923		qcom,port-mapping = <1 2 3 7 10 13>;
924	};
925
926	/* WSA8845, Left Tweeter */
927	left_tweeter: speaker@0,1 {
928		compatible = "sdw20217020400";
929		reg = <0 1>;
930		reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
931		#sound-dai-cells = <0>;
932		sound-name-prefix = "TweeterLeft";
933		vdd-1p8-supply = <&vreg_l15b_1p8>;
934		vdd-io-supply = <&vreg_l12b_1p2>;
935		qcom,port-mapping = <4 5 6 7 11 13>;
936	};
937};
938
939&swr1 {
940	status = "okay";
941
942	/* WCD9385 RX */
943	wcd_rx: codec@0,4 {
944		compatible = "sdw20217010d00";
945		reg = <0 4>;
946		qcom,rx-port-mapping = <1 2 3 4 5>;
947	};
948};
949
950&swr2 {
951	status = "okay";
952
953	/* WCD9385 TX */
954	wcd_tx: codec@0,3 {
955		compatible = "sdw20217010d00";
956		reg = <0 3>;
957		qcom,tx-port-mapping = <2 2 3 4>;
958	};
959};
960
961&swr3 {
962	status = "okay";
963
964	pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
965	pinctrl-names = "default";
966
967	/* WSA8845, Right Woofer */
968	right_woofer: speaker@0,0 {
969		compatible = "sdw20217020400";
970		reg = <0 0>;
971		reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
972		#sound-dai-cells = <0>;
973		sound-name-prefix = "WooferRight";
974		vdd-1p8-supply = <&vreg_l15b_1p8>;
975		vdd-io-supply = <&vreg_l12b_1p2>;
976		qcom,port-mapping = <1 2 3 7 10 13>;
977	};
978
979	/* WSA8845, Right Tweeter */
980	right_tweeter: speaker@0,1 {
981		compatible = "sdw20217020400";
982		reg = <0 1>;
983		reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
984		#sound-dai-cells = <0>;
985		sound-name-prefix = "TweeterRight";
986		vdd-1p8-supply = <&vreg_l15b_1p8>;
987		vdd-io-supply = <&vreg_l12b_1p2>;
988		qcom,port-mapping = <4 5 6 7 11 13>;
989	};
990};
991
992&tlmm {
993	edp_reg_en: edp-reg-en-state {
994		pins = "gpio70";
995		function = "gpio";
996		drive-strength = <16>;
997		bias-disable;
998	};
999
1000	eusb3_reset_n: eusb3-reset-n-state {
1001		pins = "gpio6";
1002		function = "gpio";
1003		drive-strength = <2>;
1004		bias-disable;
1005		output-low;
1006	};
1007
1008	eusb5_reset_n: eusb5-reset-n-state {
1009		pins = "gpio7";
1010		function = "gpio";
1011		drive-strength = <2>;
1012		bias-pull-up;
1013		output-low;
1014	};
1015
1016	eusb6_reset_n: eusb6-reset-n-state {
1017		pins = "gpio184";
1018		function = "gpio";
1019		drive-strength = <2>;
1020		bias-pull-up;
1021		output-low;
1022	};
1023
1024	nvme_reg_en: nvme-reg-en-state {
1025		pins = "gpio18";
1026		function = "gpio";
1027		drive-strength = <2>;
1028		bias-disable;
1029	};
1030
1031	rtmr1_default: rtmr1-reset-n-active-state {
1032		pins = "gpio176";
1033		function = "gpio";
1034		drive-strength = <2>;
1035		bias-disable;
1036	};
1037
1038	rtmr2_default: rtmr2-reset-n-active-state {
1039		pins = "gpio185";
1040		function = "gpio";
1041		drive-strength = <2>;
1042		bias-disable;
1043	};
1044
1045	usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state {
1046		pins = "gpio188";
1047		function = "gpio";
1048		drive-strength = <2>;
1049		bias-disable;
1050	};
1051
1052	usb1_pwr_1p8_reg_en: usb1-pwr-1p8-reg-en-state {
1053		pins = "gpio175";
1054		function = "gpio";
1055		drive-strength = <2>;
1056		bias-disable;
1057	};
1058
1059	usb1_pwr_3p3_reg_en: usb1-pwr-3p3-reg-en-state {
1060		pins = "gpio186";
1061		function = "gpio";
1062		drive-strength = <2>;
1063		bias-disable;
1064	};
1065
1066	usb2_pwr_1p15_reg_en: usb2-pwr-1p15-reg-en-state {
1067		pins = "gpio189";
1068		function = "gpio";
1069		drive-strength = <2>;
1070		bias-disable;
1071	};
1072
1073	usb2_pwr_1p8_reg_en: usb2-pwr-1p8-reg-en-state {
1074		pins = "gpio126";
1075		function = "gpio";
1076		drive-strength = <2>;
1077		bias-disable;
1078	};
1079
1080	usb2_pwr_3p3_reg_en: usb2-pwr-3p3-reg-en-state {
1081		pins = "gpio187";
1082		function = "gpio";
1083		drive-strength = <2>;
1084		bias-disable;
1085	};
1086
1087	usb_1_ss0_sbu_default: usb-1-ss0-sbu-state {
1088		mode-pins {
1089			pins = "gpio166";
1090			function = "gpio";
1091			bias-disable;
1092			drive-strength = <2>;
1093			output-high;
1094		};
1095
1096		oe-n-pins {
1097			pins = "gpio168";
1098			function = "gpio";
1099			bias-disable;
1100			drive-strength = <2>;
1101		};
1102
1103		sel-pins {
1104			pins = "gpio167";
1105			function = "gpio";
1106			bias-disable;
1107			drive-strength = <2>;
1108		};
1109	};
1110
1111	wcd_default: wcd-reset-n-active-state {
1112		pins = "gpio191";
1113		function = "gpio";
1114		drive-strength = <16>;
1115		bias-disable;
1116		output-low;
1117	};
1118
1119	wcn_bt_en: wcn-bt-en-state {
1120		pins = "gpio116";
1121		function = "gpio";
1122		drive-strength = <2>;
1123		bias-disable;
1124	};
1125
1126	wwan_sw_en: wwan-sw-en-state {
1127		pins = "gpio221";
1128		function = "gpio";
1129		drive-strength = <4>;
1130		bias-disable;
1131	};
1132
1133	wcn_sw_en: wcn-sw-en-state {
1134		pins = "gpio214";
1135		function = "gpio";
1136		drive-strength = <2>;
1137		bias-disable;
1138	};
1139
1140	/* Switches USB signal routing between the USB connector and the Wi-Fi card. */
1141	wcn_usb_sw_n: wcn-usb-sw-n-state {
1142		pins = "gpio225";
1143		function = "gpio";
1144		drive-strength = <2>;
1145		bias-disable;
1146		output-high;
1147	};
1148};
1149
1150&uart14 {
1151	status = "okay";
1152
1153	bluetooth {
1154		compatible = "qcom,wcn7850-bt";
1155		max-speed = <3200000>;
1156
1157		vddaon-supply = <&vreg_pmu_aon_0p59>;
1158		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
1159		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
1160		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
1161		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
1162		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
1163		vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
1164	};
1165};
1166
1167&uart21 {
1168	compatible = "qcom,geni-debug-uart";
1169
1170	status = "okay";
1171};
1172
1173&usb_1_ss0_dwc3_hs {
1174	remote-endpoint = <&pmic_glink_ss0_hs_in>;
1175};
1176
1177&usb_1_ss0_hsphy {
1178	phys = <&smb2360_0_eusb2_repeater>;
1179};
1180
1181&usb_1_ss0_qmpphy_out {
1182	remote-endpoint = <&pmic_glink_ss0_ss_in>;
1183};
1184
1185&usb_1_ss1_dwc3_hs {
1186	remote-endpoint = <&pmic_glink_ss1_hs_in>;
1187};
1188
1189&usb_1_ss1_hsphy {
1190	phys = <&smb2360_1_eusb2_repeater>;
1191};
1192
1193&usb_1_ss1_qmpphy_out {
1194	remote-endpoint = <&retimer_ss1_ss_in>;
1195};
1196
1197&usb_1_ss2_dwc3_hs {
1198	remote-endpoint = <&pmic_glink_ss2_hs_in>;
1199};
1200
1201&usb_1_ss2_hsphy {
1202	phys = <&smb2360_2_eusb2_repeater>;
1203};
1204
1205&usb_1_ss2_qmpphy_out {
1206	remote-endpoint = <&retimer_ss2_ss_in>;
1207};
1208
1209&usb_2_hsphy {
1210	phys = <&eusb5_repeater>;
1211
1212	pinctrl-0 = <&wcn_usb_sw_n>;
1213	pinctrl-names = "default";
1214};
1215
1216&usb_mp_hsphy0 {
1217	phys = <&eusb3_repeater>;
1218};
1219
1220&usb_mp_hsphy1 {
1221	phys = <&eusb6_repeater>;
1222};
1223