xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/sm8750-mtp.dts (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/leds/common.h>
10#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
11#include "sm8750.dtsi"
12#include "pm8010.dtsi"
13#include "pm8550.dtsi"
14#define PMK8550VE_SID 8
15#include "pm8550ve.dtsi"
16#include "pmd8028.dtsi"
17#include "pmih0108.dtsi"
18#include "pmk8550.dtsi"
19#include "pmr735d_a.dtsi"
20#include "sm8750-pmics.dtsi"
21
22/ {
23	model = "Qualcomm Technologies, Inc. SM8750 MTP";
24	compatible = "qcom,sm8750-mtp", "qcom,sm8750";
25	chassis-type = "handset";
26
27
28	aliases {
29		serial0 = &uart7;
30	};
31
32	wcd939x: audio-codec {
33		compatible = "qcom,wcd9395-codec", "qcom,wcd9390-codec";
34
35		pinctrl-0 = <&wcd_default>;
36		pinctrl-names = "default";
37
38		qcom,micbias1-microvolt = <1800000>;
39		qcom,micbias2-microvolt = <1800000>;
40		qcom,micbias3-microvolt = <1800000>;
41		qcom,micbias4-microvolt = <1800000>;
42		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
43		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
44		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
45		qcom,rx-device = <&wcd_rx>;
46		qcom,tx-device = <&wcd_tx>;
47
48		reset-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
49
50		vdd-buck-supply = <&vreg_l15b_1p8>;
51		vdd-rxtx-supply = <&vreg_l15b_1p8>;
52		vdd-io-supply = <&vreg_l15b_1p8>;
53		vdd-mic-bias-supply = <&vreg_bob1>;
54		vdd-px-supply = <&vreg_l2i_1p2>;
55
56		#sound-dai-cells = <1>;
57	};
58
59	chosen {
60		stdout-path = "serial0:115200n8";
61	};
62
63	clocks {
64		xo_board: xo-board {
65			compatible = "fixed-clock";
66			clock-frequency = <76800000>;
67			#clock-cells = <0>;
68		};
69
70		sleep_clk: sleep-clk {
71			compatible = "fixed-clock";
72			clock-frequency = <32000>;
73			#clock-cells = <0>;
74		};
75
76		bi_tcxo_div2: bi-tcxo-div2-clk {
77			compatible = "fixed-factor-clock";
78			#clock-cells = <0>;
79
80			clocks = <&rpmhcc RPMH_CXO_CLK>;
81			clock-mult = <1>;
82			clock-div = <2>;
83		};
84
85		bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk {
86			compatible = "fixed-factor-clock";
87			#clock-cells = <0>;
88
89			clocks = <&rpmhcc RPMH_CXO_CLK_A>;
90			clock-mult = <1>;
91			clock-div = <2>;
92		};
93	};
94
95	gpio-keys {
96		compatible = "gpio-keys";
97
98		pinctrl-0 = <&volume_up_n>;
99		pinctrl-names = "default";
100
101		key-volume-up {
102			label = "Volume Up";
103			linux,code = <KEY_VOLUMEUP>;
104			gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
105			debounce-interval = <15>;
106			linux,can-disable;
107			wakeup-source;
108		};
109	};
110
111	sound {
112		compatible = "qcom,sm8750-sndcard", "qcom,sm8450-sndcard";
113		model = "SM8750-MTP";
114		audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
115				"SpkrRight IN", "WSA_SPK2 OUT",
116				"IN1_HPHL", "HPHL_OUT",
117				"IN2_HPHR", "HPHR_OUT",
118				"AMIC2", "MIC BIAS2",
119				"VA DMIC0", "MIC BIAS3", /* MIC4 on schematics */
120				"VA DMIC1", "MIC BIAS3", /* MIC1 on schematics */
121				"VA DMIC2", "MIC BIAS1",
122				"VA DMIC3", "MIC BIAS1",
123				"VA DMIC0", "VA MIC BIAS3",
124				"VA DMIC1", "VA MIC BIAS3",
125				"VA DMIC2", "VA MIC BIAS1",
126				"VA DMIC3", "VA MIC BIAS1",
127				"TX SWR_INPUT1", "ADC2_OUTPUT";
128
129		wcd-playback-dai-link {
130			link-name = "WCD Playback";
131
132			codec {
133				sound-dai = <&wcd939x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
134			};
135
136			cpu {
137				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
138			};
139
140			platform {
141				sound-dai = <&q6apm>;
142			};
143		};
144
145		wcd-capture-dai-link {
146			link-name = "WCD Capture";
147
148			codec {
149				sound-dai = <&wcd939x 1>, <&swr2 0>, <&lpass_txmacro 0>;
150			};
151
152			cpu {
153				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
154			};
155
156			platform {
157				sound-dai = <&q6apm>;
158			};
159		};
160
161		wsa-dai-link {
162			link-name = "WSA Playback";
163
164			codec {
165				sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
166			};
167
168			cpu {
169				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
170			};
171
172			platform {
173				sound-dai = <&q6apm>;
174			};
175		};
176
177		va-dai-link {
178			link-name = "VA Capture";
179
180			codec {
181				sound-dai = <&lpass_vamacro 0>;
182			};
183
184			cpu {
185				sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
186			};
187
188			platform {
189				sound-dai = <&q6apm>;
190			};
191		};
192	};
193
194	vph_pwr: vph-pwr-regulator {
195		compatible = "regulator-fixed";
196
197		regulator-name = "vph_pwr";
198		regulator-min-microvolt = <3700000>;
199		regulator-max-microvolt = <3700000>;
200
201		regulator-always-on;
202		regulator-boot-on;
203	};
204};
205
206&apps_rsc {
207	regulators-0 {
208		compatible = "qcom,pm8550-rpmh-regulators";
209
210		vdd-bob1-supply = <&vph_pwr>;
211		vdd-bob2-supply = <&vph_pwr>;
212		vdd-l1-l4-l10-supply = <&vreg_s3g_1p8>;
213		vdd-l2-l13-l14-supply = <&vreg_bob1>;
214		vdd-l3-supply = <&vreg_s7i_1p2>;
215		vdd-l5-l16-supply = <&vreg_bob1>;
216		vdd-l6-l7-supply = <&vreg_bob1>;
217		vdd-l8-l9-supply = <&vreg_bob1>;
218		vdd-l11-supply = <&vreg_s7i_1p2>;
219		vdd-l12-supply = <&vreg_s3g_1p8>;
220		vdd-l15-supply = <&vreg_s3g_1p8>;
221		vdd-l17-supply = <&vreg_bob2>;
222
223		qcom,pmic-id = "b";
224
225		vreg_bob1: bob1 {
226			regulator-name = "vreg_bob1";
227			regulator-min-microvolt = <3008000>;
228			regulator-max-microvolt = <4000000>;
229			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
230		};
231
232		vreg_bob2: bob2 {
233			regulator-name = "vreg_bob2";
234			regulator-min-microvolt = <2704000>;
235			regulator-max-microvolt = <3008000>;
236			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
237		};
238
239		vreg_l1b_1p8: ldo1 {
240			regulator-name = "vreg_l1b_1p8";
241			regulator-min-microvolt = <1800000>;
242			regulator-max-microvolt = <1800000>;
243			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
244			regulator-allow-set-load;
245			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
246						   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 = <3048000>;
253			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
254			regulator-allow-set-load;
255			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
256						   RPMH_REGULATOR_MODE_HPM>;
257		};
258
259		vreg_l4b_1p8: ldo4 {
260			regulator-name = "vreg_l4b_1p8";
261			regulator-min-microvolt = <1800000>;
262			regulator-max-microvolt = <1800000>;
263			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
264			regulator-allow-set-load;
265			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
266						   RPMH_REGULATOR_MODE_HPM>;
267		};
268
269		vreg_l5b_3p1: ldo5 {
270			regulator-name = "vreg_l5b_3p1";
271			regulator-min-microvolt = <3100000>;
272			regulator-max-microvolt = <3148000>;
273			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
274			regulator-allow-set-load;
275			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
276						   RPMH_REGULATOR_MODE_HPM>;
277		};
278
279		vreg_l6b_1p8: ldo6 {
280			regulator-name = "vreg_l6b_1p8";
281			regulator-min-microvolt = <1800000>;
282			regulator-max-microvolt = <3008000>;
283			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
284			regulator-allow-set-load;
285			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
286						   RPMH_REGULATOR_MODE_HPM>;
287		};
288
289		vreg_l7b_1p8: ldo7 {
290			regulator-name = "vreg_l7b_1p8";
291			regulator-min-microvolt = <1800000>;
292			regulator-max-microvolt = <3008000>;
293			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294			regulator-allow-set-load;
295			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
296						   RPMH_REGULATOR_MODE_HPM>;
297
298		};
299
300		vreg_l8b_1p8: ldo8 {
301			regulator-name = "vreg_l8b_1p8";
302			regulator-min-microvolt = <1800000>;
303			regulator-max-microvolt = <3008000>;
304			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305			regulator-allow-set-load;
306			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
307						   RPMH_REGULATOR_MODE_HPM>;
308		};
309
310		vreg_l9b_2p9: ldo9 {
311			regulator-name = "vreg_l9b_2p9";
312			regulator-min-microvolt = <2960000>;
313			regulator-max-microvolt = <3008000>;
314			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
315			regulator-allow-set-load;
316			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
317						   RPMH_REGULATOR_MODE_HPM>;
318		};
319
320		vreg_l10b_1p8: ldo10 {
321			regulator-name = "vreg_l10b_1p8";
322			regulator-min-microvolt = <1800000>;
323			regulator-max-microvolt = <1800000>;
324			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
325			regulator-allow-set-load;
326			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
327						   RPMH_REGULATOR_MODE_HPM>;
328		};
329
330		vreg_l11b_1p0: ldo11 {
331			regulator-name = "vreg_l11b_1p0";
332			regulator-min-microvolt = <1064000>;
333			regulator-max-microvolt = <1292000>;
334			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
335			regulator-allow-set-load;
336			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
337						   RPMH_REGULATOR_MODE_HPM>;
338		};
339
340		vreg_l12b_1p8: ldo12 {
341			regulator-name = "vreg_l12b_1p8";
342			regulator-min-microvolt = <1200000>;
343			regulator-max-microvolt = <1800000>;
344			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
345			regulator-allow-set-load;
346			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
347						   RPMH_REGULATOR_MODE_HPM>;
348		};
349
350		vreg_l13b_3p0: ldo13 {
351			regulator-name = "vreg_l13b_3p0";
352			regulator-min-microvolt = <3000000>;
353			regulator-max-microvolt = <3000000>;
354			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
355			regulator-allow-set-load;
356			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
357						   RPMH_REGULATOR_MODE_HPM>;
358		};
359
360		vreg_l14b_3p2: ldo14 {
361			regulator-name = "vreg_l14b_3p2";
362			regulator-min-microvolt = <3200000>;
363			regulator-max-microvolt = <3200000>;
364			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
365			regulator-allow-set-load;
366			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
367						   RPMH_REGULATOR_MODE_HPM>;
368		};
369
370		vreg_l15b_1p8: ldo15 {
371			regulator-name = "vreg_l15b_1p8";
372			regulator-min-microvolt = <1800000>;
373			regulator-max-microvolt = <1800000>;
374			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
375			regulator-allow-set-load;
376			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
377						   RPMH_REGULATOR_MODE_HPM>;
378		};
379
380		vreg_l16b_2p8: ldo16 {
381			regulator-name = "vreg_l16b_2p8";
382			regulator-min-microvolt = <2800000>;
383			regulator-max-microvolt = <2800000>;
384			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
385			regulator-allow-set-load;
386			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
387						   RPMH_REGULATOR_MODE_HPM>;
388		};
389
390		vreg_l17b_2p5: ldo17 {
391			regulator-name = "vreg_l17b_2p5";
392			regulator-min-microvolt = <2504000>;
393			regulator-max-microvolt = <2504000>;
394			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
395			regulator-allow-set-load;
396			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
397						   RPMH_REGULATOR_MODE_HPM>;
398		};
399	};
400
401	regulators-1 {
402		compatible = "qcom,pm8550ve-rpmh-regulators";
403
404		vdd-l1-supply = <&vreg_s7i_1p2>;
405		vdd-l2-supply = <&vreg_s1d_0p97>;
406		vdd-l3-supply = <&vreg_s1d_0p97>;
407		vdd-s1-supply = <&vph_pwr>;
408		vdd-s3-supply = <&vph_pwr>;
409		vdd-s4-supply = <&vph_pwr>;
410
411		qcom,pmic-id = "d";
412
413		vreg_s1d_0p97: smps1 {
414			regulator-name = "vreg_s1d_0p97";
415			regulator-min-microvolt = <880000>;
416			regulator-max-microvolt = <1100000>;
417			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
418		};
419
420		vreg_s3d_1p2: smps3 {
421			regulator-name = "vreg_s3d_1p2";
422			regulator-min-microvolt = <1200000>;
423			regulator-max-microvolt = <1300000>;
424			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
425		};
426
427		vreg_s4d_0p85: smps4 {
428			regulator-name = "vreg_s4d_0p85";
429			regulator-min-microvolt = <500000>;
430			regulator-max-microvolt = <1036000>;
431			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
432		};
433
434		vreg_l1d_1p2: ldo1 {
435			regulator-name = "vreg_l1d_1p2";
436			regulator-min-microvolt = <1200000>;
437			regulator-max-microvolt = <1200000>;
438			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
439			regulator-allow-set-load;
440			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
441						   RPMH_REGULATOR_MODE_HPM>;
442		};
443
444		vreg_l2d_0p88: ldo2 {
445			regulator-name = "vreg_l2d_0p88";
446			regulator-min-microvolt = <880000>;
447			regulator-max-microvolt = <912000>;
448			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
449			regulator-allow-set-load;
450			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
451						   RPMH_REGULATOR_MODE_HPM>;
452		};
453
454		vreg_l3d_0p88: ldo3 {
455			regulator-name = "vreg_l3d_0p88";
456			regulator-min-microvolt = <880000>;
457			regulator-max-microvolt = <920000>;
458			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
459			regulator-allow-set-load;
460			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
461						   RPMH_REGULATOR_MODE_HPM>;
462		};
463	};
464
465	regulators-2 {
466		compatible = "qcom,pm8550ve-rpmh-regulators";
467
468		vdd-l1-supply = <&vreg_s1d_0p97>;
469		vdd-l2-supply = <&vreg_s7i_1p2>;
470		vdd-l3-supply = <&vreg_s3g_1p8>;
471		vdd-s5-supply = <&vph_pwr>;
472
473		qcom,pmic-id = "f";
474
475		vreg_s5f_0p5: smps5 {
476			regulator-name = "vreg_s5f_0p5";
477			regulator-min-microvolt = <500000>;
478			regulator-max-microvolt = <1000000>;
479			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
480		};
481
482		vreg_l1f_0p88: ldo1 {
483			regulator-name = "vreg_l1f_0p88";
484			regulator-min-microvolt = <880000>;
485			regulator-max-microvolt = <920000>;
486			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
487			regulator-allow-set-load;
488			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
489						   RPMH_REGULATOR_MODE_HPM>;
490		};
491
492		vreg_l2f_1p2: ldo2 {
493			regulator-name = "vreg_l2f_1p2";
494			regulator-min-microvolt = <1200000>;
495			regulator-max-microvolt = <1200000>;
496			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
497			regulator-allow-set-load;
498			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
499						   RPMH_REGULATOR_MODE_HPM>;
500		};
501
502		vreg_l3f_1p8: ldo3 {
503			regulator-name = "vreg_l3f_1p8";
504			regulator-min-microvolt = <1800000>;
505			regulator-max-microvolt = <1800000>;
506			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
507			regulator-allow-set-load;
508			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
509						   RPMH_REGULATOR_MODE_HPM>;
510		};
511
512	};
513
514	regulators-3 {
515		compatible = "qcom,pm8550ve-rpmh-regulators";
516
517		vdd-l1-supply = <&vreg_s1d_0p97>;
518		vdd-l2-supply = <&vreg_s3g_1p8>;
519		vdd-l3-supply = <&vreg_s7i_1p2>;
520		vdd-s1-supply = <&vph_pwr>;
521		vdd-s3-supply = <&vph_pwr>;
522
523		qcom,pmic-id = "g";
524
525		vreg_s1g_0p5: smps1 {
526			regulator-name = "vreg_s1g_0p5";
527			regulator-min-microvolt = <300000>;
528			regulator-max-microvolt = <700000>;
529			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
530		};
531
532		vreg_s3g_1p8: smps3 {
533			regulator-name = "vreg_s3g_1p8";
534			regulator-min-microvolt = <1856000>;
535			regulator-max-microvolt = <2000000>;
536			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
537			regulator-allow-set-load;
538			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
539						   RPMH_REGULATOR_MODE_HPM>;
540		};
541
542		vreg_s4g_0p75: smps4 {
543			regulator-name = "vreg_s4g_0p75";
544			regulator-min-microvolt = <300000>;
545			regulator-max-microvolt = <900000>;
546			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
547		};
548
549		vreg_l1g_0p91: ldo1 {
550			regulator-name = "vreg_l1g_0p91";
551			regulator-min-microvolt = <912000>;
552			regulator-max-microvolt = <936000>;
553			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
554			regulator-allow-set-load;
555			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
556						   RPMH_REGULATOR_MODE_HPM>;
557		};
558
559		vreg_l2g_1p8: ldo2 {
560			regulator-name = "vreg_l2g_1p8";
561			regulator-min-microvolt = <1200000>;
562			regulator-max-microvolt = <1860000>;
563			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
564			regulator-allow-set-load;
565			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
566						   RPMH_REGULATOR_MODE_HPM>;
567		};
568
569		vreg_l3g_1p2: ldo3 {
570			regulator-name = "vreg_l3g_1p2";
571			regulator-min-microvolt = <1200000>;
572			regulator-max-microvolt = <1256000>;
573			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
574			regulator-allow-set-load;
575			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
576						   RPMH_REGULATOR_MODE_HPM>;
577		};
578	};
579
580	regulators-4 {
581		compatible = "qcom,pm8550ve-rpmh-regulators";
582
583		vdd-l1-supply = <&vreg_s7i_1p2>;
584		vdd-l2-supply = <&vreg_s7i_1p2>;
585		vdd-l3-supply = <&vreg_s1d_0p97>;
586		vdd-s7-supply = <&vph_pwr>;
587		vdd-s8-supply = <&vph_pwr>;
588
589		qcom,pmic-id = "i";
590
591		vreg_s7i_1p2: smps7 {
592			regulator-name = "vreg_s7i_1p2";
593			regulator-min-microvolt = <1224000>;
594			regulator-max-microvolt = <1340000>;
595			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
596		};
597
598		vreg_s8i_0p9: smps8 {
599			regulator-name = "vreg_s8i_0p9";
600			regulator-min-microvolt = <900000>;
601			regulator-max-microvolt = <972000>;
602			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
603		};
604
605		vreg_l1i_1p2: ldo1 {
606			regulator-name = "vreg_l1i_1p2";
607			regulator-min-microvolt = <1200000>;
608			regulator-max-microvolt = <1200000>;
609			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
610			regulator-allow-set-load;
611			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
612						   RPMH_REGULATOR_MODE_HPM>;
613		};
614
615		vreg_l2i_1p2: ldo2 {
616			regulator-name = "vreg_l2i_1p2";
617			regulator-min-microvolt = <1200000>;
618			regulator-max-microvolt = <1200000>;
619			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
620			regulator-allow-set-load;
621			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
622						   RPMH_REGULATOR_MODE_HPM>;
623		};
624
625		vreg_l3i_0p88: ldo3 {
626			regulator-name = "vreg_l3i_0p88";
627			regulator-min-microvolt = <880000>;
628			regulator-max-microvolt = <912000>;
629			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
630			regulator-allow-set-load;
631			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
632						   RPMH_REGULATOR_MODE_HPM>;
633		};
634	};
635
636	regulators-5 {
637		compatible = "qcom,pm8550vs-rpmh-regulators";
638
639		vdd-l1-supply = <&vreg_s1d_0p97>;
640		vdd-l2-supply = <&vreg_s7i_1p2>;
641		vdd-s2-supply = <&vph_pwr>;
642		vdd-s3-supply = <&vph_pwr>;
643		vdd-s4-supply = <&vph_pwr>;
644
645		qcom,pmic-id = "j";
646
647		vreg_s2j_1p1: smps2 {
648			regulator-name = "vreg_s2j_1p1";
649			regulator-min-microvolt = <1000000>;
650			regulator-max-microvolt = <1100000>;
651			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
652		};
653
654		vreg_s3j_1p1: smps3 {
655			regulator-name = "vreg_s3j_1p1";
656			regulator-min-microvolt = <1000000>;
657			regulator-max-microvolt = <1100000>;
658			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
659		};
660
661		vreg_l1j_0p91: ldo1 {
662			regulator-name = "vreg_l1j_0p91";
663			regulator-min-microvolt = <880000>;
664			regulator-max-microvolt = <920000>;
665			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
666			regulator-allow-set-load;
667			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
668						   RPMH_REGULATOR_MODE_HPM>;
669		};
670
671		vreg_l2j_1p2: ldo2 {
672			regulator-name = "vreg_l2j_1p2";
673			regulator-min-microvolt = <1200000>;
674			regulator-max-microvolt = <1200000>;
675			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
676			regulator-allow-set-load;
677			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
678						   RPMH_REGULATOR_MODE_HPM>;
679		};
680	};
681
682	regulators-6 {
683		compatible = "qcom,pm8010-rpmh-regulators";
684		qcom,pmic-id = "m";
685
686		vdd-l1-l2-supply = <&vreg_s7i_1p2>;
687		vdd-l3-l4-supply = <&vreg_bob2>;
688		vdd-l5-supply = <&vreg_s3g_1p8>;
689		vdd-l6-supply = <&vreg_bob1>;
690		vdd-l7-supply = <&vreg_bob1>;
691
692		vreg_l1m_1p1: ldo1 {
693			regulator-name = "vreg_l1m_1p1";
694			regulator-min-microvolt = <1104000>;
695			regulator-max-microvolt = <1104000>;
696			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
697			regulator-allow-set-load;
698			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
699						   RPMH_REGULATOR_MODE_HPM>;
700		};
701
702		vreg_l2m_1p056: ldo2 {
703			regulator-name = "vreg_l2m_1p056";
704			regulator-min-microvolt = <1056000>;
705			regulator-max-microvolt = <1056000>;
706			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
707			regulator-allow-set-load;
708			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
709						   RPMH_REGULATOR_MODE_HPM>;
710		};
711
712		vreg_l3m_2p8: ldo3 {
713			regulator-name = "vreg_l3m_2p8";
714			regulator-min-microvolt = <2800000>;
715			regulator-max-microvolt = <2800000>;
716			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
717		};
718
719		vreg_l4m_2p8: ldo4 {
720			regulator-name = "vreg_l4m_2p8";
721			regulator-min-microvolt = <2800000>;
722			regulator-max-microvolt = <2800000>;
723			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
724		};
725
726		vreg_l5m_1p8: ldo5 {
727			regulator-name = "vreg_l5m_1p8";
728			regulator-min-microvolt = <1800000>;
729			regulator-max-microvolt = <1800000>;
730			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
731		};
732
733		vreg_l6m_2p8: ldo6 {
734			regulator-name = "vreg_l6m_2p8";
735			regulator-min-microvolt = <2800000>;
736			regulator-max-microvolt = <2800000>;
737			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
738		};
739
740		vreg_l7m_2p96: ldo7 {
741			regulator-name = "vreg_l7m_2p96";
742			regulator-min-microvolt = <2960000>;
743			regulator-max-microvolt = <2960000>;
744			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
745		};
746	};
747
748	regulators-7 {
749		compatible = "qcom,pm8010-rpmh-regulators";
750		qcom,pmic-id = "n";
751
752		vdd-l1-l2-supply = <&vreg_s7i_1p2>;
753		vdd-l3-l4-supply = <&vreg_s3g_1p8>;
754		vdd-l5-supply = <&vreg_bob2>;
755		vdd-l6-supply = <&vreg_bob2>;
756		vdd-l7-supply = <&vreg_bob1>;
757
758		vreg_l1n_1p1: ldo1 {
759			regulator-name = "vreg_l1n_1p1";
760			regulator-min-microvolt = <1104000>;
761			regulator-max-microvolt = <1104000>;
762			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
763			regulator-allow-set-load;
764			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
765						   RPMH_REGULATOR_MODE_HPM>;
766		};
767
768		vreg_l2n_1p1: ldo2 {
769			regulator-name = "vreg_l2n_1p1";
770			regulator-min-microvolt = <1104000>;
771			regulator-max-microvolt = <1104000>;
772			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
773			regulator-allow-set-load;
774			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
775						   RPMH_REGULATOR_MODE_HPM>;
776		};
777
778		vreg_l3n_1p8: ldo3 {
779			regulator-name = "vreg_l3n_1p8";
780			regulator-min-microvolt = <1800000>;
781			regulator-max-microvolt = <1800000>;
782			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
783		};
784
785		vreg_l4n_1p8: ldo4 {
786			regulator-name = "vreg_l4n_1p8";
787			regulator-min-microvolt = <1800000>;
788			regulator-max-microvolt = <1800000>;
789			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
790		};
791
792		vreg_l5n_2p8: ldo5 {
793			regulator-name = "vreg_l5n_2p8";
794			regulator-min-microvolt = <2800000>;
795			regulator-max-microvolt = <2800000>;
796			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
797		};
798
799		vreg_l6n_2p8: ldo6 {
800			regulator-name = "vreg_l6n_2p8";
801			regulator-min-microvolt = <2800000>;
802			regulator-max-microvolt = <2800000>;
803			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
804		};
805
806		vreg_l7n_3p3: ldo7 {
807			regulator-name = "vreg_l7n_3p3";
808			regulator-min-microvolt = <3304000>;
809			regulator-max-microvolt = <3304000>;
810			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
811		};
812	};
813};
814
815&lpass_vamacro {
816	pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
817	pinctrl-names = "default";
818
819	vdd-micb-supply = <&vreg_l1b_1p8>;
820	qcom,dmic-sample-rate = <4800000>;
821};
822
823&pm8550_flash {
824	status = "okay";
825
826	led-0 {
827		function = LED_FUNCTION_FLASH;
828		color = <LED_COLOR_ID_YELLOW>;
829		led-sources = <1>, <4>;
830		led-max-microamp = <500000>;
831		flash-max-microamp = <2000000>;
832		flash-max-timeout-us = <1280000>;
833		function-enumerator = <0>;
834	};
835
836	led-1 {
837		function = LED_FUNCTION_FLASH;
838		color = <LED_COLOR_ID_WHITE>;
839		led-sources = <2>, <3>;
840		led-max-microamp = <500000>;
841		flash-max-microamp = <2000000>;
842		flash-max-timeout-us = <1280000>;
843		function-enumerator = <1>;
844	};
845};
846
847&pm8550_gpios {
848	volume_up_n: volume-up-n-state {
849		pins = "gpio6";
850		function = "normal";
851		bias-pull-up;
852		input-enable;
853		power-source = <1>;
854	};
855};
856
857&pm8550_pwm {
858	status = "okay";
859
860	multi-led {
861		color = <LED_COLOR_ID_RGB>;
862		function = LED_FUNCTION_STATUS;
863
864		#address-cells = <1>;
865		#size-cells = <0>;
866
867		led@1 {
868			reg = <1>;
869			color = <LED_COLOR_ID_RED>;
870		};
871
872		led@2 {
873			reg = <2>;
874			color = <LED_COLOR_ID_GREEN>;
875		};
876
877		led@3 {
878			reg = <3>;
879			color = <LED_COLOR_ID_BLUE>;
880		};
881	};
882};
883
884&pon_pwrkey {
885	status = "okay";
886};
887
888&pon_resin {
889	linux,code = <KEY_VOLUMEDOWN>;
890
891	status = "okay";
892};
893
894&pmih0108_eusb2_repeater {
895	status = "okay";
896
897	vdd18-supply = <&vreg_l15b_1p8>;
898	vdd3-supply = <&vreg_l5b_3p1>;
899};
900
901&qupv3_1 {
902	status = "okay";
903};
904
905&remoteproc_adsp {
906	firmware-name = "qcom/sm8750/adsp.mbn",
907			"qcom/sm8750/adsp_dtb.mbn";
908
909	status = "okay";
910};
911
912&remoteproc_cdsp {
913	firmware-name = "qcom/sm8750/cdsp.mbn",
914			"qcom/sm8750/cdsp_dtb.mbn";
915
916	status = "okay";
917};
918
919&remoteproc_mpss {
920	firmware-name = "qcom/sm8750/modem.mbn",
921			"qcom/sm8750/modem_dtb.mbn";
922
923	/* Modem crashes after some time with "DOG detects stalled initialization" */
924	status = "fail";
925};
926
927&swr0 {
928	status = "okay";
929
930	/* WSA883x, left/front speaker */
931	left_spkr: speaker@0,1 {
932		compatible = "sdw10217020200";
933		reg = <0 1>;
934		pinctrl-0 = <&spkr_0_sd_n_active>;
935		pinctrl-names = "default";
936		powerdown-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>;
937		#sound-dai-cells = <0>;
938		sound-name-prefix = "SpkrLeft";
939		#thermal-sensor-cells = <0>;
940		vdd-supply = <&vreg_l15b_1p8>;
941	};
942
943	/* WSA883x, right/back speaker */
944	right_spkr: speaker@0,2 {
945		compatible = "sdw10217020200";
946		reg = <0 2>;
947		pinctrl-0 = <&spkr_1_sd_n_active>;
948		pinctrl-names = "default";
949		powerdown-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>;
950		#sound-dai-cells = <0>;
951		sound-name-prefix = "SpkrRight";
952		#thermal-sensor-cells = <0>;
953		vdd-supply = <&vreg_l15b_1p8>;
954	};
955};
956
957&swr1 {
958	status = "okay";
959
960	/* WCD9395 RX */
961	wcd_rx: codec@0,4 {
962		compatible = "sdw20217010e00";
963		reg = <0 4>;
964
965		/*
966		 * WCD9395 RX Port 1 (HPH_L/R)      <=> SWR1 Port 1 (HPH_L/R)
967		 * WCD9395 RX Port 2 (CLSH)         <=> SWR1 Port 2 (CLSH)
968		 * WCD9395 RX Port 3 (COMP_L/R)     <=> SWR1 Port 3 (COMP_L/R)
969		 * WCD9395 RX Port 4 (LO)           <=> SWR1 Port 4 (LO)
970		 * WCD9395 RX Port 5 (DSD_L/R)      <=> SWR1 Port 5 (DSD_L/R)
971		 * WCD9395 RX Port 6 (HIFI_PCM_L/R) <=> SWR1 Port 9 (HIFI_PCM_L/R)
972		 */
973		qcom,rx-port-mapping = <1 2 3 4 5 9>;
974	};
975};
976
977&swr2 {
978	status = "okay";
979
980	/* WCD9395 TX */
981	wcd_tx: codec@0,3 {
982		compatible = "sdw20217010e00";
983		reg = <0 3>;
984
985		/*
986		 * WCD9395 TX Port 1 (ADC1,2,3,4)         <=> SWR2 Port 2 (TX SWR_INPUT 0,1,2,3)
987		 * WCD9395 TX Port 2 (ADC3,4 & DMIC0,1)   <=> SWR2 Port 2 (TX SWR_INPUT 0,1,2,3)
988		 * WCD9395 TX Port 3 (DMIC0,1,2,3 & MBHC) <=> SWR2 Port 3 (TX SWR_INPUT 4,5,6,7)
989		 * WCD9395 TX Port 4 (DMIC4,5,6,7)        <=> SWR2 Port 4 (TX SWR_INPUT 8,9,10,11)
990		 */
991		qcom,tx-port-mapping = <2 2 3 4>;
992	};
993};
994
995&tlmm {
996	/* reserved for secure world */
997	gpio-reserved-ranges = <36 4>, <74 1>;
998};
999
1000&uart7 {
1001	status = "okay";
1002};
1003
1004/* Pinctrl */
1005&lpass_tlmm {
1006	spkr_0_sd_n_active: spkr-0-sd-n-active-state {
1007		pins = "gpio17";
1008		function = "gpio";
1009		drive-strength = <16>;
1010		bias-disable;
1011		output-low;
1012	};
1013
1014	spkr_1_sd_n_active: spkr-1-sd-n-active-state {
1015		pins = "gpio18";
1016		function = "gpio";
1017		drive-strength = <16>;
1018		bias-disable;
1019		output-low;
1020	};
1021};
1022
1023&tlmm {
1024	wcd_default: wcd-reset-n-active-state {
1025		pins = "gpio101";
1026		function = "gpio";
1027		drive-strength = <16>;
1028		bias-disable;
1029		output-low;
1030	};
1031};
1032
1033&ufs_mem_phy {
1034	vdda-phy-supply = <&vreg_l1j_0p91>;
1035	vdda-pll-supply = <&vreg_l3g_1p2>;
1036
1037	status = "okay";
1038};
1039
1040&ufs_mem_hc {
1041	reset-gpios = <&tlmm 215 GPIO_ACTIVE_LOW>;
1042
1043	vcc-supply = <&vreg_l17b_2p5>;
1044	vcc-max-microamp = <1300000>;
1045	vccq-supply = <&vreg_l1d_1p2>;
1046	vccq-max-microamp = <1200000>;
1047
1048	status = "okay";
1049};
1050