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