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