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