xref: /linux/arch/arm64/boot/dts/qcom/qcm6490-particle-tachyon.dts (revision 55a42f78ffd386e01a5404419f8c5ded7db70a21)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4 * Copyright (c) 2023, Luca Weiss <luca.weiss@fairphone.com>
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
10#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
11#include <dt-bindings/leds/common.h>
12#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
13#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
14#include "sc7280.dtsi"
15#include "pm8350c.dtsi"
16#include "pmk8350.dtsi"
17
18/delete-node/ &ipa_fw_mem;
19/delete-node/ &rmtfs_mem;
20/delete-node/ &xbl_mem;
21/delete-node/ &adsp_mem;
22/delete-node/ &cdsp_mem;
23/delete-node/ &wpss_mem;
24
25/ {
26	model = "Particle Tachyon";
27	compatible = "particle,tachyon", "qcom,qcm6490";
28	chassis-type = "embedded";
29
30	aliases {
31		serial0 = &uart5;
32		serial1 = &uart12;
33		serial2 = &uart7;
34		serial3 = &uart8;
35	};
36
37	chosen {
38		stdout-path = "serial0:115200n8";
39	};
40
41	leds {
42		compatible = "gpio-leds";
43
44		pinctrl-0 = <&activity_led_state>;
45		pinctrl-names = "default";
46
47		led-activity {
48			function = LED_FUNCTION_ACTIVITY;
49			color = <LED_COLOR_ID_RED>;
50			gpios = <&tlmm 14 GPIO_ACTIVE_HIGH>;
51			default-state = "on";
52			panic-indicator;
53		};
54	};
55
56	pmic-glink {
57		compatible = "qcom,qcm6490-pmic-glink", "qcom,pmic-glink";
58
59		#address-cells = <1>;
60		#size-cells = <0>;
61		orientation-gpios = <&tlmm 140 GPIO_ACTIVE_HIGH>;
62
63		connector@0 {
64			compatible = "usb-c-connector";
65			reg = <0>;
66			power-role = "dual";
67			data-role = "dual";
68
69			ports {
70				#address-cells = <1>;
71				#size-cells = <0>;
72
73				port@0 {
74					reg = <0>;
75
76					pmic_glink_hs_in: endpoint {
77						remote-endpoint = <&usb_1_dwc3_hs>;
78					};
79				};
80
81				port@1 {
82					reg = <1>;
83
84					pmic_glink_ss_in: endpoint {
85						remote-endpoint = <&usb_dp_qmpphy_out>;
86					};
87				};
88
89				port@2 {
90					reg = <2>;
91
92					pmic_glink_sbu_in: endpoint {
93						remote-endpoint = <&usbdp_sbu_mux>;
94					};
95				};
96			};
97		};
98	};
99
100	vreg_power_5v: regulator-power-5v {
101		compatible = "regulator-fixed";
102		regulator-name = "power_5v";
103		regulator-min-microvolt = <5000000>;
104		regulator-max-microvolt = <5000000>;
105		gpio = <&tlmm 13 GPIO_ACTIVE_HIGH>;
106		enable-active-high;
107	};
108
109	vph_pwr: regulator-vph-pwr {
110		compatible = "regulator-fixed";
111		regulator-name = "vph_pwr";
112		regulator-min-microvolt = <3700000>;
113		regulator-max-microvolt = <3700000>;
114	};
115
116	reserved-memory {
117		xbl_mem: xbl@80700000 {
118			reg = <0x0 0x80700000 0x0 0x100000>;
119			no-map;
120		};
121
122		tz_stat_mem: tz-stat@c0000000 {
123			reg = <0x0 0xc0000000 0x0 0x100000>;
124			no-map;
125		};
126
127		tags_mem: tags@c0100000 {
128			reg = <0x0 0xc0100000 0x0 0x1200000>;
129			no-map;
130		};
131
132		qtee_mem: qtee@c1300000 {
133			reg = <0x0 0xc1300000 0x0 0x500000>;
134			no-map;
135		};
136
137		trusted_apps_mem: trusted-apps@c1800000 {
138			reg = <0x0 0xc1800000 0x0 0x1c00000>;
139			no-map;
140		};
141
142		debug_vm_mem: debug-vm@d0600000 {
143			reg = <0x0 0xd0600000 0x0 0x100000>;
144			no-map;
145		};
146
147		adsp_mem: adsp@86100000 {
148			reg = <0x0 0x86700000 0x0 0x2800000>;
149			no-map;
150		};
151
152		cdsp_mem: cdsp@88900000 {
153			reg = <0x0 0x88f00000 0x0 0x1e00000>;
154			no-map;
155		};
156
157		wpss_mem: wpss@9ae00000 {
158			reg = <0x0 0x9ae00000 0x0 0x1900000>;
159			no-map;
160		};
161
162		mpss_mem: mpss@8b800000 {
163			reg = <0x0 0x8b800000 0x0 0xf600000>;
164			no-map;
165		};
166
167		ipa_fw_mem: ipa-fw@8b300000 {
168			reg = <0x0 0x8b700000 0x0 0x10000>;
169			no-map;
170		};
171
172		ipa_gsi_mem: ipa-gsi@8b310000 {
173			reg = <0x0 0x8b710000 0x0 0xa000>;
174			no-map;
175		};
176
177		rmtfs_mem: memory@f8500000 {
178			compatible = "qcom,rmtfs-mem";
179			reg = <0x0 0xf8500000 0x0 0x600000>;
180			no-map;
181
182			qcom,client-id = <1>;
183			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, <QCOM_SCM_VMID_NAV>;
184		};
185	};
186
187
188	usbdp-sbu-mux {
189		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
190
191		enable-gpios = <&tlmm 108 GPIO_ACTIVE_HIGH>;
192		select-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
193
194		pinctrl-0 = <&usbdp_sbu_default>;
195		pinctrl-names = "default";
196
197		mode-switch;
198		orientation-switch;
199
200		port {
201			usbdp_sbu_mux: endpoint {
202				remote-endpoint = <&pmic_glink_sbu_in>;
203			};
204		};
205	};
206};
207
208&apps_rsc {
209	regulators-0 {
210		compatible = "qcom,pm7325-rpmh-regulators";
211		qcom,pmic-id = "b";
212
213		vdd-s1-supply = <&vph_pwr>;
214		vdd-s2-supply = <&vph_pwr>;
215		vdd-s3-supply = <&vph_pwr>;
216		vdd-s4-supply = <&vph_pwr>;
217		vdd-s5-supply = <&vph_pwr>;
218		vdd-s6-supply = <&vph_pwr>;
219		vdd-s7-supply = <&vph_pwr>;
220		vdd-s8-supply = <&vph_pwr>;
221		vdd-l1-l4-l12-l15-supply = <&vreg_s7b_0p972>;
222		vdd-l2-l7-supply = <&vreg_bob_3p296>;
223		vdd-l6-l9-l10-supply = <&vreg_s8b_1p272>;
224		vdd-l8-supply = <&vreg_s7b_0p972>;
225		vdd-l11-l17-l18-l19-supply = <&vreg_s1b_1p872>;
226		vdd-l13-supply = <&vreg_s7b_0p972>;
227		vdd-l14-l16-supply = <&vreg_s8b_1p272>;
228
229		vreg_s1b_1p872: smps1 {
230			regulator-name = "vreg_s1b_1p872";
231			regulator-min-microvolt = <1840000>;
232			regulator-max-microvolt = <2040000>;
233		};
234
235		vreg_s7b_0p972: smps7 {
236			regulator-name = "vreg_s7b_0p972";
237			regulator-min-microvolt = <535000>;
238			regulator-max-microvolt = <1120000>;
239		};
240
241		vreg_s8b_1p272: smps8 {
242			regulator-name = "vreg_s8b_1p272";
243			regulator-min-microvolt = <1200000>;
244			regulator-max-microvolt = <1500000>;
245			regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>;
246		};
247
248		vreg_l1b_0p912: ldo1 {
249			regulator-name = "vreg_l1b_0p912";
250			regulator-min-microvolt = <825000>;
251			regulator-max-microvolt = <925000>;
252			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
253		};
254
255		vreg_l2b_3p072: ldo2 {
256			regulator-name = "vreg_l2b_3p072";
257			regulator-min-microvolt = <2700000>;
258			regulator-max-microvolt = <3544000>;
259			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
260		};
261
262		vreg_l3b_0p504: ldo3 {
263			regulator-name = "vreg_l3b_0p504";
264			regulator-min-microvolt = <312000>;
265			regulator-max-microvolt = <910000>;
266			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
267		};
268
269		vreg_l6b_1p2: ldo6 {
270			regulator-name = "vreg_l6b_1p2";
271			regulator-min-microvolt = <1140000>;
272			regulator-max-microvolt = <1260000>;
273			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
274		};
275
276		vreg_l7b_2p952: ldo7 {
277			regulator-name = "vreg_l7b_2p952";
278			regulator-min-microvolt = <2952000>;
279			regulator-max-microvolt = <2952000>;
280			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
281		};
282
283		vreg_l8b_0p904: ldo8 {
284			regulator-name = "vreg_l8b_0p904";
285			regulator-min-microvolt = <870000>;
286			regulator-max-microvolt = <970000>;
287			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
288		};
289
290		vreg_l9b_1p2: ldo9 {
291			regulator-name = "vreg_l9b_1p2";
292			regulator-min-microvolt = <1200000>;
293			regulator-max-microvolt = <1200000>;
294			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
295			regulator-allow-set-load;
296			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
297						   RPMH_REGULATOR_MODE_HPM>;
298		};
299
300		vreg_l11b_1p504: ldo11 {
301			regulator-name = "vreg_l11b_1p504";
302			regulator-min-microvolt = <1504000>;
303			regulator-max-microvolt = <2000000>;
304			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305		};
306
307		vreg_l12b_0p751: ldo12 {
308			regulator-name = "vreg_l12b_0p751";
309			regulator-min-microvolt = <751000>;
310			regulator-max-microvolt = <824000>;
311			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312		};
313
314		vreg_l13b_0p53: ldo13 {
315			regulator-name = "vreg_l13b_0p53";
316			regulator-min-microvolt = <530000>;
317			regulator-max-microvolt = <824000>;
318			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
319		};
320
321		vreg_l14b_1p08: ldo14 {
322			regulator-name = "vreg_l14b_1p08";
323			regulator-min-microvolt = <1080000>;
324			regulator-max-microvolt = <1304000>;
325			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326		};
327
328		vreg_l15b_0p765: ldo15 {
329			regulator-name = "vreg_l15b_0p765";
330			regulator-min-microvolt = <765000>;
331			regulator-max-microvolt = <1020000>;
332			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
333		};
334
335		vreg_l16b_1p1: ldo16 {
336			regulator-name = "vreg_l16b_1p1";
337			regulator-min-microvolt = <1100000>;
338			regulator-max-microvolt = <1300000>;
339			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
340		};
341
342		vreg_l17b_1p7: ldo17 {
343			regulator-name = "vreg_l17b_1p7";
344			regulator-min-microvolt = <1700000>;
345			regulator-max-microvolt = <1900000>;
346			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
347		};
348
349		vreg_l18b_1p8: ldo18 {
350			regulator-name = "vreg_l18b_1p8";
351			regulator-min-microvolt = <1800000>;
352			regulator-max-microvolt = <2000000>;
353			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
354		};
355
356		vreg_l19b_1p8: ldo19 {
357			regulator-name = "vreg_l19b_1p8";
358			regulator-min-microvolt = <1800000>;
359			regulator-max-microvolt = <2000000>;
360			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
361		};
362	};
363
364	regulators-1 {
365		compatible = "qcom,pm8350c-rpmh-regulators";
366		qcom,pmic-id = "c";
367
368		vdd-s1-supply = <&vph_pwr>;
369		vdd-s2-supply = <&vph_pwr>;
370		vdd-s3-supply = <&vph_pwr>;
371		vdd-s4-supply = <&vph_pwr>;
372		vdd-s5-supply = <&vph_pwr>;
373		vdd-s6-supply = <&vph_pwr>;
374		vdd-s7-supply = <&vph_pwr>;
375		vdd-s8-supply = <&vph_pwr>;
376		vdd-s9-supply = <&vph_pwr>;
377		vdd-s10-supply = <&vph_pwr>;
378		vdd-l1-l12-supply = <&vreg_s1b_1p872>;
379		vdd-l2-l8-supply = <&vreg_s1b_1p872>;
380		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob_3p296>;
381		vdd-l6-l9-l11-supply = <&vreg_bob_3p296>;
382		vdd-l10-supply = <&vreg_s7b_0p972>;
383		vdd-bob-supply = <&vph_pwr>;
384
385		vreg_s1c_2p19: smps1 {
386			regulator-name = "vreg_s1c_2p19";
387			regulator-min-microvolt = <2190000>;
388			regulator-max-microvolt = <2210000>;
389		};
390
391		vreg_s9c_1p084: smps9 {
392			regulator-name = "vreg_s9c_1p084";
393			regulator-min-microvolt = <1084000>;
394			regulator-max-microvolt = <1170000>;
395		};
396
397		vreg_l1c_1p8: ldo1 {
398			regulator-name = "vreg_l1c_1p8";
399			regulator-min-microvolt = <1800000>;
400			regulator-max-microvolt = <1980000>;
401			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
402		};
403
404		vreg_l2c_1p62: ldo2 {
405			regulator-name = "vreg_l2c_1p62";
406			regulator-min-microvolt = <1620000>;
407			regulator-max-microvolt = <1980000>;
408			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
409		};
410
411		vreg_l3c_2p8: ldo3 {
412			regulator-name = "vreg_l3c_2p8";
413			regulator-min-microvolt = <2800000>;
414			regulator-max-microvolt = <3540000>;
415			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
416		};
417
418		vreg_l4c_1p62: ldo4 {
419			regulator-name = "vreg_l4c_1p62";
420			regulator-min-microvolt = <1620000>;
421			regulator-max-microvolt = <3300000>;
422			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
423		};
424
425		vreg_l5c_1p62: ldo5 {
426			regulator-name = "vreg_l5c_1p62";
427			regulator-min-microvolt = <1620000>;
428			regulator-max-microvolt = <3300000>;
429			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
430		};
431
432		vreg_l6c_2p96: ldo6 {
433			regulator-name = "vreg_l6c_2p96";
434			regulator-min-microvolt = <1650000>;
435			regulator-max-microvolt = <3544000>;
436			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
437		};
438
439		vreg_l7c_3p0: ldo7 {
440			regulator-name = "vreg_l7c_3p0";
441			regulator-min-microvolt = <3000000>;
442			regulator-max-microvolt = <3544000>;
443			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
444		};
445
446		vreg_l8c_1p62: ldo8 {
447			regulator-name = "vreg_l8c_1p62";
448			regulator-min-microvolt = <1620000>;
449			regulator-max-microvolt = <2000000>;
450			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
451		};
452
453		vreg_l9c_2p96: ldo9 {
454			regulator-name = "vreg_l9c_2p96";
455			regulator-min-microvolt = <2960000>;
456			regulator-max-microvolt = <3544000>;
457			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
458		};
459
460		vreg_l10c_0p88: ldo10 {
461			regulator-name = "vreg_l10c_0p88";
462			regulator-min-microvolt = <720000>;
463			regulator-max-microvolt = <1050000>;
464			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
465		};
466
467		vreg_l11c_2p8: ldo11 {
468			regulator-name = "vreg_l11c_2p8";
469			regulator-min-microvolt = <2800000>;
470			regulator-max-microvolt = <3544000>;
471			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
472		};
473
474		vreg_l12c_1p65: ldo12 {
475			regulator-name = "vreg_l12c_1p65";
476			regulator-min-microvolt = <1650000>;
477			regulator-max-microvolt = <2000000>;
478			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
479		};
480
481		vreg_l13c_2p7: ldo13 {
482			regulator-name = "vreg_l13c_2p7";
483			regulator-min-microvolt = <2700000>;
484			regulator-max-microvolt = <3544000>;
485			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
486		};
487
488		vreg_bob_3p296: bob {
489			regulator-name = "vreg_bob_3p296";
490			regulator-min-microvolt = <3008000>;
491			regulator-max-microvolt = <3960000>;
492		};
493	};
494};
495
496&i2c1 {
497	clock-frequency = <100000>;
498
499	status = "okay";
500};
501
502&ipa {
503	firmware-name = "qcom/qcm6490/particle/tachyon/ipa_fws.mbn";
504	qcom,gsi-loader = "self";
505	memory-region = <&ipa_fw_mem>;
506
507	status = "okay";
508};
509
510&gcc {
511	protected-clocks = <GCC_CFG_NOC_LPASS_CLK>,
512			   <GCC_MSS_CFG_AHB_CLK>,
513			   <GCC_MSS_GPLL0_MAIN_DIV_CLK_SRC>,
514			   <GCC_MSS_OFFLINE_AXI_CLK>,
515			   <GCC_MSS_Q6SS_BOOT_CLK_SRC>,
516			   <GCC_MSS_Q6_MEMNOC_AXI_CLK>,
517			   <GCC_MSS_SNOC_AXI_CLK>,
518			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
519			   <GCC_QSPI_CORE_CLK>,
520			   <GCC_QSPI_CORE_CLK_SRC>,
521			   <GCC_SEC_CTRL_CLK_SRC>,
522			   <GCC_WPSS_AHB_BDG_MST_CLK>,
523			   <GCC_WPSS_AHB_CLK>,
524			   <GCC_WPSS_RSCP_CLK>;
525};
526
527&gpu {
528	status = "okay";
529};
530
531&gpu_zap_shader {
532	firmware-name = "qcom/qcm6490/particle/tachyon/a660_zap.mbn";
533};
534
535&mdss {
536	status = "okay";
537};
538
539&mdss_dp {
540	status = "okay";
541};
542
543&mdss_dp_out {
544	data-lanes = <0 1>;
545};
546
547&pcie0 {
548	perst-gpios = <&tlmm 87 GPIO_ACTIVE_LOW>;
549	wake-gpios = <&tlmm 89 GPIO_ACTIVE_HIGH>;
550
551	pinctrl-0 = <&pcie0_reset_n>, <&pcie0_wake_n>, <&pcie0_clkreq_n>;
552	pinctrl-names = "default";
553
554	status = "okay";
555};
556
557&pcie0_phy {
558	vdda-phy-supply = <&vreg_l10c_0p88>;
559	vdda-pll-supply = <&vreg_l6b_1p2>;
560
561	status = "okay";
562};
563
564&pcie1 {
565	perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
566
567	pinctrl-0 = <&pcie1_reset_n>, <&pcie1_wake_n>, <&pcie1_clkreq_n>;
568	pinctrl-names = "default";
569
570	vddpe-3v3-supply = <&vreg_power_5v>;
571
572	status = "okay";
573};
574
575&pcie1_phy {
576	vdda-phy-supply = <&vreg_l10c_0p88>;
577	vdda-pll-supply = <&vreg_l6b_1p2>;
578
579	status = "okay";
580};
581
582&pmk8350_adc_tm {
583	status = "okay";
584
585	xo-therm@0 {
586		reg = <0>;
587		io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
588		qcom,ratiometric;
589		qcom,hw-settle-time-us = <200>;
590	};
591};
592
593&pmk8350_rtc {
594	status = "okay";
595};
596
597&pmk8350_vadc {
598	status = "okay";
599
600	channel@44 {
601		reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
602		qcom,ratiometric;
603		qcom,hw-settle-time = <200>;
604		qcom,pre-scaling = <1 1>;
605		label = "pmk8350_xo_therm";
606	};
607};
608
609&pon_pwrkey {
610	status = "okay";
611};
612
613&qupv3_id_0 {
614	status = "okay";
615};
616
617&qupv3_id_1 {
618	status = "okay";
619};
620
621&remoteproc_adsp {
622	firmware-name = "qcom/qcm6490/particle/tachyon/adsp.mbn";
623	status = "okay";
624};
625
626&remoteproc_cdsp {
627	firmware-name = "qcom/qcm6490/particle/tachyon/cdsp.mbn";
628	status = "okay";
629};
630
631&remoteproc_mpss {
632	firmware-name = "qcom/qcm6490/particle/tachyon/modem.mbn";
633	status = "okay";
634};
635
636&sdc2_clk {
637	bias-disable;
638	drive-strength = <16>;
639};
640
641&sdc2_cmd {
642	bias-pull-up;
643	drive-strength = <10>;
644};
645
646&sdc2_data {
647	bias-pull-up;
648	drive-strength = <10>;
649};
650
651&sdhc_2 {
652	vmmc-supply = <&vreg_l9c_2p96>;
653	vqmmc-supply = <&vreg_l6c_2p96>;
654
655	cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
656
657	status = "okay";
658};
659
660&tlmm {
661	activity_led_state: activity-led-state {
662		pins = "gpio14";
663		function = "gpio";
664		bias-disable;
665	};
666
667	bt_en_state: bt-default-state {
668		pins = "gpio84";
669		function = "gpio";
670		drive-strength = <16>;
671		output-low;
672		bias-pull-up;
673	};
674
675	pcie0_reset_n: pcie0-reset-n-state {
676		pins = "gpio87";
677		function = "gpio";
678		drive-strength = <16>;
679		output-low;
680		bias-disable;
681	};
682
683	pcie0_wake_n: pcie0-wake-n-state {
684		pins = "gpio89";
685		function = "gpio";
686		drive-strength = <2>;
687		bias-pull-up;
688	};
689
690	pcie1_reset_n: pcie1-reset-n-state {
691		pins = "gpio2";
692		function = "gpio";
693		drive-strength = <16>;
694		output-low;
695		bias-disable;
696	};
697
698	pcie1_wake_n: pcie1-wake-n-state {
699		pins = "gpio3";
700		function = "gpio";
701		drive-strength = <2>;
702		bias-pull-up;
703	};
704
705	qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
706		pins = "gpio28";
707		function = "gpio";
708		/*
709		 * Configure a bias-bus-hold on CTS to lower power
710		 * usage when Bluetooth is turned off. Bus hold will
711		 * maintain a low power state regardless of whether
712		 * the Bluetooth module drives the pin in either
713		 * direction or leaves the pin fully unpowered.
714		 */
715		bias-bus-hold;
716	};
717
718	qup_uart7_sleep_rts: qup-uart7-sleep-rts-state {
719		pins = "gpio29";
720		function = "gpio";
721		/*
722		 * Configure pull-down on RTS. As RTS is active low
723		 * signal, pull it low to indicate the BT SoC that it
724		 * can wakeup the system anytime from suspend state by
725		 * pulling RX low (by sending wakeup bytes).
726		 */
727		bias-pull-down;
728	};
729
730	qup_uart7_sleep_tx: qup-uart7-sleep-tx-state {
731		pins = "gpio30";
732		function = "gpio";
733		/*
734		 * Configure pull-up on TX when it isn't actively driven
735		 * to prevent BT SoC from receiving garbage during sleep.
736		 */
737		bias-pull-up;
738	};
739
740	qup_uart7_sleep_rx: qup-uart7-sleep-rx-state {
741		pins = "gpio31";
742		function = "gpio";
743		/*
744		 * Configure a pull-up on RX. This is needed to avoid
745		 * garbage data when the TX pin of the Bluetooth module
746		 * is floating which may cause spurious wakeups.
747		 */
748		bias-pull-up;
749	};
750
751	usbdp_sbu_default: usbdp-sbu-state {
752		oe-n-pins {
753			pins = "gpio108";
754			function = "gpio";
755			bias-disable;
756			drive-strength = <16>;
757			output-high;
758		};
759
760		sel-pins {
761			pins = "gpio42";
762			function = "gpio";
763			bias-disable;
764			drive-strength = <16>;
765		};
766	};
767
768	wlan_en_state: wlan-default-state {
769		pins = "gpio85";
770		function = "gpio";
771		drive-strength = <16>;
772		output-low;
773		bias-pull-up;
774	};
775};
776
777&uart5 {
778	status = "okay";
779};
780
781&uart7 {
782	/delete-property/ interrupts;
783	interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
784			      <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
785
786	pinctrl-1 = <&qup_uart7_sleep_cts>,
787		    <&qup_uart7_sleep_rts>,
788		    <&qup_uart7_sleep_tx>,
789		    <&qup_uart7_sleep_rx>;
790	pinctrl-names = "default", "sleep";
791
792	status = "okay";
793};
794
795&uart8 {
796	status = "okay";
797};
798
799&uart12 {
800	status = "okay";
801};
802
803&ufs_mem_hc {
804	reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
805	vcc-supply = <&vreg_l7b_2p952>;
806	vcc-max-microamp = <800000>;
807	vccq-supply = <&vreg_l9b_1p2>;
808	vccq-max-microamp = <900000>;
809	vccq2-supply = <&vreg_l9b_1p2>;
810	vccq2-max-microamp = <900000>;
811
812	status = "okay";
813};
814
815&ufs_mem_phy {
816	vdda-phy-supply = <&vreg_l10c_0p88>;
817	vdda-pll-supply = <&vreg_l6b_1p2>;
818
819	status = "okay";
820};
821
822&usb_1 {
823	dr_mode = "otg";
824	usb-role-switch;
825
826	status = "okay";
827};
828
829&usb_1_dwc3_hs {
830	remote-endpoint = <&pmic_glink_hs_in>;
831};
832
833&usb_1_hsphy {
834	vdda-pll-supply = <&vreg_l10c_0p88>;
835	vdda33-supply = <&vreg_l2b_3p072>;
836	vdda18-supply = <&vreg_l1c_1p8>;
837
838	status = "okay";
839};
840
841&usb_1_qmpphy {
842	vdda-phy-supply = <&vreg_l6b_1p2>;
843	vdda-pll-supply = <&vreg_l1b_0p912>;
844
845	status = "okay";
846};
847
848&usb_2 {
849	dr_mode = "host";
850
851	status = "okay";
852};
853
854&usb_2_hsphy {
855	vdda-pll-supply = <&vreg_l10c_0p88>;
856	vdda18-supply = <&vreg_l1c_1p8>;
857	vdda33-supply = <&vreg_l2b_3p072>;
858
859	status = "okay";
860};
861
862&usb_dp_qmpphy_out {
863	remote-endpoint = <&pmic_glink_ss_in>;
864};
865