xref: /linux/arch/arm64/boot/dts/qcom/sm8550-qrd.dts (revision 031fba65fc202abf1f193e321be7a2c274fd88ba)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2023 Linaro Limited
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/leds/common.h>
9#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10#include "sm8550.dtsi"
11#include "pm8010.dtsi"
12#include "pm8550.dtsi"
13#include "pm8550b.dtsi"
14#include "pm8550ve.dtsi"
15#include "pm8550vs.dtsi"
16#include "pmk8550.dtsi"
17#include "pmr735d_a.dtsi"
18#include "pmr735d_b.dtsi"
19
20/ {
21	model = "Qualcomm Technologies, Inc. SM8550 QRD";
22	compatible = "qcom,sm8550-qrd", "qcom,sm8550";
23	chassis-type = "handset";
24
25	aliases {
26		serial0 = &uart7;
27		serial1 = &uart14;
28	};
29
30	wcd938x: audio-codec {
31		compatible = "qcom,wcd9385-codec";
32
33		pinctrl-names = "default";
34		pinctrl-0 = <&wcd_default>;
35
36		qcom,micbias1-microvolt = <1800000>;
37		qcom,micbias2-microvolt = <1800000>;
38		qcom,micbias3-microvolt = <1800000>;
39		qcom,micbias4-microvolt = <1800000>;
40		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
41		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
42		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
43		qcom,rx-device = <&wcd_rx>;
44		qcom,tx-device = <&wcd_tx>;
45
46		reset-gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
47
48		vdd-buck-supply = <&vreg_l15b_1p8>;
49		vdd-rxtx-supply = <&vreg_l15b_1p8>;
50		vdd-io-supply = <&vreg_l15b_1p8>;
51		vdd-mic-bias-supply = <&vreg_bob1>;
52
53		#sound-dai-cells = <1>;
54	};
55
56	chosen {
57		stdout-path = "serial0:115200n8";
58	};
59
60	gpio-keys {
61		compatible = "gpio-keys";
62
63		pinctrl-0 = <&volume_up_n>;
64		pinctrl-names = "default";
65
66		key-volume-up {
67			label = "Volume Up";
68			linux,code = <KEY_VOLUMEUP>;
69			gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
70			debounce-interval = <15>;
71			linux,can-disable;
72			wakeup-source;
73		};
74	};
75
76	pmic-glink {
77		compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink";
78		#address-cells = <1>;
79		#size-cells = <0>;
80
81		connector@0 {
82			compatible = "usb-c-connector";
83			reg = <0>;
84			power-role = "dual";
85			data-role = "dual";
86
87			ports {
88				#address-cells = <1>;
89				#size-cells = <0>;
90
91				port@0 {
92					reg = <0>;
93
94					pmic_glink_hs_in: endpoint {
95						remote-endpoint = <&usb_1_dwc3_hs>;
96					};
97				};
98
99				port@1 {
100					reg = <1>;
101
102					pmic_glink_ss_in: endpoint {
103						remote-endpoint = <&redriver_ss_out>;
104					};
105				};
106
107				port@2 {
108					reg = <2>;
109
110					pmic_glink_sbu: endpoint {
111						remote-endpoint = <&fsa4480_sbu_mux>;
112					};
113				};
114			};
115		};
116	};
117
118	sound {
119		compatible = "qcom,sm8550-sndcard", "qcom,sm8450-sndcard";
120		model = "SM8550-QRD";
121		audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
122				"SpkrRight IN", "WSA_SPK2 OUT",
123				"IN1_HPHL", "HPHL_OUT",
124				"IN2_HPHR", "HPHR_OUT",
125				"AMIC2", "MIC BIAS2",
126				"VA DMIC0", "MIC BIAS1",
127				"VA DMIC1", "MIC BIAS1",
128				"VA DMIC2", "MIC BIAS3",
129				"TX DMIC0", "MIC BIAS1",
130				"TX DMIC1", "MIC BIAS2",
131				"TX DMIC2", "MIC BIAS3",
132				"TX SWR_ADC1", "ADC2_OUTPUT";
133
134		wcd-playback-dai-link {
135			link-name = "WCD Playback";
136
137			cpu {
138				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
139			};
140
141			codec {
142				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
143			};
144
145			platform {
146				sound-dai = <&q6apm>;
147			};
148		};
149
150		wcd-capture-dai-link {
151			link-name = "WCD Capture";
152
153			cpu {
154				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
155			};
156
157			codec {
158				sound-dai = <&wcd938x 1>, <&swr2 0>, <&lpass_txmacro 0>;
159			};
160
161			platform {
162				sound-dai = <&q6apm>;
163			};
164		};
165
166		wsa-dai-link {
167			link-name = "WSA Playback";
168
169			cpu {
170				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
171			};
172
173			codec {
174				sound-dai = <&north_spkr>, <&south_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
175			};
176
177			platform {
178				sound-dai = <&q6apm>;
179			};
180		};
181
182		va-dai-link {
183			link-name = "VA Capture";
184
185			cpu {
186				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
187			};
188
189			codec {
190				sound-dai = <&lpass_vamacro 0>;
191			};
192
193			platform {
194				sound-dai = <&q6apm>;
195			};
196		};
197	};
198
199	vph_pwr: vph-pwr-regulator {
200		compatible = "regulator-fixed";
201		regulator-name = "vph_pwr";
202		regulator-min-microvolt = <3700000>;
203		regulator-max-microvolt = <3700000>;
204
205		regulator-always-on;
206		regulator-boot-on;
207	};
208};
209
210&apps_rsc {
211	regulators-0 {
212		compatible = "qcom,pm8550-rpmh-regulators";
213		qcom,pmic-id = "b";
214
215		vdd-bob1-supply = <&vph_pwr>;
216		vdd-bob2-supply = <&vph_pwr>;
217		vdd-l1-l4-l10-supply = <&vreg_s6g_1p86>;
218		vdd-l2-l13-l14-supply = <&vreg_bob1>;
219		vdd-l3-supply = <&vreg_s4g_1p25>;
220		vdd-l5-l16-supply = <&vreg_bob1>;
221		vdd-l6-l7-supply = <&vreg_bob1>;
222		vdd-l8-l9-supply = <&vreg_bob1>;
223		vdd-l11-supply = <&vreg_s4g_1p25>;
224		vdd-l12-supply = <&vreg_s6g_1p86>;
225		vdd-l15-supply = <&vreg_s6g_1p86>;
226		vdd-l17-supply = <&vreg_bob2>;
227
228		vreg_bob1: bob1 {
229			regulator-name = "vreg_bob1";
230			regulator-min-microvolt = <3296000>;
231			regulator-max-microvolt = <3960000>;
232			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
233		};
234
235		vreg_bob2: bob2 {
236			regulator-name = "vreg_bob2";
237			regulator-min-microvolt = <2720000>;
238			regulator-max-microvolt = <3960000>;
239			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
240		};
241
242		vreg_l1b_1p8: ldo1 {
243			regulator-name = "vreg_l1b_1p8";
244			regulator-min-microvolt = <1800000>;
245			regulator-max-microvolt = <1800000>;
246			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
247		};
248
249		vreg_l2b_3p0: ldo2 {
250			regulator-name = "vreg_l2b_3p0";
251			regulator-min-microvolt = <3008000>;
252			regulator-max-microvolt = <3008000>;
253			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
254		};
255
256		vreg_l5b_3p1: ldo5 {
257			regulator-name = "vreg_l5b_3p1";
258			regulator-min-microvolt = <3104000>;
259			regulator-max-microvolt = <3104000>;
260			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
261		};
262
263		vreg_l6b_1p8: ldo6 {
264			regulator-name = "vreg_l6b_1p8";
265			regulator-min-microvolt = <1800000>;
266			regulator-max-microvolt = <3008000>;
267			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
268		};
269
270		vreg_l7b_1p8: ldo7 {
271			regulator-name = "vreg_l7b_1p8";
272			regulator-min-microvolt = <1800000>;
273			regulator-max-microvolt = <3008000>;
274			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
275		};
276
277		vreg_l8b_1p8: ldo8 {
278			regulator-name = "vreg_l8b_1p8";
279			regulator-min-microvolt = <1800000>;
280			regulator-max-microvolt = <3008000>;
281			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
282		};
283
284		vreg_l9b_2p9: ldo9 {
285			regulator-name = "vreg_l9b_2p9";
286			regulator-min-microvolt = <2960000>;
287			regulator-max-microvolt = <3008000>;
288			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
289		};
290
291		vreg_l11b_1p2: ldo11 {
292			regulator-name = "vreg_l11b_1p2";
293			regulator-min-microvolt = <1200000>;
294			regulator-max-microvolt = <1504000>;
295			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
296		};
297
298		vreg_l12b_1p8: ldo12 {
299			regulator-name = "vreg_l12b_1p8";
300			regulator-min-microvolt = <1800000>;
301			regulator-max-microvolt = <1800000>;
302			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
303		};
304
305		vreg_l13b_3p0: ldo13 {
306			regulator-name = "vreg_l13b_3p0";
307			regulator-min-microvolt = <3000000>;
308			regulator-max-microvolt = <3000000>;
309			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
310		};
311
312		vreg_l14b_3p2: ldo14 {
313			regulator-name = "vreg_l14b_3p2";
314			regulator-min-microvolt = <3200000>;
315			regulator-max-microvolt = <3200000>;
316			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
317		};
318
319		vreg_l15b_1p8: ldo15 {
320			regulator-name = "vreg_l15b_1p8";
321			regulator-min-microvolt = <1800000>;
322			regulator-max-microvolt = <1800000>;
323			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
324		};
325
326		vreg_l16b_2p8: ldo16 {
327			regulator-name = "vreg_l16b_2p8";
328			regulator-min-microvolt = <2800000>;
329			regulator-max-microvolt = <2800000>;
330			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
331		};
332
333		vreg_l17b_2p5: ldo17 {
334			regulator-name = "vreg_l17b_2p5";
335			regulator-min-microvolt = <2504000>;
336			regulator-max-microvolt = <2504000>;
337			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
338		};
339	};
340
341	regulators-1 {
342		compatible = "qcom,pm8550vs-rpmh-regulators";
343		qcom,pmic-id = "c";
344
345		vdd-l1-supply = <&vreg_s4g_1p25>;
346		vdd-l2-supply = <&vreg_s4e_0p95>;
347		vdd-l3-supply = <&vreg_s4e_0p95>;
348
349		vreg_l3c_0p9: ldo3 {
350			regulator-name = "vreg_l3c_0p9";
351			regulator-min-microvolt = <880000>;
352			regulator-max-microvolt = <912000>;
353			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
354		};
355	};
356
357	regulators-2 {
358		compatible = "qcom,pm8550vs-rpmh-regulators";
359		qcom,pmic-id = "d";
360
361		vdd-l1-supply = <&vreg_s4e_0p95>;
362		vdd-l2-supply = <&vreg_s4e_0p95>;
363		vdd-l3-supply = <&vreg_s4e_0p95>;
364
365		vreg_l1d_0p88: ldo1 {
366			regulator-name = "vreg_l1d_0p88";
367			regulator-min-microvolt = <880000>;
368			regulator-max-microvolt = <920000>;
369			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
370		};
371
372		/* ldo2 supplies SM8550 VDD_LPI_MX */
373	};
374
375	regulators-3 {
376		compatible = "qcom,pm8550vs-rpmh-regulators";
377		qcom,pmic-id = "e";
378
379		vdd-l1-supply = <&vreg_s4e_0p95>;
380		vdd-l2-supply = <&vreg_s4e_0p95>;
381		vdd-l3-supply = <&vreg_s4g_1p25>;
382		vdd-s4-supply = <&vph_pwr>;
383		vdd-s5-supply = <&vph_pwr>;
384
385		vreg_s4e_0p95: smps4 {
386			regulator-name = "vreg_s4e_0p95";
387			regulator-min-microvolt = <904000>;
388			regulator-max-microvolt = <984000>;
389			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
390		};
391
392		vreg_s5e_1p08: smps5 {
393			regulator-name = "vreg_s5e_1p08";
394			regulator-min-microvolt = <1080000>;
395			regulator-max-microvolt = <1120000>;
396			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
397		};
398
399		vreg_l1e_0p88: ldo1 {
400			regulator-name = "vreg_l1e_0p88";
401			regulator-min-microvolt = <880000>;
402			regulator-max-microvolt = <880000>;
403			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
404		};
405
406		vreg_l2e_0p9: ldo2 {
407			regulator-name = "vreg_l2e_0p9";
408			regulator-min-microvolt = <904000>;
409			regulator-max-microvolt = <970000>;
410			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
411		};
412
413		vreg_l3e_1p2: ldo3 {
414			regulator-name = "vreg_l3e_1p2";
415			regulator-min-microvolt = <1200000>;
416			regulator-max-microvolt = <1200000>;
417			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
418		};
419	};
420
421	regulators-4 {
422		compatible = "qcom,pm8550ve-rpmh-regulators";
423		qcom,pmic-id = "f";
424
425		vdd-l1-supply = <&vreg_s4e_0p95>;
426		vdd-l2-supply = <&vreg_s4e_0p95>;
427		vdd-l3-supply = <&vreg_s4e_0p95>;
428		vdd-s4-supply = <&vph_pwr>;
429
430		vreg_s4f_0p5: smps4 {
431			regulator-name = "vreg_s4f_0p5";
432			regulator-min-microvolt = <500000>;
433			regulator-max-microvolt = <700000>;
434			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
435		};
436
437		vreg_l1f_0p9: ldo1 {
438			regulator-name = "vreg_l1f_0p9";
439			regulator-min-microvolt = <912000>;
440			regulator-max-microvolt = <912000>;
441			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
442		};
443
444		vreg_l2f_0p88: ldo2 {
445			regulator-name = "vreg_l2f_0p88";
446			regulator-min-microvolt = <880000>;
447			regulator-max-microvolt = <912000>;
448			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
449		};
450
451		vreg_l3f_0p88: ldo3 {
452			regulator-name = "vreg_l3f_0p88";
453			regulator-min-microvolt = <880000>;
454			regulator-max-microvolt = <912000>;
455			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
456		};
457	};
458
459	regulators-5 {
460		compatible = "qcom,pm8550vs-rpmh-regulators";
461		qcom,pmic-id = "g";
462
463		vdd-l1-supply = <&vreg_s4g_1p25>;
464		vdd-l2-supply = <&vreg_s4g_1p25>;
465		vdd-l3-supply = <&vreg_s4g_1p25>;
466		vdd-s1-supply = <&vph_pwr>;
467		vdd-s2-supply = <&vph_pwr>;
468		vdd-s3-supply = <&vph_pwr>;
469		vdd-s4-supply = <&vph_pwr>;
470		vdd-s5-supply = <&vph_pwr>;
471		vdd-s6-supply = <&vph_pwr>;
472
473		vreg_s1g_1p25: smps1 {
474			regulator-name = "vreg_s1g_1p25";
475			regulator-min-microvolt = <1200000>;
476			regulator-max-microvolt = <1300000>;
477			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
478		};
479
480		vreg_s2g_0p85: smps2 {
481			regulator-name = "vreg_s2g_0p85";
482			regulator-min-microvolt = <800000>;
483			regulator-max-microvolt = <1000000>;
484			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
485		};
486
487		vreg_s3g_0p8: smps3 {
488			regulator-name = "vreg_s3g_0p8";
489			regulator-min-microvolt = <300000>;
490			regulator-max-microvolt = <1004000>;
491			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
492		};
493
494		vreg_s4g_1p25: smps4 {
495			regulator-name = "vreg_s4g_1p25";
496			regulator-min-microvolt = <1200000>;
497			regulator-max-microvolt = <1352000>;
498			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
499		};
500
501		vreg_s5g_0p85: smps5 {
502			regulator-name = "vreg_s5g_0p85";
503			regulator-min-microvolt = <500000>;
504			regulator-max-microvolt = <1004000>;
505			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
506		};
507
508		vreg_s6g_1p86: smps6 {
509			regulator-name = "vreg_s6g_1p86";
510			regulator-min-microvolt = <1800000>;
511			regulator-max-microvolt = <2000000>;
512			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
513		};
514
515		vreg_l1g_1p2: ldo1 {
516			regulator-name = "vreg_l1g_1p2";
517			regulator-min-microvolt = <1200000>;
518			regulator-max-microvolt = <1200000>;
519			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
520		};
521
522		vreg_l3g_1p2: ldo3 {
523			regulator-name = "vreg_l3g_1p2";
524			regulator-min-microvolt = <1200000>;
525			regulator-max-microvolt = <1200000>;
526			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
527		};
528	};
529};
530
531&i2c_master_hub_0 {
532	status = "okay";
533};
534
535&i2c_hub_2 {
536	status = "okay";
537
538	typec-retimer@1c {
539		compatible = "onnn,nb7vpq904m";
540		reg = <0x1c>;
541
542		vcc-supply = <&vreg_l15b_1p8>;
543
544		retimer-switch;
545		orientation-switch;
546
547		ports {
548			#address-cells = <1>;
549			#size-cells = <0>;
550
551			port@0 {
552				reg = <0>;
553
554				redriver_ss_out: endpoint {
555					remote-endpoint = <&pmic_glink_ss_in>;
556				};
557			};
558
559			port@1 {
560				reg = <1>;
561
562				redriver_ss_in: endpoint {
563					data-lanes = <3 2 1 0>;
564					remote-endpoint = <&usb_dp_qmpphy_out>;
565				};
566			};
567		};
568	};
569
570	typec-mux@42 {
571		compatible = "fcs,fsa4480";
572		reg = <0x42>;
573
574		vcc-supply = <&vreg_bob1>;
575
576		mode-switch;
577		orientation-switch;
578
579		port {
580			fsa4480_sbu_mux: endpoint {
581				remote-endpoint = <&pmic_glink_sbu>;
582			};
583		};
584	};
585};
586
587&gcc {
588	clocks = <&bi_tcxo_div2>, <&sleep_clk>,
589		 <&pcie0_phy>,
590		 <&pcie1_phy>,
591		 <0>,
592		 <&ufs_mem_phy 0>,
593		 <&ufs_mem_phy 1>,
594		 <&ufs_mem_phy 2>,
595		 <&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
596};
597
598&lpass_tlmm {
599	spkr_1_sd_n_active: spkr-1-sd-n-active-state {
600		pins = "gpio17";
601		function = "gpio";
602		drive-strength = <16>;
603		bias-disable;
604		output-low;
605	};
606
607	spkr_2_sd_n_active: spkr-2-sd-n-active-state {
608		pins = "gpio18";
609		function = "gpio";
610		drive-strength = <16>;
611		bias-disable;
612		output-low;
613	};
614};
615
616&mdss {
617	status = "okay";
618};
619
620&mdss_dsi0 {
621	vdda-supply = <&vreg_l3e_1p2>;
622	status = "okay";
623
624	panel@0 {
625		compatible = "visionox,vtdr6130";
626		reg = <0>;
627
628		pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>;
629		pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>;
630		pinctrl-names = "default", "sleep";
631
632		vci-supply = <&vreg_l13b_3p0>;
633		vdd-supply = <&vreg_l11b_1p2>;
634		vddio-supply = <&vreg_l12b_1p8>;
635
636		reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
637
638		port {
639			panel0_in: endpoint {
640				remote-endpoint = <&mdss_dsi0_out>;
641			};
642		};
643	};
644};
645
646&mdss_dsi0_out {
647	remote-endpoint = <&panel0_in>;
648	data-lanes = <0 1 2 3>;
649};
650
651&mdss_dsi0_phy {
652	vdds-supply = <&vreg_l1e_0p88>;
653	status = "okay";
654};
655
656&mdss_dp0 {
657	status = "okay";
658};
659
660&mdss_dp0_out {
661	data-lanes = <0 1>;
662	remote-endpoint = <&usb_dp_qmpphy_dp_in>;
663};
664
665&pcie_1_phy_aux_clk {
666	status = "disabled";
667};
668
669&pcie0 {
670	wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
671	perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
672
673	pinctrl-0 = <&pcie0_default_state>;
674	pinctrl-names = "default";
675
676	status = "okay";
677};
678
679&pcie0_phy {
680	vdda-phy-supply = <&vreg_l1e_0p88>;
681	vdda-pll-supply = <&vreg_l3e_1p2>;
682
683	status = "okay";
684};
685
686&pm8550_flash {
687	status = "okay";
688
689	led-0 {
690		function = LED_FUNCTION_FLASH;
691		color = <LED_COLOR_ID_YELLOW>;
692		led-sources = <1>, <4>;
693		led-max-microamp = <500000>;
694		flash-max-microamp = <2000000>;
695		flash-max-timeout-us = <1280000>;
696		function-enumerator = <0>;
697	};
698
699	led-1 {
700		function = LED_FUNCTION_FLASH;
701		color = <LED_COLOR_ID_WHITE>;
702		led-sources = <2>, <3>;
703		led-max-microamp = <500000>;
704		flash-max-microamp = <2000000>;
705		flash-max-timeout-us = <1280000>;
706		function-enumerator = <1>;
707	};
708};
709
710&pm8550_gpios {
711	volume_up_n: volume-up-n-state {
712		pins = "gpio6";
713		function = "normal";
714		power-source = <1>;
715		bias-pull-up;
716		input-enable;
717	};
718};
719
720&pm8550_pwm {
721	status = "okay";
722
723	multi-led {
724		color = <LED_COLOR_ID_RGB>;
725		function = LED_FUNCTION_STATUS;
726
727		#address-cells = <1>;
728		#size-cells = <0>;
729
730		led@1 {
731			reg = <1>;
732			color = <LED_COLOR_ID_RED>;
733		};
734
735		led@2 {
736			reg = <2>;
737			color = <LED_COLOR_ID_GREEN>;
738		};
739
740		led@3 {
741			reg = <3>;
742			color = <LED_COLOR_ID_BLUE>;
743		};
744	};
745};
746
747&pm8550b_eusb2_repeater {
748	vdd18-supply = <&vreg_l15b_1p8>;
749	vdd3-supply = <&vreg_l5b_3p1>;
750};
751
752&pon_pwrkey {
753	status = "okay";
754};
755
756&pon_resin {
757	linux,code = <KEY_VOLUMEDOWN>;
758
759	status = "okay";
760};
761
762&pcie_1_phy_aux_clk {
763	clock-frequency = <1000>;
764};
765
766&qupv3_id_0 {
767	status = "okay";
768};
769
770&qupv3_id_1 {
771	status = "okay";
772};
773
774&remoteproc_adsp {
775	firmware-name = "qcom/sm8550/adsp.mbn",
776			"qcom/sm8550/adsp_dtb.mbn";
777	status = "okay";
778};
779
780&remoteproc_cdsp {
781	firmware-name = "qcom/sm8550/cdsp.mbn",
782			"qcom/sm8550/cdsp_dtb.mbn";
783	status = "okay";
784};
785
786&remoteproc_mpss {
787	firmware-name = "qcom/sm8550/modem.mbn",
788			"qcom/sm8550/modem_dtb.mbn";
789	status = "okay";
790};
791
792&sleep_clk {
793	clock-frequency = <32000>;
794};
795
796&swr0 {
797	status = "okay";
798
799	/* WSA8845, Speaker North */
800	north_spkr: speaker@0,0 {
801		compatible = "sdw20217020400";
802		reg = <0 0>;
803		pinctrl-names = "default";
804		pinctrl-0 = <&spkr_1_sd_n_active>;
805		powerdown-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>;
806		#sound-dai-cells = <0>;
807		sound-name-prefix = "SpkrLeft";
808		vdd-1p8-supply = <&vreg_l15b_1p8>;
809		vdd-io-supply = <&vreg_l3g_1p2>;
810	};
811
812	/* WSA8845, Speaker South */
813	south_spkr: speaker@0,1 {
814		compatible = "sdw20217020400";
815		reg = <0 1>;
816		pinctrl-names = "default";
817		pinctrl-0 = <&spkr_2_sd_n_active>;
818		powerdown-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>;
819		#sound-dai-cells = <0>;
820		sound-name-prefix = "SpkrRight";
821		vdd-1p8-supply = <&vreg_l15b_1p8>;
822		vdd-io-supply = <&vreg_l3g_1p2>;
823	};
824};
825
826&swr1 {
827	status = "okay";
828
829	/* WCD9385 RX */
830	wcd_rx: codec@0,4 {
831		compatible = "sdw20217010d00";
832		reg = <0 4>;
833		qcom,rx-port-mapping = <1 2 3 4 5>;
834	};
835};
836
837&swr2 {
838	status = "okay";
839
840	/* WCD9385 TX */
841	wcd_tx: codec@0,3 {
842		compatible = "sdw20217010d00";
843		reg = <0 3>;
844		qcom,tx-port-mapping = <1 1 2 3>;
845	};
846};
847
848&tlmm {
849	gpio-reserved-ranges = <32 8>;
850
851	bt_default: bt-default-state {
852		bt-en-pins {
853			pins = "gpio81";
854			function = "gpio";
855			drive-strength = <16>;
856			bias-disable;
857		};
858
859		sw-ctrl-pins {
860			pins = "gpio82";
861			function = "gpio";
862			bias-pull-down;
863		};
864	};
865
866	sde_dsi_active: sde-dsi-active-state {
867		pins = "gpio133";
868		function = "gpio";
869		drive-strength = <8>;
870		bias-disable;
871	};
872
873	sde_dsi_suspend: sde-dsi-suspend-state {
874		pins = "gpio133";
875		function = "gpio";
876		drive-strength = <2>;
877		bias-pull-down;
878	};
879
880	sde_te_active: sde-te-active-state {
881		pins = "gpio86";
882		function = "mdp_vsync";
883		drive-strength = <2>;
884		bias-pull-down;
885	};
886
887	sde_te_suspend: sde-te-suspend-state {
888		pins = "gpio86";
889		function = "mdp_vsync";
890		drive-strength = <2>;
891		bias-pull-down;
892	};
893
894	wcd_default: wcd-reset-n-active-state {
895		pins = "gpio108";
896		function = "gpio";
897		drive-strength = <16>;
898		bias-disable;
899		output-low;
900	};
901};
902
903&uart7 {
904	status = "okay";
905};
906
907&uart14 {
908	status = "okay";
909
910	bluetooth {
911		compatible = "qcom,wcn7850-bt";
912
913		vddio-supply = <&vreg_l15b_1p8>;
914		vddaon-supply = <&vreg_s4e_0p95>;
915		vdddig-supply = <&vreg_s4e_0p95>;
916		vddrfa0p8-supply = <&vreg_s4e_0p95>;
917		vddrfa1p2-supply = <&vreg_s4g_1p25>;
918		vddrfa1p9-supply = <&vreg_s6g_1p86>;
919
920		max-speed = <3200000>;
921
922		enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>;
923		swctrl-gpios = <&tlmm 82 GPIO_ACTIVE_HIGH>;
924
925		pinctrl-0 = <&bt_default>;
926		pinctrl-names = "default";
927	};
928};
929
930&ufs_mem_hc {
931	reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
932	vcc-supply = <&vreg_l17b_2p5>;
933	vcc-max-microamp = <1300000>;
934	vccq-supply = <&vreg_l1g_1p2>;
935	vccq-max-microamp = <1200000>;
936	vdd-hba-supply = <&vreg_l3g_1p2>;
937
938	status = "okay";
939};
940
941&ufs_mem_phy {
942	vdda-phy-supply = <&vreg_l1d_0p88>;
943	vdda-pll-supply = <&vreg_l3e_1p2>;
944
945	status = "okay";
946};
947
948&usb_1 {
949	status = "okay";
950};
951
952&usb_1_dwc3 {
953	dr_mode = "otg";
954	usb-role-switch;
955};
956
957&usb_1_dwc3_hs {
958	remote-endpoint = <&pmic_glink_hs_in>;
959};
960
961&usb_1_dwc3_ss {
962	remote-endpoint = <&usb_dp_qmpphy_usb_ss_in>;
963};
964
965&usb_1_hsphy {
966	vdd-supply = <&vreg_l1e_0p88>;
967	vdda12-supply = <&vreg_l3e_1p2>;
968
969	phys = <&pm8550b_eusb2_repeater>;
970
971	status = "okay";
972};
973
974&usb_dp_qmpphy {
975	vdda-phy-supply = <&vreg_l3e_1p2>;
976	vdda-pll-supply = <&vreg_l3f_0p88>;
977
978	orientation-switch;
979
980	status = "okay";
981};
982
983&usb_dp_qmpphy_dp_in {
984	remote-endpoint = <&mdss_dp0_out>;
985};
986
987&usb_dp_qmpphy_out {
988	remote-endpoint = <&redriver_ss_in>;
989};
990
991&usb_dp_qmpphy_usb_ss_in {
992	remote-endpoint = <&usb_1_dwc3_ss>;
993};
994
995&xo_board {
996	clock-frequency = <76800000>;
997};
998