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