Merge tag 'linux-kselftest-kunit-5.15-rc1' of git://git.kernel.org/pub/scm/linux...
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / msm8998.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright (c) 2016, The Linux Foundation. All rights reserved. */
3
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/clock/qcom,gcc-msm8998.h>
6 #include <dt-bindings/clock/qcom,gpucc-msm8998.h>
7 #include <dt-bindings/clock/qcom,rpmcc.h>
8 #include <dt-bindings/power/qcom-rpmpd.h>
9 #include <dt-bindings/gpio/gpio.h>
10
11 / {
12         interrupt-parent = <&intc>;
13
14         qcom,msm-id = <292 0x0>;
15
16         #address-cells = <2>;
17         #size-cells = <2>;
18
19         chosen { };
20
21         memory@80000000 {
22                 device_type = "memory";
23                 /* We expect the bootloader to fill in the reg */
24                 reg = <0x0 0x80000000 0x0 0x0>;
25         };
26
27         reserved-memory {
28                 #address-cells = <2>;
29                 #size-cells = <2>;
30                 ranges;
31
32                 hyp_mem: memory@85800000 {
33                         reg = <0x0 0x85800000 0x0 0x600000>;
34                         no-map;
35                 };
36
37                 xbl_mem: memory@85e00000 {
38                         reg = <0x0 0x85e00000 0x0 0x100000>;
39                         no-map;
40                 };
41
42                 smem_mem: smem-mem@86000000 {
43                         reg = <0x0 0x86000000 0x0 0x200000>;
44                         no-map;
45                 };
46
47                 tz_mem: memory@86200000 {
48                         reg = <0x0 0x86200000 0x0 0x2d00000>;
49                         no-map;
50                 };
51
52                 rmtfs_mem: memory@88f00000 {
53                         compatible = "qcom,rmtfs-mem";
54                         reg = <0x0 0x88f00000 0x0 0x200000>;
55                         no-map;
56
57                         qcom,client-id = <1>;
58                         qcom,vmid = <15>;
59                 };
60
61                 spss_mem: memory@8ab00000 {
62                         reg = <0x0 0x8ab00000 0x0 0x700000>;
63                         no-map;
64                 };
65
66                 adsp_mem: memory@8b200000 {
67                         reg = <0x0 0x8b200000 0x0 0x1a00000>;
68                         no-map;
69                 };
70
71                 mpss_mem: memory@8cc00000 {
72                         reg = <0x0 0x8cc00000 0x0 0x7000000>;
73                         no-map;
74                 };
75
76                 venus_mem: memory@93c00000 {
77                         reg = <0x0 0x93c00000 0x0 0x500000>;
78                         no-map;
79                 };
80
81                 mba_mem: memory@94100000 {
82                         reg = <0x0 0x94100000 0x0 0x200000>;
83                         no-map;
84                 };
85
86                 slpi_mem: memory@94300000 {
87                         reg = <0x0 0x94300000 0x0 0xf00000>;
88                         no-map;
89                 };
90
91                 ipa_fw_mem: memory@95200000 {
92                         reg = <0x0 0x95200000 0x0 0x10000>;
93                         no-map;
94                 };
95
96                 ipa_gsi_mem: memory@95210000 {
97                         reg = <0x0 0x95210000 0x0 0x5000>;
98                         no-map;
99                 };
100
101                 gpu_mem: memory@95600000 {
102                         reg = <0x0 0x95600000 0x0 0x100000>;
103                         no-map;
104                 };
105
106                 wlan_msa_mem: memory@95700000 {
107                         reg = <0x0 0x95700000 0x0 0x100000>;
108                         no-map;
109                 };
110         };
111
112         clocks {
113                 xo: xo-board {
114                         compatible = "fixed-clock";
115                         #clock-cells = <0>;
116                         clock-frequency = <19200000>;
117                         clock-output-names = "xo_board";
118                 };
119
120                 sleep_clk {
121                         compatible = "fixed-clock";
122                         #clock-cells = <0>;
123                         clock-frequency = <32764>;
124                 };
125         };
126
127         cpus {
128                 #address-cells = <2>;
129                 #size-cells = <0>;
130
131                 CPU0: cpu@0 {
132                         device_type = "cpu";
133                         compatible = "qcom,kryo280";
134                         reg = <0x0 0x0>;
135                         enable-method = "psci";
136                         capacity-dmips-mhz = <1024>;
137                         cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
138                         next-level-cache = <&L2_0>;
139                         L2_0: l2-cache {
140                                 compatible = "arm,arch-cache";
141                                 cache-level = <2>;
142                         };
143                         L1_I_0: l1-icache {
144                                 compatible = "arm,arch-cache";
145                         };
146                         L1_D_0: l1-dcache {
147                                 compatible = "arm,arch-cache";
148                         };
149                 };
150
151                 CPU1: cpu@1 {
152                         device_type = "cpu";
153                         compatible = "qcom,kryo280";
154                         reg = <0x0 0x1>;
155                         enable-method = "psci";
156                         capacity-dmips-mhz = <1024>;
157                         cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
158                         next-level-cache = <&L2_0>;
159                         L1_I_1: l1-icache {
160                                 compatible = "arm,arch-cache";
161                         };
162                         L1_D_1: l1-dcache {
163                                 compatible = "arm,arch-cache";
164                         };
165                 };
166
167                 CPU2: cpu@2 {
168                         device_type = "cpu";
169                         compatible = "qcom,kryo280";
170                         reg = <0x0 0x2>;
171                         enable-method = "psci";
172                         capacity-dmips-mhz = <1024>;
173                         cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
174                         next-level-cache = <&L2_0>;
175                         L1_I_2: l1-icache {
176                                 compatible = "arm,arch-cache";
177                         };
178                         L1_D_2: l1-dcache {
179                                 compatible = "arm,arch-cache";
180                         };
181                 };
182
183                 CPU3: cpu@3 {
184                         device_type = "cpu";
185                         compatible = "qcom,kryo280";
186                         reg = <0x0 0x3>;
187                         enable-method = "psci";
188                         capacity-dmips-mhz = <1024>;
189                         cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
190                         next-level-cache = <&L2_0>;
191                         L1_I_3: l1-icache {
192                                 compatible = "arm,arch-cache";
193                         };
194                         L1_D_3: l1-dcache {
195                                 compatible = "arm,arch-cache";
196                         };
197                 };
198
199                 CPU4: cpu@100 {
200                         device_type = "cpu";
201                         compatible = "qcom,kryo280";
202                         reg = <0x0 0x100>;
203                         enable-method = "psci";
204                         capacity-dmips-mhz = <1536>;
205                         cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
206                         next-level-cache = <&L2_1>;
207                         L2_1: l2-cache {
208                                 compatible = "arm,arch-cache";
209                                 cache-level = <2>;
210                         };
211                         L1_I_100: l1-icache {
212                                 compatible = "arm,arch-cache";
213                         };
214                         L1_D_100: l1-dcache {
215                                 compatible = "arm,arch-cache";
216                         };
217                 };
218
219                 CPU5: cpu@101 {
220                         device_type = "cpu";
221                         compatible = "qcom,kryo280";
222                         reg = <0x0 0x101>;
223                         enable-method = "psci";
224                         capacity-dmips-mhz = <1536>;
225                         cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
226                         next-level-cache = <&L2_1>;
227                         L1_I_101: l1-icache {
228                                 compatible = "arm,arch-cache";
229                         };
230                         L1_D_101: l1-dcache {
231                                 compatible = "arm,arch-cache";
232                         };
233                 };
234
235                 CPU6: cpu@102 {
236                         device_type = "cpu";
237                         compatible = "qcom,kryo280";
238                         reg = <0x0 0x102>;
239                         enable-method = "psci";
240                         capacity-dmips-mhz = <1536>;
241                         cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
242                         next-level-cache = <&L2_1>;
243                         L1_I_102: l1-icache {
244                                 compatible = "arm,arch-cache";
245                         };
246                         L1_D_102: l1-dcache {
247                                 compatible = "arm,arch-cache";
248                         };
249                 };
250
251                 CPU7: cpu@103 {
252                         device_type = "cpu";
253                         compatible = "qcom,kryo280";
254                         reg = <0x0 0x103>;
255                         enable-method = "psci";
256                         capacity-dmips-mhz = <1536>;
257                         cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
258                         next-level-cache = <&L2_1>;
259                         L1_I_103: l1-icache {
260                                 compatible = "arm,arch-cache";
261                         };
262                         L1_D_103: l1-dcache {
263                                 compatible = "arm,arch-cache";
264                         };
265                 };
266
267                 cpu-map {
268                         cluster0 {
269                                 core0 {
270                                         cpu = <&CPU0>;
271                                 };
272
273                                 core1 {
274                                         cpu = <&CPU1>;
275                                 };
276
277                                 core2 {
278                                         cpu = <&CPU2>;
279                                 };
280
281                                 core3 {
282                                         cpu = <&CPU3>;
283                                 };
284                         };
285
286                         cluster1 {
287                                 core0 {
288                                         cpu = <&CPU4>;
289                                 };
290
291                                 core1 {
292                                         cpu = <&CPU5>;
293                                 };
294
295                                 core2 {
296                                         cpu = <&CPU6>;
297                                 };
298
299                                 core3 {
300                                         cpu = <&CPU7>;
301                                 };
302                         };
303                 };
304
305                 idle-states {
306                         entry-method = "psci";
307
308                         LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
309                                 compatible = "arm,idle-state";
310                                 idle-state-name = "little-retention";
311                                 arm,psci-suspend-param = <0x00000002>;
312                                 entry-latency-us = <81>;
313                                 exit-latency-us = <86>;
314                                 min-residency-us = <200>;
315                         };
316
317                         LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 {
318                                 compatible = "arm,idle-state";
319                                 idle-state-name = "little-power-collapse";
320                                 arm,psci-suspend-param = <0x40000003>;
321                                 entry-latency-us = <273>;
322                                 exit-latency-us = <612>;
323                                 min-residency-us = <1000>;
324                                 local-timer-stop;
325                         };
326
327                         BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
328                                 compatible = "arm,idle-state";
329                                 idle-state-name = "big-retention";
330                                 arm,psci-suspend-param = <0x00000002>;
331                                 entry-latency-us = <79>;
332                                 exit-latency-us = <82>;
333                                 min-residency-us = <200>;
334                         };
335
336                         BIG_CPU_SLEEP_1: cpu-sleep-1-1 {
337                                 compatible = "arm,idle-state";
338                                 idle-state-name = "big-power-collapse";
339                                 arm,psci-suspend-param = <0x40000003>;
340                                 entry-latency-us = <336>;
341                                 exit-latency-us = <525>;
342                                 min-residency-us = <1000>;
343                                 local-timer-stop;
344                         };
345                 };
346         };
347
348         firmware {
349                 scm {
350                         compatible = "qcom,scm-msm8998", "qcom,scm";
351                 };
352         };
353
354         tcsr_mutex: hwlock {
355                 compatible = "qcom,tcsr-mutex";
356                 syscon = <&tcsr_mutex_regs 0 0x1000>;
357                 #hwlock-cells = <1>;
358         };
359
360         psci {
361                 compatible = "arm,psci-1.0";
362                 method = "smc";
363         };
364
365         rpm-glink {
366                 compatible = "qcom,glink-rpm";
367
368                 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
369                 qcom,rpm-msg-ram = <&rpm_msg_ram>;
370                 mboxes = <&apcs_glb 0>;
371
372                 rpm_requests: rpm-requests {
373                         compatible = "qcom,rpm-msm8998";
374                         qcom,glink-channels = "rpm_requests";
375
376                         rpmcc: clock-controller {
377                                 compatible = "qcom,rpmcc-msm8998", "qcom,rpmcc";
378                                 #clock-cells = <1>;
379                         };
380
381                         rpmpd: power-controller {
382                                 compatible = "qcom,msm8998-rpmpd";
383                                 #power-domain-cells = <1>;
384                                 operating-points-v2 = <&rpmpd_opp_table>;
385
386                                 rpmpd_opp_table: opp-table {
387                                         compatible = "operating-points-v2";
388
389                                         rpmpd_opp_ret: opp1 {
390                                                 opp-level = <RPM_SMD_LEVEL_RETENTION>;
391                                         };
392
393                                         rpmpd_opp_ret_plus: opp2 {
394                                                 opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
395                                         };
396
397                                         rpmpd_opp_min_svs: opp3 {
398                                                 opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
399                                         };
400
401                                         rpmpd_opp_low_svs: opp4 {
402                                                 opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
403                                         };
404
405                                         rpmpd_opp_svs: opp5 {
406                                                 opp-level = <RPM_SMD_LEVEL_SVS>;
407                                         };
408
409                                         rpmpd_opp_svs_plus: opp6 {
410                                                 opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
411                                         };
412
413                                         rpmpd_opp_nom: opp7 {
414                                                 opp-level = <RPM_SMD_LEVEL_NOM>;
415                                         };
416
417                                         rpmpd_opp_nom_plus: opp8 {
418                                                 opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
419                                         };
420
421                                         rpmpd_opp_turbo: opp9 {
422                                                 opp-level = <RPM_SMD_LEVEL_TURBO>;
423                                         };
424
425                                         rpmpd_opp_turbo_plus: opp10 {
426                                                 opp-level = <RPM_SMD_LEVEL_BINNING>;
427                                         };
428                                 };
429                         };
430                 };
431         };
432
433         smem {
434                 compatible = "qcom,smem";
435                 memory-region = <&smem_mem>;
436                 hwlocks = <&tcsr_mutex 3>;
437         };
438
439         smp2p-lpass {
440                 compatible = "qcom,smp2p";
441                 qcom,smem = <443>, <429>;
442
443                 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
444
445                 mboxes = <&apcs_glb 10>;
446
447                 qcom,local-pid = <0>;
448                 qcom,remote-pid = <2>;
449
450                 adsp_smp2p_out: master-kernel {
451                         qcom,entry-name = "master-kernel";
452                         #qcom,smem-state-cells = <1>;
453                 };
454
455                 adsp_smp2p_in: slave-kernel {
456                         qcom,entry-name = "slave-kernel";
457
458                         interrupt-controller;
459                         #interrupt-cells = <2>;
460                 };
461         };
462
463         smp2p-mpss {
464                 compatible = "qcom,smp2p";
465                 qcom,smem = <435>, <428>;
466                 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
467                 mboxes = <&apcs_glb 14>;
468                 qcom,local-pid = <0>;
469                 qcom,remote-pid = <1>;
470
471                 modem_smp2p_out: master-kernel {
472                         qcom,entry-name = "master-kernel";
473                         #qcom,smem-state-cells = <1>;
474                 };
475
476                 modem_smp2p_in: slave-kernel {
477                         qcom,entry-name = "slave-kernel";
478                         interrupt-controller;
479                         #interrupt-cells = <2>;
480                 };
481         };
482
483         smp2p-slpi {
484                 compatible = "qcom,smp2p";
485                 qcom,smem = <481>, <430>;
486                 interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
487                 mboxes = <&apcs_glb 26>;
488                 qcom,local-pid = <0>;
489                 qcom,remote-pid = <3>;
490
491                 slpi_smp2p_out: master-kernel {
492                         qcom,entry-name = "master-kernel";
493                         #qcom,smem-state-cells = <1>;
494                 };
495
496                 slpi_smp2p_in: slave-kernel {
497                         qcom,entry-name = "slave-kernel";
498                         interrupt-controller;
499                         #interrupt-cells = <2>;
500                 };
501         };
502
503         thermal-zones {
504                 cpu0-thermal {
505                         polling-delay-passive = <250>;
506                         polling-delay = <1000>;
507
508                         thermal-sensors = <&tsens0 1>;
509
510                         trips {
511                                 cpu0_alert0: trip-point0 {
512                                         temperature = <75000>;
513                                         hysteresis = <2000>;
514                                         type = "passive";
515                                 };
516
517                                 cpu0_crit: cpu_crit {
518                                         temperature = <110000>;
519                                         hysteresis = <2000>;
520                                         type = "critical";
521                                 };
522                         };
523                 };
524
525                 cpu1-thermal {
526                         polling-delay-passive = <250>;
527                         polling-delay = <1000>;
528
529                         thermal-sensors = <&tsens0 2>;
530
531                         trips {
532                                 cpu1_alert0: trip-point0 {
533                                         temperature = <75000>;
534                                         hysteresis = <2000>;
535                                         type = "passive";
536                                 };
537
538                                 cpu1_crit: cpu_crit {
539                                         temperature = <110000>;
540                                         hysteresis = <2000>;
541                                         type = "critical";
542                                 };
543                         };
544                 };
545
546                 cpu2-thermal {
547                         polling-delay-passive = <250>;
548                         polling-delay = <1000>;
549
550                         thermal-sensors = <&tsens0 3>;
551
552                         trips {
553                                 cpu2_alert0: trip-point0 {
554                                         temperature = <75000>;
555                                         hysteresis = <2000>;
556                                         type = "passive";
557                                 };
558
559                                 cpu2_crit: cpu_crit {
560                                         temperature = <110000>;
561                                         hysteresis = <2000>;
562                                         type = "critical";
563                                 };
564                         };
565                 };
566
567                 cpu3-thermal {
568                         polling-delay-passive = <250>;
569                         polling-delay = <1000>;
570
571                         thermal-sensors = <&tsens0 4>;
572
573                         trips {
574                                 cpu3_alert0: trip-point0 {
575                                         temperature = <75000>;
576                                         hysteresis = <2000>;
577                                         type = "passive";
578                                 };
579
580                                 cpu3_crit: cpu_crit {
581                                         temperature = <110000>;
582                                         hysteresis = <2000>;
583                                         type = "critical";
584                                 };
585                         };
586                 };
587
588                 cpu4-thermal {
589                         polling-delay-passive = <250>;
590                         polling-delay = <1000>;
591
592                         thermal-sensors = <&tsens0 7>;
593
594                         trips {
595                                 cpu4_alert0: trip-point0 {
596                                         temperature = <75000>;
597                                         hysteresis = <2000>;
598                                         type = "passive";
599                                 };
600
601                                 cpu4_crit: cpu_crit {
602                                         temperature = <110000>;
603                                         hysteresis = <2000>;
604                                         type = "critical";
605                                 };
606                         };
607                 };
608
609                 cpu5-thermal {
610                         polling-delay-passive = <250>;
611                         polling-delay = <1000>;
612
613                         thermal-sensors = <&tsens0 8>;
614
615                         trips {
616                                 cpu5_alert0: trip-point0 {
617                                         temperature = <75000>;
618                                         hysteresis = <2000>;
619                                         type = "passive";
620                                 };
621
622                                 cpu5_crit: cpu_crit {
623                                         temperature = <110000>;
624                                         hysteresis = <2000>;
625                                         type = "critical";
626                                 };
627                         };
628                 };
629
630                 cpu6-thermal {
631                         polling-delay-passive = <250>;
632                         polling-delay = <1000>;
633
634                         thermal-sensors = <&tsens0 9>;
635
636                         trips {
637                                 cpu6_alert0: trip-point0 {
638                                         temperature = <75000>;
639                                         hysteresis = <2000>;
640                                         type = "passive";
641                                 };
642
643                                 cpu6_crit: cpu_crit {
644                                         temperature = <110000>;
645                                         hysteresis = <2000>;
646                                         type = "critical";
647                                 };
648                         };
649                 };
650
651                 cpu7-thermal {
652                         polling-delay-passive = <250>;
653                         polling-delay = <1000>;
654
655                         thermal-sensors = <&tsens0 10>;
656
657                         trips {
658                                 cpu7_alert0: trip-point0 {
659                                         temperature = <75000>;
660                                         hysteresis = <2000>;
661                                         type = "passive";
662                                 };
663
664                                 cpu7_crit: cpu_crit {
665                                         temperature = <110000>;
666                                         hysteresis = <2000>;
667                                         type = "critical";
668                                 };
669                         };
670                 };
671
672                 gpu-thermal-bottom {
673                         polling-delay-passive = <250>;
674                         polling-delay = <1000>;
675
676                         thermal-sensors = <&tsens0 12>;
677
678                         trips {
679                                 gpu1_alert0: trip-point0 {
680                                         temperature = <90000>;
681                                         hysteresis = <2000>;
682                                         type = "hot";
683                                 };
684                         };
685                 };
686
687                 gpu-thermal-top {
688                         polling-delay-passive = <250>;
689                         polling-delay = <1000>;
690
691                         thermal-sensors = <&tsens0 13>;
692
693                         trips {
694                                 gpu2_alert0: trip-point0 {
695                                         temperature = <90000>;
696                                         hysteresis = <2000>;
697                                         type = "hot";
698                                 };
699                         };
700                 };
701
702                 clust0-mhm-thermal {
703                         polling-delay-passive = <250>;
704                         polling-delay = <1000>;
705
706                         thermal-sensors = <&tsens0 5>;
707
708                         trips {
709                                 cluster0_mhm_alert0: trip-point0 {
710                                         temperature = <90000>;
711                                         hysteresis = <2000>;
712                                         type = "hot";
713                                 };
714                         };
715                 };
716
717                 clust1-mhm-thermal {
718                         polling-delay-passive = <250>;
719                         polling-delay = <1000>;
720
721                         thermal-sensors = <&tsens0 6>;
722
723                         trips {
724                                 cluster1_mhm_alert0: trip-point0 {
725                                         temperature = <90000>;
726                                         hysteresis = <2000>;
727                                         type = "hot";
728                                 };
729                         };
730                 };
731
732                 cluster1-l2-thermal {
733                         polling-delay-passive = <250>;
734                         polling-delay = <1000>;
735
736                         thermal-sensors = <&tsens0 11>;
737
738                         trips {
739                                 cluster1_l2_alert0: trip-point0 {
740                                         temperature = <90000>;
741                                         hysteresis = <2000>;
742                                         type = "hot";
743                                 };
744                         };
745                 };
746
747                 modem-thermal {
748                         polling-delay-passive = <250>;
749                         polling-delay = <1000>;
750
751                         thermal-sensors = <&tsens1 1>;
752
753                         trips {
754                                 modem_alert0: trip-point0 {
755                                         temperature = <90000>;
756                                         hysteresis = <2000>;
757                                         type = "hot";
758                                 };
759                         };
760                 };
761
762                 mem-thermal {
763                         polling-delay-passive = <250>;
764                         polling-delay = <1000>;
765
766                         thermal-sensors = <&tsens1 2>;
767
768                         trips {
769                                 mem_alert0: trip-point0 {
770                                         temperature = <90000>;
771                                         hysteresis = <2000>;
772                                         type = "hot";
773                                 };
774                         };
775                 };
776
777                 wlan-thermal {
778                         polling-delay-passive = <250>;
779                         polling-delay = <1000>;
780
781                         thermal-sensors = <&tsens1 3>;
782
783                         trips {
784                                 wlan_alert0: trip-point0 {
785                                         temperature = <90000>;
786                                         hysteresis = <2000>;
787                                         type = "hot";
788                                 };
789                         };
790                 };
791
792                 q6-dsp-thermal {
793                         polling-delay-passive = <250>;
794                         polling-delay = <1000>;
795
796                         thermal-sensors = <&tsens1 4>;
797
798                         trips {
799                                 q6_dsp_alert0: trip-point0 {
800                                         temperature = <90000>;
801                                         hysteresis = <2000>;
802                                         type = "hot";
803                                 };
804                         };
805                 };
806
807                 camera-thermal {
808                         polling-delay-passive = <250>;
809                         polling-delay = <1000>;
810
811                         thermal-sensors = <&tsens1 5>;
812
813                         trips {
814                                 camera_alert0: trip-point0 {
815                                         temperature = <90000>;
816                                         hysteresis = <2000>;
817                                         type = "hot";
818                                 };
819                         };
820                 };
821
822                 multimedia-thermal {
823                         polling-delay-passive = <250>;
824                         polling-delay = <1000>;
825
826                         thermal-sensors = <&tsens1 6>;
827
828                         trips {
829                                 multimedia_alert0: trip-point0 {
830                                         temperature = <90000>;
831                                         hysteresis = <2000>;
832                                         type = "hot";
833                                 };
834                         };
835                 };
836         };
837
838         timer {
839                 compatible = "arm,armv8-timer";
840                 interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
841                              <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
842                              <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
843                              <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
844         };
845
846         soc: soc {
847                 #address-cells = <1>;
848                 #size-cells = <1>;
849                 ranges = <0 0 0 0xffffffff>;
850                 compatible = "simple-bus";
851
852                 gcc: clock-controller@100000 {
853                         compatible = "qcom,gcc-msm8998";
854                         #clock-cells = <1>;
855                         #reset-cells = <1>;
856                         #power-domain-cells = <1>;
857                         reg = <0x00100000 0xb0000>;
858                 };
859
860                 rpm_msg_ram: memory@778000 {
861                         compatible = "qcom,rpm-msg-ram";
862                         reg = <0x00778000 0x7000>;
863                 };
864
865                 qfprom: qfprom@780000 {
866                         compatible = "qcom,qfprom";
867                         reg = <0x00780000 0x621c>;
868                         #address-cells = <1>;
869                         #size-cells = <1>;
870
871                         qusb2_hstx_trim: hstx-trim@423a {
872                                 reg = <0x423a 0x1>;
873                                 bits = <0 4>;
874                         };
875                 };
876
877                 tsens0: thermal@10ab000 {
878                         compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
879                         reg = <0x010ab000 0x1000>, /* TM */
880                               <0x010aa000 0x1000>; /* SROT */
881                         #qcom,sensors = <14>;
882                         interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
883                                      <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>;
884                         interrupt-names = "uplow", "critical";
885                         #thermal-sensor-cells = <1>;
886                 };
887
888                 tsens1: thermal@10ae000 {
889                         compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
890                         reg = <0x010ae000 0x1000>, /* TM */
891                               <0x010ad000 0x1000>; /* SROT */
892                         #qcom,sensors = <8>;
893                         interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
894                                      <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>;
895                         interrupt-names = "uplow", "critical";
896                         #thermal-sensor-cells = <1>;
897                 };
898
899                 anoc1_smmu: iommu@1680000 {
900                         compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
901                         reg = <0x01680000 0x10000>;
902                         #iommu-cells = <1>;
903
904                         #global-interrupts = <0>;
905                         interrupts =
906                                 <GIC_SPI 364 IRQ_TYPE_EDGE_RISING>,
907                                 <GIC_SPI 365 IRQ_TYPE_EDGE_RISING>,
908                                 <GIC_SPI 366 IRQ_TYPE_EDGE_RISING>,
909                                 <GIC_SPI 367 IRQ_TYPE_EDGE_RISING>,
910                                 <GIC_SPI 368 IRQ_TYPE_EDGE_RISING>,
911                                 <GIC_SPI 369 IRQ_TYPE_EDGE_RISING>;
912                 };
913
914                 anoc2_smmu: iommu@16c0000 {
915                         compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
916                         reg = <0x016c0000 0x40000>;
917                         #iommu-cells = <1>;
918
919                         #global-interrupts = <0>;
920                         interrupts =
921                                 <GIC_SPI 373 IRQ_TYPE_EDGE_RISING>,
922                                 <GIC_SPI 374 IRQ_TYPE_EDGE_RISING>,
923                                 <GIC_SPI 375 IRQ_TYPE_EDGE_RISING>,
924                                 <GIC_SPI 376 IRQ_TYPE_EDGE_RISING>,
925                                 <GIC_SPI 377 IRQ_TYPE_EDGE_RISING>,
926                                 <GIC_SPI 378 IRQ_TYPE_EDGE_RISING>,
927                                 <GIC_SPI 462 IRQ_TYPE_EDGE_RISING>,
928                                 <GIC_SPI 463 IRQ_TYPE_EDGE_RISING>,
929                                 <GIC_SPI 464 IRQ_TYPE_EDGE_RISING>,
930                                 <GIC_SPI 465 IRQ_TYPE_EDGE_RISING>;
931                 };
932
933                 pcie0: pci@1c00000 {
934                         compatible = "qcom,pcie-msm8996";
935                         reg =   <0x01c00000 0x2000>,
936                                 <0x1b000000 0xf1d>,
937                                 <0x1b000f20 0xa8>,
938                                 <0x1b100000 0x100000>;
939                         reg-names = "parf", "dbi", "elbi", "config";
940                         device_type = "pci";
941                         linux,pci-domain = <0>;
942                         bus-range = <0x00 0xff>;
943                         #address-cells = <3>;
944                         #size-cells = <2>;
945                         num-lanes = <1>;
946                         phys = <&pciephy>;
947                         phy-names = "pciephy";
948                         status = "disabled";
949
950                         ranges = <0x01000000 0x0 0x1b200000 0x1b200000 0x0 0x100000>,
951                                  <0x02000000 0x0 0x1b300000 0x1b300000 0x0 0xd00000>;
952
953                         #interrupt-cells = <1>;
954                         interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
955                         interrupt-names = "msi";
956                         interrupt-map-mask = <0 0 0 0x7>;
957                         interrupt-map = <0 0 0 1 &intc 0 135 IRQ_TYPE_LEVEL_HIGH>,
958                                         <0 0 0 2 &intc 0 136 IRQ_TYPE_LEVEL_HIGH>,
959                                         <0 0 0 3 &intc 0 138 IRQ_TYPE_LEVEL_HIGH>,
960                                         <0 0 0 4 &intc 0 139 IRQ_TYPE_LEVEL_HIGH>;
961
962                         clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
963                                  <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
964                                  <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
965                                  <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
966                                  <&gcc GCC_PCIE_0_AUX_CLK>;
967                         clock-names = "pipe", "bus_master", "bus_slave", "cfg", "aux";
968
969                         power-domains = <&gcc PCIE_0_GDSC>;
970                         iommu-map = <0x100 &anoc1_smmu 0x1480 1>;
971                         perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
972                 };
973
974                 pcie_phy: phy@1c06000 {
975                         compatible = "qcom,msm8998-qmp-pcie-phy";
976                         reg = <0x01c06000 0x18c>;
977                         #address-cells = <1>;
978                         #size-cells = <1>;
979                         status = "disabled";
980                         ranges;
981
982                         clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
983                                  <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
984                                  <&gcc GCC_PCIE_CLKREF_CLK>;
985                         clock-names = "aux", "cfg_ahb", "ref";
986
987                         resets = <&gcc GCC_PCIE_0_PHY_BCR>, <&gcc GCC_PCIE_PHY_BCR>;
988                         reset-names = "phy", "common";
989
990                         vdda-phy-supply = <&vreg_l1a_0p875>;
991                         vdda-pll-supply = <&vreg_l2a_1p2>;
992
993                         pciephy: lane@1c06800 {
994                                 reg = <0x01c06200 0x128>, <0x01c06400 0x1fc>, <0x01c06800 0x20c>;
995                                 #phy-cells = <0>;
996
997                                 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
998                                 clock-names = "pipe0";
999                                 clock-output-names = "pcie_0_pipe_clk_src";
1000                                 #clock-cells = <0>;
1001                         };
1002                 };
1003
1004                 ufshc: ufshc@1da4000 {
1005                         compatible = "qcom,msm8998-ufshc", "qcom,ufshc", "jedec,ufs-2.0";
1006                         reg = <0x01da4000 0x2500>;
1007                         interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
1008                         phys = <&ufsphy_lanes>;
1009                         phy-names = "ufsphy";
1010                         lanes-per-direction = <2>;
1011                         power-domains = <&gcc UFS_GDSC>;
1012                         status = "disabled";
1013                         #reset-cells = <1>;
1014
1015                         clock-names =
1016                                 "core_clk",
1017                                 "bus_aggr_clk",
1018                                 "iface_clk",
1019                                 "core_clk_unipro",
1020                                 "ref_clk",
1021                                 "tx_lane0_sync_clk",
1022                                 "rx_lane0_sync_clk",
1023                                 "rx_lane1_sync_clk";
1024                         clocks =
1025                                 <&gcc GCC_UFS_AXI_CLK>,
1026                                 <&gcc GCC_AGGRE1_UFS_AXI_CLK>,
1027                                 <&gcc GCC_UFS_AHB_CLK>,
1028                                 <&gcc GCC_UFS_UNIPRO_CORE_CLK>,
1029                                 <&rpmcc RPM_SMD_LN_BB_CLK1>,
1030                                 <&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
1031                                 <&gcc GCC_UFS_RX_SYMBOL_0_CLK>,
1032                                 <&gcc GCC_UFS_RX_SYMBOL_1_CLK>;
1033                         freq-table-hz =
1034                                 <50000000 200000000>,
1035                                 <0 0>,
1036                                 <0 0>,
1037                                 <37500000 150000000>,
1038                                 <0 0>,
1039                                 <0 0>,
1040                                 <0 0>,
1041                                 <0 0>;
1042
1043                         resets = <&gcc GCC_UFS_BCR>;
1044                         reset-names = "rst";
1045                 };
1046
1047                 ufsphy: phy@1da7000 {
1048                         compatible = "qcom,msm8998-qmp-ufs-phy";
1049                         reg = <0x01da7000 0x18c>;
1050                         #address-cells = <1>;
1051                         #size-cells = <1>;
1052                         status = "disabled";
1053                         ranges;
1054
1055                         clock-names =
1056                                 "ref",
1057                                 "ref_aux";
1058                         clocks =
1059                                 <&gcc GCC_UFS_CLKREF_CLK>,
1060                                 <&gcc GCC_UFS_PHY_AUX_CLK>;
1061
1062                         reset-names = "ufsphy";
1063                         resets = <&ufshc 0>;
1064
1065                         ufsphy_lanes: lanes@1da7400 {
1066                                 reg = <0x01da7400 0x128>,
1067                                       <0x01da7600 0x1fc>,
1068                                       <0x01da7c00 0x1dc>,
1069                                       <0x01da7800 0x128>,
1070                                       <0x01da7a00 0x1fc>;
1071                                 #phy-cells = <0>;
1072                         };
1073                 };
1074
1075                 tcsr_mutex_regs: syscon@1f40000 {
1076                         compatible = "syscon";
1077                         reg = <0x01f40000 0x40000>;
1078                 };
1079
1080                 tlmm: pinctrl@3400000 {
1081                         compatible = "qcom,msm8998-pinctrl";
1082                         reg = <0x03400000 0xc00000>;
1083                         interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1084                         gpio-controller;
1085                         #gpio-cells = <0x2>;
1086                         interrupt-controller;
1087                         #interrupt-cells = <0x2>;
1088
1089                         sdc2_clk_on: sdc2_clk_on {
1090                                 config {
1091                                         pins = "sdc2_clk";
1092                                         bias-disable;
1093                                         drive-strength = <16>;
1094                                 };
1095                         };
1096
1097                         sdc2_clk_off: sdc2_clk_off {
1098                                 config {
1099                                         pins = "sdc2_clk";
1100                                         bias-disable;
1101                                         drive-strength = <2>;
1102                                 };
1103                         };
1104
1105                         sdc2_cmd_on: sdc2_cmd_on {
1106                                 config {
1107                                         pins = "sdc2_cmd";
1108                                         bias-pull-up;
1109                                         drive-strength = <10>;
1110                                 };
1111                         };
1112
1113                         sdc2_cmd_off: sdc2_cmd_off {
1114                                 config {
1115                                         pins = "sdc2_cmd";
1116                                         bias-pull-up;
1117                                         drive-strength = <2>;
1118                                 };
1119                         };
1120
1121                         sdc2_data_on: sdc2_data_on {
1122                                 config {
1123                                         pins = "sdc2_data";
1124                                         bias-pull-up;
1125                                         drive-strength = <10>;
1126                                 };
1127                         };
1128
1129                         sdc2_data_off: sdc2_data_off {
1130                                 config {
1131                                         pins = "sdc2_data";
1132                                         bias-pull-up;
1133                                         drive-strength = <2>;
1134                                 };
1135                         };
1136
1137                         sdc2_cd_on: sdc2_cd_on {
1138                                 mux {
1139                                         pins = "gpio95";
1140                                         function = "gpio";
1141                                 };
1142
1143                                 config {
1144                                         pins = "gpio95";
1145                                         bias-pull-up;
1146                                         drive-strength = <2>;
1147                                 };
1148                         };
1149
1150                         sdc2_cd_off: sdc2_cd_off {
1151                                 mux {
1152                                         pins = "gpio95";
1153                                         function = "gpio";
1154                                 };
1155
1156                                 config {
1157                                         pins = "gpio95";
1158                                         bias-pull-up;
1159                                         drive-strength = <2>;
1160                                 };
1161                         };
1162
1163                         blsp1_uart3_on: blsp1_uart3_on {
1164                                 tx {
1165                                         pins = "gpio45";
1166                                         function = "blsp_uart3_a";
1167                                         drive-strength = <2>;
1168                                         bias-disable;
1169                                 };
1170
1171                                 rx {
1172                                         pins = "gpio46";
1173                                         function = "blsp_uart3_a";
1174                                         drive-strength = <2>;
1175                                         bias-disable;
1176                                 };
1177
1178                                 cts {
1179                                         pins = "gpio47";
1180                                         function = "blsp_uart3_a";
1181                                         drive-strength = <2>;
1182                                         bias-disable;
1183                                 };
1184
1185                                 rfr {
1186                                         pins = "gpio48";
1187                                         function = "blsp_uart3_a";
1188                                         drive-strength = <2>;
1189                                         bias-disable;
1190                                 };
1191                         };
1192
1193                         blsp1_i2c1_default: blsp1-i2c1-default {
1194                                 pins = "gpio2", "gpio3";
1195                                 function = "blsp_i2c1";
1196                                 drive-strength = <2>;
1197                                 bias-disable;
1198                         };
1199
1200                         blsp1_i2c1_sleep: blsp1-i2c1-sleep {
1201                                 pins = "gpio2", "gpio3";
1202                                 function = "blsp_i2c1";
1203                                 drive-strength = <2>;
1204                                 bias-pull-up;
1205                         };
1206
1207                         blsp1_i2c2_default: blsp1-i2c2-default {
1208                                 pins = "gpio32", "gpio33";
1209                                 function = "blsp_i2c2";
1210                                 drive-strength = <2>;
1211                                 bias-disable;
1212                         };
1213
1214                         blsp1_i2c2_sleep: blsp1-i2c2-sleep {
1215                                 pins = "gpio32", "gpio33";
1216                                 function = "blsp_i2c2";
1217                                 drive-strength = <2>;
1218                                 bias-pull-up;
1219                         };
1220
1221                         blsp1_i2c3_default: blsp1-i2c3-default {
1222                                 pins = "gpio47", "gpio48";
1223                                 function = "blsp_i2c3";
1224                                 drive-strength = <2>;
1225                                 bias-disable;
1226                         };
1227
1228                         blsp1_i2c3_sleep: blsp1-i2c3-sleep {
1229                                 pins = "gpio47", "gpio48";
1230                                 function = "blsp_i2c3";
1231                                 drive-strength = <2>;
1232                                 bias-pull-up;
1233                         };
1234
1235                         blsp1_i2c4_default: blsp1-i2c4-default {
1236                                 pins = "gpio10", "gpio11";
1237                                 function = "blsp_i2c4";
1238                                 drive-strength = <2>;
1239                                 bias-disable;
1240                         };
1241
1242                         blsp1_i2c4_sleep: blsp1-i2c4-sleep {
1243                                 pins = "gpio10", "gpio11";
1244                                 function = "blsp_i2c4";
1245                                 drive-strength = <2>;
1246                                 bias-pull-up;
1247                         };
1248
1249                         blsp1_i2c5_default: blsp1-i2c5-default {
1250                                 pins = "gpio87", "gpio88";
1251                                 function = "blsp_i2c5";
1252                                 drive-strength = <2>;
1253                                 bias-disable;
1254                         };
1255
1256                         blsp1_i2c5_sleep: blsp1-i2c5-sleep {
1257                                 pins = "gpio87", "gpio88";
1258                                 function = "blsp_i2c5";
1259                                 drive-strength = <2>;
1260                                 bias-pull-up;
1261                         };
1262
1263                         blsp1_i2c6_default: blsp1-i2c6-default {
1264                                 pins = "gpio43", "gpio44";
1265                                 function = "blsp_i2c6";
1266                                 drive-strength = <2>;
1267                                 bias-disable;
1268                         };
1269
1270                         blsp1_i2c6_sleep: blsp1-i2c6-sleep {
1271                                 pins = "gpio43", "gpio44";
1272                                 function = "blsp_i2c6";
1273                                 drive-strength = <2>;
1274                                 bias-pull-up;
1275                         };
1276                         /* 6 interfaces per QUP, BLSP2 indexes are numbered (n)+6 */
1277                         blsp2_i2c1_default: blsp2-i2c1-default {
1278                                 pins = "gpio55", "gpio56";
1279                                 function = "blsp_i2c7";
1280                                 drive-strength = <2>;
1281                                 bias-disable;
1282                         };
1283
1284                         blsp2_i2c1_sleep: blsp2-i2c1-sleep {
1285                                 pins = "gpio55", "gpio56";
1286                                 function = "blsp_i2c7";
1287                                 drive-strength = <2>;
1288                                 bias-pull-up;
1289                         };
1290
1291                         blsp2_i2c2_default: blsp2-i2c2-default {
1292                                 pins = "gpio6", "gpio7";
1293                                 function = "blsp_i2c8";
1294                                 drive-strength = <2>;
1295                                 bias-disable;
1296                         };
1297
1298                         blsp2_i2c2_sleep: blsp2-i2c2-sleep {
1299                                 pins = "gpio6", "gpio7";
1300                                 function = "blsp_i2c8";
1301                                 drive-strength = <2>;
1302                                 bias-pull-up;
1303                         };
1304
1305                         blsp2_i2c3_default: blsp2-i2c3-default {
1306                                 pins = "gpio51", "gpio52";
1307                                 function = "blsp_i2c9";
1308                                 drive-strength = <2>;
1309                                 bias-disable;
1310                         };
1311
1312                         blsp2_i2c3_sleep: blsp2-i2c3-sleep {
1313                                 pins = "gpio51", "gpio52";
1314                                 function = "blsp_i2c9";
1315                                 drive-strength = <2>;
1316                                 bias-pull-up;
1317                         };
1318
1319                         blsp2_i2c4_default: blsp2-i2c4-default {
1320                                 pins = "gpio67", "gpio68";
1321                                 function = "blsp_i2c10";
1322                                 drive-strength = <2>;
1323                                 bias-disable;
1324                         };
1325
1326                         blsp2_i2c4_sleep: blsp2-i2c4-sleep {
1327                                 pins = "gpio67", "gpio68";
1328                                 function = "blsp_i2c10";
1329                                 drive-strength = <2>;
1330                                 bias-pull-up;
1331                         };
1332
1333                         blsp2_i2c5_default: blsp2-i2c5-default {
1334                                 pins = "gpio60", "gpio61";
1335                                 function = "blsp_i2c11";
1336                                 drive-strength = <2>;
1337                                 bias-disable;
1338                         };
1339
1340                         blsp2_i2c5_sleep: blsp2-i2c5-sleep {
1341                                 pins = "gpio60", "gpio61";
1342                                 function = "blsp_i2c11";
1343                                 drive-strength = <2>;
1344                                 bias-pull-up;
1345                         };
1346
1347                         blsp2_i2c6_default: blsp2-i2c6-default {
1348                                 pins = "gpio83", "gpio84";
1349                                 function = "blsp_i2c12";
1350                                 drive-strength = <2>;
1351                                 bias-disable;
1352                         };
1353
1354                         blsp2_i2c6_sleep: blsp2-i2c6-sleep {
1355                                 pins = "gpio83", "gpio84";
1356                                 function = "blsp_i2c12";
1357                                 drive-strength = <2>;
1358                                 bias-pull-up;
1359                         };
1360                 };
1361
1362                 remoteproc_mss: remoteproc@4080000 {
1363                         compatible = "qcom,msm8998-mss-pil";
1364                         reg = <0x04080000 0x100>, <0x04180000 0x20>;
1365                         reg-names = "qdsp6", "rmb";
1366
1367                         interrupts-extended =
1368                                 <&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
1369                                 <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1370                                 <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1371                                 <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1372                                 <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
1373                                 <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
1374                         interrupt-names = "wdog", "fatal", "ready",
1375                                           "handover", "stop-ack",
1376                                           "shutdown-ack";
1377
1378                         clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
1379                                  <&gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
1380                                  <&gcc GCC_BOOT_ROM_AHB_CLK>,
1381                                  <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
1382                                  <&gcc GCC_MSS_SNOC_AXI_CLK>,
1383                                  <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
1384                                  <&rpmcc RPM_SMD_QDSS_CLK>,
1385                                  <&rpmcc RPM_SMD_XO_CLK_SRC>;
1386                         clock-names = "iface", "bus", "mem", "gpll0_mss",
1387                                       "snoc_axi", "mnoc_axi", "qdss", "xo";
1388
1389                         qcom,smem-states = <&modem_smp2p_out 0>;
1390                         qcom,smem-state-names = "stop";
1391
1392                         resets = <&gcc GCC_MSS_RESTART>;
1393                         reset-names = "mss_restart";
1394
1395                         qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
1396
1397                         power-domains = <&rpmpd MSM8998_VDDCX>,
1398                                         <&rpmpd MSM8998_VDDMX>;
1399                         power-domain-names = "cx", "mx";
1400
1401                         status = "disabled";
1402
1403                         mba {
1404                                 memory-region = <&mba_mem>;
1405                         };
1406
1407                         mpss {
1408                                 memory-region = <&mpss_mem>;
1409                         };
1410
1411                         glink-edge {
1412                                 interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
1413                                 label = "modem";
1414                                 qcom,remote-pid = <1>;
1415                                 mboxes = <&apcs_glb 15>;
1416                         };
1417                 };
1418
1419                 gpucc: clock-controller@5065000 {
1420                         compatible = "qcom,msm8998-gpucc";
1421                         #clock-cells = <1>;
1422                         #reset-cells = <1>;
1423                         #power-domain-cells = <1>;
1424                         reg = <0x05065000 0x9000>;
1425
1426                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1427                                  <&gcc GPLL0_OUT_MAIN>;
1428                         clock-names = "xo",
1429                                       "gpll0";
1430                 };
1431
1432                 remoteproc_slpi: remoteproc@5800000 {
1433                         compatible = "qcom,msm8998-slpi-pas";
1434                         reg = <0x05800000 0x4040>;
1435
1436                         interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
1437                                               <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1438                                               <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1439                                               <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1440                                               <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1441                         interrupt-names = "wdog", "fatal", "ready",
1442                                           "handover", "stop-ack";
1443
1444                         px-supply = <&vreg_lvs2a_1p8>;
1445
1446                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1447                                  <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
1448                         clock-names = "xo", "aggre2";
1449
1450                         memory-region = <&slpi_mem>;
1451
1452                         qcom,smem-states = <&slpi_smp2p_out 0>;
1453                         qcom,smem-state-names = "stop";
1454
1455                         power-domains = <&rpmpd MSM8998_SSCCX>;
1456                         power-domain-names = "ssc_cx";
1457
1458                         status = "disabled";
1459
1460                         glink-edge {
1461                                 interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
1462                                 label = "dsps";
1463                                 qcom,remote-pid = <3>;
1464                                 mboxes = <&apcs_glb 27>;
1465                         };
1466                 };
1467
1468                 stm: stm@6002000 {
1469                         compatible = "arm,coresight-stm", "arm,primecell";
1470                         reg = <0x06002000 0x1000>,
1471                               <0x16280000 0x180000>;
1472                         reg-names = "stm-base", "stm-data-base";
1473                         status = "disabled";
1474
1475                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1476                         clock-names = "apb_pclk", "atclk";
1477
1478                         out-ports {
1479                                 port {
1480                                         stm_out: endpoint {
1481                                                 remote-endpoint = <&funnel0_in7>;
1482                                         };
1483                                 };
1484                         };
1485                 };
1486
1487                 funnel1: funnel@6041000 {
1488                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1489                         reg = <0x06041000 0x1000>;
1490                         status = "disabled";
1491
1492                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1493                         clock-names = "apb_pclk", "atclk";
1494
1495                         out-ports {
1496                                 port {
1497                                         funnel0_out: endpoint {
1498                                                 remote-endpoint =
1499                                                   <&merge_funnel_in0>;
1500                                         };
1501                                 };
1502                         };
1503
1504                         in-ports {
1505                                 #address-cells = <1>;
1506                                 #size-cells = <0>;
1507
1508                                 port@7 {
1509                                         reg = <7>;
1510                                         funnel0_in7: endpoint {
1511                                                 remote-endpoint = <&stm_out>;
1512                                         };
1513                                 };
1514                         };
1515                 };
1516
1517                 funnel2: funnel@6042000 {
1518                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1519                         reg = <0x06042000 0x1000>;
1520                         status = "disabled";
1521
1522                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1523                         clock-names = "apb_pclk", "atclk";
1524
1525                         out-ports {
1526                                 port {
1527                                         funnel1_out: endpoint {
1528                                                 remote-endpoint =
1529                                                   <&merge_funnel_in1>;
1530                                         };
1531                                 };
1532                         };
1533
1534                         in-ports {
1535                                 #address-cells = <1>;
1536                                 #size-cells = <0>;
1537
1538                                 port@6 {
1539                                         reg = <6>;
1540                                         funnel1_in6: endpoint {
1541                                                 remote-endpoint =
1542                                                   <&apss_merge_funnel_out>;
1543                                         };
1544                                 };
1545                         };
1546                 };
1547
1548                 funnel3: funnel@6045000 {
1549                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1550                         reg = <0x06045000 0x1000>;
1551                         status = "disabled";
1552
1553                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1554                         clock-names = "apb_pclk", "atclk";
1555
1556                         out-ports {
1557                                 port {
1558                                         merge_funnel_out: endpoint {
1559                                                 remote-endpoint =
1560                                                   <&etf_in>;
1561                                         };
1562                                 };
1563                         };
1564
1565                         in-ports {
1566                                 #address-cells = <1>;
1567                                 #size-cells = <0>;
1568
1569                                 port@0 {
1570                                         reg = <0>;
1571                                         merge_funnel_in0: endpoint {
1572                                                 remote-endpoint =
1573                                                   <&funnel0_out>;
1574                                         };
1575                                 };
1576
1577                                 port@1 {
1578                                         reg = <1>;
1579                                         merge_funnel_in1: endpoint {
1580                                                 remote-endpoint =
1581                                                   <&funnel1_out>;
1582                                         };
1583                                 };
1584                         };
1585                 };
1586
1587                 replicator1: replicator@6046000 {
1588                         compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
1589                         reg = <0x06046000 0x1000>;
1590                         status = "disabled";
1591
1592                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1593                         clock-names = "apb_pclk", "atclk";
1594
1595                         out-ports {
1596                                 port {
1597                                         replicator_out: endpoint {
1598                                                 remote-endpoint = <&etr_in>;
1599                                         };
1600                                 };
1601                         };
1602
1603                         in-ports {
1604                                 port {
1605                                         replicator_in: endpoint {
1606                                                 remote-endpoint = <&etf_out>;
1607                                         };
1608                                 };
1609                         };
1610                 };
1611
1612                 etf: etf@6047000 {
1613                         compatible = "arm,coresight-tmc", "arm,primecell";
1614                         reg = <0x06047000 0x1000>;
1615                         status = "disabled";
1616
1617                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1618                         clock-names = "apb_pclk", "atclk";
1619
1620                         out-ports {
1621                                 port {
1622                                         etf_out: endpoint {
1623                                                 remote-endpoint =
1624                                                   <&replicator_in>;
1625                                         };
1626                                 };
1627                         };
1628
1629                         in-ports {
1630                                 port {
1631                                         etf_in: endpoint {
1632                                                 remote-endpoint =
1633                                                   <&merge_funnel_out>;
1634                                         };
1635                                 };
1636                         };
1637                 };
1638
1639                 etr: etr@6048000 {
1640                         compatible = "arm,coresight-tmc", "arm,primecell";
1641                         reg = <0x06048000 0x1000>;
1642                         status = "disabled";
1643
1644                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1645                         clock-names = "apb_pclk", "atclk";
1646                         arm,scatter-gather;
1647
1648                         in-ports {
1649                                 port {
1650                                         etr_in: endpoint {
1651                                                 remote-endpoint =
1652                                                   <&replicator_out>;
1653                                         };
1654                                 };
1655                         };
1656                 };
1657
1658                 etm1: etm@7840000 {
1659                         compatible = "arm,coresight-etm4x", "arm,primecell";
1660                         reg = <0x07840000 0x1000>;
1661                         status = "disabled";
1662
1663                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1664                         clock-names = "apb_pclk", "atclk";
1665
1666                         cpu = <&CPU0>;
1667
1668                         out-ports {
1669                                 port {
1670                                         etm0_out: endpoint {
1671                                                 remote-endpoint =
1672                                                   <&apss_funnel_in0>;
1673                                         };
1674                                 };
1675                         };
1676                 };
1677
1678                 etm2: etm@7940000 {
1679                         compatible = "arm,coresight-etm4x", "arm,primecell";
1680                         reg = <0x07940000 0x1000>;
1681                         status = "disabled";
1682
1683                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1684                         clock-names = "apb_pclk", "atclk";
1685
1686                         cpu = <&CPU1>;
1687
1688                         out-ports {
1689                                 port {
1690                                         etm1_out: endpoint {
1691                                                 remote-endpoint =
1692                                                   <&apss_funnel_in1>;
1693                                         };
1694                                 };
1695                         };
1696                 };
1697
1698                 etm3: etm@7a40000 {
1699                         compatible = "arm,coresight-etm4x", "arm,primecell";
1700                         reg = <0x07a40000 0x1000>;
1701                         status = "disabled";
1702
1703                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1704                         clock-names = "apb_pclk", "atclk";
1705
1706                         cpu = <&CPU2>;
1707
1708                         out-ports {
1709                                 port {
1710                                         etm2_out: endpoint {
1711                                                 remote-endpoint =
1712                                                   <&apss_funnel_in2>;
1713                                         };
1714                                 };
1715                         };
1716                 };
1717
1718                 etm4: etm@7b40000 {
1719                         compatible = "arm,coresight-etm4x", "arm,primecell";
1720                         reg = <0x07b40000 0x1000>;
1721                         status = "disabled";
1722
1723                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1724                         clock-names = "apb_pclk", "atclk";
1725
1726                         cpu = <&CPU3>;
1727
1728                         out-ports {
1729                                 port {
1730                                         etm3_out: endpoint {
1731                                                 remote-endpoint =
1732                                                   <&apss_funnel_in3>;
1733                                         };
1734                                 };
1735                         };
1736                 };
1737
1738                 funnel4: funnel@7b60000 { /* APSS Funnel */
1739                         compatible = "arm,coresight-etm4x", "arm,primecell";
1740                         reg = <0x07b60000 0x1000>;
1741                         status = "disabled";
1742
1743                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1744                         clock-names = "apb_pclk", "atclk";
1745
1746                         out-ports {
1747                                 port {
1748                                         apss_funnel_out: endpoint {
1749                                                 remote-endpoint =
1750                                                   <&apss_merge_funnel_in>;
1751                                         };
1752                                 };
1753                         };
1754
1755                         in-ports {
1756                                 #address-cells = <1>;
1757                                 #size-cells = <0>;
1758
1759                                 port@0 {
1760                                         reg = <0>;
1761                                         apss_funnel_in0: endpoint {
1762                                                 remote-endpoint =
1763                                                   <&etm0_out>;
1764                                         };
1765                                 };
1766
1767                                 port@1 {
1768                                         reg = <1>;
1769                                         apss_funnel_in1: endpoint {
1770                                                 remote-endpoint =
1771                                                   <&etm1_out>;
1772                                         };
1773                                 };
1774
1775                                 port@2 {
1776                                         reg = <2>;
1777                                         apss_funnel_in2: endpoint {
1778                                                 remote-endpoint =
1779                                                   <&etm2_out>;
1780                                         };
1781                                 };
1782
1783                                 port@3 {
1784                                         reg = <3>;
1785                                         apss_funnel_in3: endpoint {
1786                                                 remote-endpoint =
1787                                                   <&etm3_out>;
1788                                         };
1789                                 };
1790
1791                                 port@4 {
1792                                         reg = <4>;
1793                                         apss_funnel_in4: endpoint {
1794                                                 remote-endpoint =
1795                                                   <&etm4_out>;
1796                                         };
1797                                 };
1798
1799                                 port@5 {
1800                                         reg = <5>;
1801                                         apss_funnel_in5: endpoint {
1802                                                 remote-endpoint =
1803                                                   <&etm5_out>;
1804                                         };
1805                                 };
1806
1807                                 port@6 {
1808                                         reg = <6>;
1809                                         apss_funnel_in6: endpoint {
1810                                                 remote-endpoint =
1811                                                   <&etm6_out>;
1812                                         };
1813                                 };
1814
1815                                 port@7 {
1816                                         reg = <7>;
1817                                         apss_funnel_in7: endpoint {
1818                                                 remote-endpoint =
1819                                                   <&etm7_out>;
1820                                         };
1821                                 };
1822                         };
1823                 };
1824
1825                 funnel5: funnel@7b70000 {
1826                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1827                         reg = <0x07b70000 0x1000>;
1828                         status = "disabled";
1829
1830                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1831                         clock-names = "apb_pclk", "atclk";
1832
1833                         out-ports {
1834                                 port {
1835                                         apss_merge_funnel_out: endpoint {
1836                                                 remote-endpoint =
1837                                                   <&funnel1_in6>;
1838                                         };
1839                                 };
1840                         };
1841
1842                         in-ports {
1843                                 port {
1844                                         apss_merge_funnel_in: endpoint {
1845                                                 remote-endpoint =
1846                                                   <&apss_funnel_out>;
1847                                         };
1848                                 };
1849                         };
1850                 };
1851
1852                 etm5: etm@7c40000 {
1853                         compatible = "arm,coresight-etm4x", "arm,primecell";
1854                         reg = <0x07c40000 0x1000>;
1855                         status = "disabled";
1856
1857                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1858                         clock-names = "apb_pclk", "atclk";
1859
1860                         cpu = <&CPU4>;
1861
1862                         port{
1863                                 etm4_out: endpoint {
1864                                         remote-endpoint = <&apss_funnel_in4>;
1865                                 };
1866                         };
1867                 };
1868
1869                 etm6: etm@7d40000 {
1870                         compatible = "arm,coresight-etm4x", "arm,primecell";
1871                         reg = <0x07d40000 0x1000>;
1872                         status = "disabled";
1873
1874                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1875                         clock-names = "apb_pclk", "atclk";
1876
1877                         cpu = <&CPU5>;
1878
1879                         port{
1880                                 etm5_out: endpoint {
1881                                         remote-endpoint = <&apss_funnel_in5>;
1882                                 };
1883                         };
1884                 };
1885
1886                 etm7: etm@7e40000 {
1887                         compatible = "arm,coresight-etm4x", "arm,primecell";
1888                         reg = <0x07e40000 0x1000>;
1889                         status = "disabled";
1890
1891                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1892                         clock-names = "apb_pclk", "atclk";
1893
1894                         cpu = <&CPU6>;
1895
1896                         port{
1897                                 etm6_out: endpoint {
1898                                         remote-endpoint = <&apss_funnel_in6>;
1899                                 };
1900                         };
1901                 };
1902
1903                 etm8: etm@7f40000 {
1904                         compatible = "arm,coresight-etm4x", "arm,primecell";
1905                         reg = <0x07f40000 0x1000>;
1906                         status = "disabled";
1907
1908                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1909                         clock-names = "apb_pclk", "atclk";
1910
1911                         cpu = <&CPU7>;
1912
1913                         port{
1914                                 etm7_out: endpoint {
1915                                         remote-endpoint = <&apss_funnel_in7>;
1916                                 };
1917                         };
1918                 };
1919
1920                 spmi_bus: spmi@800f000 {
1921                         compatible = "qcom,spmi-pmic-arb";
1922                         reg =   <0x0800f000 0x1000>,
1923                                 <0x08400000 0x1000000>,
1924                                 <0x09400000 0x1000000>,
1925                                 <0x0a400000 0x220000>,
1926                                 <0x0800a000 0x3000>;
1927                         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1928                         interrupt-names = "periph_irq";
1929                         interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
1930                         qcom,ee = <0>;
1931                         qcom,channel = <0>;
1932                         #address-cells = <2>;
1933                         #size-cells = <0>;
1934                         interrupt-controller;
1935                         #interrupt-cells = <4>;
1936                         cell-index = <0>;
1937                 };
1938
1939                 usb3: usb@a8f8800 {
1940                         compatible = "qcom,msm8998-dwc3", "qcom,dwc3";
1941                         reg = <0x0a8f8800 0x400>;
1942                         status = "disabled";
1943                         #address-cells = <1>;
1944                         #size-cells = <1>;
1945                         ranges;
1946
1947                         clocks = <&gcc GCC_CFG_NOC_USB3_AXI_CLK>,
1948                                  <&gcc GCC_USB30_MASTER_CLK>,
1949                                  <&gcc GCC_AGGRE1_USB3_AXI_CLK>,
1950                                  <&gcc GCC_USB30_MOCK_UTMI_CLK>,
1951                                  <&gcc GCC_USB30_SLEEP_CLK>;
1952                         clock-names = "cfg_noc", "core", "iface", "mock_utmi",
1953                                       "sleep";
1954
1955                         assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
1956                                           <&gcc GCC_USB30_MASTER_CLK>;
1957                         assigned-clock-rates = <19200000>, <120000000>;
1958
1959                         interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
1960                                      <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
1961                         interrupt-names = "hs_phy_irq", "ss_phy_irq";
1962
1963                         power-domains = <&gcc USB_30_GDSC>;
1964
1965                         resets = <&gcc GCC_USB_30_BCR>;
1966
1967                         usb3_dwc3: dwc3@a800000 {
1968                                 compatible = "snps,dwc3";
1969                                 reg = <0x0a800000 0xcd00>;
1970                                 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
1971                                 snps,dis_u2_susphy_quirk;
1972                                 snps,dis_enblslpm_quirk;
1973                                 phys = <&qusb2phy>, <&usb1_ssphy>;
1974                                 phy-names = "usb2-phy", "usb3-phy";
1975                                 snps,has-lpm-erratum;
1976                                 snps,hird-threshold = /bits/ 8 <0x10>;
1977                         };
1978                 };
1979
1980                 usb3phy: phy@c010000 {
1981                         compatible = "qcom,msm8998-qmp-usb3-phy";
1982                         reg = <0x0c010000 0x18c>;
1983                         status = "disabled";
1984                         #clock-cells = <1>;
1985                         #address-cells = <1>;
1986                         #size-cells = <1>;
1987                         ranges;
1988
1989                         clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
1990                                  <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
1991                                  <&gcc GCC_USB3_CLKREF_CLK>;
1992                         clock-names = "aux", "cfg_ahb", "ref";
1993
1994                         resets = <&gcc GCC_USB3_PHY_BCR>,
1995                                  <&gcc GCC_USB3PHY_PHY_BCR>;
1996                         reset-names = "phy", "common";
1997
1998                         usb1_ssphy: lane@c010200 {
1999                                 reg = <0xc010200 0x128>,
2000                                       <0xc010400 0x200>,
2001                                       <0xc010c00 0x20c>,
2002                                       <0xc010600 0x128>,
2003                                       <0xc010800 0x200>;
2004                                 #phy-cells = <0>;
2005                                 clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
2006                                 clock-names = "pipe0";
2007                                 clock-output-names = "usb3_phy_pipe_clk_src";
2008                         };
2009                 };
2010
2011                 qusb2phy: phy@c012000 {
2012                         compatible = "qcom,msm8998-qusb2-phy";
2013                         reg = <0x0c012000 0x2a8>;
2014                         status = "disabled";
2015                         #phy-cells = <0>;
2016
2017                         clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
2018                                  <&gcc GCC_RX1_USB2_CLKREF_CLK>;
2019                         clock-names = "cfg_ahb", "ref";
2020
2021                         resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
2022
2023                         nvmem-cells = <&qusb2_hstx_trim>;
2024                 };
2025
2026                 sdhc2: sdhci@c0a4900 {
2027                         compatible = "qcom,sdhci-msm-v4";
2028                         reg = <0x0c0a4900 0x314>, <0x0c0a4000 0x800>;
2029                         reg-names = "hc_mem", "core_mem";
2030
2031                         interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
2032                                      <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
2033                         interrupt-names = "hc_irq", "pwr_irq";
2034
2035                         clock-names = "iface", "core", "xo";
2036                         clocks = <&gcc GCC_SDCC2_AHB_CLK>,
2037                                  <&gcc GCC_SDCC2_APPS_CLK>,
2038                                  <&xo>;
2039                         bus-width = <4>;
2040                         status = "disabled";
2041                 };
2042
2043                 blsp1_dma: dma-controller@c144000 {
2044                         compatible = "qcom,bam-v1.7.0";
2045                         reg = <0x0c144000 0x25000>;
2046                         interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
2047                         clocks = <&gcc GCC_BLSP1_AHB_CLK>;
2048                         clock-names = "bam_clk";
2049                         #dma-cells = <1>;
2050                         qcom,ee = <0>;
2051                         qcom,controlled-remotely;
2052                         num-channels = <18>;
2053                         qcom,num-ees = <4>;
2054                 };
2055
2056                 blsp1_uart3: serial@c171000 {
2057                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2058                         reg = <0x0c171000 0x1000>;
2059                         interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
2060                         clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
2061                                  <&gcc GCC_BLSP1_AHB_CLK>;
2062                         clock-names = "core", "iface";
2063                         dmas = <&blsp1_dma 4>, <&blsp1_dma 5>;
2064                         dma-names = "tx", "rx";
2065                         pinctrl-names = "default";
2066                         pinctrl-0 = <&blsp1_uart3_on>;
2067                         status = "disabled";
2068                 };
2069
2070                 blsp1_i2c1: i2c@c175000 {
2071                         compatible = "qcom,i2c-qup-v2.2.1";
2072                         reg = <0x0c175000 0x600>;
2073                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
2074
2075                         clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
2076                                  <&gcc GCC_BLSP1_AHB_CLK>;
2077                         clock-names = "core", "iface";
2078                         dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
2079                         dma-names = "tx", "rx";
2080                         pinctrl-names = "default", "sleep";
2081                         pinctrl-0 = <&blsp1_i2c1_default>;
2082                         pinctrl-1 = <&blsp1_i2c1_sleep>;
2083                         clock-frequency = <400000>;
2084
2085                         status = "disabled";
2086                         #address-cells = <1>;
2087                         #size-cells = <0>;
2088                 };
2089
2090                 blsp1_i2c2: i2c@c176000 {
2091                         compatible = "qcom,i2c-qup-v2.2.1";
2092                         reg = <0x0c176000 0x600>;
2093                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2094
2095                         clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
2096                                  <&gcc GCC_BLSP1_AHB_CLK>;
2097                         clock-names = "core", "iface";
2098                         dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
2099                         dma-names = "tx", "rx";
2100                         pinctrl-names = "default", "sleep";
2101                         pinctrl-0 = <&blsp1_i2c2_default>;
2102                         pinctrl-1 = <&blsp1_i2c2_sleep>;
2103                         clock-frequency = <400000>;
2104
2105                         status = "disabled";
2106                         #address-cells = <1>;
2107                         #size-cells = <0>;
2108                 };
2109
2110                 blsp1_i2c3: i2c@c177000 {
2111                         compatible = "qcom,i2c-qup-v2.2.1";
2112                         reg = <0x0c177000 0x600>;
2113                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
2114
2115                         clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
2116                                  <&gcc GCC_BLSP1_AHB_CLK>;
2117                         clock-names = "core", "iface";
2118                         dmas = <&blsp1_dma 10>, <&blsp1_dma 11>;
2119                         dma-names = "tx", "rx";
2120                         pinctrl-names = "default", "sleep";
2121                         pinctrl-0 = <&blsp1_i2c3_default>;
2122                         pinctrl-1 = <&blsp1_i2c3_sleep>;
2123                         clock-frequency = <400000>;
2124
2125                         status = "disabled";
2126                         #address-cells = <1>;
2127                         #size-cells = <0>;
2128                 };
2129
2130                 blsp1_i2c4: i2c@c178000 {
2131                         compatible = "qcom,i2c-qup-v2.2.1";
2132                         reg = <0x0c178000 0x600>;
2133                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
2134
2135                         clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
2136                                  <&gcc GCC_BLSP1_AHB_CLK>;
2137                         clock-names = "core", "iface";
2138                         dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
2139                         dma-names = "tx", "rx";
2140                         pinctrl-names = "default", "sleep";
2141                         pinctrl-0 = <&blsp1_i2c4_default>;
2142                         pinctrl-1 = <&blsp1_i2c4_sleep>;
2143                         clock-frequency = <400000>;
2144
2145                         status = "disabled";
2146                         #address-cells = <1>;
2147                         #size-cells = <0>;
2148                 };
2149
2150                 blsp1_i2c5: i2c@c179000 {
2151                         compatible = "qcom,i2c-qup-v2.2.1";
2152                         reg = <0x0c179000 0x600>;
2153                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
2154
2155                         clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
2156                                  <&gcc GCC_BLSP1_AHB_CLK>;
2157                         clock-names = "core", "iface";
2158                         dmas = <&blsp1_dma 14>, <&blsp1_dma 15>;
2159                         dma-names = "tx", "rx";
2160                         pinctrl-names = "default", "sleep";
2161                         pinctrl-0 = <&blsp1_i2c5_default>;
2162                         pinctrl-1 = <&blsp1_i2c5_sleep>;
2163                         clock-frequency = <400000>;
2164
2165                         status = "disabled";
2166                         #address-cells = <1>;
2167                         #size-cells = <0>;
2168                 };
2169
2170                 blsp1_i2c6: i2c@c17a000 {
2171                         compatible = "qcom,i2c-qup-v2.2.1";
2172                         reg = <0x0c17a000 0x600>;
2173                         interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
2174
2175                         clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
2176                                  <&gcc GCC_BLSP1_AHB_CLK>;
2177                         clock-names = "core", "iface";
2178                         dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
2179                         dma-names = "tx", "rx";
2180                         pinctrl-names = "default", "sleep";
2181                         pinctrl-0 = <&blsp1_i2c6_default>;
2182                         pinctrl-1 = <&blsp1_i2c6_sleep>;
2183                         clock-frequency = <400000>;
2184
2185                         status = "disabled";
2186                         #address-cells = <1>;
2187                         #size-cells = <0>;
2188                 };
2189
2190                 blsp2_dma: dma@c184000 {
2191                         compatible = "qcom,bam-v1.7.0";
2192                         reg = <0x0c184000 0x25000>;
2193                         interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
2194                         clocks = <&gcc GCC_BLSP2_AHB_CLK>;
2195                         clock-names = "bam_clk";
2196                         #dma-cells = <1>;
2197                         qcom,ee = <0>;
2198                         qcom,controlled-remotely;
2199                         num-channels = <18>;
2200                         qcom,num-ees = <4>;
2201                 };
2202
2203                 blsp2_uart1: serial@c1b0000 {
2204                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2205                         reg = <0x0c1b0000 0x1000>;
2206                         interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
2207                         clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
2208                                  <&gcc GCC_BLSP2_AHB_CLK>;
2209                         clock-names = "core", "iface";
2210                         status = "disabled";
2211                 };
2212
2213                 blsp2_i2c1: i2c@c1b5000 {
2214                         compatible = "qcom,i2c-qup-v2.2.1";
2215                         reg = <0x0c1b5000 0x600>;
2216                         interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
2217
2218                         clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
2219                                  <&gcc GCC_BLSP2_AHB_CLK>;
2220                         clock-names = "core", "iface";
2221                         dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
2222                         dma-names = "tx", "rx";
2223                         pinctrl-names = "default", "sleep";
2224                         pinctrl-0 = <&blsp2_i2c1_default>;
2225                         pinctrl-1 = <&blsp2_i2c1_sleep>;
2226                         clock-frequency = <400000>;
2227
2228                         status = "disabled";
2229                         #address-cells = <1>;
2230                         #size-cells = <0>;
2231                 };
2232
2233                 blsp2_i2c2: i2c@c1b6000 {
2234                         compatible = "qcom,i2c-qup-v2.2.1";
2235                         reg = <0x0c1b6000 0x600>;
2236                         interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
2237
2238                         clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
2239                                  <&gcc GCC_BLSP2_AHB_CLK>;
2240                         clock-names = "core", "iface";
2241                         dmas = <&blsp2_dma 8>, <&blsp2_dma 9>;
2242                         dma-names = "tx", "rx";
2243                         pinctrl-names = "default", "sleep";
2244                         pinctrl-0 = <&blsp2_i2c2_default>;
2245                         pinctrl-1 = <&blsp2_i2c2_sleep>;
2246                         clock-frequency = <400000>;
2247
2248                         status = "disabled";
2249                         #address-cells = <1>;
2250                         #size-cells = <0>;
2251                 };
2252
2253                 blsp2_i2c3: i2c@c1b7000 {
2254                         compatible = "qcom,i2c-qup-v2.2.1";
2255                         reg = <0x0c1b7000 0x600>;
2256                         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
2257
2258                         clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
2259                                  <&gcc GCC_BLSP2_AHB_CLK>;
2260                         clock-names = "core", "iface";
2261                         dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
2262                         dma-names = "tx", "rx";
2263                         pinctrl-names = "default", "sleep";
2264                         pinctrl-0 = <&blsp2_i2c3_default>;
2265                         pinctrl-1 = <&blsp2_i2c3_sleep>;
2266                         clock-frequency = <400000>;
2267
2268                         status = "disabled";
2269                         #address-cells = <1>;
2270                         #size-cells = <0>;
2271                 };
2272
2273                 blsp2_i2c4: i2c@c1b8000 {
2274                         compatible = "qcom,i2c-qup-v2.2.1";
2275                         reg = <0x0c1b8000 0x600>;
2276                         interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
2277
2278                         clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>,
2279                                  <&gcc GCC_BLSP2_AHB_CLK>;
2280                         clock-names = "core", "iface";
2281                         dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
2282                         dma-names = "tx", "rx";
2283                         pinctrl-names = "default", "sleep";
2284                         pinctrl-0 = <&blsp2_i2c4_default>;
2285                         pinctrl-1 = <&blsp2_i2c4_sleep>;
2286                         clock-frequency = <400000>;
2287
2288                         status = "disabled";
2289                         #address-cells = <1>;
2290                         #size-cells = <0>;
2291                 };
2292
2293                 blsp2_i2c5: i2c@c1b9000 {
2294                         compatible = "qcom,i2c-qup-v2.2.1";
2295                         reg = <0x0c1b9000 0x600>;
2296                         interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
2297
2298                         clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
2299                                  <&gcc GCC_BLSP2_AHB_CLK>;
2300                         clock-names = "core", "iface";
2301                         dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
2302                         dma-names = "tx", "rx";
2303                         pinctrl-names = "default", "sleep";
2304                         pinctrl-0 = <&blsp2_i2c5_default>;
2305                         pinctrl-1 = <&blsp2_i2c5_sleep>;
2306                         clock-frequency = <400000>;
2307
2308                         status = "disabled";
2309                         #address-cells = <1>;
2310                         #size-cells = <0>;
2311                 };
2312
2313                 blsp2_i2c6: i2c@c1ba000 {
2314                         compatible = "qcom,i2c-qup-v2.2.1";
2315                         reg = <0x0c1ba000 0x600>;
2316                         interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
2317
2318                         clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>,
2319                                  <&gcc GCC_BLSP2_AHB_CLK>;
2320                         clock-names = "core", "iface";
2321                         dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
2322                         dma-names = "tx", "rx";
2323                         pinctrl-names = "default", "sleep";
2324                         pinctrl-0 = <&blsp2_i2c6_default>;
2325                         pinctrl-1 = <&blsp2_i2c6_sleep>;
2326                         clock-frequency = <400000>;
2327
2328                         status = "disabled";
2329                         #address-cells = <1>;
2330                         #size-cells = <0>;
2331                 };
2332
2333                 remoteproc_adsp: remoteproc@17300000 {
2334                         compatible = "qcom,msm8998-adsp-pas";
2335                         reg = <0x17300000 0x4040>;
2336
2337                         interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
2338                                               <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2339                                               <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2340                                               <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2341                                               <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2342                         interrupt-names = "wdog", "fatal", "ready",
2343                                           "handover", "stop-ack";
2344
2345                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
2346                         clock-names = "xo";
2347
2348                         memory-region = <&adsp_mem>;
2349
2350                         qcom,smem-states = <&adsp_smp2p_out 0>;
2351                         qcom,smem-state-names = "stop";
2352
2353                         power-domains = <&rpmpd MSM8998_VDDCX>;
2354                         power-domain-names = "cx";
2355
2356                         status = "disabled";
2357
2358                         glink-edge {
2359                                 interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
2360                                 label = "lpass";
2361                                 qcom,remote-pid = <2>;
2362                                 mboxes = <&apcs_glb 9>;
2363                         };
2364                 };
2365
2366                 apcs_glb: mailbox@17911000 {
2367                         compatible = "qcom,msm8998-apcs-hmss-global";
2368                         reg = <0x17911000 0x1000>;
2369
2370                         #mbox-cells = <1>;
2371                 };
2372
2373                 timer@17920000 {
2374                         #address-cells = <1>;
2375                         #size-cells = <1>;
2376                         ranges;
2377                         compatible = "arm,armv7-timer-mem";
2378                         reg = <0x17920000 0x1000>;
2379
2380                         frame@17921000 {
2381                                 frame-number = <0>;
2382                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2383                                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
2384                                 reg = <0x17921000 0x1000>,
2385                                       <0x17922000 0x1000>;
2386                         };
2387
2388                         frame@17923000 {
2389                                 frame-number = <1>;
2390                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2391                                 reg = <0x17923000 0x1000>;
2392                                 status = "disabled";
2393                         };
2394
2395                         frame@17924000 {
2396                                 frame-number = <2>;
2397                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2398                                 reg = <0x17924000 0x1000>;
2399                                 status = "disabled";
2400                         };
2401
2402                         frame@17925000 {
2403                                 frame-number = <3>;
2404                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2405                                 reg = <0x17925000 0x1000>;
2406                                 status = "disabled";
2407                         };
2408
2409                         frame@17926000 {
2410                                 frame-number = <4>;
2411                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2412                                 reg = <0x17926000 0x1000>;
2413                                 status = "disabled";
2414                         };
2415
2416                         frame@17927000 {
2417                                 frame-number = <5>;
2418                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2419                                 reg = <0x17927000 0x1000>;
2420                                 status = "disabled";
2421                         };
2422
2423                         frame@17928000 {
2424                                 frame-number = <6>;
2425                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2426                                 reg = <0x17928000 0x1000>;
2427                                 status = "disabled";
2428                         };
2429                 };
2430
2431                 intc: interrupt-controller@17a00000 {
2432                         compatible = "arm,gic-v3";
2433                         reg = <0x17a00000 0x10000>,       /* GICD */
2434                               <0x17b00000 0x100000>;      /* GICR * 8 */
2435                         #interrupt-cells = <3>;
2436                         #address-cells = <1>;
2437                         #size-cells = <1>;
2438                         ranges;
2439                         interrupt-controller;
2440                         #redistributor-regions = <1>;
2441                         redistributor-stride = <0x0 0x20000>;
2442                         interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
2443                 };
2444
2445                 wifi: wifi@18800000 {
2446                         compatible = "qcom,wcn3990-wifi";
2447                         status = "disabled";
2448                         reg = <0x18800000 0x800000>;
2449                         reg-names = "membase";
2450                         memory-region = <&wlan_msa_mem>;
2451                         clocks = <&rpmcc RPM_SMD_RF_CLK2_PIN>;
2452                         clock-names = "cxo_ref_clk_pin";
2453                         interrupts =
2454                                 <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>,
2455                                 <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
2456                                 <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
2457                                 <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
2458                                 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
2459                                 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
2460                                 <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
2461                                 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
2462                                 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
2463                                 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
2464                                 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
2465                                 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
2466                         iommus = <&anoc2_smmu 0x1900>,
2467                                  <&anoc2_smmu 0x1901>;
2468                         qcom,snoc-host-cap-8bit-quirk;
2469                 };
2470         };
2471 };