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