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