ARM: 9148/1: handle CONFIG_CPU_ENDIAN_BE32 in arch/arm/kernel/head.S
[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 &qupv3_id_0 {
808         status = "okay";
809 };
810
811 &qupv3_id_1 {
812         status = "okay";
813 };
814
815 &qupv3_id_2 {
816         status = "okay";
817 };
818
819 &q6afedai {
820         qi2s@16 {
821                 reg = <16>;
822                 qcom,sd-lines = <0 1 2 3>;
823         };
824 };
825
826 /* TERT I2S Uses 1 I2S SD Lines for audio on LT9611 HDMI Bridge */
827 &q6afedai {
828         qi2s@20 {
829                 reg = <20>;
830                 qcom,sd-lines = <0>;
831         };
832 };
833
834 &q6asmdai {
835         dai@0 {
836                 reg = <0>;
837         };
838
839         dai@1 {
840                 reg = <1>;
841         };
842
843         dai@2 {
844                 reg = <2>;
845         };
846 };
847
848 &sdhc_2 {
849         status = "okay";
850         pinctrl-names = "default";
851         pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
852         vmmc-supply = <&vreg_l9c_2p96>;
853         vqmmc-supply = <&vreg_l6c_2p96>;
854         cd-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
855         bus-width = <4>;
856         no-sdio;
857         no-emmc;
858 };
859
860 &sound {
861         compatible = "qcom,qrb5165-rb5-sndcard";
862         pinctrl-0 = <&tert_mi2s_active>;
863         pinctrl-names = "default";
864         model = "Qualcomm-RB5-WSA8815-Speakers-DMIC0";
865         audio-routing =
866                 "SpkrLeft IN", "WSA_SPK1 OUT",
867                 "SpkrRight IN", "WSA_SPK2 OUT",
868                 "VA DMIC0", "vdd-micb",
869                 "VA DMIC1", "vdd-micb",
870                 "MM_DL1",  "MultiMedia1 Playback",
871                 "MM_DL2",  "MultiMedia2 Playback",
872                 "MultiMedia3 Capture", "MM_UL3";
873
874         mm1-dai-link {
875                 link-name = "MultiMedia1";
876                 cpu {
877                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
878                 };
879         };
880
881         mm2-dai-link {
882                 link-name = "MultiMedia2";
883                 cpu {
884                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
885                 };
886         };
887
888         mm3-dai-link {
889                 link-name = "MultiMedia3";
890                 cpu {
891                         sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
892                 };
893         };
894
895         hdmi-dai-link {
896                 link-name = "HDMI Playback";
897                 cpu {
898                         sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
899                 };
900
901                 platform {
902                         sound-dai = <&q6routing>;
903                 };
904
905                 codec {
906                         sound-dai =  <&lt9611_codec 0>;
907                 };
908         };
909
910         dma-dai-link {
911                 link-name = "WSA Playback";
912                 cpu {
913                         sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
914                 };
915
916                 platform {
917                         sound-dai = <&q6routing>;
918                 };
919
920                 codec {
921                         sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
922                 };
923         };
924
925         va-dai-link {
926                 link-name = "VA Capture";
927                 cpu {
928                         sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
929                 };
930
931                 platform {
932                         sound-dai = <&q6routing>;
933                 };
934
935                 codec {
936                         sound-dai = <&vamacro 0>;
937                 };
938         };
939 };
940
941 /* CAN */
942 &spi0 {
943         status = "okay";
944         pinctrl-names = "default";
945         pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs_gpio>;
946         cs-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
947
948         can@0 {
949                 compatible = "microchip,mcp2518fd";
950                 reg = <0>;
951                 clocks = <&clk40M>;
952                 interrupts-extended = <&tlmm 15 IRQ_TYPE_LEVEL_LOW>;
953                 spi-max-frequency = <10000000>;
954                 vdd-supply = <&vdc_5v>;
955                 xceiver-supply = <&vdc_5v>;
956         };
957 };
958
959 &swr0 {
960         left_spkr: wsa8810-left{
961                 compatible = "sdw10217211000";
962                 reg = <0 3>;
963                 powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
964                 #thermal-sensor-cells = <0>;
965                 sound-name-prefix = "SpkrLeft";
966                 #sound-dai-cells = <0>;
967         };
968
969         right_spkr: wsa8810-right{
970                 compatible = "sdw10217211000";
971                 reg = <0 4>;
972                 powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
973                 #thermal-sensor-cells = <0>;
974                 sound-name-prefix = "SpkrRight";
975                 #sound-dai-cells = <0>;
976         };
977 };
978
979 &tlmm {
980         gpio-reserved-ranges = <40 4>;
981         gpio-line-names =
982                 "GPIO-MM",
983                 "GPIO-NN",
984                 "GPIO-OO",
985                 "GPIO-PP",
986                 "GPIO-A",
987                 "GPIO-C",
988                 "GPIO-E",
989                 "GPIO-D",
990                 "I2C0-SDA",
991                 "I2C0-SCL",
992                 "GPIO-TT", /* GPIO_10 */
993                 "NC",
994                 "GPIO_12_I2C_SDA",
995                 "GPIO_13_I2C_SCL",
996                 "GPIO-X",
997                 "GPIO_15_RGMII_INT",
998                 "HST_BT_UART_CTS",
999                 "HST_BT_UART_RFR",
1000                 "HST_BT_UART_TX",
1001                 "HST_BT_UART_RX",
1002                 "HST_WLAN_EN", /* GPIO_20 */
1003                 "HST_BT_EN",
1004                 "GPIO-AAA",
1005                 "GPIO-BBB",
1006                 "GPIO-CCC",
1007                 "GPIO-Z",
1008                 "GPIO-DDD",
1009                 "GPIO-BB",
1010                 "GPIO_28_CAN_SPI_MISO",
1011                 "GPIO_29_CAN_SPI_MOSI",
1012                 "GPIO_30_CAN_SPI_CLK", /* GPIO_30 */
1013                 "GPIO_31_CAN_SPI_CS",
1014                 "GPIO-UU",
1015                 "NC",
1016                 "UART1_TXD_SOM",
1017                 "UART1_RXD_SOM",
1018                 "UART0_CTS",
1019                 "UART0_RTS",
1020                 "UART0_TXD",
1021                 "UART0_RXD",
1022                 "SPI1_MISO", /* GPIO_40 */
1023                 "SPI1_MOSI",
1024                 "SPI1_CLK",
1025                 "SPI1_CS",
1026                 "I2C1_SDA",
1027                 "I2C1_SCL",
1028                 "GPIO-F",
1029                 "GPIO-JJ",
1030                 "Board_ID1",
1031                 "Board_ID2",
1032                 "NC", /* GPIO_50 */
1033                 "NC",
1034                 "SPI0_MISO",
1035                 "SPI0_MOSI",
1036                 "SPI0_SCLK",
1037                 "SPI0_CS",
1038                 "GPIO-QQ",
1039                 "GPIO-RR",
1040                 "USB2LAN_RESET",
1041                 "USB2LAN_EXTWAKE",
1042                 "NC", /* GPIO_60 */
1043                 "NC",
1044                 "NC",
1045                 "LT9611_INT",
1046                 "GPIO-AA",
1047                 "USB_CC_DIR",
1048                 "GPIO-G",
1049                 "GPIO-LL",
1050                 "USB_DP_HPD_1P8",
1051                 "NC",
1052                 "NC", /* GPIO_70 */
1053                 "SD_CMD",
1054                 "SD_DAT3",
1055                 "SD_SCLK",
1056                 "SD_DAT2",
1057                 "SD_DAT1",
1058                 "SD_DAT0", /* BOOT_CFG3 */
1059                 "SD_UFS_CARD_DET_N",
1060                 "GPIO-II",
1061                 "PCIE0_RST_N",
1062                 "PCIE0_CLK_REQ_N", /* GPIO_80 */
1063                 "PCIE0_WAKE_N",
1064                 "GPIO-CC",
1065                 "GPIO-DD",
1066                 "GPIO-EE",
1067                 "GPIO-FF",
1068                 "GPIO-GG",
1069                 "GPIO-HH",
1070                 "GPIO-VV",
1071                 "GPIO-WW",
1072                 "NC", /* GPIO_90 */
1073                 "NC",
1074                 "GPIO-K",
1075                 "GPIO-I",
1076                 "CSI0_MCLK",
1077                 "CSI1_MCLK",
1078                 "CSI2_MCLK",
1079                 "CSI3_MCLK",
1080                 "GPIO-AA", /* CSI4_MCLK */
1081                 "GPIO-BB", /* CSI5_MCLK */
1082                 "GPIO-KK", /* GPIO_100 */
1083                 "CCI_I2C_SDA0",
1084                 "CCI_I2C_SCL0",
1085                 "CCI_I2C_SDA1",
1086                 "CCI_I2C_SCL1",
1087                 "CCI_I2C_SDA2",
1088                 "CCI_I2C_SCL2",
1089                 "CCI_I2C_SDA3",
1090                 "CCI_I2C_SCL3",
1091                 "GPIO-L",
1092                 "NC", /* GPIO_110 */
1093                 "NC",
1094                 "ACCEL_INT",
1095                 "GYRO_INT",
1096                 "GPIO-J",
1097                 "GPIO-YY",
1098                 "GPIO-H",
1099                 "GPIO-ZZ",
1100                 "NC",
1101                 "NC",
1102                 "NC", /* GPIO_120 */
1103                 "NC",
1104                 "MAG_INT",
1105                 "MAG_DRDY_INT",
1106                 "HST_SW_CTRL",
1107                 "GPIO-M",
1108                 "GPIO-N",
1109                 "GPIO-O",
1110                 "GPIO-P",
1111                 "PS_INT",
1112                 "WSA1_EN", /* GPIO_130 */
1113                 "USB_HUB_RESET",
1114                 "SDM_FORCE_USB_BOOT",
1115                 "I2S1_CLK_HDMI",
1116                 "I2S1_DATA0_HDMI",
1117                 "I2S1_WS_HDMI",
1118                 "GPIO-B",
1119                 "GPIO_137", /* To LT9611_I2S_MCLK_3V3 */
1120                 "PCM_CLK",
1121                 "PCM_DI",
1122                 "PCM_DO", /* GPIO_140 */
1123                 "PCM_FS",
1124                 "HST_SLIM_CLK",
1125                 "HST_SLIM_DATA",
1126                 "GPIO-U",
1127                 "GPIO-Y",
1128                 "GPIO-R",
1129                 "GPIO-Q",
1130                 "GPIO-S",
1131                 "GPIO-T",
1132                 "GPIO-V", /* GPIO_150 */
1133                 "GPIO-W",
1134                 "DMIC_CLK1",
1135                 "DMIC_DATA1",
1136                 "DMIC_CLK2",
1137                 "DMIC_DATA2",
1138                 "WSA_SWR_CLK",
1139                 "WSA_SWR_DATA",
1140                 "DMIC_CLK3",
1141                 "DMIC_DATA3",
1142                 "I2C4_SDA", /* GPIO_160 */
1143                 "I2C4_SCL",
1144                 "SPI3_CS1",
1145                 "SPI3_CS2",
1146                 "SPI2_MISO_LS3",
1147                 "SPI2_MOSI_LS3",
1148                 "SPI2_CLK_LS3",
1149                 "SPI2_ACCEL_CS_LS3",
1150                 "SPI2_CS1",
1151                 "NC",
1152                 "GPIO-SS", /* GPIO_170 */
1153                 "GPIO-XX",
1154                 "SPI3_MISO",
1155                 "SPI3_MOSI",
1156                 "SPI3_CLK",
1157                 "SPI3_CS",
1158                 "HST_BLE_SNS_UART_TX",
1159                 "HST_BLE_SNS_UART_RX",
1160                 "HST_WLAN_UART_TX",
1161                 "HST_WLAN_UART_RX";
1162
1163         lt9611_irq_pin: lt9611-irq {
1164                 pins = "gpio63";
1165                 function = "gpio";
1166                 bias-disable;
1167         };
1168
1169         sdc2_default_state: sdc2-default {
1170                 clk {
1171                         pins = "sdc2_clk";
1172                         bias-disable;
1173                         drive-strength = <16>;
1174                 };
1175
1176                 cmd {
1177                         pins = "sdc2_cmd";
1178                         bias-pull-up;
1179                         drive-strength = <10>;
1180                 };
1181
1182                 data {
1183                         pins = "sdc2_data";
1184                         bias-pull-up;
1185                         drive-strength = <10>;
1186                 };
1187         };
1188
1189         sdc2_card_det_n: sd-card-det-n {
1190                 pins = "gpio77";
1191                 function = "gpio";
1192                 bias-pull-up;
1193         };
1194 };
1195
1196 &uart12 {
1197         status = "okay";
1198 };
1199
1200 &ufs_mem_hc {
1201         status = "okay";
1202
1203         vcc-supply = <&vreg_l17a_3p0>;
1204         vcc-max-microamp = <800000>;
1205         vccq-supply = <&vreg_l6a_1p2>;
1206         vccq-max-microamp = <800000>;
1207         vccq2-supply = <&vreg_s4a_1p8>;
1208         vccq2-max-microamp = <800000>;
1209 };
1210
1211 &ufs_mem_phy {
1212         status = "okay";
1213
1214         vdda-phy-supply = <&vreg_l5a_0p88>;
1215         vdda-max-microamp = <89900>;
1216         vdda-pll-supply = <&vreg_l9a_1p2>;
1217         vdda-pll-max-microamp = <18800>;
1218 };
1219
1220 &usb_1 {
1221         status = "okay";
1222 };
1223
1224 &usb_1_dwc3 {
1225         dr_mode = "peripheral";
1226 };
1227
1228 &usb_1_hsphy {
1229         status = "okay";
1230
1231         vdda-pll-supply = <&vreg_l5a_0p88>;
1232         vdda33-supply = <&vreg_l2a_3p1>;
1233         vdda18-supply = <&vreg_l12a_1p8>;
1234 };
1235
1236 &usb_1_qmpphy {
1237         status = "okay";
1238
1239         vdda-phy-supply = <&vreg_l9a_1p2>;
1240         vdda-pll-supply = <&vreg_l18a_0p92>;
1241 };
1242
1243 &usb_2 {
1244         status = "okay";
1245 };
1246
1247 &usb_2_dwc3 {
1248         dr_mode = "host";
1249 };
1250
1251 &usb_2_hsphy {
1252         status = "okay";
1253
1254         vdda-pll-supply = <&vreg_l5a_0p88>;
1255         vdda33-supply = <&vreg_l2a_3p1>;
1256         vdda18-supply = <&vreg_l12a_1p8>;
1257 };
1258
1259 &usb_2_qmpphy {
1260         status = "okay";
1261
1262         vdda-phy-supply = <&vreg_l9a_1p2>;
1263         vdda-pll-supply = <&vreg_l18a_0p92>;
1264 };
1265
1266 &vamacro {
1267         pinctrl-0 = <&dmic01_active>;
1268         pinctrl-names = "default";
1269         vdd-micb-supply = <&vreg_s4a_1p8>;
1270         qcom,dmic-sample-rate = <600000>;
1271 };
1272
1273 &venus {
1274         status = "okay";
1275 };
1276
1277 /* PINCTRL - additions to nodes defined in sm8250.dtsi */
1278 &qup_spi0_cs_gpio {
1279         drive-strength = <6>;
1280         bias-disable;
1281 };
1282
1283 &qup_spi0_data_clk {
1284         drive-strength = <6>;
1285         bias-disable;
1286 };