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