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