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