1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2020, Linaro Ltd.
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9#include <dt-bindings/sound/qcom,q6afe.h>
10#include <dt-bindings/sound/qcom,q6asm.h>
11#include "sm8250.dtsi"
12#include "pm8150.dtsi"
13#include "pm8150b.dtsi"
14#include "pm8150l.dtsi"
15
16/ {
17	model = "Qualcomm Technologies, Inc. Robotics RB5";
18	compatible = "qcom,qrb5165-rb5", "qcom,sm8250";
19	qcom,msm-id = <455 0x20001>;
20	qcom,board-id = <11 3>;
21
22	aliases {
23		serial0 = &uart12;
24		sdhc2 = &sdhc_2;
25	};
26
27	chosen {
28		stdout-path = "serial0:115200n8";
29	};
30
31	/* Fixed crystal oscillator dedicated to MCP2518FD */
32	clk40M: can-clock {
33		compatible = "fixed-clock";
34		#clock-cells = <0>;
35		clock-frequency = <40000000>;
36	};
37
38	dc12v: dc12v-regulator {
39		compatible = "regulator-fixed";
40		regulator-name = "DC12V";
41		regulator-min-microvolt = <12000000>;
42		regulator-max-microvolt = <12000000>;
43		regulator-always-on;
44	};
45
46	hdmi-out {
47		compatible = "hdmi-connector";
48		type = "a";
49
50		port {
51			hdmi_con: endpoint {
52				remote-endpoint = <&lt9611_out>;
53			};
54		};
55	};
56
57	leds {
58		compatible = "gpio-leds";
59
60		user4 {
61			label = "green:user4";
62			gpios = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
63			linux,default-trigger = "panic-indicator";
64			default-state = "off";
65		};
66
67		wlan {
68			label = "yellow:wlan";
69			gpios = <&pm8150_gpios 9 GPIO_ACTIVE_HIGH>;
70			linux,default-trigger = "phy0tx";
71			default-state = "off";
72		};
73
74		bt {
75			label = "blue:bt";
76			gpios = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
77			linux,default-trigger = "bluetooth-power";
78			default-state = "off";
79		};
80
81	};
82
83	lt9611_1v2: lt9611-vdd12-regulator {
84		compatible = "regulator-fixed";
85		regulator-name = "LT9611_1V2";
86
87		vin-supply = <&vdc_3v3>;
88		regulator-min-microvolt = <1200000>;
89		regulator-max-microvolt = <1200000>;
90	};
91
92	lt9611_3v3: lt9611-3v3 {
93		compatible = "regulator-fixed";
94		regulator-name = "LT9611_3V3";
95
96		vin-supply = <&vdc_3v3>;
97		regulator-min-microvolt = <3300000>;
98		regulator-max-microvolt = <3300000>;
99		regulator-boot-on;
100		regulator-always-on;
101	};
102
103	thermal-zones {
104		conn-thermal {
105			polling-delay-passive = <0>;
106			polling-delay = <0>;
107			thermal-sensors = <&pm8150b_adc_tm 0>;
108
109			trips {
110				active-config0 {
111					temperature = <125000>;
112					hysteresis = <1000>;
113					type = "critical";
114				};
115			};
116		};
117
118		pm8150l-thermal {
119			polling-delay-passive = <0>;
120			polling-delay = <0>;
121			thermal-sensors = <&pm8150l_adc_tm 1>;
122
123			trips {
124				active-config0 {
125					temperature = <50000>;
126					hysteresis = <4000>;
127					type = "passive";
128				};
129			};
130		};
131
132		skin-msm-thermal {
133			polling-delay-passive = <0>;
134			polling-delay = <0>;
135			thermal-sensors = <&pm8150l_adc_tm 0>;
136
137			trips {
138				active-config0 {
139					temperature = <50000>;
140					hysteresis = <4000>;
141					type = "passive";
142				};
143			};
144		};
145
146		wifi-thermal {
147			polling-delay-passive = <0>;
148			polling-delay = <0>;
149			thermal-sensors = <&pm8150_adc_tm 1>;
150
151			trips {
152				active-config0 {
153					temperature = <52000>;
154					hysteresis = <4000>;
155					type = "passive";
156				};
157			};
158		};
159
160		xo-thermal {
161			polling-delay-passive = <0>;
162			polling-delay = <0>;
163			thermal-sensors = <&pm8150_adc_tm 0>;
164
165			trips {
166				active-config0 {
167					temperature = <50000>;
168					hysteresis = <4000>;
169					type = "passive";
170				};
171			};
172		};
173	};
174
175	vbat: vbat-regulator {
176		compatible = "regulator-fixed";
177		regulator-name = "VBAT";
178		vin-supply = <&vreg_l11c_3p3>;
179		regulator-min-microvolt = <4200000>;
180		regulator-max-microvolt = <4200000>;
181		regulator-always-on;
182	};
183
184	vbat_som: vbat-som-regulator {
185		compatible = "regulator-fixed";
186		regulator-name = "VBAT_SOM";
187		vin-supply = <&dc12v>;
188		regulator-min-microvolt = <4200000>;
189		regulator-max-microvolt = <4200000>;
190		regulator-always-on;
191	};
192
193	vdc_3v3: vdc-3v3-regulator {
194		compatible = "regulator-fixed";
195		regulator-name = "VDC_3V3";
196		vin-supply = <&vreg_l11c_3p3>;
197		regulator-min-microvolt = <3300000>;
198		regulator-max-microvolt = <3300000>;
199		regulator-always-on;
200	};
201
202	vdc_5v: vdc-5v-regulator {
203		compatible = "regulator-fixed";
204		regulator-name = "VDC_5V";
205
206		regulator-min-microvolt = <5000000>;
207		regulator-max-microvolt = <5000000>;
208		regulator-always-on;
209		vin-supply = <&vreg_l11c_3p3>;
210	};
211
212	vph_pwr: vph-pwr-regulator {
213		compatible = "regulator-fixed";
214		regulator-name = "vph_pwr";
215		regulator-min-microvolt = <3700000>;
216		regulator-max-microvolt = <3700000>;
217		regulator-always-on;
218	};
219
220	vreg_s4a_1p8: vreg-s4a-1p8 {
221		compatible = "regulator-fixed";
222		regulator-name = "vreg_s4a_1p8";
223		regulator-min-microvolt = <1800000>;
224		regulator-max-microvolt = <1800000>;
225		regulator-always-on;
226	};
227};
228
229&adsp {
230	status = "okay";
231	firmware-name = "qcom/sm8250/adsp.mbn";
232};
233
234&apps_rsc {
235	pm8009-rpmh-regulators {
236		compatible = "qcom,pm8009-1-rpmh-regulators";
237		qcom,pmic-id = "f";
238
239		vdd-s1-supply = <&vph_pwr>;
240		vdd-s2-supply = <&vph_pwr>;
241		vdd-l2-supply = <&vreg_s8c_1p3>;
242		vdd-l5-l6-supply = <&vreg_bob>;
243		vdd-l7-supply = <&vreg_s4a_1p8>;
244
245		vreg_s2f_0p95: smps2 {
246			regulator-name = "vreg_s2f_0p95";
247			regulator-min-microvolt = <900000>;
248			regulator-max-microvolt = <952000>;
249			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
250		};
251
252		vreg_l1f_1p1: ldo1 {
253			regulator-name = "vreg_l1f_1p1";
254			regulator-min-microvolt = <1104000>;
255			regulator-max-microvolt = <1104000>;
256			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
257		};
258
259		vreg_l2f_1p2: ldo2 {
260			regulator-name = "vreg_l2f_1p2";
261			regulator-min-microvolt = <1200000>;
262			regulator-max-microvolt = <1200000>;
263			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
264		};
265
266		vreg_l6f_2p8: ldo6 {
267			regulator-name = "vreg_l6f_2p8";
268			regulator-min-microvolt = <2800000>;
269			regulator-max-microvolt = <2800000>;
270			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
271		};
272
273		vreg_l7f_1p8: ldo7 {
274			regulator-name = "vreg_l7f_1p8";
275			regulator-min-microvolt = <1800000>;
276			regulator-max-microvolt = <1800000>;
277			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
278		};
279	};
280
281	pm8150-rpmh-regulators {
282		compatible = "qcom,pm8150-rpmh-regulators";
283		qcom,pmic-id = "a";
284
285		vdd-s1-supply = <&vph_pwr>;
286		vdd-s2-supply = <&vph_pwr>;
287		vdd-s3-supply = <&vph_pwr>;
288		vdd-s4-supply = <&vph_pwr>;
289		vdd-s5-supply = <&vph_pwr>;
290		vdd-s6-supply = <&vph_pwr>;
291		vdd-s7-supply = <&vph_pwr>;
292		vdd-s8-supply = <&vph_pwr>;
293		vdd-s9-supply = <&vph_pwr>;
294		vdd-s10-supply = <&vph_pwr>;
295		vdd-l2-l10-supply = <&vreg_bob>;
296		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
297		vdd-l6-l9-supply = <&vreg_s8c_1p3>;
298		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
299		vdd-l13-l16-l17-supply = <&vreg_bob>;
300
301		vreg_l2a_3p1: ldo2 {
302			regulator-name = "vreg_l2a_3p1";
303			regulator-min-microvolt = <3072000>;
304			regulator-max-microvolt = <3072000>;
305			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
306		};
307
308		vreg_l3a_0p9: ldo3 {
309			regulator-name = "vreg_l3a_0p9";
310			regulator-min-microvolt = <928000>;
311			regulator-max-microvolt = <932000>;
312			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
313		};
314
315		vreg_l5a_0p88: ldo5 {
316			regulator-name = "vreg_l5a_0p88";
317			regulator-min-microvolt = <880000>;
318			regulator-max-microvolt = <880000>;
319			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
320		};
321
322		vreg_l6a_1p2: ldo6 {
323			regulator-name = "vreg_l6a_1p2";
324			regulator-min-microvolt = <1200000>;
325			regulator-max-microvolt = <1200000>;
326			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
327		};
328
329		vreg_l7a_1p7: ldo7 {
330			regulator-name = "vreg_l7a_1p7";
331			regulator-min-microvolt = <1704000>;
332			regulator-max-microvolt = <1800000>;
333			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
334		};
335
336		vreg_l9a_1p2: ldo9 {
337			regulator-name = "vreg_l9a_1p2";
338			regulator-min-microvolt = <1200000>;
339			regulator-max-microvolt = <1200000>;
340			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
341		};
342
343		vreg_l10a_1p8: ldo10 {
344			regulator-name = "vreg_l10a_1p8";
345			regulator-min-microvolt = <1800000>;
346			regulator-max-microvolt = <1800000>;
347			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
348		};
349
350		vreg_l12a_1p8: ldo12 {
351			regulator-name = "vreg_l12a_1p8";
352			regulator-min-microvolt = <1800000>;
353			regulator-max-microvolt = <1800000>;
354			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
355		};
356
357		vreg_l13a_ts_3p0: ldo13 {
358			regulator-name = "vreg_l13a_ts_3p0";
359			regulator-min-microvolt = <3008000>;
360			regulator-max-microvolt = <3008000>;
361			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
362		};
363
364		vreg_l14a_1p8: ldo14 {
365			regulator-name = "vreg_l14a_1p8";
366			regulator-min-microvolt = <1800000>;
367			regulator-max-microvolt = <1880000>;
368			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
369		};
370
371		vreg_l15a_1p8: ldo15 {
372			regulator-name = "vreg_l15a_1p8";
373			regulator-min-microvolt = <1800000>;
374			regulator-max-microvolt = <1800000>;
375			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
376		};
377
378		vreg_l16a_2p7: ldo16 {
379			regulator-name = "vreg_l16a_2p7";
380			regulator-min-microvolt = <2704000>;
381			regulator-max-microvolt = <2960000>;
382			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
383		};
384
385		vreg_l17a_3p0: ldo17 {
386			regulator-name = "vreg_l17a_3p0";
387			regulator-min-microvolt = <2856000>;
388			regulator-max-microvolt = <3008000>;
389			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
390		};
391
392		vreg_l18a_0p92: ldo18 {
393			regulator-name = "vreg_l18a_0p92";
394			regulator-min-microvolt = <800000>;
395			regulator-max-microvolt = <912000>;
396			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
397		};
398
399		vreg_s5a_1p9: smps5 {
400			regulator-name = "vreg_s5a_1p9";
401			regulator-min-microvolt = <1904000>;
402			regulator-max-microvolt = <2000000>;
403			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
404		};
405
406		vreg_s6a_0p95: smps6 {
407			regulator-name = "vreg_s6a_0p95";
408			regulator-min-microvolt = <920000>;
409			regulator-max-microvolt = <1128000>;
410			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
411		};
412	};
413
414	pm8150l-rpmh-regulators {
415		compatible = "qcom,pm8150l-rpmh-regulators";
416		qcom,pmic-id = "c";
417
418		vdd-s1-supply = <&vph_pwr>;
419		vdd-s2-supply = <&vph_pwr>;
420		vdd-s3-supply = <&vph_pwr>;
421		vdd-s4-supply = <&vph_pwr>;
422		vdd-s5-supply = <&vph_pwr>;
423		vdd-s6-supply = <&vph_pwr>;
424		vdd-s7-supply = <&vph_pwr>;
425		vdd-s8-supply = <&vph_pwr>;
426		vdd-l1-l8-supply = <&vreg_s4a_1p8>;
427		vdd-l2-l3-supply = <&vreg_s8c_1p3>;
428		vdd-l4-l5-l6-supply = <&vreg_bob>;
429		vdd-l7-l11-supply = <&vreg_bob>;
430		vdd-l9-l10-supply = <&vreg_bob>;
431		vdd-bob-supply = <&vph_pwr>;
432
433		vreg_bob: bob {
434			regulator-name = "vreg_bob";
435			regulator-min-microvolt = <3008000>;
436			regulator-max-microvolt = <4000000>;
437			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
438		};
439
440		vreg_l1c_1p8: ldo1 {
441			regulator-name = "vreg_l1c_1p8";
442			regulator-min-microvolt = <1800000>;
443			regulator-max-microvolt = <1800000>;
444			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
445		};
446
447		vreg_l2c_1p2: ldo2 {
448			regulator-name = "vreg_l2c_1p2";
449			regulator-min-microvolt = <1200000>;
450			regulator-max-microvolt = <1200000>;
451			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
452		};
453
454		vreg_l3c_0p8: ldo3 {
455			regulator-name = "vreg_l3c_0p8";
456			regulator-min-microvolt = <800000>;
457			regulator-max-microvolt = <800000>;
458			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
459		};
460
461		vreg_l4c_1p7: ldo4 {
462			regulator-name = "vreg_l4c_1p7";
463			regulator-min-microvolt = <1704000>;
464			regulator-max-microvolt = <2928000>;
465			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
466		};
467
468		vreg_l5c_1p8: ldo5 {
469			regulator-name = "vreg_l5c_1p8";
470			regulator-min-microvolt = <1800000>;
471			regulator-max-microvolt = <2928000>;
472			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
473		};
474
475		vreg_l6c_2p96: ldo6 {
476			regulator-name = "vreg_l6c_2p96";
477			regulator-min-microvolt = <1800000>;
478			regulator-max-microvolt = <2960000>;
479			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
480		};
481
482		vreg_l7c_cam_vcm0_2p85: ldo7 {
483			regulator-name = "vreg_l7c_cam_vcm0_2p85";
484			regulator-min-microvolt = <2856000>;
485			regulator-max-microvolt = <3104000>;
486			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
487		};
488
489		vreg_l8c_1p8: ldo8 {
490			regulator-name = "vreg_l8c_1p8";
491			regulator-min-microvolt = <1800000>;
492			regulator-max-microvolt = <1800000>;
493			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
494		};
495
496		vreg_l9c_2p96: ldo9 {
497			regulator-name = "vreg_l9c_2p96";
498			regulator-min-microvolt = <2704000>;
499			regulator-max-microvolt = <2960000>;
500			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
501		};
502
503		vreg_l10c_3p0: ldo10 {
504			regulator-name = "vreg_l10c_3p0";
505			regulator-min-microvolt = <3000000>;
506			regulator-max-microvolt = <3000000>;
507			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
508		};
509
510		vreg_l11c_3p3: ldo11 {
511			regulator-name = "vreg_l11c_3p3";
512			regulator-min-microvolt = <3296000>;
513			regulator-max-microvolt = <3296000>;
514			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
515			regulator-always-on;
516		};
517
518		vreg_s8c_1p3: smps8 {
519			regulator-name = "vreg_s8c_1p3";
520			regulator-min-microvolt = <1352000>;
521			regulator-max-microvolt = <1352000>;
522			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
523		};
524	};
525};
526
527&cdsp {
528	status = "okay";
529	firmware-name = "qcom/sm8250/cdsp.mbn";
530};
531
532&dsi0 {
533	status = "okay";
534	vdda-supply = <&vreg_l9a_1p2>;
535
536#if 0
537	qcom,dual-dsi-mode;
538	qcom,master-dsi;
539#endif
540
541	ports {
542		port@1 {
543			endpoint {
544				remote-endpoint = <&lt9611_a>;
545				data-lanes = <0 1 2 3>;
546			};
547		};
548	};
549};
550
551&dsi0_phy {
552	status = "okay";
553	vdds-supply = <&vreg_l5a_0p88>;
554};
555
556&gmu {
557	status = "okay";
558};
559
560&gpu {
561	status = "okay";
562
563	zap-shader {
564		memory-region = <&gpu_mem>;
565		firmware-name = "qcom/sm8250/a650_zap.mbn";
566	};
567};
568
569/* LS-I2C0 */
570&i2c4 {
571	status = "okay";
572};
573
574&i2c5 {
575	status = "okay";
576	clock-frequency = <400000>;
577
578	lt9611_codec: hdmi-bridge@2b {
579		compatible = "lontium,lt9611uxc";
580		reg = <0x2b>;
581		#sound-dai-cells = <1>;
582
583		interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_FALLING>;
584
585		reset-gpios = <&pm8150l_gpios 5 GPIO_ACTIVE_HIGH>;
586
587		vdd-supply = <&lt9611_1v2>;
588		vcc-supply = <&lt9611_3v3>;
589
590		pinctrl-names = "default";
591		pinctrl-0 = <&lt9611_irq_pin &lt9611_rst_pin>;
592
593		ports {
594			#address-cells = <1>;
595			#size-cells = <0>;
596
597			port@0 {
598				reg = <0>;
599
600				lt9611_a: endpoint {
601					remote-endpoint = <&dsi0_out>;
602				};
603			};
604
605#if 0
606			port@1 {
607				reg = <1>;
608
609				lt9611_b: endpoint {
610					remote-endpoint = <&dsi1_out>;
611				};
612			};
613#endif
614
615			port@2 {
616				reg = <2>;
617
618				lt9611_out: endpoint {
619					remote-endpoint = <&hdmi_con>;
620				};
621			};
622
623		};
624	};
625};
626
627/* LS-I2C1 */
628&i2c15 {
629	status = "okay";
630};
631
632&mdss {
633	status = "okay";
634};
635
636&mdss_mdp {
637	status = "okay";
638};
639
640&pm8150_adc {
641	xo-therm@4c {
642		reg = <ADC5_XO_THERM_100K_PU>;
643		qcom,ratiometric;
644		qcom,hw-settle-time = <200>;
645	};
646
647	wifi-therm@4e {
648		reg = <ADC5_AMUX_THM2_100K_PU>;
649		qcom,ratiometric;
650		qcom,hw-settle-time = <200>;
651	};
652};
653
654&pm8150_adc_tm {
655	status = "okay";
656
657	xo-therm@0 {
658		reg = <0>;
659		io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>;
660		qcom,ratiometric;
661		qcom,hw-settle-time-us = <200>;
662	};
663
664	wifi-therm@1 {
665		reg = <1>;
666		io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
667		qcom,ratiometric;
668		qcom,hw-settle-time-us = <200>;
669	};
670};
671
672&pcie0 {
673	status = "okay";
674};
675
676&pcie0_phy {
677	status = "okay";
678	vdda-phy-supply = <&vreg_l5a_0p88>;
679	vdda-pll-supply = <&vreg_l9a_1p2>;
680};
681
682&pcie1 {
683	status = "okay";
684};
685
686&pcie1_phy {
687	status = "okay";
688	vdda-phy-supply = <&vreg_l5a_0p88>;
689	vdda-pll-supply = <&vreg_l9a_1p2>;
690};
691
692&pcie2 {
693	status = "okay";
694};
695
696&pcie2_phy {
697	status = "okay";
698	vdda-phy-supply = <&vreg_l5a_0p88>;
699	vdda-pll-supply = <&vreg_l9a_1p2>;
700};
701
702&pm8150_gpios {
703	gpio-reserved-ranges = <1 1>, <3 2>, <7 1>;
704	gpio-line-names =
705		"NC",
706		"OPTION2",
707		"PM_GPIO-F",
708		"PM_SLP_CLK_IN",
709		"OPTION1",
710		"VOL_UP_N",
711		"PM8250_GPIO7", /* Blue LED */
712		"SP_ARI_PWR_ALARM",
713		"GPIO_9_P", /* Yellow LED */
714		"GPIO_10_P"; /* Green LED */
715};
716
717&pm8150b_adc {
718	conn-therm@4f {
719		reg = <ADC5_AMUX_THM3_100K_PU>;
720		qcom,ratiometric;
721		qcom,hw-settle-time = <200>;
722	};
723};
724
725&pm8150b_adc_tm {
726	status = "okay";
727
728	conn-therm@0 {
729		reg = <0>;
730		io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
731		qcom,ratiometric;
732		qcom,hw-settle-time-us = <200>;
733	};
734};
735
736&pm8150b_gpios {
737	gpio-line-names =
738		"NC",
739		"NC",
740		"NC",
741		"NC",
742		"HAP_BOOST_EN", /* SOM */
743		"SMB_STAT", /* SOM */
744		"NC",
745		"NC",
746		"SDM_FORCE_USB_BOOT",
747		"NC",
748		"NC",
749		"NC";
750};
751
752&pm8150l_adc {
753	skin-msm-therm@4e {
754		reg = <ADC5_AMUX_THM2_100K_PU>;
755		qcom,ratiometric;
756		qcom,hw-settle-time = <200>;
757	};
758
759	pm8150l-therm@4f {
760		reg = <ADC5_AMUX_THM3_100K_PU>;
761		qcom,ratiometric;
762		qcom,hw-settle-time = <200>;
763	};
764};
765
766&pm8150l_adc_tm {
767	status = "okay";
768
769	skin-msm-therm@0 {
770		reg = <0>;
771		io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>;
772		qcom,ratiometric;
773		qcom,hw-settle-time-us = <200>;
774	};
775
776	pm8150l-therm@1 {
777		reg = <1>;
778		io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>;
779		qcom,ratiometric;
780		qcom,hw-settle-time-us = <200>;
781	};
782};
783
784&pm8150l_gpios {
785	gpio-line-names =
786		"NC",
787		"PM3003A_EN",
788		"NC",
789		"NC",
790		"PM_GPIO5", /* HDMI RST_N */
791		"PM_GPIO-A", /* PWM */
792		"PM_GPIO7",
793		"NC",
794		"NC",
795		"PM_GPIO-B",
796		"NC",
797		"PM3003A_MODE";
798
799	lt9611_rst_pin: lt9611-rst-pin {
800		pins = "gpio5";
801		function = "normal";
802
803		output-high;
804		input-disable;
805		power-source = <0>;
806	};
807};
808
809&pon_pwrkey {
810	status = "okay";
811};
812
813&pon_resin {
814	status = "okay";
815
816	linux,code = <KEY_VOLUMEDOWN>;
817};
818
819&qupv3_id_0 {
820	status = "okay";
821};
822
823&qupv3_id_1 {
824	status = "okay";
825};
826
827&qupv3_id_2 {
828	status = "okay";
829};
830
831&q6afedai {
832	qi2s@16 {
833		reg = <16>;
834		qcom,sd-lines = <0 1 2 3>;
835	};
836};
837
838/* TERT I2S Uses 1 I2S SD Lines for audio on LT9611 HDMI Bridge */
839&q6afedai {
840	qi2s@20 {
841		reg = <20>;
842		qcom,sd-lines = <0>;
843	};
844};
845
846&q6asmdai {
847	dai@0 {
848		reg = <0>;
849	};
850
851	dai@1 {
852		reg = <1>;
853	};
854
855	dai@2 {
856		reg = <2>;
857	};
858};
859
860&sdhc_2 {
861	status = "okay";
862	pinctrl-names = "default";
863	pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
864	vmmc-supply = <&vreg_l9c_2p96>;
865	vqmmc-supply = <&vreg_l6c_2p96>;
866	cd-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
867	bus-width = <4>;
868	no-sdio;
869	no-emmc;
870};
871
872&sound {
873	compatible = "qcom,qrb5165-rb5-sndcard";
874	pinctrl-0 = <&tert_mi2s_active>;
875	pinctrl-names = "default";
876	model = "Qualcomm-RB5-WSA8815-Speakers-DMIC0";
877	audio-routing =
878		"SpkrLeft IN", "WSA_SPK1 OUT",
879		"SpkrRight IN", "WSA_SPK2 OUT",
880		"VA DMIC0", "vdd-micb",
881		"VA DMIC1", "vdd-micb",
882		"MM_DL1",  "MultiMedia1 Playback",
883		"MM_DL2",  "MultiMedia2 Playback",
884		"MultiMedia3 Capture", "MM_UL3";
885
886	mm1-dai-link {
887		link-name = "MultiMedia1";
888		cpu {
889			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
890		};
891	};
892
893	mm2-dai-link {
894		link-name = "MultiMedia2";
895		cpu {
896			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
897		};
898	};
899
900	mm3-dai-link {
901		link-name = "MultiMedia3";
902		cpu {
903			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
904		};
905	};
906
907	hdmi-dai-link {
908		link-name = "HDMI Playback";
909		cpu {
910			sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
911		};
912
913		platform {
914			sound-dai = <&q6routing>;
915		};
916
917		codec {
918			sound-dai =  <&lt9611_codec 0>;
919		};
920	};
921
922	dma-dai-link {
923		link-name = "WSA Playback";
924		cpu {
925			sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
926		};
927
928		platform {
929			sound-dai = <&q6routing>;
930		};
931
932		codec {
933			sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
934		};
935	};
936
937	va-dai-link {
938		link-name = "VA Capture";
939		cpu {
940			sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
941		};
942
943		platform {
944			sound-dai = <&q6routing>;
945		};
946
947		codec {
948			sound-dai = <&vamacro 0>;
949		};
950	};
951};
952
953/* CAN */
954&spi0 {
955	status = "okay";
956	pinctrl-names = "default";
957	pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs_gpio>;
958	cs-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
959
960	can@0 {
961		compatible = "microchip,mcp2518fd";
962		reg = <0>;
963		clocks = <&clk40M>;
964		interrupts-extended = <&tlmm 15 IRQ_TYPE_LEVEL_LOW>;
965		spi-max-frequency = <10000000>;
966		vdd-supply = <&vdc_5v>;
967		xceiver-supply = <&vdc_5v>;
968	};
969};
970
971&swr0 {
972	left_spkr: wsa8810-left{
973		compatible = "sdw10217211000";
974		reg = <0 3>;
975		powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
976		#thermal-sensor-cells = <0>;
977		sound-name-prefix = "SpkrLeft";
978		#sound-dai-cells = <0>;
979	};
980
981	right_spkr: wsa8810-right{
982		compatible = "sdw10217211000";
983		reg = <0 4>;
984		powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
985		#thermal-sensor-cells = <0>;
986		sound-name-prefix = "SpkrRight";
987		#sound-dai-cells = <0>;
988	};
989};
990
991&tlmm {
992	gpio-reserved-ranges = <40 4>;
993	gpio-line-names =
994		"GPIO-MM",
995		"GPIO-NN",
996		"GPIO-OO",
997		"GPIO-PP",
998		"GPIO-A",
999		"GPIO-C",
1000		"GPIO-E",
1001		"GPIO-D",
1002		"I2C0-SDA",
1003		"I2C0-SCL",
1004		"GPIO-TT", /* GPIO_10 */
1005		"NC",
1006		"GPIO_12_I2C_SDA",
1007		"GPIO_13_I2C_SCL",
1008		"GPIO-X",
1009		"GPIO_15_RGMII_INT",
1010		"HST_BT_UART_CTS",
1011		"HST_BT_UART_RFR",
1012		"HST_BT_UART_TX",
1013		"HST_BT_UART_RX",
1014		"HST_WLAN_EN", /* GPIO_20 */
1015		"HST_BT_EN",
1016		"GPIO-AAA",
1017		"GPIO-BBB",
1018		"GPIO-CCC",
1019		"GPIO-Z",
1020		"GPIO-DDD",
1021		"GPIO-BB",
1022		"GPIO_28_CAN_SPI_MISO",
1023		"GPIO_29_CAN_SPI_MOSI",
1024		"GPIO_30_CAN_SPI_CLK", /* GPIO_30 */
1025		"GPIO_31_CAN_SPI_CS",
1026		"GPIO-UU",
1027		"NC",
1028		"UART1_TXD_SOM",
1029		"UART1_RXD_SOM",
1030		"UART0_CTS",
1031		"UART0_RTS",
1032		"UART0_TXD",
1033		"UART0_RXD",
1034		"SPI1_MISO", /* GPIO_40 */
1035		"SPI1_MOSI",
1036		"SPI1_CLK",
1037		"SPI1_CS",
1038		"I2C1_SDA",
1039		"I2C1_SCL",
1040		"GPIO-F",
1041		"GPIO-JJ",
1042		"Board_ID1",
1043		"Board_ID2",
1044		"NC", /* GPIO_50 */
1045		"NC",
1046		"SPI0_MISO",
1047		"SPI0_MOSI",
1048		"SPI0_SCLK",
1049		"SPI0_CS",
1050		"GPIO-QQ",
1051		"GPIO-RR",
1052		"USB2LAN_RESET",
1053		"USB2LAN_EXTWAKE",
1054		"NC", /* GPIO_60 */
1055		"NC",
1056		"NC",
1057		"LT9611_INT",
1058		"GPIO-AA",
1059		"USB_CC_DIR",
1060		"GPIO-G",
1061		"GPIO-LL",
1062		"USB_DP_HPD_1P8",
1063		"NC",
1064		"NC", /* GPIO_70 */
1065		"SD_CMD",
1066		"SD_DAT3",
1067		"SD_SCLK",
1068		"SD_DAT2",
1069		"SD_DAT1",
1070		"SD_DAT0", /* BOOT_CFG3 */
1071		"SD_UFS_CARD_DET_N",
1072		"GPIO-II",
1073		"PCIE0_RST_N",
1074		"PCIE0_CLK_REQ_N", /* GPIO_80 */
1075		"PCIE0_WAKE_N",
1076		"GPIO-CC",
1077		"GPIO-DD",
1078		"GPIO-EE",
1079		"GPIO-FF",
1080		"GPIO-GG",
1081		"GPIO-HH",
1082		"GPIO-VV",
1083		"GPIO-WW",
1084		"NC", /* GPIO_90 */
1085		"NC",
1086		"GPIO-K",
1087		"GPIO-I",
1088		"CSI0_MCLK",
1089		"CSI1_MCLK",
1090		"CSI2_MCLK",
1091		"CSI3_MCLK",
1092		"GPIO-AA", /* CSI4_MCLK */
1093		"GPIO-BB", /* CSI5_MCLK */
1094		"GPIO-KK", /* GPIO_100 */
1095		"CCI_I2C_SDA0",
1096		"CCI_I2C_SCL0",
1097		"CCI_I2C_SDA1",
1098		"CCI_I2C_SCL1",
1099		"CCI_I2C_SDA2",
1100		"CCI_I2C_SCL2",
1101		"CCI_I2C_SDA3",
1102		"CCI_I2C_SCL3",
1103		"GPIO-L",
1104		"NC", /* GPIO_110 */
1105		"NC",
1106		"ACCEL_INT",
1107		"GYRO_INT",
1108		"GPIO-J",
1109		"GPIO-YY",
1110		"GPIO-H",
1111		"GPIO-ZZ",
1112		"NC",
1113		"NC",
1114		"NC", /* GPIO_120 */
1115		"NC",
1116		"MAG_INT",
1117		"MAG_DRDY_INT",
1118		"HST_SW_CTRL",
1119		"GPIO-M",
1120		"GPIO-N",
1121		"GPIO-O",
1122		"GPIO-P",
1123		"PS_INT",
1124		"WSA1_EN", /* GPIO_130 */
1125		"USB_HUB_RESET",
1126		"SDM_FORCE_USB_BOOT",
1127		"I2S1_CLK_HDMI",
1128		"I2S1_DATA0_HDMI",
1129		"I2S1_WS_HDMI",
1130		"GPIO-B",
1131		"GPIO_137", /* To LT9611_I2S_MCLK_3V3 */
1132		"PCM_CLK",
1133		"PCM_DI",
1134		"PCM_DO", /* GPIO_140 */
1135		"PCM_FS",
1136		"HST_SLIM_CLK",
1137		"HST_SLIM_DATA",
1138		"GPIO-U",
1139		"GPIO-Y",
1140		"GPIO-R",
1141		"GPIO-Q",
1142		"GPIO-S",
1143		"GPIO-T",
1144		"GPIO-V", /* GPIO_150 */
1145		"GPIO-W",
1146		"DMIC_CLK1",
1147		"DMIC_DATA1",
1148		"DMIC_CLK2",
1149		"DMIC_DATA2",
1150		"WSA_SWR_CLK",
1151		"WSA_SWR_DATA",
1152		"DMIC_CLK3",
1153		"DMIC_DATA3",
1154		"I2C4_SDA", /* GPIO_160 */
1155		"I2C4_SCL",
1156		"SPI3_CS1",
1157		"SPI3_CS2",
1158		"SPI2_MISO_LS3",
1159		"SPI2_MOSI_LS3",
1160		"SPI2_CLK_LS3",
1161		"SPI2_ACCEL_CS_LS3",
1162		"SPI2_CS1",
1163		"NC",
1164		"GPIO-SS", /* GPIO_170 */
1165		"GPIO-XX",
1166		"SPI3_MISO",
1167		"SPI3_MOSI",
1168		"SPI3_CLK",
1169		"SPI3_CS",
1170		"HST_BLE_SNS_UART_TX",
1171		"HST_BLE_SNS_UART_RX",
1172		"HST_WLAN_UART_TX",
1173		"HST_WLAN_UART_RX";
1174
1175	lt9611_irq_pin: lt9611-irq {
1176		pins = "gpio63";
1177		function = "gpio";
1178		bias-disable;
1179	};
1180
1181	sdc2_default_state: sdc2-default {
1182		clk {
1183			pins = "sdc2_clk";
1184			bias-disable;
1185			drive-strength = <16>;
1186		};
1187
1188		cmd {
1189			pins = "sdc2_cmd";
1190			bias-pull-up;
1191			drive-strength = <10>;
1192		};
1193
1194		data {
1195			pins = "sdc2_data";
1196			bias-pull-up;
1197			drive-strength = <10>;
1198		};
1199	};
1200
1201	sdc2_card_det_n: sd-card-det-n {
1202		pins = "gpio77";
1203		function = "gpio";
1204		bias-pull-up;
1205	};
1206};
1207
1208&uart12 {
1209	status = "okay";
1210};
1211
1212&ufs_mem_hc {
1213	status = "okay";
1214
1215	vcc-supply = <&vreg_l17a_3p0>;
1216	vcc-max-microamp = <800000>;
1217	vccq-supply = <&vreg_l6a_1p2>;
1218	vccq-max-microamp = <800000>;
1219	vccq2-supply = <&vreg_s4a_1p8>;
1220	vccq2-max-microamp = <800000>;
1221};
1222
1223&ufs_mem_phy {
1224	status = "okay";
1225
1226	vdda-phy-supply = <&vreg_l5a_0p88>;
1227	vdda-pll-supply = <&vreg_l9a_1p2>;
1228};
1229
1230&usb_1 {
1231	status = "okay";
1232};
1233
1234&usb_1_dwc3 {
1235	dr_mode = "peripheral";
1236};
1237
1238&usb_1_hsphy {
1239	status = "okay";
1240
1241	vdda-pll-supply = <&vreg_l5a_0p88>;
1242	vdda33-supply = <&vreg_l2a_3p1>;
1243	vdda18-supply = <&vreg_l12a_1p8>;
1244};
1245
1246&usb_1_qmpphy {
1247	status = "okay";
1248
1249	vdda-phy-supply = <&vreg_l9a_1p2>;
1250	vdda-pll-supply = <&vreg_l18a_0p92>;
1251};
1252
1253&usb_2 {
1254	status = "okay";
1255};
1256
1257&usb_2_dwc3 {
1258	dr_mode = "host";
1259};
1260
1261&usb_2_hsphy {
1262	status = "okay";
1263
1264	vdda-pll-supply = <&vreg_l5a_0p88>;
1265	vdda33-supply = <&vreg_l2a_3p1>;
1266	vdda18-supply = <&vreg_l12a_1p8>;
1267};
1268
1269&usb_2_qmpphy {
1270	status = "okay";
1271
1272	vdda-phy-supply = <&vreg_l9a_1p2>;
1273	vdda-pll-supply = <&vreg_l18a_0p92>;
1274};
1275
1276&vamacro {
1277	pinctrl-0 = <&dmic01_active>;
1278	pinctrl-names = "default";
1279	vdd-micb-supply = <&vreg_s4a_1p8>;
1280	qcom,dmic-sample-rate = <600000>;
1281};
1282
1283&venus {
1284	status = "okay";
1285};
1286
1287/* PINCTRL - additions to nodes defined in sm8250.dtsi */
1288&qup_spi0_cs_gpio {
1289	drive-strength = <6>;
1290	bias-disable;
1291};
1292
1293&qup_spi0_data_clk {
1294	drive-strength = <6>;
1295	bias-disable;
1296};
1297