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