1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2023, Linaro Limited
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10
11#include "sa8775p.dtsi"
12#include "sa8775p-pmics.dtsi"
13
14/ {
15	aliases {
16		ethernet0 = &ethernet0;
17		ethernet1 = &ethernet1;
18		i2c11 = &i2c11;
19		i2c18 = &i2c18;
20		serial0 = &uart10;
21		serial1 = &uart12;
22		serial2 = &uart17;
23		spi16 = &spi16;
24		ufshc1 = &ufs_mem_hc;
25	};
26
27	chosen {
28		stdout-path = "serial0:115200n8";
29	};
30
31	vreg_conn_1p8: vreg_conn_1p8 {
32		compatible = "regulator-fixed";
33		regulator-name = "vreg_conn_1p8";
34		startup-delay-us = <4000>;
35		enable-active-high;
36		gpio = <&pmm8654au_1_gpios 4 GPIO_ACTIVE_HIGH>;
37	};
38
39	vreg_conn_pa: vreg_conn_pa {
40		compatible = "regulator-fixed";
41		regulator-name = "vreg_conn_pa";
42		startup-delay-us = <4000>;
43		enable-active-high;
44		gpio = <&pmm8654au_1_gpios 6 GPIO_ACTIVE_HIGH>;
45	};
46
47	wcn6855-pmu {
48		compatible = "qcom,wcn6855-pmu";
49
50		pinctrl-names = "default";
51		pinctrl-0 = <&bt_en_state>, <&wlan_en_state>;
52
53		vddio-supply = <&vreg_conn_pa>;
54		vddaon-supply = <&vreg_l2c>;
55		vddpmu-supply = <&vreg_conn_1p8>;
56		vddrfa0p95-supply = <&vreg_l2c>;
57		vddrfa1p3-supply = <&vreg_l6e>;
58		vddrfa1p9-supply = <&vreg_s5a>;
59		vddpcie1p3-supply = <&vreg_l6e>;
60		vddpcie1p9-supply = <&vreg_s5a>;
61
62		bt-enable-gpios = <&pmm8654au_1_gpios 8 GPIO_ACTIVE_HIGH>;
63		wlan-enable-gpios = <&pmm8654au_1_gpios 7 GPIO_ACTIVE_HIGH>;
64
65		regulators {
66			vreg_pmu_rfa_cmn: ldo0 {
67				regulator-name = "vreg_pmu_rfa_cmn";
68			};
69
70			vreg_pmu_aon_0p59: ldo1 {
71				regulator-name = "vreg_pmu_aon_0p59";
72			};
73
74			vreg_pmu_wlcx_0p8: ldo2 {
75				regulator-name = "vreg_pmu_wlcx_0p8";
76			};
77
78			vreg_pmu_wlmx_0p85: ldo3 {
79				regulator-name = "vreg_pmu_wlmx_0p85";
80			};
81
82			vreg_pmu_btcmx_0p85: ldo4 {
83				regulator-name = "vreg_pmu_btcmx_0p85";
84			};
85
86			vreg_pmu_rfa_0p8: ldo5 {
87				regulator-name = "vreg_pmu_rfa_0p8";
88			};
89
90			vreg_pmu_rfa_1p2: ldo6 {
91				regulator-name = "vreg_pmu_rfa_1p2";
92			};
93
94			vreg_pmu_rfa_1p7: ldo7 {
95				regulator-name = "vreg_pmu_rfa_1p7";
96			};
97
98			vreg_pmu_pcie_0p9: ldo8 {
99				regulator-name = "vreg_pmu_pcie_0p9";
100			};
101
102			vreg_pmu_pcie_1p8: ldo9 {
103				regulator-name = "vreg_pmu_pcie_1p8";
104			};
105		};
106	};
107
108	dp0-connector {
109		compatible = "dp-connector";
110		label = "eDP0";
111		type = "full-size";
112
113		port {
114			dp0_connector_in: endpoint {
115				remote-endpoint = <&mdss0_dp0_out>;
116			};
117		};
118	};
119
120	dp1-connector {
121		compatible = "dp-connector";
122		label = "eDP1";
123		type = "full-size";
124
125		port {
126			dp1_connector_in: endpoint {
127				remote-endpoint = <&mdss0_dp1_out>;
128			};
129		};
130	};
131};
132
133&apps_rsc {
134	regulators-0 {
135		compatible = "qcom,pmm8654au-rpmh-regulators";
136		qcom,pmic-id = "a";
137
138		vreg_s4a: smps4 {
139			regulator-name = "vreg_s4a";
140			regulator-min-microvolt = <1800000>;
141			regulator-max-microvolt = <1816000>;
142			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
143		};
144
145		vreg_s5a: smps5 {
146			regulator-name = "vreg_s5a";
147			regulator-min-microvolt = <1850000>;
148			regulator-max-microvolt = <1996000>;
149			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
150		};
151
152		vreg_s9a: smps9 {
153			regulator-name = "vreg_s9a";
154			regulator-min-microvolt = <535000>;
155			regulator-max-microvolt = <1120000>;
156			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
157		};
158
159		vreg_l4a: ldo4 {
160			regulator-name = "vreg_l4a";
161			regulator-min-microvolt = <788000>;
162			regulator-max-microvolt = <1050000>;
163			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
164			regulator-allow-set-load;
165			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
166						   RPMH_REGULATOR_MODE_HPM>;
167		};
168
169		vreg_l5a: ldo5 {
170			regulator-name = "vreg_l5a";
171			regulator-min-microvolt = <870000>;
172			regulator-max-microvolt = <950000>;
173			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
174			regulator-allow-set-load;
175			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
176						   RPMH_REGULATOR_MODE_HPM>;
177		};
178
179		vreg_l6a: ldo6 {
180			regulator-name = "vreg_l6a";
181			regulator-min-microvolt = <870000>;
182			regulator-max-microvolt = <970000>;
183			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
184			regulator-allow-set-load;
185			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
186						   RPMH_REGULATOR_MODE_HPM>;
187		};
188
189		vreg_l7a: ldo7 {
190			regulator-name = "vreg_l7a";
191			regulator-min-microvolt = <720000>;
192			regulator-max-microvolt = <950000>;
193			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
194			regulator-allow-set-load;
195			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
196						   RPMH_REGULATOR_MODE_HPM>;
197		};
198
199		vreg_l8a: ldo8 {
200			regulator-name = "vreg_l8a";
201			regulator-min-microvolt = <2504000>;
202			regulator-max-microvolt = <3300000>;
203			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
204			regulator-allow-set-load;
205			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
206						   RPMH_REGULATOR_MODE_HPM>;
207		};
208
209		vreg_l9a: ldo9 {
210			regulator-name = "vreg_l9a";
211			regulator-min-microvolt = <2970000>;
212			regulator-max-microvolt = <3544000>;
213			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
214			regulator-allow-set-load;
215			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
216						   RPMH_REGULATOR_MODE_HPM>;
217		};
218	};
219
220	regulators-1 {
221		compatible = "qcom,pmm8654au-rpmh-regulators";
222		qcom,pmic-id = "c";
223
224		vreg_l1c: ldo1 {
225			regulator-name = "vreg_l1c";
226			regulator-min-microvolt = <1140000>;
227			regulator-max-microvolt = <1260000>;
228			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
229			regulator-allow-set-load;
230			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
231						   RPMH_REGULATOR_MODE_HPM>;
232		};
233
234		vreg_l2c: ldo2 {
235			regulator-name = "vreg_l2c";
236			regulator-min-microvolt = <900000>;
237			regulator-max-microvolt = <1100000>;
238			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
239			regulator-allow-set-load;
240			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
241						   RPMH_REGULATOR_MODE_HPM>;
242		};
243
244		vreg_l3c: ldo3 {
245			regulator-name = "vreg_l3c";
246			regulator-min-microvolt = <1100000>;
247			regulator-max-microvolt = <1300000>;
248			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
249			regulator-allow-set-load;
250			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
251						   RPMH_REGULATOR_MODE_HPM>;
252		};
253
254		vreg_l4c: ldo4 {
255			regulator-name = "vreg_l4c";
256			regulator-min-microvolt = <1200000>;
257			regulator-max-microvolt = <1200000>;
258			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
259			/*
260			 * FIXME: This should have regulator-allow-set-load but
261			 * we're getting an over-current fault from the PMIC
262			 * when switching to LPM.
263			 */
264		};
265
266		vreg_l5c: ldo5 {
267			regulator-name = "vreg_l5c";
268			regulator-min-microvolt = <1100000>;
269			regulator-max-microvolt = <1300000>;
270			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
271			regulator-allow-set-load;
272			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
273						   RPMH_REGULATOR_MODE_HPM>;
274		};
275
276		vreg_l6c: ldo6 {
277			regulator-name = "vreg_l6c";
278			regulator-min-microvolt = <1620000>;
279			regulator-max-microvolt = <1980000>;
280			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
281			regulator-allow-set-load;
282			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
283						   RPMH_REGULATOR_MODE_HPM>;
284		};
285
286		vreg_l7c: ldo7 {
287			regulator-name = "vreg_l7c";
288			regulator-min-microvolt = <1620000>;
289			regulator-max-microvolt = <2000000>;
290			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
291			regulator-allow-set-load;
292			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
293						   RPMH_REGULATOR_MODE_HPM>;
294		};
295
296		vreg_l8c: ldo8 {
297			regulator-name = "vreg_l8c";
298			regulator-min-microvolt = <2400000>;
299			regulator-max-microvolt = <3300000>;
300			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
301			regulator-allow-set-load;
302			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
303						   RPMH_REGULATOR_MODE_HPM>;
304		};
305
306		vreg_l9c: ldo9 {
307			regulator-name = "vreg_l9c";
308			regulator-min-microvolt = <1650000>;
309			regulator-max-microvolt = <2700000>;
310			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
311			regulator-allow-set-load;
312			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
313						   RPMH_REGULATOR_MODE_HPM>;
314		};
315	};
316
317	regulators-2 {
318		compatible = "qcom,pmm8654au-rpmh-regulators";
319		qcom,pmic-id = "e";
320
321		vreg_s4e: smps4 {
322			regulator-name = "vreg_s4e";
323			regulator-min-microvolt = <970000>;
324			regulator-max-microvolt = <1520000>;
325			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326		};
327
328		vreg_s7e: smps7 {
329			regulator-name = "vreg_s7e";
330			regulator-min-microvolt = <1010000>;
331			regulator-max-microvolt = <1170000>;
332			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
333		};
334
335		vreg_s9e: smps9 {
336			regulator-name = "vreg_s9e";
337			regulator-min-microvolt = <300000>;
338			regulator-max-microvolt = <570000>;
339			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
340		};
341
342		vreg_l6e: ldo6 {
343			regulator-name = "vreg_l6e";
344			regulator-min-microvolt = <1280000>;
345			regulator-max-microvolt = <1450000>;
346			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
347			regulator-allow-set-load;
348			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
349						   RPMH_REGULATOR_MODE_HPM>;
350		};
351
352		vreg_l8e: ldo8 {
353			regulator-name = "vreg_l8e";
354			regulator-min-microvolt = <1800000>;
355			regulator-max-microvolt = <1950000>;
356			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
357			regulator-allow-set-load;
358			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
359						   RPMH_REGULATOR_MODE_HPM>;
360		};
361	};
362};
363
364&ethernet0 {
365	phy-handle = <&sgmii_phy0>;
366
367	pinctrl-0 = <&ethernet0_default>;
368	pinctrl-names = "default";
369
370	snps,mtl-rx-config = <&mtl_rx_setup>;
371	snps,mtl-tx-config = <&mtl_tx_setup>;
372	snps,ps-speed = <1000>;
373
374	status = "okay";
375
376	mdio: mdio {
377		compatible = "snps,dwmac-mdio";
378		#address-cells = <1>;
379		#size-cells = <0>;
380	};
381
382	mtl_rx_setup: rx-queues-config {
383		snps,rx-queues-to-use = <4>;
384		snps,rx-sched-sp;
385
386		queue0 {
387			snps,dcb-algorithm;
388			snps,map-to-dma-channel = <0x0>;
389			snps,route-up;
390			snps,priority = <0x1>;
391		};
392
393		queue1 {
394			snps,dcb-algorithm;
395			snps,map-to-dma-channel = <0x1>;
396			snps,route-ptp;
397		};
398
399		queue2 {
400			snps,avb-algorithm;
401			snps,map-to-dma-channel = <0x2>;
402			snps,route-avcp;
403		};
404
405		queue3 {
406			snps,avb-algorithm;
407			snps,map-to-dma-channel = <0x3>;
408			snps,priority = <0xc>;
409		};
410	};
411
412	mtl_tx_setup: tx-queues-config {
413		snps,tx-queues-to-use = <4>;
414		snps,tx-sched-sp;
415
416		queue0 {
417			snps,dcb-algorithm;
418		};
419
420		queue1 {
421			snps,dcb-algorithm;
422		};
423
424		queue2 {
425			snps,avb-algorithm;
426			snps,send_slope = <0x1000>;
427			snps,idle_slope = <0x1000>;
428			snps,high_credit = <0x3e800>;
429			snps,low_credit = <0xffc18000>;
430		};
431
432		queue3 {
433			snps,avb-algorithm;
434			snps,send_slope = <0x1000>;
435			snps,idle_slope = <0x1000>;
436			snps,high_credit = <0x3e800>;
437			snps,low_credit = <0xffc18000>;
438		};
439	};
440};
441
442&ethernet1 {
443	phy-handle = <&sgmii_phy1>;
444
445	snps,mtl-rx-config = <&mtl_rx_setup1>;
446	snps,mtl-tx-config = <&mtl_tx_setup1>;
447	snps,ps-speed = <1000>;
448
449	status = "okay";
450
451	mtl_rx_setup1: rx-queues-config {
452		snps,rx-queues-to-use = <4>;
453		snps,rx-sched-sp;
454
455		queue0 {
456			snps,dcb-algorithm;
457			snps,map-to-dma-channel = <0x0>;
458			snps,route-up;
459			snps,priority = <0x1>;
460		};
461
462		queue1 {
463			snps,dcb-algorithm;
464			snps,map-to-dma-channel = <0x1>;
465			snps,route-ptp;
466		};
467
468		queue2 {
469			snps,avb-algorithm;
470			snps,map-to-dma-channel = <0x2>;
471			snps,route-avcp;
472		};
473
474		queue3 {
475			snps,avb-algorithm;
476			snps,map-to-dma-channel = <0x3>;
477			snps,priority = <0xc>;
478		};
479	};
480
481	mtl_tx_setup1: tx-queues-config {
482		snps,tx-queues-to-use = <4>;
483		snps,tx-sched-sp;
484
485		queue0 {
486			snps,dcb-algorithm;
487		};
488
489		queue1 {
490			snps,dcb-algorithm;
491		};
492
493		queue2 {
494			snps,avb-algorithm;
495			snps,send_slope = <0x1000>;
496			snps,idle_slope = <0x1000>;
497			snps,high_credit = <0x3e800>;
498			snps,low_credit = <0xffc18000>;
499		};
500
501		queue3 {
502			snps,avb-algorithm;
503			snps,send_slope = <0x1000>;
504			snps,idle_slope = <0x1000>;
505			snps,high_credit = <0x3e800>;
506			snps,low_credit = <0xffc18000>;
507		};
508	};
509};
510
511&i2c11 {
512	clock-frequency = <400000>;
513	pinctrl-0 = <&qup_i2c11_default>;
514	pinctrl-names = "default";
515	status = "okay";
516};
517
518&i2c18 {
519	clock-frequency = <400000>;
520	pinctrl-0 = <&qup_i2c18_default>;
521	pinctrl-names = "default";
522	status = "okay";
523};
524
525&mdss0 {
526	status = "okay";
527};
528
529&mdss0_dp0 {
530	pinctrl-0 = <&dp0_hot_plug_det>;
531	pinctrl-names = "default";
532
533	status = "okay";
534};
535
536&mdss0_dp0_out {
537	data-lanes = <0 1 2 3>;
538	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
539	remote-endpoint = <&dp0_connector_in>;
540};
541
542&mdss0_dp0_phy {
543	vdda-phy-supply = <&vreg_l1c>;
544	vdda-pll-supply = <&vreg_l4a>;
545
546	status = "okay";
547};
548
549&mdss0_dp1 {
550	pinctrl-0 = <&dp1_hot_plug_det>;
551	pinctrl-names = "default";
552
553	status = "okay";
554};
555
556&mdss0_dp1_out {
557	data-lanes = <0 1 2 3>;
558	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
559	remote-endpoint = <&dp1_connector_in>;
560};
561
562&mdss0_dp1_phy {
563	vdda-phy-supply = <&vreg_l1c>;
564	vdda-pll-supply = <&vreg_l4a>;
565
566	status = "okay";
567};
568
569&pmm8654au_0_gpios {
570	gpio-line-names = "DS_EN",
571			  "POFF_COMPLETE",
572			  "UFS0_VER_ID",
573			  "FAST_POFF",
574			  "DBU1_PON_DONE",
575			  "AOSS_SLEEP",
576			  "CAM_DES0_EN",
577			  "CAM_DES1_EN",
578			  "CAM_DES2_EN",
579			  "CAM_DES3_EN",
580			  "UEFI",
581			  "ANALOG_PON_OPT";
582};
583
584&pmm8654au_0_pon_resin {
585	linux,code = <KEY_VOLUMEDOWN>;
586	status = "okay";
587};
588
589&pmm8654au_1_gpios {
590	gpio-line-names = "PMIC_C_ID0",
591			  "PMIC_C_ID1",
592			  "UFS1_VER_ID",
593			  "IPA_PWR",
594			  "",
595			  "WLAN_DBU4_EN",
596			  "WLAN_EN",
597			  "BT_EN",
598			  "USB2_PWR_EN",
599			  "USB2_FAULT";
600
601	wlan_en_state: wlan-en-state {
602		pins = "gpio7";
603		function = "normal";
604		output-low;
605		bias-pull-down;
606	};
607
608	bt_en_state: bt-en-state {
609		pins = "gpio8";
610		function = "normal";
611		output-low;
612		bias-pull-down;
613	};
614
615	usb2_en_state: usb2-en-state {
616		pins = "gpio9";
617		function = "normal";
618		output-high;
619		power-source = <0>;
620	};
621};
622
623&pmm8654au_2_gpios {
624	gpio-line-names = "PMIC_E_ID0",
625			  "PMIC_E_ID1",
626			  "USB0_PWR_EN",
627			  "USB0_FAULT",
628			  "SENSOR_IRQ_1",
629			  "SENSOR_IRQ_2",
630			  "SENSOR_RST",
631			  "SGMIIO0_RST",
632			  "SGMIIO1_RST",
633			  "USB1_PWR_ENABLE",
634			  "USB1_FAULT",
635			  "VMON_SPX8";
636
637	usb0_en_state: usb0-en-state {
638		pins = "gpio3";
639		function = "normal";
640		output-high;
641		power-source = <0>;
642	};
643
644	usb1_en_state: usb1-en-state {
645		pins = "gpio10";
646		function = "normal";
647		output-high;
648		power-source = <0>;
649	};
650};
651
652&pmm8654au_3_gpios {
653	gpio-line-names = "PMIC_G_ID0",
654			  "PMIC_G_ID1",
655			  "GNSS_RST",
656			  "GNSS_EN",
657			  "GNSS_BOOT_MODE";
658};
659
660&qupv3_id_1 {
661	status = "okay";
662};
663
664&qupv3_id_2 {
665	status = "okay";
666};
667
668&serdes0 {
669	phy-supply = <&vreg_l5a>;
670	status = "okay";
671};
672
673&serdes1 {
674	phy-supply = <&vreg_l5a>;
675	status = "okay";
676};
677
678&sleep_clk {
679	clock-frequency = <32000>;
680};
681
682&spi16 {
683	pinctrl-0 = <&qup_spi16_default>;
684	pinctrl-names = "default";
685	status = "okay";
686};
687
688&tlmm {
689	dp0_hot_plug_det: dp0-hot-plug-det-state {
690		pins = "gpio101";
691		function = "edp0_hot";
692		bias-disable;
693	};
694
695	dp1_hot_plug_det: dp1-hot-plug-det-state {
696		pins = "gpio102";
697		function = "edp1_hot";
698		bias-disable;
699	};
700
701	ethernet0_default: ethernet0-default-state {
702		ethernet0_mdc: ethernet0-mdc-pins {
703			pins = "gpio8";
704			function = "emac0_mdc";
705			drive-strength = <16>;
706			bias-pull-up;
707		};
708
709		ethernet0_mdio: ethernet0-mdio-pins {
710			pins = "gpio9";
711			function = "emac0_mdio";
712			drive-strength = <16>;
713			bias-pull-up;
714		};
715	};
716
717	qup_uart10_default: qup-uart10-state {
718		pins = "gpio46", "gpio47";
719		function = "qup1_se3";
720	};
721
722	qup_spi16_default: qup-spi16-state {
723		pins = "gpio86", "gpio87", "gpio88", "gpio89";
724		function = "qup2_se2";
725		drive-strength = <6>;
726		bias-disable;
727	};
728
729	qup_i2c11_default: qup-i2c11-state {
730		pins = "gpio48", "gpio49";
731		function = "qup1_se4";
732		drive-strength = <2>;
733		bias-pull-up;
734	};
735
736	qup_i2c18_default: qup-i2c18-state {
737		pins = "gpio95", "gpio96";
738		function = "qup2_se4";
739		drive-strength = <2>;
740		bias-pull-up;
741	};
742
743	qup_uart12_default: qup-uart12-state {
744		qup_uart12_cts: qup-uart12-cts-pins {
745			pins = "gpio52";
746			function = "qup1_se5";
747			bias-disable;
748		};
749
750		qup_uart12_rts: qup-uart12-rts-pins {
751			pins = "gpio53";
752			function = "qup1_se5";
753			bias-pull-down;
754		};
755
756		qup_uart12_tx: qup-uart12-tx-pins {
757			pins = "gpio54";
758			function = "qup1_se5";
759			bias-pull-up;
760		};
761
762		qup_uart12_rx: qup-uart12-rx-pins {
763			pins = "gpio55";
764			function = "qup1_se5";
765			bias-pull-down;
766		};
767	};
768
769	qup_uart17_default: qup-uart17-state {
770		qup_uart17_cts: qup-uart17-cts-pins {
771			pins = "gpio91";
772			function = "qup2_se3";
773			bias-disable;
774		};
775
776		qup_uart17_rts: qup0-uart17-rts-pins {
777			pins = "gpio92";
778			function = "qup2_se3";
779			bias-pull-down;
780		};
781
782		qup_uart17_tx: qup0-uart17-tx-pins {
783			pins = "gpio93";
784			function = "qup2_se3";
785			bias-pull-up;
786		};
787
788		qup_uart17_rx: qup0-uart17-rx-pins {
789			pins = "gpio94";
790			function = "qup2_se3";
791			bias-pull-down;
792		};
793	};
794
795	pcie0_default_state: pcie0-default-state {
796		perst-pins {
797			pins = "gpio2";
798			function = "gpio";
799			drive-strength = <2>;
800			bias-pull-down;
801		};
802
803		clkreq-pins {
804			pins = "gpio1";
805			function = "pcie0_clkreq";
806			drive-strength = <2>;
807			bias-pull-up;
808		};
809
810		wake-pins {
811			pins = "gpio0";
812			function = "gpio";
813			drive-strength = <2>;
814			bias-pull-up;
815		};
816	};
817
818	pcie1_default_state: pcie1-default-state {
819		perst-pins {
820			pins = "gpio4";
821			function = "gpio";
822			drive-strength = <2>;
823			bias-pull-down;
824		};
825
826		clkreq-pins {
827			pins = "gpio3";
828			function = "pcie1_clkreq";
829			drive-strength = <2>;
830			bias-pull-up;
831		};
832
833		wake-pins {
834			pins = "gpio5";
835			function = "gpio";
836			drive-strength = <2>;
837			bias-pull-up;
838		};
839	};
840};
841
842&pcie0 {
843	perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
844	wake-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
845
846	pinctrl-names = "default";
847	pinctrl-0 = <&pcie0_default_state>;
848
849	status = "okay";
850};
851
852&pcie1 {
853	perst-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
854	wake-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
855
856	pinctrl-names = "default";
857	pinctrl-0 = <&pcie1_default_state>;
858
859	status = "okay";
860};
861
862&pcie0_phy {
863	vdda-phy-supply = <&vreg_l5a>;
864	vdda-pll-supply = <&vreg_l1c>;
865
866	status = "okay";
867};
868
869&pcie1_phy {
870	vdda-phy-supply = <&vreg_l5a>;
871	vdda-pll-supply = <&vreg_l1c>;
872
873	status = "okay";
874};
875
876&pcieport0 {
877	wifi@0 {
878		compatible = "pci17cb,1101";
879		reg = <0x10000 0x0 0x0 0x0 0x0>;
880
881		qcom,ath11k-calibration-variant = "QC_SA8775P_Ride";
882
883		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
884		vddaon-supply = <&vreg_pmu_aon_0p59>;
885		vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
886		vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
887		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
888		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
889		vddrfa1p7-supply = <&vreg_pmu_rfa_1p7>;
890		vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
891		vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
892	};
893};
894
895&remoteproc_adsp {
896	firmware-name = "qcom/sa8775p/adsp.mbn";
897	status = "okay";
898};
899
900&remoteproc_cdsp0 {
901	firmware-name = "qcom/sa8775p/cdsp0.mbn";
902	status = "okay";
903};
904
905&remoteproc_cdsp1 {
906	firmware-name = "qcom/sa8775p/cdsp1.mbn";
907	status = "okay";
908};
909
910&remoteproc_gpdsp0 {
911	firmware-name = "qcom/sa8775p/gpdsp0.mbn";
912	status = "okay";
913};
914
915&remoteproc_gpdsp1 {
916	firmware-name = "qcom/sa8775p/gpdsp1.mbn";
917	status = "okay";
918};
919
920&uart10 {
921	compatible = "qcom,geni-debug-uart";
922	pinctrl-0 = <&qup_uart10_default>;
923	pinctrl-names = "default";
924	status = "okay";
925};
926
927&uart12 {
928	pinctrl-0 = <&qup_uart12_default>;
929	pinctrl-names = "default";
930	status = "okay";
931};
932
933&uart17 {
934	pinctrl-0 = <&qup_uart17_default>;
935	pinctrl-names = "default";
936	status = "okay";
937
938	bluetooth {
939		compatible = "qcom,wcn6855-bt";
940
941		vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
942		vddaon-supply = <&vreg_pmu_aon_0p59>;
943		vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
944		vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
945		vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
946		vddrfa1p7-supply = <&vreg_pmu_rfa_1p7>;
947	};
948};
949
950&ufs_mem_hc {
951	reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
952	vcc-supply = <&vreg_l8a>;
953	vcc-max-microamp = <1100000>;
954	vccq-supply = <&vreg_l4c>;
955	vccq-max-microamp = <1200000>;
956
957	status = "okay";
958};
959
960&ufs_mem_phy {
961	vdda-phy-supply = <&vreg_l4a>;
962	vdda-pll-supply = <&vreg_l1c>;
963
964	status = "okay";
965};
966
967&usb_0 {
968	pinctrl-names = "default";
969	pinctrl-0 = <&usb0_en_state>;
970
971	status = "okay";
972};
973
974&usb_0_dwc3 {
975	dr_mode = "peripheral";
976};
977
978&usb_0_hsphy {
979	vdda-pll-supply = <&vreg_l7a>;
980	vdda18-supply = <&vreg_l6c>;
981	vdda33-supply = <&vreg_l9a>;
982
983	status = "okay";
984};
985
986&usb_0_qmpphy {
987	vdda-phy-supply = <&vreg_l1c>;
988	vdda-pll-supply = <&vreg_l7a>;
989
990	status = "okay";
991};
992
993&usb_1 {
994	pinctrl-names = "default";
995	pinctrl-0 = <&usb1_en_state>;
996
997	status = "okay";
998};
999
1000&usb_1_dwc3 {
1001	dr_mode = "host";
1002};
1003
1004&usb_1_hsphy {
1005	vdda-pll-supply = <&vreg_l7a>;
1006	vdda18-supply = <&vreg_l6c>;
1007	vdda33-supply = <&vreg_l9a>;
1008
1009	status = "okay";
1010};
1011
1012&usb_1_qmpphy {
1013	vdda-phy-supply = <&vreg_l1c>;
1014	vdda-pll-supply = <&vreg_l7a>;
1015
1016	status = "okay";
1017};
1018
1019&usb_2 {
1020	pinctrl-names = "default";
1021	pinctrl-0 = <&usb2_en_state>;
1022
1023	status = "okay";
1024};
1025
1026&usb_2_dwc3 {
1027	dr_mode = "host";
1028};
1029
1030&usb_2_hsphy {
1031	vdda-pll-supply = <&vreg_l7a>;
1032	vdda18-supply = <&vreg_l6c>;
1033	vdda33-supply = <&vreg_l9a>;
1034
1035	status = "okay";
1036};
1037
1038&xo_board_clk {
1039	clock-frequency = <38400000>;
1040};
1041