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