Linux 6.7-rc7
[linux-modified.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,mmcc-msm8998.h>
8 #include <dt-bindings/clock/qcom,rpmcc.h>
9 #include <dt-bindings/firmware/qcom,scm.h>
10 #include <dt-bindings/power/qcom-rpmpd.h>
11 #include <dt-bindings/gpio/gpio.h>
12
13 / {
14         interrupt-parent = <&intc>;
15
16         qcom,msm-id = <292 0x0>;
17
18         #address-cells = <2>;
19         #size-cells = <2>;
20
21         chosen { };
22
23         memory@80000000 {
24                 device_type = "memory";
25                 /* We expect the bootloader to fill in the reg */
26                 reg = <0x0 0x80000000 0x0 0x0>;
27         };
28
29         reserved-memory {
30                 #address-cells = <2>;
31                 #size-cells = <2>;
32                 ranges;
33
34                 hyp_mem: memory@85800000 {
35                         reg = <0x0 0x85800000 0x0 0x600000>;
36                         no-map;
37                 };
38
39                 xbl_mem: memory@85e00000 {
40                         reg = <0x0 0x85e00000 0x0 0x100000>;
41                         no-map;
42                 };
43
44                 smem_mem: smem-mem@86000000 {
45                         reg = <0x0 0x86000000 0x0 0x200000>;
46                         no-map;
47                 };
48
49                 tz_mem: memory@86200000 {
50                         reg = <0x0 0x86200000 0x0 0x2d00000>;
51                         no-map;
52                 };
53
54                 rmtfs_mem: memory@88f00000 {
55                         compatible = "qcom,rmtfs-mem";
56                         reg = <0x0 0x88f00000 0x0 0x200000>;
57                         no-map;
58
59                         qcom,client-id = <1>;
60                         qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
61                 };
62
63                 spss_mem: memory@8ab00000 {
64                         reg = <0x0 0x8ab00000 0x0 0x700000>;
65                         no-map;
66                 };
67
68                 adsp_mem: memory@8b200000 {
69                         reg = <0x0 0x8b200000 0x0 0x1a00000>;
70                         no-map;
71                 };
72
73                 mpss_mem: memory@8cc00000 {
74                         reg = <0x0 0x8cc00000 0x0 0x7000000>;
75                         no-map;
76                 };
77
78                 venus_mem: memory@93c00000 {
79                         reg = <0x0 0x93c00000 0x0 0x500000>;
80                         no-map;
81                 };
82
83                 mba_mem: memory@94100000 {
84                         reg = <0x0 0x94100000 0x0 0x200000>;
85                         no-map;
86                 };
87
88                 slpi_mem: memory@94300000 {
89                         reg = <0x0 0x94300000 0x0 0xf00000>;
90                         no-map;
91                 };
92
93                 ipa_fw_mem: memory@95200000 {
94                         reg = <0x0 0x95200000 0x0 0x10000>;
95                         no-map;
96                 };
97
98                 ipa_gsi_mem: memory@95210000 {
99                         reg = <0x0 0x95210000 0x0 0x5000>;
100                         no-map;
101                 };
102
103                 gpu_mem: memory@95600000 {
104                         reg = <0x0 0x95600000 0x0 0x100000>;
105                         no-map;
106                 };
107
108                 wlan_msa_mem: memory@95700000 {
109                         reg = <0x0 0x95700000 0x0 0x100000>;
110                         no-map;
111                 };
112
113                 mdata_mem: mpss-metadata {
114                         alloc-ranges = <0x0 0xa0000000 0x0 0x20000000>;
115                         size = <0x0 0x4000>;
116                         no-map;
117                 };
118         };
119
120         clocks {
121                 xo: xo-board {
122                         compatible = "fixed-clock";
123                         #clock-cells = <0>;
124                         clock-frequency = <19200000>;
125                         clock-output-names = "xo_board";
126                 };
127
128                 sleep_clk: sleep-clk {
129                         compatible = "fixed-clock";
130                         #clock-cells = <0>;
131                         clock-frequency = <32764>;
132                 };
133         };
134
135         cpus {
136                 #address-cells = <2>;
137                 #size-cells = <0>;
138
139                 CPU0: cpu@0 {
140                         device_type = "cpu";
141                         compatible = "qcom,kryo280";
142                         reg = <0x0 0x0>;
143                         enable-method = "psci";
144                         capacity-dmips-mhz = <1024>;
145                         cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
146                         next-level-cache = <&L2_0>;
147                         L2_0: l2-cache {
148                                 compatible = "cache";
149                                 cache-level = <2>;
150                                 cache-unified;
151                         };
152                 };
153
154                 CPU1: cpu@1 {
155                         device_type = "cpu";
156                         compatible = "qcom,kryo280";
157                         reg = <0x0 0x1>;
158                         enable-method = "psci";
159                         capacity-dmips-mhz = <1024>;
160                         cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
161                         next-level-cache = <&L2_0>;
162                 };
163
164                 CPU2: cpu@2 {
165                         device_type = "cpu";
166                         compatible = "qcom,kryo280";
167                         reg = <0x0 0x2>;
168                         enable-method = "psci";
169                         capacity-dmips-mhz = <1024>;
170                         cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
171                         next-level-cache = <&L2_0>;
172                 };
173
174                 CPU3: cpu@3 {
175                         device_type = "cpu";
176                         compatible = "qcom,kryo280";
177                         reg = <0x0 0x3>;
178                         enable-method = "psci";
179                         capacity-dmips-mhz = <1024>;
180                         cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
181                         next-level-cache = <&L2_0>;
182                 };
183
184                 CPU4: cpu@100 {
185                         device_type = "cpu";
186                         compatible = "qcom,kryo280";
187                         reg = <0x0 0x100>;
188                         enable-method = "psci";
189                         capacity-dmips-mhz = <1536>;
190                         cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
191                         next-level-cache = <&L2_1>;
192                         L2_1: l2-cache {
193                                 compatible = "cache";
194                                 cache-level = <2>;
195                                 cache-unified;
196                         };
197                 };
198
199                 CPU5: cpu@101 {
200                         device_type = "cpu";
201                         compatible = "qcom,kryo280";
202                         reg = <0x0 0x101>;
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                 };
208
209                 CPU6: cpu@102 {
210                         device_type = "cpu";
211                         compatible = "qcom,kryo280";
212                         reg = <0x0 0x102>;
213                         enable-method = "psci";
214                         capacity-dmips-mhz = <1536>;
215                         cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
216                         next-level-cache = <&L2_1>;
217                 };
218
219                 CPU7: cpu@103 {
220                         device_type = "cpu";
221                         compatible = "qcom,kryo280";
222                         reg = <0x0 0x103>;
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                 };
228
229                 cpu-map {
230                         cluster0 {
231                                 core0 {
232                                         cpu = <&CPU0>;
233                                 };
234
235                                 core1 {
236                                         cpu = <&CPU1>;
237                                 };
238
239                                 core2 {
240                                         cpu = <&CPU2>;
241                                 };
242
243                                 core3 {
244                                         cpu = <&CPU3>;
245                                 };
246                         };
247
248                         cluster1 {
249                                 core0 {
250                                         cpu = <&CPU4>;
251                                 };
252
253                                 core1 {
254                                         cpu = <&CPU5>;
255                                 };
256
257                                 core2 {
258                                         cpu = <&CPU6>;
259                                 };
260
261                                 core3 {
262                                         cpu = <&CPU7>;
263                                 };
264                         };
265                 };
266
267                 idle-states {
268                         entry-method = "psci";
269
270                         LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
271                                 compatible = "arm,idle-state";
272                                 idle-state-name = "little-retention";
273                                 /* CPU Retention (C2D), L2 Active */
274                                 arm,psci-suspend-param = <0x00000002>;
275                                 entry-latency-us = <81>;
276                                 exit-latency-us = <86>;
277                                 min-residency-us = <504>;
278                         };
279
280                         LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 {
281                                 compatible = "arm,idle-state";
282                                 idle-state-name = "little-power-collapse";
283                                 /* CPU + L2 Power Collapse (C3, D4) */
284                                 arm,psci-suspend-param = <0x40000003>;
285                                 entry-latency-us = <814>;
286                                 exit-latency-us = <4562>;
287                                 min-residency-us = <9183>;
288                                 local-timer-stop;
289                         };
290
291                         BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
292                                 compatible = "arm,idle-state";
293                                 idle-state-name = "big-retention";
294                                 /* CPU Retention (C2D), L2 Active */
295                                 arm,psci-suspend-param = <0x00000002>;
296                                 entry-latency-us = <79>;
297                                 exit-latency-us = <82>;
298                                 min-residency-us = <1302>;
299                         };
300
301                         BIG_CPU_SLEEP_1: cpu-sleep-1-1 {
302                                 compatible = "arm,idle-state";
303                                 idle-state-name = "big-power-collapse";
304                                 /* CPU + L2 Power Collapse (C3, D4) */
305                                 arm,psci-suspend-param = <0x40000003>;
306                                 entry-latency-us = <724>;
307                                 exit-latency-us = <2027>;
308                                 min-residency-us = <9419>;
309                                 local-timer-stop;
310                         };
311                 };
312         };
313
314         firmware {
315                 scm {
316                         compatible = "qcom,scm-msm8998", "qcom,scm";
317                 };
318         };
319
320         dsi_opp_table: opp-table-dsi {
321                 compatible = "operating-points-v2";
322
323                 opp-131250000 {
324                         opp-hz = /bits/ 64 <131250000>;
325                         required-opps = <&rpmpd_opp_low_svs>;
326                 };
327
328                 opp-210000000 {
329                         opp-hz = /bits/ 64 <210000000>;
330                         required-opps = <&rpmpd_opp_svs>;
331                 };
332
333                 opp-312500000 {
334                         opp-hz = /bits/ 64 <312500000>;
335                         required-opps = <&rpmpd_opp_nom>;
336                 };
337         };
338
339         psci {
340                 compatible = "arm,psci-1.0";
341                 method = "smc";
342         };
343
344         rpm: remoteproc {
345                 compatible = "qcom,msm8998-rpm-proc", "qcom,rpm-proc";
346
347                 glink-edge {
348                         compatible = "qcom,glink-rpm";
349
350                         interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
351                         qcom,rpm-msg-ram = <&rpm_msg_ram>;
352                         mboxes = <&apcs_glb 0>;
353
354                         rpm_requests: rpm-requests {
355                                 compatible = "qcom,rpm-msm8998";
356                                 qcom,glink-channels = "rpm_requests";
357
358                                 rpmcc: clock-controller {
359                                         compatible = "qcom,rpmcc-msm8998", "qcom,rpmcc";
360                                         clocks = <&xo>;
361                                         clock-names = "xo";
362                                         #clock-cells = <1>;
363                                 };
364
365                                 rpmpd: power-controller {
366                                         compatible = "qcom,msm8998-rpmpd";
367                                         #power-domain-cells = <1>;
368                                         operating-points-v2 = <&rpmpd_opp_table>;
369
370                                         rpmpd_opp_table: opp-table {
371                                                 compatible = "operating-points-v2";
372
373                                                 rpmpd_opp_ret: opp1 {
374                                                         opp-level = <RPM_SMD_LEVEL_RETENTION>;
375                                                 };
376
377                                                 rpmpd_opp_ret_plus: opp2 {
378                                                         opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
379                                                 };
380
381                                                 rpmpd_opp_min_svs: opp3 {
382                                                         opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
383                                                 };
384
385                                                 rpmpd_opp_low_svs: opp4 {
386                                                         opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
387                                                 };
388
389                                                 rpmpd_opp_svs: opp5 {
390                                                         opp-level = <RPM_SMD_LEVEL_SVS>;
391                                                 };
392
393                                                 rpmpd_opp_svs_plus: opp6 {
394                                                         opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
395                                                 };
396
397                                                 rpmpd_opp_nom: opp7 {
398                                                         opp-level = <RPM_SMD_LEVEL_NOM>;
399                                                 };
400
401                                                 rpmpd_opp_nom_plus: opp8 {
402                                                         opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
403                                                 };
404
405                                                 rpmpd_opp_turbo: opp9 {
406                                                         opp-level = <RPM_SMD_LEVEL_TURBO>;
407                                                 };
408
409                                                 rpmpd_opp_turbo_plus: opp10 {
410                                                         opp-level = <RPM_SMD_LEVEL_BINNING>;
411                                                 };
412                                         };
413                                 };
414                         };
415                 };
416         };
417
418         smem {
419                 compatible = "qcom,smem";
420                 memory-region = <&smem_mem>;
421                 hwlocks = <&tcsr_mutex 3>;
422         };
423
424         smp2p-lpass {
425                 compatible = "qcom,smp2p";
426                 qcom,smem = <443>, <429>;
427
428                 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
429
430                 mboxes = <&apcs_glb 10>;
431
432                 qcom,local-pid = <0>;
433                 qcom,remote-pid = <2>;
434
435                 adsp_smp2p_out: master-kernel {
436                         qcom,entry-name = "master-kernel";
437                         #qcom,smem-state-cells = <1>;
438                 };
439
440                 adsp_smp2p_in: slave-kernel {
441                         qcom,entry-name = "slave-kernel";
442
443                         interrupt-controller;
444                         #interrupt-cells = <2>;
445                 };
446         };
447
448         smp2p-mpss {
449                 compatible = "qcom,smp2p";
450                 qcom,smem = <435>, <428>;
451                 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
452                 mboxes = <&apcs_glb 14>;
453                 qcom,local-pid = <0>;
454                 qcom,remote-pid = <1>;
455
456                 modem_smp2p_out: master-kernel {
457                         qcom,entry-name = "master-kernel";
458                         #qcom,smem-state-cells = <1>;
459                 };
460
461                 modem_smp2p_in: slave-kernel {
462                         qcom,entry-name = "slave-kernel";
463                         interrupt-controller;
464                         #interrupt-cells = <2>;
465                 };
466         };
467
468         smp2p-slpi {
469                 compatible = "qcom,smp2p";
470                 qcom,smem = <481>, <430>;
471                 interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
472                 mboxes = <&apcs_glb 26>;
473                 qcom,local-pid = <0>;
474                 qcom,remote-pid = <3>;
475
476                 slpi_smp2p_out: master-kernel {
477                         qcom,entry-name = "master-kernel";
478                         #qcom,smem-state-cells = <1>;
479                 };
480
481                 slpi_smp2p_in: slave-kernel {
482                         qcom,entry-name = "slave-kernel";
483                         interrupt-controller;
484                         #interrupt-cells = <2>;
485                 };
486         };
487
488         thermal-zones {
489                 cpu0-thermal {
490                         polling-delay-passive = <250>;
491                         polling-delay = <1000>;
492
493                         thermal-sensors = <&tsens0 1>;
494
495                         trips {
496                                 cpu0_alert0: trip-point0 {
497                                         temperature = <75000>;
498                                         hysteresis = <2000>;
499                                         type = "passive";
500                                 };
501
502                                 cpu0_crit: cpu-crit {
503                                         temperature = <110000>;
504                                         hysteresis = <2000>;
505                                         type = "critical";
506                                 };
507                         };
508                 };
509
510                 cpu1-thermal {
511                         polling-delay-passive = <250>;
512                         polling-delay = <1000>;
513
514                         thermal-sensors = <&tsens0 2>;
515
516                         trips {
517                                 cpu1_alert0: trip-point0 {
518                                         temperature = <75000>;
519                                         hysteresis = <2000>;
520                                         type = "passive";
521                                 };
522
523                                 cpu1_crit: cpu-crit {
524                                         temperature = <110000>;
525                                         hysteresis = <2000>;
526                                         type = "critical";
527                                 };
528                         };
529                 };
530
531                 cpu2-thermal {
532                         polling-delay-passive = <250>;
533                         polling-delay = <1000>;
534
535                         thermal-sensors = <&tsens0 3>;
536
537                         trips {
538                                 cpu2_alert0: trip-point0 {
539                                         temperature = <75000>;
540                                         hysteresis = <2000>;
541                                         type = "passive";
542                                 };
543
544                                 cpu2_crit: cpu-crit {
545                                         temperature = <110000>;
546                                         hysteresis = <2000>;
547                                         type = "critical";
548                                 };
549                         };
550                 };
551
552                 cpu3-thermal {
553                         polling-delay-passive = <250>;
554                         polling-delay = <1000>;
555
556                         thermal-sensors = <&tsens0 4>;
557
558                         trips {
559                                 cpu3_alert0: trip-point0 {
560                                         temperature = <75000>;
561                                         hysteresis = <2000>;
562                                         type = "passive";
563                                 };
564
565                                 cpu3_crit: cpu-crit {
566                                         temperature = <110000>;
567                                         hysteresis = <2000>;
568                                         type = "critical";
569                                 };
570                         };
571                 };
572
573                 cpu4-thermal {
574                         polling-delay-passive = <250>;
575                         polling-delay = <1000>;
576
577                         thermal-sensors = <&tsens0 7>;
578
579                         trips {
580                                 cpu4_alert0: trip-point0 {
581                                         temperature = <75000>;
582                                         hysteresis = <2000>;
583                                         type = "passive";
584                                 };
585
586                                 cpu4_crit: cpu-crit {
587                                         temperature = <110000>;
588                                         hysteresis = <2000>;
589                                         type = "critical";
590                                 };
591                         };
592                 };
593
594                 cpu5-thermal {
595                         polling-delay-passive = <250>;
596                         polling-delay = <1000>;
597
598                         thermal-sensors = <&tsens0 8>;
599
600                         trips {
601                                 cpu5_alert0: trip-point0 {
602                                         temperature = <75000>;
603                                         hysteresis = <2000>;
604                                         type = "passive";
605                                 };
606
607                                 cpu5_crit: cpu-crit {
608                                         temperature = <110000>;
609                                         hysteresis = <2000>;
610                                         type = "critical";
611                                 };
612                         };
613                 };
614
615                 cpu6-thermal {
616                         polling-delay-passive = <250>;
617                         polling-delay = <1000>;
618
619                         thermal-sensors = <&tsens0 9>;
620
621                         trips {
622                                 cpu6_alert0: trip-point0 {
623                                         temperature = <75000>;
624                                         hysteresis = <2000>;
625                                         type = "passive";
626                                 };
627
628                                 cpu6_crit: cpu-crit {
629                                         temperature = <110000>;
630                                         hysteresis = <2000>;
631                                         type = "critical";
632                                 };
633                         };
634                 };
635
636                 cpu7-thermal {
637                         polling-delay-passive = <250>;
638                         polling-delay = <1000>;
639
640                         thermal-sensors = <&tsens0 10>;
641
642                         trips {
643                                 cpu7_alert0: trip-point0 {
644                                         temperature = <75000>;
645                                         hysteresis = <2000>;
646                                         type = "passive";
647                                 };
648
649                                 cpu7_crit: cpu-crit {
650                                         temperature = <110000>;
651                                         hysteresis = <2000>;
652                                         type = "critical";
653                                 };
654                         };
655                 };
656
657                 gpu-bottom-thermal {
658                         polling-delay-passive = <250>;
659                         polling-delay = <1000>;
660
661                         thermal-sensors = <&tsens0 12>;
662
663                         trips {
664                                 gpu1_alert0: trip-point0 {
665                                         temperature = <90000>;
666                                         hysteresis = <2000>;
667                                         type = "hot";
668                                 };
669                         };
670                 };
671
672                 gpu-top-thermal {
673                         polling-delay-passive = <250>;
674                         polling-delay = <1000>;
675
676                         thermal-sensors = <&tsens0 13>;
677
678                         trips {
679                                 gpu2_alert0: trip-point0 {
680                                         temperature = <90000>;
681                                         hysteresis = <2000>;
682                                         type = "hot";
683                                 };
684                         };
685                 };
686
687                 clust0-mhm-thermal {
688                         polling-delay-passive = <250>;
689                         polling-delay = <1000>;
690
691                         thermal-sensors = <&tsens0 5>;
692
693                         trips {
694                                 cluster0_mhm_alert0: trip-point0 {
695                                         temperature = <90000>;
696                                         hysteresis = <2000>;
697                                         type = "hot";
698                                 };
699                         };
700                 };
701
702                 clust1-mhm-thermal {
703                         polling-delay-passive = <250>;
704                         polling-delay = <1000>;
705
706                         thermal-sensors = <&tsens0 6>;
707
708                         trips {
709                                 cluster1_mhm_alert0: trip-point0 {
710                                         temperature = <90000>;
711                                         hysteresis = <2000>;
712                                         type = "hot";
713                                 };
714                         };
715                 };
716
717                 cluster1-l2-thermal {
718                         polling-delay-passive = <250>;
719                         polling-delay = <1000>;
720
721                         thermal-sensors = <&tsens0 11>;
722
723                         trips {
724                                 cluster1_l2_alert0: trip-point0 {
725                                         temperature = <90000>;
726                                         hysteresis = <2000>;
727                                         type = "hot";
728                                 };
729                         };
730                 };
731
732                 modem-thermal {
733                         polling-delay-passive = <250>;
734                         polling-delay = <1000>;
735
736                         thermal-sensors = <&tsens1 1>;
737
738                         trips {
739                                 modem_alert0: trip-point0 {
740                                         temperature = <90000>;
741                                         hysteresis = <2000>;
742                                         type = "hot";
743                                 };
744                         };
745                 };
746
747                 mem-thermal {
748                         polling-delay-passive = <250>;
749                         polling-delay = <1000>;
750
751                         thermal-sensors = <&tsens1 2>;
752
753                         trips {
754                                 mem_alert0: trip-point0 {
755                                         temperature = <90000>;
756                                         hysteresis = <2000>;
757                                         type = "hot";
758                                 };
759                         };
760                 };
761
762                 wlan-thermal {
763                         polling-delay-passive = <250>;
764                         polling-delay = <1000>;
765
766                         thermal-sensors = <&tsens1 3>;
767
768                         trips {
769                                 wlan_alert0: trip-point0 {
770                                         temperature = <90000>;
771                                         hysteresis = <2000>;
772                                         type = "hot";
773                                 };
774                         };
775                 };
776
777                 q6-dsp-thermal {
778                         polling-delay-passive = <250>;
779                         polling-delay = <1000>;
780
781                         thermal-sensors = <&tsens1 4>;
782
783                         trips {
784                                 q6_dsp_alert0: trip-point0 {
785                                         temperature = <90000>;
786                                         hysteresis = <2000>;
787                                         type = "hot";
788                                 };
789                         };
790                 };
791
792                 camera-thermal {
793                         polling-delay-passive = <250>;
794                         polling-delay = <1000>;
795
796                         thermal-sensors = <&tsens1 5>;
797
798                         trips {
799                                 camera_alert0: trip-point0 {
800                                         temperature = <90000>;
801                                         hysteresis = <2000>;
802                                         type = "hot";
803                                 };
804                         };
805                 };
806
807                 multimedia-thermal {
808                         polling-delay-passive = <250>;
809                         polling-delay = <1000>;
810
811                         thermal-sensors = <&tsens1 6>;
812
813                         trips {
814                                 multimedia_alert0: trip-point0 {
815                                         temperature = <90000>;
816                                         hysteresis = <2000>;
817                                         type = "hot";
818                                 };
819                         };
820                 };
821         };
822
823         timer {
824                 compatible = "arm,armv8-timer";
825                 interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
826                              <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
827                              <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
828                              <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
829         };
830
831         soc: soc@0 {
832                 #address-cells = <1>;
833                 #size-cells = <1>;
834                 ranges = <0 0 0 0xffffffff>;
835                 compatible = "simple-bus";
836
837                 gcc: clock-controller@100000 {
838                         compatible = "qcom,gcc-msm8998";
839                         #clock-cells = <1>;
840                         #reset-cells = <1>;
841                         #power-domain-cells = <1>;
842                         reg = <0x00100000 0xb0000>;
843
844                         clock-names = "xo", "sleep_clk";
845                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&sleep_clk>;
846
847                         /*
848                          * The hypervisor typically configures the memory region where these clocks
849                          * reside as read-only for the HLOS. If the HLOS tried to enable or disable
850                          * these clocks on a device with such configuration (e.g. because they are
851                          * enabled but unused during boot-up), the device will most likely decide
852                          * to reboot.
853                          * In light of that, we are conservative here and we list all such clocks
854                          * as protected. The board dts (or a user-supplied dts) can override the
855                          * list of protected clocks if it differs from the norm, and it is in fact
856                          * desired for the HLOS to manage these clocks
857                          */
858                         protected-clocks = <AGGRE2_SNOC_NORTH_AXI>,
859                                            <SSC_XO>,
860                                            <SSC_CNOC_AHBS_CLK>;
861                 };
862
863                 rpm_msg_ram: sram@778000 {
864                         compatible = "qcom,rpm-msg-ram";
865                         reg = <0x00778000 0x7000>;
866                 };
867
868                 qfprom: qfprom@784000 {
869                         compatible = "qcom,msm8998-qfprom", "qcom,qfprom";
870                         reg = <0x00784000 0x621c>;
871                         #address-cells = <1>;
872                         #size-cells = <1>;
873
874                         qusb2_hstx_trim: hstx-trim@23a {
875                                 reg = <0x23a 0x1>;
876                                 bits = <0 4>;
877                         };
878                 };
879
880                 tsens0: thermal@10ab000 {
881                         compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
882                         reg = <0x010ab000 0x1000>, /* TM */
883                               <0x010aa000 0x1000>; /* SROT */
884                         #qcom,sensors = <14>;
885                         interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
886                                      <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>;
887                         interrupt-names = "uplow", "critical";
888                         #thermal-sensor-cells = <1>;
889                 };
890
891                 tsens1: thermal@10ae000 {
892                         compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
893                         reg = <0x010ae000 0x1000>, /* TM */
894                               <0x010ad000 0x1000>; /* SROT */
895                         #qcom,sensors = <8>;
896                         interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
897                                      <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>;
898                         interrupt-names = "uplow", "critical";
899                         #thermal-sensor-cells = <1>;
900                 };
901
902                 anoc1_smmu: iommu@1680000 {
903                         compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
904                         reg = <0x01680000 0x10000>;
905                         #iommu-cells = <1>;
906
907                         #global-interrupts = <0>;
908                         interrupts =
909                                 <GIC_SPI 364 IRQ_TYPE_EDGE_RISING>,
910                                 <GIC_SPI 365 IRQ_TYPE_EDGE_RISING>,
911                                 <GIC_SPI 366 IRQ_TYPE_EDGE_RISING>,
912                                 <GIC_SPI 367 IRQ_TYPE_EDGE_RISING>,
913                                 <GIC_SPI 368 IRQ_TYPE_EDGE_RISING>,
914                                 <GIC_SPI 369 IRQ_TYPE_EDGE_RISING>;
915                 };
916
917                 anoc2_smmu: iommu@16c0000 {
918                         compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
919                         reg = <0x016c0000 0x40000>;
920                         #iommu-cells = <1>;
921
922                         #global-interrupts = <0>;
923                         interrupts =
924                                 <GIC_SPI 373 IRQ_TYPE_EDGE_RISING>,
925                                 <GIC_SPI 374 IRQ_TYPE_EDGE_RISING>,
926                                 <GIC_SPI 375 IRQ_TYPE_EDGE_RISING>,
927                                 <GIC_SPI 376 IRQ_TYPE_EDGE_RISING>,
928                                 <GIC_SPI 377 IRQ_TYPE_EDGE_RISING>,
929                                 <GIC_SPI 378 IRQ_TYPE_EDGE_RISING>,
930                                 <GIC_SPI 462 IRQ_TYPE_EDGE_RISING>,
931                                 <GIC_SPI 463 IRQ_TYPE_EDGE_RISING>,
932                                 <GIC_SPI 464 IRQ_TYPE_EDGE_RISING>,
933                                 <GIC_SPI 465 IRQ_TYPE_EDGE_RISING>;
934                 };
935
936                 pcie0: pci@1c00000 {
937                         compatible = "qcom,pcie-msm8998", "qcom,pcie-msm8996";
938                         reg = <0x01c00000 0x2000>,
939                               <0x1b000000 0xf1d>,
940                               <0x1b000f20 0xa8>,
941                               <0x1b100000 0x100000>;
942                         reg-names = "parf", "dbi", "elbi", "config";
943                         device_type = "pci";
944                         linux,pci-domain = <0>;
945                         bus-range = <0x00 0xff>;
946                         #address-cells = <3>;
947                         #size-cells = <2>;
948                         num-lanes = <1>;
949                         phys = <&pcie_phy>;
950                         phy-names = "pciephy";
951                         status = "disabled";
952
953                         ranges = <0x01000000 0x0 0x00000000 0x1b200000 0x0 0x100000>,
954                                  <0x02000000 0x0 0x1b300000 0x1b300000 0x0 0xd00000>;
955
956                         #interrupt-cells = <1>;
957                         interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
958                         interrupt-names = "msi";
959                         interrupt-map-mask = <0 0 0 0x7>;
960                         interrupt-map = <0 0 0 1 &intc 0 0 135 IRQ_TYPE_LEVEL_HIGH>,
961                                         <0 0 0 2 &intc 0 0 136 IRQ_TYPE_LEVEL_HIGH>,
962                                         <0 0 0 3 &intc 0 0 138 IRQ_TYPE_LEVEL_HIGH>,
963                                         <0 0 0 4 &intc 0 0 139 IRQ_TYPE_LEVEL_HIGH>;
964
965                         clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
966                                  <&gcc GCC_PCIE_0_AUX_CLK>,
967                                  <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
968                                  <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
969                                  <&gcc GCC_PCIE_0_SLV_AXI_CLK>;
970                         clock-names = "pipe", "aux", "cfg", "bus_master", "bus_slave";
971
972                         power-domains = <&gcc PCIE_0_GDSC>;
973                         iommu-map = <0x100 &anoc1_smmu 0x1480 1>;
974                         perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
975                 };
976
977                 pcie_phy: phy@1c06000 {
978                         compatible = "qcom,msm8998-qmp-pcie-phy";
979                         reg = <0x01c06000 0x1000>;
980                         status = "disabled";
981
982                         clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
983                                  <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
984                                  <&gcc GCC_PCIE_CLKREF_CLK>,
985                                  <&gcc GCC_PCIE_0_PIPE_CLK>;
986                         clock-names = "aux",
987                                       "cfg_ahb",
988                                       "ref",
989                                       "pipe";
990
991                         clock-output-names = "pcie_0_pipe_clk_src";
992                         #clock-cells = <0>;
993
994                         #phy-cells = <0>;
995
996                         resets = <&gcc GCC_PCIE_0_PHY_BCR>, <&gcc GCC_PCIE_PHY_BCR>;
997                         reset-names = "phy", "common";
998
999                         vdda-phy-supply = <&vreg_l1a_0p875>;
1000                         vdda-pll-supply = <&vreg_l2a_1p2>;
1001                 };
1002
1003                 ufshc: ufshc@1da4000 {
1004                         compatible = "qcom,msm8998-ufshc", "qcom,ufshc", "jedec,ufs-2.0";
1005                         reg = <0x01da4000 0x2500>;
1006                         interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
1007                         phys = <&ufsphy_lanes>;
1008                         phy-names = "ufsphy";
1009                         lanes-per-direction = <2>;
1010                         power-domains = <&gcc UFS_GDSC>;
1011                         status = "disabled";
1012                         #reset-cells = <1>;
1013
1014                         clock-names =
1015                                 "core_clk",
1016                                 "bus_aggr_clk",
1017                                 "iface_clk",
1018                                 "core_clk_unipro",
1019                                 "ref_clk",
1020                                 "tx_lane0_sync_clk",
1021                                 "rx_lane0_sync_clk",
1022                                 "rx_lane1_sync_clk";
1023                         clocks =
1024                                 <&gcc GCC_UFS_AXI_CLK>,
1025                                 <&gcc GCC_AGGRE1_UFS_AXI_CLK>,
1026                                 <&gcc GCC_UFS_AHB_CLK>,
1027                                 <&gcc GCC_UFS_UNIPRO_CORE_CLK>,
1028                                 <&rpmcc RPM_SMD_LN_BB_CLK1>,
1029                                 <&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
1030                                 <&gcc GCC_UFS_RX_SYMBOL_0_CLK>,
1031                                 <&gcc GCC_UFS_RX_SYMBOL_1_CLK>;
1032                         freq-table-hz =
1033                                 <50000000 200000000>,
1034                                 <0 0>,
1035                                 <0 0>,
1036                                 <37500000 150000000>,
1037                                 <0 0>,
1038                                 <0 0>,
1039                                 <0 0>,
1040                                 <0 0>;
1041
1042                         resets = <&gcc GCC_UFS_BCR>;
1043                         reset-names = "rst";
1044                 };
1045
1046                 ufsphy: phy@1da7000 {
1047                         compatible = "qcom,msm8998-qmp-ufs-phy";
1048                         reg = <0x01da7000 0x18c>;
1049                         #address-cells = <1>;
1050                         #size-cells = <1>;
1051                         status = "disabled";
1052                         ranges;
1053
1054                         clock-names =
1055                                 "ref",
1056                                 "ref_aux";
1057                         clocks =
1058                                 <&gcc GCC_UFS_CLKREF_CLK>,
1059                                 <&gcc GCC_UFS_PHY_AUX_CLK>;
1060
1061                         reset-names = "ufsphy";
1062                         resets = <&ufshc 0>;
1063
1064                         ufsphy_lanes: phy@1da7400 {
1065                                 reg = <0x01da7400 0x128>,
1066                                       <0x01da7600 0x1fc>,
1067                                       <0x01da7c00 0x1dc>,
1068                                       <0x01da7800 0x128>,
1069                                       <0x01da7a00 0x1fc>;
1070                                 #phy-cells = <0>;
1071                         };
1072                 };
1073
1074                 tcsr_mutex: hwlock@1f40000 {
1075                         compatible = "qcom,tcsr-mutex";
1076                         reg = <0x01f40000 0x20000>;
1077                         #hwlock-cells = <1>;
1078                 };
1079
1080                 tcsr_regs_1: syscon@1f60000 {
1081                         compatible = "qcom,msm8998-tcsr", "syscon";
1082                         reg = <0x01f60000 0x20000>;
1083                 };
1084
1085                 tlmm: pinctrl@3400000 {
1086                         compatible = "qcom,msm8998-pinctrl";
1087                         reg = <0x03400000 0xc00000>;
1088                         interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1089                         gpio-ranges = <&tlmm 0 0 150>;
1090                         gpio-controller;
1091                         #gpio-cells = <2>;
1092                         interrupt-controller;
1093                         #interrupt-cells = <2>;
1094
1095                         sdc2_on: sdc2-on-state {
1096                                 clk-pins {
1097                                         pins = "sdc2_clk";
1098                                         drive-strength = <16>;
1099                                         bias-disable;
1100                                 };
1101
1102                                 cmd-pins {
1103                                         pins = "sdc2_cmd";
1104                                         drive-strength = <10>;
1105                                         bias-pull-up;
1106                                 };
1107
1108                                 data-pins {
1109                                         pins = "sdc2_data";
1110                                         drive-strength = <10>;
1111                                         bias-pull-up;
1112                                 };
1113                         };
1114
1115                         sdc2_off: sdc2-off-state {
1116                                 clk-pins {
1117                                         pins = "sdc2_clk";
1118                                         drive-strength = <2>;
1119                                         bias-disable;
1120                                 };
1121
1122                                 cmd-pins {
1123                                         pins = "sdc2_cmd";
1124                                         drive-strength = <2>;
1125                                         bias-pull-up;
1126                                 };
1127
1128                                 data-pins {
1129                                         pins = "sdc2_data";
1130                                         drive-strength = <2>;
1131                                         bias-pull-up;
1132                                 };
1133                         };
1134
1135                         sdc2_cd: sdc2-cd-state {
1136                                 pins = "gpio95";
1137                                 function = "gpio";
1138                                 bias-pull-up;
1139                                 drive-strength = <2>;
1140                         };
1141
1142                         blsp1_uart3_on: blsp1-uart3-on-state {
1143                                 tx-pins {
1144                                         pins = "gpio45";
1145                                         function = "blsp_uart3_a";
1146                                         drive-strength = <2>;
1147                                         bias-disable;
1148                                 };
1149
1150                                 rx-pins {
1151                                         pins = "gpio46";
1152                                         function = "blsp_uart3_a";
1153                                         drive-strength = <2>;
1154                                         bias-disable;
1155                                 };
1156
1157                                 cts-pins {
1158                                         pins = "gpio47";
1159                                         function = "blsp_uart3_a";
1160                                         drive-strength = <2>;
1161                                         bias-disable;
1162                                 };
1163
1164                                 rfr-pins {
1165                                         pins = "gpio48";
1166                                         function = "blsp_uart3_a";
1167                                         drive-strength = <2>;
1168                                         bias-disable;
1169                                 };
1170                         };
1171
1172                         blsp1_i2c1_default: blsp1-i2c1-default-state {
1173                                 pins = "gpio2", "gpio3";
1174                                 function = "blsp_i2c1";
1175                                 drive-strength = <2>;
1176                                 bias-disable;
1177                         };
1178
1179                         blsp1_i2c1_sleep: blsp1-i2c1-sleep-state-state {
1180                                 pins = "gpio2", "gpio3";
1181                                 function = "blsp_i2c1";
1182                                 drive-strength = <2>;
1183                                 bias-pull-up;
1184                         };
1185
1186                         blsp1_i2c2_default: blsp1-i2c2-default-state {
1187                                 pins = "gpio32", "gpio33";
1188                                 function = "blsp_i2c2";
1189                                 drive-strength = <2>;
1190                                 bias-disable;
1191                         };
1192
1193                         blsp1_i2c2_sleep: blsp1-i2c2-sleep-state-state {
1194                                 pins = "gpio32", "gpio33";
1195                                 function = "blsp_i2c2";
1196                                 drive-strength = <2>;
1197                                 bias-pull-up;
1198                         };
1199
1200                         blsp1_i2c3_default: blsp1-i2c3-default-state {
1201                                 pins = "gpio47", "gpio48";
1202                                 function = "blsp_i2c3";
1203                                 drive-strength = <2>;
1204                                 bias-disable;
1205                         };
1206
1207                         blsp1_i2c3_sleep: blsp1-i2c3-sleep-state {
1208                                 pins = "gpio47", "gpio48";
1209                                 function = "blsp_i2c3";
1210                                 drive-strength = <2>;
1211                                 bias-pull-up;
1212                         };
1213
1214                         blsp1_i2c4_default: blsp1-i2c4-default-state {
1215                                 pins = "gpio10", "gpio11";
1216                                 function = "blsp_i2c4";
1217                                 drive-strength = <2>;
1218                                 bias-disable;
1219                         };
1220
1221                         blsp1_i2c4_sleep: blsp1-i2c4-sleep-state {
1222                                 pins = "gpio10", "gpio11";
1223                                 function = "blsp_i2c4";
1224                                 drive-strength = <2>;
1225                                 bias-pull-up;
1226                         };
1227
1228                         blsp1_i2c5_default: blsp1-i2c5-default-state {
1229                                 pins = "gpio87", "gpio88";
1230                                 function = "blsp_i2c5";
1231                                 drive-strength = <2>;
1232                                 bias-disable;
1233                         };
1234
1235                         blsp1_i2c5_sleep: blsp1-i2c5-sleep-state {
1236                                 pins = "gpio87", "gpio88";
1237                                 function = "blsp_i2c5";
1238                                 drive-strength = <2>;
1239                                 bias-pull-up;
1240                         };
1241
1242                         blsp1_i2c6_default: blsp1-i2c6-default-state {
1243                                 pins = "gpio43", "gpio44";
1244                                 function = "blsp_i2c6";
1245                                 drive-strength = <2>;
1246                                 bias-disable;
1247                         };
1248
1249                         blsp1_i2c6_sleep: blsp1-i2c6-sleep-state {
1250                                 pins = "gpio43", "gpio44";
1251                                 function = "blsp_i2c6";
1252                                 drive-strength = <2>;
1253                                 bias-pull-up;
1254                         };
1255
1256                         blsp1_spi_b_default: blsp1-spi-b-default-state {
1257                                 pins = "gpio23", "gpio28";
1258                                 function = "blsp1_spi_b";
1259                                 drive-strength = <6>;
1260                                 bias-disable;
1261                         };
1262
1263                         blsp1_spi1_default: blsp1-spi1-default-state {
1264                                 pins = "gpio0", "gpio1", "gpio2", "gpio3";
1265                                 function = "blsp_spi1";
1266                                 drive-strength = <6>;
1267                                 bias-disable;
1268                         };
1269
1270                         blsp1_spi2_default: blsp1-spi2-default-state {
1271                                 pins = "gpio31", "gpio34", "gpio32", "gpio33";
1272                                 function = "blsp_spi2";
1273                                 drive-strength = <6>;
1274                                 bias-disable;
1275                         };
1276
1277                         blsp1_spi3_default: blsp1-spi3-default-state {
1278                                 pins = "gpio45", "gpio46", "gpio47", "gpio48";
1279                                 function = "blsp_spi2";
1280                                 drive-strength = <6>;
1281                                 bias-disable;
1282                         };
1283
1284                         blsp1_spi4_default: blsp1-spi4-default-state {
1285                                 pins = "gpio8", "gpio9", "gpio10", "gpio11";
1286                                 function = "blsp_spi4";
1287                                 drive-strength = <6>;
1288                                 bias-disable;
1289                         };
1290
1291                         blsp1_spi5_default: blsp1-spi5-default-state {
1292                                 pins = "gpio85", "gpio86", "gpio87", "gpio88";
1293                                 function = "blsp_spi5";
1294                                 drive-strength = <6>;
1295                                 bias-disable;
1296                         };
1297
1298                         blsp1_spi6_default: blsp1-spi6-default-state {
1299                                 pins = "gpio41", "gpio42", "gpio43", "gpio44";
1300                                 function = "blsp_spi6";
1301                                 drive-strength = <6>;
1302                                 bias-disable;
1303                         };
1304
1305
1306                         /* 6 interfaces per QUP, BLSP2 indexes are numbered (n)+6 */
1307                         blsp2_i2c1_default: blsp2-i2c1-default-state {
1308                                 pins = "gpio55", "gpio56";
1309                                 function = "blsp_i2c7";
1310                                 drive-strength = <2>;
1311                                 bias-disable;
1312                         };
1313
1314                         blsp2_i2c1_sleep: blsp2-i2c1-sleep-state {
1315                                 pins = "gpio55", "gpio56";
1316                                 function = "blsp_i2c7";
1317                                 drive-strength = <2>;
1318                                 bias-pull-up;
1319                         };
1320
1321                         blsp2_i2c2_default: blsp2-i2c2-default-state {
1322                                 pins = "gpio6", "gpio7";
1323                                 function = "blsp_i2c8";
1324                                 drive-strength = <2>;
1325                                 bias-disable;
1326                         };
1327
1328                         blsp2_i2c2_sleep: blsp2-i2c2-sleep-state {
1329                                 pins = "gpio6", "gpio7";
1330                                 function = "blsp_i2c8";
1331                                 drive-strength = <2>;
1332                                 bias-pull-up;
1333                         };
1334
1335                         blsp2_i2c3_default: blsp2-i2c3-default-state {
1336                                 pins = "gpio51", "gpio52";
1337                                 function = "blsp_i2c9";
1338                                 drive-strength = <2>;
1339                                 bias-disable;
1340                         };
1341
1342                         blsp2_i2c3_sleep: blsp2-i2c3-sleep-state {
1343                                 pins = "gpio51", "gpio52";
1344                                 function = "blsp_i2c9";
1345                                 drive-strength = <2>;
1346                                 bias-pull-up;
1347                         };
1348
1349                         blsp2_i2c4_default: blsp2-i2c4-default-state {
1350                                 pins = "gpio67", "gpio68";
1351                                 function = "blsp_i2c10";
1352                                 drive-strength = <2>;
1353                                 bias-disable;
1354                         };
1355
1356                         blsp2_i2c4_sleep: blsp2-i2c4-sleep-state {
1357                                 pins = "gpio67", "gpio68";
1358                                 function = "blsp_i2c10";
1359                                 drive-strength = <2>;
1360                                 bias-pull-up;
1361                         };
1362
1363                         blsp2_i2c5_default: blsp2-i2c5-default-state {
1364                                 pins = "gpio60", "gpio61";
1365                                 function = "blsp_i2c11";
1366                                 drive-strength = <2>;
1367                                 bias-disable;
1368                         };
1369
1370                         blsp2_i2c5_sleep: blsp2-i2c5-sleep-state {
1371                                 pins = "gpio60", "gpio61";
1372                                 function = "blsp_i2c11";
1373                                 drive-strength = <2>;
1374                                 bias-pull-up;
1375                         };
1376
1377                         blsp2_i2c6_default: blsp2-i2c6-default-state {
1378                                 pins = "gpio83", "gpio84";
1379                                 function = "blsp_i2c12";
1380                                 drive-strength = <2>;
1381                                 bias-disable;
1382                         };
1383
1384                         blsp2_i2c6_sleep: blsp2-i2c6-sleep-state {
1385                                 pins = "gpio83", "gpio84";
1386                                 function = "blsp_i2c12";
1387                                 drive-strength = <2>;
1388                                 bias-pull-up;
1389                         };
1390
1391                         blsp2_spi1_default: blsp2-spi1-default-state {
1392                                 pins = "gpio53", "gpio54", "gpio55", "gpio56";
1393                                 function = "blsp_spi7";
1394                                 drive-strength = <6>;
1395                                 bias-disable;
1396                         };
1397
1398                         blsp2_spi2_default: blsp2-spi2-default-state {
1399                                 pins = "gpio4", "gpio5", "gpio6", "gpio7";
1400                                 function = "blsp_spi8";
1401                                 drive-strength = <6>;
1402                                 bias-disable;
1403                         };
1404
1405                         blsp2_spi3_default: blsp2-spi3-default-state {
1406                                 pins = "gpio49", "gpio50", "gpio51", "gpio52";
1407                                 function = "blsp_spi9";
1408                                 drive-strength = <6>;
1409                                 bias-disable;
1410                         };
1411
1412                         blsp2_spi4_default: blsp2-spi4-default-state {
1413                                 pins = "gpio65", "gpio66", "gpio67", "gpio68";
1414                                 function = "blsp_spi10";
1415                                 drive-strength = <6>;
1416                                 bias-disable;
1417                         };
1418
1419                         blsp2_spi5_default: blsp2-spi5-default-state {
1420                                 pins = "gpio58", "gpio59", "gpio60", "gpio61";
1421                                 function = "blsp_spi11";
1422                                 drive-strength = <6>;
1423                                 bias-disable;
1424                         };
1425
1426                         blsp2_spi6_default: blsp2-spi6-default-state {
1427                                 pins = "gpio81", "gpio82", "gpio83", "gpio84";
1428                                 function = "blsp_spi12";
1429                                 drive-strength = <6>;
1430                                 bias-disable;
1431                         };
1432                 };
1433
1434                 remoteproc_mss: remoteproc@4080000 {
1435                         compatible = "qcom,msm8998-mss-pil";
1436                         reg = <0x04080000 0x100>, <0x04180000 0x20>;
1437                         reg-names = "qdsp6", "rmb";
1438
1439                         interrupts-extended =
1440                                 <&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
1441                                 <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1442                                 <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1443                                 <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1444                                 <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
1445                                 <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
1446                         interrupt-names = "wdog", "fatal", "ready",
1447                                           "handover", "stop-ack",
1448                                           "shutdown-ack";
1449
1450                         clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
1451                                  <&gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
1452                                  <&gcc GCC_BOOT_ROM_AHB_CLK>,
1453                                  <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
1454                                  <&gcc GCC_MSS_SNOC_AXI_CLK>,
1455                                  <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
1456                                  <&rpmcc RPM_SMD_QDSS_CLK>,
1457                                  <&rpmcc RPM_SMD_XO_CLK_SRC>;
1458                         clock-names = "iface", "bus", "mem", "gpll0_mss",
1459                                       "snoc_axi", "mnoc_axi", "qdss", "xo";
1460
1461                         qcom,smem-states = <&modem_smp2p_out 0>;
1462                         qcom,smem-state-names = "stop";
1463
1464                         resets = <&gcc GCC_MSS_RESTART>;
1465                         reset-names = "mss_restart";
1466
1467                         qcom,halt-regs = <&tcsr_regs_1 0x3000 0x5000 0x4000>;
1468
1469                         power-domains = <&rpmpd MSM8998_VDDCX>,
1470                                         <&rpmpd MSM8998_VDDMX>;
1471                         power-domain-names = "cx", "mx";
1472
1473                         status = "disabled";
1474
1475                         mba {
1476                                 memory-region = <&mba_mem>;
1477                         };
1478
1479                         mpss {
1480                                 memory-region = <&mpss_mem>;
1481                         };
1482
1483                         metadata {
1484                                 memory-region = <&mdata_mem>;
1485                         };
1486
1487                         glink-edge {
1488                                 interrupts = <GIC_SPI 452 IRQ_TYPE_EDGE_RISING>;
1489                                 label = "modem";
1490                                 qcom,remote-pid = <1>;
1491                                 mboxes = <&apcs_glb 15>;
1492                         };
1493                 };
1494
1495                 adreno_gpu: gpu@5000000 {
1496                         compatible = "qcom,adreno-540.1", "qcom,adreno";
1497                         reg = <0x05000000 0x40000>;
1498                         reg-names = "kgsl_3d0_reg_memory";
1499
1500                         clocks = <&gcc GCC_GPU_CFG_AHB_CLK>,
1501                                 <&gpucc RBBMTIMER_CLK>,
1502                                 <&gcc GCC_BIMC_GFX_CLK>,
1503                                 <&gcc GCC_GPU_BIMC_GFX_CLK>,
1504                                 <&gpucc RBCPR_CLK>,
1505                                 <&gpucc GFX3D_CLK>;
1506                         clock-names = "iface",
1507                                 "rbbmtimer",
1508                                 "mem",
1509                                 "mem_iface",
1510                                 "rbcpr",
1511                                 "core";
1512
1513                         interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
1514                         iommus = <&adreno_smmu 0>;
1515                         operating-points-v2 = <&gpu_opp_table>;
1516                         power-domains = <&rpmpd MSM8998_VDDMX>;
1517                         status = "disabled";
1518
1519                         gpu_opp_table: opp-table {
1520                                 compatible = "operating-points-v2";
1521                                 opp-710000097 {
1522                                         opp-hz = /bits/ 64 <710000097>;
1523                                         opp-level = <RPM_SMD_LEVEL_TURBO>;
1524                                         opp-supported-hw = <0xff>;
1525                                 };
1526
1527                                 opp-670000048 {
1528                                         opp-hz = /bits/ 64 <670000048>;
1529                                         opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
1530                                         opp-supported-hw = <0xff>;
1531                                 };
1532
1533                                 opp-596000097 {
1534                                         opp-hz = /bits/ 64 <596000097>;
1535                                         opp-level = <RPM_SMD_LEVEL_NOM>;
1536                                         opp-supported-hw = <0xff>;
1537                                 };
1538
1539                                 opp-515000097 {
1540                                         opp-hz = /bits/ 64 <515000097>;
1541                                         opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
1542                                         opp-supported-hw = <0xff>;
1543                                 };
1544
1545                                 opp-414000000 {
1546                                         opp-hz = /bits/ 64 <414000000>;
1547                                         opp-level = <RPM_SMD_LEVEL_SVS>;
1548                                         opp-supported-hw = <0xff>;
1549                                 };
1550
1551                                 opp-342000000 {
1552                                         opp-hz = /bits/ 64 <342000000>;
1553                                         opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
1554                                         opp-supported-hw = <0xff>;
1555                                 };
1556
1557                                 opp-257000000 {
1558                                         opp-hz = /bits/ 64 <257000000>;
1559                                         opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
1560                                         opp-supported-hw = <0xff>;
1561                                 };
1562                         };
1563                 };
1564
1565                 adreno_smmu: iommu@5040000 {
1566                         compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
1567                         reg = <0x05040000 0x10000>;
1568                         clocks = <&gcc GCC_GPU_CFG_AHB_CLK>,
1569                                  <&gcc GCC_BIMC_GFX_CLK>,
1570                                  <&gcc GCC_GPU_BIMC_GFX_CLK>;
1571                         clock-names = "iface", "mem", "mem_iface";
1572
1573                         #global-interrupts = <0>;
1574                         #iommu-cells = <1>;
1575                         interrupts =
1576                                 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
1577                                 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
1578                                 <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
1579                         /*
1580                          * GPU-GX GDSC's parent is GPU-CX. We need to bring up the
1581                          * GPU-CX for SMMU but we need both of them up for Adreno.
1582                          * Contemporarily, we also need to manage the VDDMX rpmpd
1583                          * domain in the Adreno driver.
1584                          * Enable GPU CX/GX GDSCs here so that we can manage the
1585                          * SoC VDDMX RPM Power Domain in the Adreno driver.
1586                          */
1587                         power-domains = <&gpucc GPU_GX_GDSC>;
1588                         status = "disabled";
1589                 };
1590
1591                 gpucc: clock-controller@5065000 {
1592                         compatible = "qcom,msm8998-gpucc";
1593                         #clock-cells = <1>;
1594                         #reset-cells = <1>;
1595                         #power-domain-cells = <1>;
1596                         reg = <0x05065000 0x9000>;
1597
1598                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1599                                  <&gcc GCC_GPU_GPLL0_CLK>;
1600                         clock-names = "xo",
1601                                       "gpll0";
1602                 };
1603
1604                 remoteproc_slpi: remoteproc@5800000 {
1605                         compatible = "qcom,msm8998-slpi-pas";
1606                         reg = <0x05800000 0x4040>;
1607
1608                         interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
1609                                               <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1610                                               <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1611                                               <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1612                                               <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1613                         interrupt-names = "wdog", "fatal", "ready",
1614                                           "handover", "stop-ack";
1615
1616                         px-supply = <&vreg_lvs2a_1p8>;
1617
1618                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1619                                  <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
1620                         clock-names = "xo", "aggre2";
1621
1622                         memory-region = <&slpi_mem>;
1623
1624                         qcom,smem-states = <&slpi_smp2p_out 0>;
1625                         qcom,smem-state-names = "stop";
1626
1627                         power-domains = <&rpmpd MSM8998_SSCCX>;
1628                         power-domain-names = "ssc_cx";
1629
1630                         status = "disabled";
1631
1632                         glink-edge {
1633                                 interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
1634                                 label = "dsps";
1635                                 qcom,remote-pid = <3>;
1636                                 mboxes = <&apcs_glb 27>;
1637                         };
1638                 };
1639
1640                 stm: stm@6002000 {
1641                         compatible = "arm,coresight-stm", "arm,primecell";
1642                         reg = <0x06002000 0x1000>,
1643                               <0x16280000 0x180000>;
1644                         reg-names = "stm-base", "stm-stimulus-base";
1645                         status = "disabled";
1646
1647                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1648                         clock-names = "apb_pclk", "atclk";
1649
1650                         out-ports {
1651                                 port {
1652                                         stm_out: endpoint {
1653                                                 remote-endpoint = <&funnel0_in7>;
1654                                         };
1655                                 };
1656                         };
1657                 };
1658
1659                 funnel1: funnel@6041000 {
1660                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1661                         reg = <0x06041000 0x1000>;
1662                         status = "disabled";
1663
1664                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1665                         clock-names = "apb_pclk", "atclk";
1666
1667                         out-ports {
1668                                 port {
1669                                         funnel0_out: endpoint {
1670                                                 remote-endpoint =
1671                                                   <&merge_funnel_in0>;
1672                                         };
1673                                 };
1674                         };
1675
1676                         in-ports {
1677                                 #address-cells = <1>;
1678                                 #size-cells = <0>;
1679
1680                                 port@7 {
1681                                         reg = <7>;
1682                                         funnel0_in7: endpoint {
1683                                                 remote-endpoint = <&stm_out>;
1684                                         };
1685                                 };
1686                         };
1687                 };
1688
1689                 funnel2: funnel@6042000 {
1690                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1691                         reg = <0x06042000 0x1000>;
1692                         status = "disabled";
1693
1694                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1695                         clock-names = "apb_pclk", "atclk";
1696
1697                         out-ports {
1698                                 port {
1699                                         funnel1_out: endpoint {
1700                                                 remote-endpoint =
1701                                                   <&merge_funnel_in1>;
1702                                         };
1703                                 };
1704                         };
1705
1706                         in-ports {
1707                                 #address-cells = <1>;
1708                                 #size-cells = <0>;
1709
1710                                 port@6 {
1711                                         reg = <6>;
1712                                         funnel1_in6: endpoint {
1713                                                 remote-endpoint =
1714                                                   <&apss_merge_funnel_out>;
1715                                         };
1716                                 };
1717                         };
1718                 };
1719
1720                 funnel3: funnel@6045000 {
1721                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1722                         reg = <0x06045000 0x1000>;
1723                         status = "disabled";
1724
1725                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1726                         clock-names = "apb_pclk", "atclk";
1727
1728                         out-ports {
1729                                 port {
1730                                         merge_funnel_out: endpoint {
1731                                                 remote-endpoint =
1732                                                   <&etf_in>;
1733                                         };
1734                                 };
1735                         };
1736
1737                         in-ports {
1738                                 #address-cells = <1>;
1739                                 #size-cells = <0>;
1740
1741                                 port@0 {
1742                                         reg = <0>;
1743                                         merge_funnel_in0: endpoint {
1744                                                 remote-endpoint =
1745                                                   <&funnel0_out>;
1746                                         };
1747                                 };
1748
1749                                 port@1 {
1750                                         reg = <1>;
1751                                         merge_funnel_in1: endpoint {
1752                                                 remote-endpoint =
1753                                                   <&funnel1_out>;
1754                                         };
1755                                 };
1756                         };
1757                 };
1758
1759                 replicator1: replicator@6046000 {
1760                         compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
1761                         reg = <0x06046000 0x1000>;
1762                         status = "disabled";
1763
1764                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1765                         clock-names = "apb_pclk", "atclk";
1766
1767                         out-ports {
1768                                 port {
1769                                         replicator_out: endpoint {
1770                                                 remote-endpoint = <&etr_in>;
1771                                         };
1772                                 };
1773                         };
1774
1775                         in-ports {
1776                                 port {
1777                                         replicator_in: endpoint {
1778                                                 remote-endpoint = <&etf_out>;
1779                                         };
1780                                 };
1781                         };
1782                 };
1783
1784                 etf: etf@6047000 {
1785                         compatible = "arm,coresight-tmc", "arm,primecell";
1786                         reg = <0x06047000 0x1000>;
1787                         status = "disabled";
1788
1789                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1790                         clock-names = "apb_pclk", "atclk";
1791
1792                         out-ports {
1793                                 port {
1794                                         etf_out: endpoint {
1795                                                 remote-endpoint =
1796                                                   <&replicator_in>;
1797                                         };
1798                                 };
1799                         };
1800
1801                         in-ports {
1802                                 port {
1803                                         etf_in: endpoint {
1804                                                 remote-endpoint =
1805                                                   <&merge_funnel_out>;
1806                                         };
1807                                 };
1808                         };
1809                 };
1810
1811                 etr: etr@6048000 {
1812                         compatible = "arm,coresight-tmc", "arm,primecell";
1813                         reg = <0x06048000 0x1000>;
1814                         status = "disabled";
1815
1816                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1817                         clock-names = "apb_pclk", "atclk";
1818                         arm,scatter-gather;
1819
1820                         in-ports {
1821                                 port {
1822                                         etr_in: endpoint {
1823                                                 remote-endpoint =
1824                                                   <&replicator_out>;
1825                                         };
1826                                 };
1827                         };
1828                 };
1829
1830                 etm1: etm@7840000 {
1831                         compatible = "arm,coresight-etm4x", "arm,primecell";
1832                         reg = <0x07840000 0x1000>;
1833                         status = "disabled";
1834
1835                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1836                         clock-names = "apb_pclk", "atclk";
1837
1838                         cpu = <&CPU0>;
1839
1840                         out-ports {
1841                                 port {
1842                                         etm0_out: endpoint {
1843                                                 remote-endpoint =
1844                                                   <&apss_funnel_in0>;
1845                                         };
1846                                 };
1847                         };
1848                 };
1849
1850                 etm2: etm@7940000 {
1851                         compatible = "arm,coresight-etm4x", "arm,primecell";
1852                         reg = <0x07940000 0x1000>;
1853                         status = "disabled";
1854
1855                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1856                         clock-names = "apb_pclk", "atclk";
1857
1858                         cpu = <&CPU1>;
1859
1860                         out-ports {
1861                                 port {
1862                                         etm1_out: endpoint {
1863                                                 remote-endpoint =
1864                                                   <&apss_funnel_in1>;
1865                                         };
1866                                 };
1867                         };
1868                 };
1869
1870                 etm3: etm@7a40000 {
1871                         compatible = "arm,coresight-etm4x", "arm,primecell";
1872                         reg = <0x07a40000 0x1000>;
1873                         status = "disabled";
1874
1875                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1876                         clock-names = "apb_pclk", "atclk";
1877
1878                         cpu = <&CPU2>;
1879
1880                         out-ports {
1881                                 port {
1882                                         etm2_out: endpoint {
1883                                                 remote-endpoint =
1884                                                   <&apss_funnel_in2>;
1885                                         };
1886                                 };
1887                         };
1888                 };
1889
1890                 etm4: etm@7b40000 {
1891                         compatible = "arm,coresight-etm4x", "arm,primecell";
1892                         reg = <0x07b40000 0x1000>;
1893                         status = "disabled";
1894
1895                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1896                         clock-names = "apb_pclk", "atclk";
1897
1898                         cpu = <&CPU3>;
1899
1900                         out-ports {
1901                                 port {
1902                                         etm3_out: endpoint {
1903                                                 remote-endpoint =
1904                                                   <&apss_funnel_in3>;
1905                                         };
1906                                 };
1907                         };
1908                 };
1909
1910                 funnel4: funnel@7b60000 { /* APSS Funnel */
1911                         compatible = "arm,coresight-etm4x", "arm,primecell";
1912                         reg = <0x07b60000 0x1000>;
1913                         status = "disabled";
1914
1915                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1916                         clock-names = "apb_pclk", "atclk";
1917
1918                         out-ports {
1919                                 port {
1920                                         apss_funnel_out: endpoint {
1921                                                 remote-endpoint =
1922                                                   <&apss_merge_funnel_in>;
1923                                         };
1924                                 };
1925                         };
1926
1927                         in-ports {
1928                                 #address-cells = <1>;
1929                                 #size-cells = <0>;
1930
1931                                 port@0 {
1932                                         reg = <0>;
1933                                         apss_funnel_in0: endpoint {
1934                                                 remote-endpoint =
1935                                                   <&etm0_out>;
1936                                         };
1937                                 };
1938
1939                                 port@1 {
1940                                         reg = <1>;
1941                                         apss_funnel_in1: endpoint {
1942                                                 remote-endpoint =
1943                                                   <&etm1_out>;
1944                                         };
1945                                 };
1946
1947                                 port@2 {
1948                                         reg = <2>;
1949                                         apss_funnel_in2: endpoint {
1950                                                 remote-endpoint =
1951                                                   <&etm2_out>;
1952                                         };
1953                                 };
1954
1955                                 port@3 {
1956                                         reg = <3>;
1957                                         apss_funnel_in3: endpoint {
1958                                                 remote-endpoint =
1959                                                   <&etm3_out>;
1960                                         };
1961                                 };
1962
1963                                 port@4 {
1964                                         reg = <4>;
1965                                         apss_funnel_in4: endpoint {
1966                                                 remote-endpoint =
1967                                                   <&etm4_out>;
1968                                         };
1969                                 };
1970
1971                                 port@5 {
1972                                         reg = <5>;
1973                                         apss_funnel_in5: endpoint {
1974                                                 remote-endpoint =
1975                                                   <&etm5_out>;
1976                                         };
1977                                 };
1978
1979                                 port@6 {
1980                                         reg = <6>;
1981                                         apss_funnel_in6: endpoint {
1982                                                 remote-endpoint =
1983                                                   <&etm6_out>;
1984                                         };
1985                                 };
1986
1987                                 port@7 {
1988                                         reg = <7>;
1989                                         apss_funnel_in7: endpoint {
1990                                                 remote-endpoint =
1991                                                   <&etm7_out>;
1992                                         };
1993                                 };
1994                         };
1995                 };
1996
1997                 funnel5: funnel@7b70000 {
1998                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1999                         reg = <0x07b70000 0x1000>;
2000                         status = "disabled";
2001
2002                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
2003                         clock-names = "apb_pclk", "atclk";
2004
2005                         out-ports {
2006                                 port {
2007                                         apss_merge_funnel_out: endpoint {
2008                                                 remote-endpoint =
2009                                                   <&funnel1_in6>;
2010                                         };
2011                                 };
2012                         };
2013
2014                         in-ports {
2015                                 port {
2016                                         apss_merge_funnel_in: endpoint {
2017                                                 remote-endpoint =
2018                                                   <&apss_funnel_out>;
2019                                         };
2020                                 };
2021                         };
2022                 };
2023
2024                 etm5: etm@7c40000 {
2025                         compatible = "arm,coresight-etm4x", "arm,primecell";
2026                         reg = <0x07c40000 0x1000>;
2027                         status = "disabled";
2028
2029                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
2030                         clock-names = "apb_pclk", "atclk";
2031
2032                         cpu = <&CPU4>;
2033
2034                         port {
2035                                 etm4_out: endpoint {
2036                                         remote-endpoint = <&apss_funnel_in4>;
2037                                 };
2038                         };
2039                 };
2040
2041                 etm6: etm@7d40000 {
2042                         compatible = "arm,coresight-etm4x", "arm,primecell";
2043                         reg = <0x07d40000 0x1000>;
2044                         status = "disabled";
2045
2046                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
2047                         clock-names = "apb_pclk", "atclk";
2048
2049                         cpu = <&CPU5>;
2050
2051                         port {
2052                                 etm5_out: endpoint {
2053                                         remote-endpoint = <&apss_funnel_in5>;
2054                                 };
2055                         };
2056                 };
2057
2058                 etm7: etm@7e40000 {
2059                         compatible = "arm,coresight-etm4x", "arm,primecell";
2060                         reg = <0x07e40000 0x1000>;
2061                         status = "disabled";
2062
2063                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
2064                         clock-names = "apb_pclk", "atclk";
2065
2066                         cpu = <&CPU6>;
2067
2068                         port {
2069                                 etm6_out: endpoint {
2070                                         remote-endpoint = <&apss_funnel_in6>;
2071                                 };
2072                         };
2073                 };
2074
2075                 etm8: etm@7f40000 {
2076                         compatible = "arm,coresight-etm4x", "arm,primecell";
2077                         reg = <0x07f40000 0x1000>;
2078                         status = "disabled";
2079
2080                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
2081                         clock-names = "apb_pclk", "atclk";
2082
2083                         cpu = <&CPU7>;
2084
2085                         port {
2086                                 etm7_out: endpoint {
2087                                         remote-endpoint = <&apss_funnel_in7>;
2088                                 };
2089                         };
2090                 };
2091
2092                 sram@290000 {
2093                         compatible = "qcom,rpm-stats";
2094                         reg = <0x00290000 0x10000>;
2095                 };
2096
2097                 spmi_bus: spmi@800f000 {
2098                         compatible = "qcom,spmi-pmic-arb";
2099                         reg = <0x0800f000 0x1000>,
2100                               <0x08400000 0x1000000>,
2101                               <0x09400000 0x1000000>,
2102                               <0x0a400000 0x220000>,
2103                               <0x0800a000 0x3000>;
2104                         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
2105                         interrupt-names = "periph_irq";
2106                         interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
2107                         qcom,ee = <0>;
2108                         qcom,channel = <0>;
2109                         #address-cells = <2>;
2110                         #size-cells = <0>;
2111                         interrupt-controller;
2112                         #interrupt-cells = <4>;
2113                 };
2114
2115                 usb3: usb@a8f8800 {
2116                         compatible = "qcom,msm8998-dwc3", "qcom,dwc3";
2117                         reg = <0x0a8f8800 0x400>;
2118                         status = "disabled";
2119                         #address-cells = <1>;
2120                         #size-cells = <1>;
2121                         ranges;
2122
2123                         clocks = <&gcc GCC_CFG_NOC_USB3_AXI_CLK>,
2124                                  <&gcc GCC_USB30_MASTER_CLK>,
2125                                  <&gcc GCC_AGGRE1_USB3_AXI_CLK>,
2126                                  <&gcc GCC_USB30_SLEEP_CLK>,
2127                                  <&gcc GCC_USB30_MOCK_UTMI_CLK>;
2128                         clock-names = "cfg_noc",
2129                                       "core",
2130                                       "iface",
2131                                       "sleep",
2132                                       "mock_utmi";
2133
2134                         assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
2135                                           <&gcc GCC_USB30_MASTER_CLK>;
2136                         assigned-clock-rates = <19200000>, <120000000>;
2137
2138                         interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
2139                                      <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
2140                         interrupt-names = "hs_phy_irq", "ss_phy_irq";
2141
2142                         power-domains = <&gcc USB_30_GDSC>;
2143
2144                         resets = <&gcc GCC_USB_30_BCR>;
2145
2146                         usb3_dwc3: usb@a800000 {
2147                                 compatible = "snps,dwc3";
2148                                 reg = <0x0a800000 0xcd00>;
2149                                 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
2150                                 snps,dis_u2_susphy_quirk;
2151                                 snps,dis_enblslpm_quirk;
2152                                 phys = <&qusb2phy>, <&usb1_ssphy>;
2153                                 phy-names = "usb2-phy", "usb3-phy";
2154                                 snps,has-lpm-erratum;
2155                                 snps,hird-threshold = /bits/ 8 <0x10>;
2156                         };
2157                 };
2158
2159                 usb3phy: phy@c010000 {
2160                         compatible = "qcom,msm8998-qmp-usb3-phy";
2161                         reg = <0x0c010000 0x18c>;
2162                         status = "disabled";
2163                         #address-cells = <1>;
2164                         #size-cells = <1>;
2165                         ranges;
2166
2167                         clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
2168                                  <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
2169                                  <&gcc GCC_USB3_CLKREF_CLK>;
2170                         clock-names = "aux", "cfg_ahb", "ref";
2171
2172                         resets = <&gcc GCC_USB3_PHY_BCR>,
2173                                  <&gcc GCC_USB3PHY_PHY_BCR>;
2174                         reset-names = "phy", "common";
2175
2176                         usb1_ssphy: phy@c010200 {
2177                                 reg = <0xc010200 0x128>,
2178                                       <0xc010400 0x200>,
2179                                       <0xc010c00 0x20c>,
2180                                       <0xc010600 0x128>,
2181                                       <0xc010800 0x200>;
2182                                 #phy-cells = <0>;
2183                                 #clock-cells = <0>;
2184                                 clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
2185                                 clock-names = "pipe0";
2186                                 clock-output-names = "usb3_phy_pipe_clk_src";
2187                         };
2188                 };
2189
2190                 qusb2phy: phy@c012000 {
2191                         compatible = "qcom,msm8998-qusb2-phy";
2192                         reg = <0x0c012000 0x2a8>;
2193                         status = "disabled";
2194                         #phy-cells = <0>;
2195
2196                         clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
2197                                  <&gcc GCC_RX1_USB2_CLKREF_CLK>;
2198                         clock-names = "cfg_ahb", "ref";
2199
2200                         resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
2201
2202                         nvmem-cells = <&qusb2_hstx_trim>;
2203                 };
2204
2205                 sdhc2: mmc@c0a4900 {
2206                         compatible = "qcom,msm8998-sdhci", "qcom,sdhci-msm-v4";
2207                         reg = <0x0c0a4900 0x314>, <0x0c0a4000 0x800>;
2208                         reg-names = "hc", "core";
2209
2210                         interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
2211                                      <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
2212                         interrupt-names = "hc_irq", "pwr_irq";
2213
2214                         clock-names = "iface", "core", "xo";
2215                         clocks = <&gcc GCC_SDCC2_AHB_CLK>,
2216                                  <&gcc GCC_SDCC2_APPS_CLK>,
2217                                  <&rpmcc RPM_SMD_XO_CLK_SRC>;
2218                         bus-width = <4>;
2219                         status = "disabled";
2220                 };
2221
2222                 blsp1_dma: dma-controller@c144000 {
2223                         compatible = "qcom,bam-v1.7.0";
2224                         reg = <0x0c144000 0x25000>;
2225                         interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
2226                         clocks = <&gcc GCC_BLSP1_AHB_CLK>;
2227                         clock-names = "bam_clk";
2228                         #dma-cells = <1>;
2229                         qcom,ee = <0>;
2230                         qcom,controlled-remotely;
2231                         num-channels = <18>;
2232                         qcom,num-ees = <4>;
2233                 };
2234
2235                 blsp1_uart3: serial@c171000 {
2236                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2237                         reg = <0x0c171000 0x1000>;
2238                         interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
2239                         clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
2240                                  <&gcc GCC_BLSP1_AHB_CLK>;
2241                         clock-names = "core", "iface";
2242                         dmas = <&blsp1_dma 4>, <&blsp1_dma 5>;
2243                         dma-names = "tx", "rx";
2244                         pinctrl-names = "default";
2245                         pinctrl-0 = <&blsp1_uart3_on>;
2246                         status = "disabled";
2247                 };
2248
2249                 blsp1_i2c1: i2c@c175000 {
2250                         compatible = "qcom,i2c-qup-v2.2.1";
2251                         reg = <0x0c175000 0x600>;
2252                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
2253
2254                         clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
2255                                  <&gcc GCC_BLSP1_AHB_CLK>;
2256                         clock-names = "core", "iface";
2257                         dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
2258                         dma-names = "tx", "rx";
2259                         pinctrl-names = "default", "sleep";
2260                         pinctrl-0 = <&blsp1_i2c1_default>;
2261                         pinctrl-1 = <&blsp1_i2c1_sleep>;
2262                         clock-frequency = <400000>;
2263
2264                         status = "disabled";
2265                         #address-cells = <1>;
2266                         #size-cells = <0>;
2267                 };
2268
2269                 blsp1_i2c2: i2c@c176000 {
2270                         compatible = "qcom,i2c-qup-v2.2.1";
2271                         reg = <0x0c176000 0x600>;
2272                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2273
2274                         clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
2275                                  <&gcc GCC_BLSP1_AHB_CLK>;
2276                         clock-names = "core", "iface";
2277                         dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
2278                         dma-names = "tx", "rx";
2279                         pinctrl-names = "default", "sleep";
2280                         pinctrl-0 = <&blsp1_i2c2_default>;
2281                         pinctrl-1 = <&blsp1_i2c2_sleep>;
2282                         clock-frequency = <400000>;
2283
2284                         status = "disabled";
2285                         #address-cells = <1>;
2286                         #size-cells = <0>;
2287                 };
2288
2289                 blsp1_i2c3: i2c@c177000 {
2290                         compatible = "qcom,i2c-qup-v2.2.1";
2291                         reg = <0x0c177000 0x600>;
2292                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
2293
2294                         clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
2295                                  <&gcc GCC_BLSP1_AHB_CLK>;
2296                         clock-names = "core", "iface";
2297                         dmas = <&blsp1_dma 10>, <&blsp1_dma 11>;
2298                         dma-names = "tx", "rx";
2299                         pinctrl-names = "default", "sleep";
2300                         pinctrl-0 = <&blsp1_i2c3_default>;
2301                         pinctrl-1 = <&blsp1_i2c3_sleep>;
2302                         clock-frequency = <400000>;
2303
2304                         status = "disabled";
2305                         #address-cells = <1>;
2306                         #size-cells = <0>;
2307                 };
2308
2309                 blsp1_i2c4: i2c@c178000 {
2310                         compatible = "qcom,i2c-qup-v2.2.1";
2311                         reg = <0x0c178000 0x600>;
2312                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
2313
2314                         clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
2315                                  <&gcc GCC_BLSP1_AHB_CLK>;
2316                         clock-names = "core", "iface";
2317                         dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
2318                         dma-names = "tx", "rx";
2319                         pinctrl-names = "default", "sleep";
2320                         pinctrl-0 = <&blsp1_i2c4_default>;
2321                         pinctrl-1 = <&blsp1_i2c4_sleep>;
2322                         clock-frequency = <400000>;
2323
2324                         status = "disabled";
2325                         #address-cells = <1>;
2326                         #size-cells = <0>;
2327                 };
2328
2329                 blsp1_i2c5: i2c@c179000 {
2330                         compatible = "qcom,i2c-qup-v2.2.1";
2331                         reg = <0x0c179000 0x600>;
2332                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
2333
2334                         clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
2335                                  <&gcc GCC_BLSP1_AHB_CLK>;
2336                         clock-names = "core", "iface";
2337                         dmas = <&blsp1_dma 14>, <&blsp1_dma 15>;
2338                         dma-names = "tx", "rx";
2339                         pinctrl-names = "default", "sleep";
2340                         pinctrl-0 = <&blsp1_i2c5_default>;
2341                         pinctrl-1 = <&blsp1_i2c5_sleep>;
2342                         clock-frequency = <400000>;
2343
2344                         status = "disabled";
2345                         #address-cells = <1>;
2346                         #size-cells = <0>;
2347                 };
2348
2349                 blsp1_i2c6: i2c@c17a000 {
2350                         compatible = "qcom,i2c-qup-v2.2.1";
2351                         reg = <0x0c17a000 0x600>;
2352                         interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
2353
2354                         clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
2355                                  <&gcc GCC_BLSP1_AHB_CLK>;
2356                         clock-names = "core", "iface";
2357                         dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
2358                         dma-names = "tx", "rx";
2359                         pinctrl-names = "default", "sleep";
2360                         pinctrl-0 = <&blsp1_i2c6_default>;
2361                         pinctrl-1 = <&blsp1_i2c6_sleep>;
2362                         clock-frequency = <400000>;
2363
2364                         status = "disabled";
2365                         #address-cells = <1>;
2366                         #size-cells = <0>;
2367                 };
2368
2369                 blsp1_spi1: spi@c175000 {
2370                         compatible = "qcom,spi-qup-v2.2.1";
2371                         reg = <0x0c175000 0x600>;
2372                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
2373
2374                         clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
2375                                  <&gcc GCC_BLSP1_AHB_CLK>;
2376                         clock-names = "core", "iface";
2377                         dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
2378                         dma-names = "tx", "rx";
2379                         pinctrl-names = "default";
2380                         pinctrl-0 = <&blsp1_spi1_default>;
2381
2382                         status = "disabled";
2383                         #address-cells = <1>;
2384                         #size-cells = <0>;
2385                 };
2386
2387                 blsp1_spi2: spi@c176000 {
2388                         compatible = "qcom,spi-qup-v2.2.1";
2389                         reg = <0x0c176000 0x600>;
2390                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2391
2392                         clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
2393                                  <&gcc GCC_BLSP1_AHB_CLK>;
2394                         clock-names = "core", "iface";
2395                         dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
2396                         dma-names = "tx", "rx";
2397                         pinctrl-names = "default";
2398                         pinctrl-0 = <&blsp1_spi2_default>;
2399
2400                         status = "disabled";
2401                         #address-cells = <1>;
2402                         #size-cells = <0>;
2403                 };
2404
2405                 blsp1_spi3: spi@c177000 {
2406                         compatible = "qcom,spi-qup-v2.2.1";
2407                         reg = <0x0c177000 0x600>;
2408                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
2409
2410                         clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
2411                                  <&gcc GCC_BLSP1_AHB_CLK>;
2412                         clock-names = "core", "iface";
2413                         dmas = <&blsp1_dma 10>, <&blsp1_dma 11>;
2414                         dma-names = "tx", "rx";
2415                         pinctrl-names = "default";
2416                         pinctrl-0 = <&blsp1_spi3_default>;
2417
2418                         status = "disabled";
2419                         #address-cells = <1>;
2420                         #size-cells = <0>;
2421                 };
2422
2423                 blsp1_spi4: spi@c178000 {
2424                         compatible = "qcom,spi-qup-v2.2.1";
2425                         reg = <0x0c178000 0x600>;
2426                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
2427
2428                         clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
2429                                  <&gcc GCC_BLSP1_AHB_CLK>;
2430                         clock-names = "core", "iface";
2431                         dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
2432                         dma-names = "tx", "rx";
2433                         pinctrl-names = "default";
2434                         pinctrl-0 = <&blsp1_spi4_default>;
2435
2436                         status = "disabled";
2437                         #address-cells = <1>;
2438                         #size-cells = <0>;
2439                 };
2440
2441                 blsp1_spi5: spi@c179000 {
2442                         compatible = "qcom,spi-qup-v2.2.1";
2443                         reg = <0x0c179000 0x600>;
2444                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
2445
2446                         clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
2447                                  <&gcc GCC_BLSP1_AHB_CLK>;
2448                         clock-names = "core", "iface";
2449                         dmas = <&blsp1_dma 14>, <&blsp1_dma 15>;
2450                         dma-names = "tx", "rx";
2451                         pinctrl-names = "default";
2452                         pinctrl-0 = <&blsp1_spi5_default>;
2453
2454                         status = "disabled";
2455                         #address-cells = <1>;
2456                         #size-cells = <0>;
2457                 };
2458
2459                 blsp1_spi6: spi@c17a000 {
2460                         compatible = "qcom,spi-qup-v2.2.1";
2461                         reg = <0x0c17a000 0x600>;
2462                         interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
2463
2464                         clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>,
2465                                  <&gcc GCC_BLSP1_AHB_CLK>;
2466                         clock-names = "core", "iface";
2467                         dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
2468                         dma-names = "tx", "rx";
2469                         pinctrl-names = "default";
2470                         pinctrl-0 = <&blsp1_spi6_default>;
2471
2472                         status = "disabled";
2473                         #address-cells = <1>;
2474                         #size-cells = <0>;
2475                 };
2476
2477                 blsp2_dma: dma-controller@c184000 {
2478                         compatible = "qcom,bam-v1.7.0";
2479                         reg = <0x0c184000 0x25000>;
2480                         interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
2481                         clocks = <&gcc GCC_BLSP2_AHB_CLK>;
2482                         clock-names = "bam_clk";
2483                         #dma-cells = <1>;
2484                         qcom,ee = <0>;
2485                         qcom,controlled-remotely;
2486                         num-channels = <18>;
2487                         qcom,num-ees = <4>;
2488                 };
2489
2490                 blsp2_uart1: serial@c1b0000 {
2491                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2492                         reg = <0x0c1b0000 0x1000>;
2493                         interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
2494                         clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
2495                                  <&gcc GCC_BLSP2_AHB_CLK>;
2496                         clock-names = "core", "iface";
2497                         status = "disabled";
2498                 };
2499
2500                 blsp2_i2c1: i2c@c1b5000 {
2501                         compatible = "qcom,i2c-qup-v2.2.1";
2502                         reg = <0x0c1b5000 0x600>;
2503                         interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
2504
2505                         clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
2506                                  <&gcc GCC_BLSP2_AHB_CLK>;
2507                         clock-names = "core", "iface";
2508                         dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
2509                         dma-names = "tx", "rx";
2510                         pinctrl-names = "default", "sleep";
2511                         pinctrl-0 = <&blsp2_i2c1_default>;
2512                         pinctrl-1 = <&blsp2_i2c1_sleep>;
2513                         clock-frequency = <400000>;
2514
2515                         status = "disabled";
2516                         #address-cells = <1>;
2517                         #size-cells = <0>;
2518                 };
2519
2520                 blsp2_i2c2: i2c@c1b6000 {
2521                         compatible = "qcom,i2c-qup-v2.2.1";
2522                         reg = <0x0c1b6000 0x600>;
2523                         interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
2524
2525                         clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
2526                                  <&gcc GCC_BLSP2_AHB_CLK>;
2527                         clock-names = "core", "iface";
2528                         dmas = <&blsp2_dma 8>, <&blsp2_dma 9>;
2529                         dma-names = "tx", "rx";
2530                         pinctrl-names = "default", "sleep";
2531                         pinctrl-0 = <&blsp2_i2c2_default>;
2532                         pinctrl-1 = <&blsp2_i2c2_sleep>;
2533                         clock-frequency = <400000>;
2534
2535                         status = "disabled";
2536                         #address-cells = <1>;
2537                         #size-cells = <0>;
2538                 };
2539
2540                 blsp2_i2c3: i2c@c1b7000 {
2541                         compatible = "qcom,i2c-qup-v2.2.1";
2542                         reg = <0x0c1b7000 0x600>;
2543                         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
2544
2545                         clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
2546                                  <&gcc GCC_BLSP2_AHB_CLK>;
2547                         clock-names = "core", "iface";
2548                         dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
2549                         dma-names = "tx", "rx";
2550                         pinctrl-names = "default", "sleep";
2551                         pinctrl-0 = <&blsp2_i2c3_default>;
2552                         pinctrl-1 = <&blsp2_i2c3_sleep>;
2553                         clock-frequency = <400000>;
2554
2555                         status = "disabled";
2556                         #address-cells = <1>;
2557                         #size-cells = <0>;
2558                 };
2559
2560                 blsp2_i2c4: i2c@c1b8000 {
2561                         compatible = "qcom,i2c-qup-v2.2.1";
2562                         reg = <0x0c1b8000 0x600>;
2563                         interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
2564
2565                         clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>,
2566                                  <&gcc GCC_BLSP2_AHB_CLK>;
2567                         clock-names = "core", "iface";
2568                         dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
2569                         dma-names = "tx", "rx";
2570                         pinctrl-names = "default", "sleep";
2571                         pinctrl-0 = <&blsp2_i2c4_default>;
2572                         pinctrl-1 = <&blsp2_i2c4_sleep>;
2573                         clock-frequency = <400000>;
2574
2575                         status = "disabled";
2576                         #address-cells = <1>;
2577                         #size-cells = <0>;
2578                 };
2579
2580                 blsp2_i2c5: i2c@c1b9000 {
2581                         compatible = "qcom,i2c-qup-v2.2.1";
2582                         reg = <0x0c1b9000 0x600>;
2583                         interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
2584
2585                         clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
2586                                  <&gcc GCC_BLSP2_AHB_CLK>;
2587                         clock-names = "core", "iface";
2588                         dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
2589                         dma-names = "tx", "rx";
2590                         pinctrl-names = "default", "sleep";
2591                         pinctrl-0 = <&blsp2_i2c5_default>;
2592                         pinctrl-1 = <&blsp2_i2c5_sleep>;
2593                         clock-frequency = <400000>;
2594
2595                         status = "disabled";
2596                         #address-cells = <1>;
2597                         #size-cells = <0>;
2598                 };
2599
2600                 blsp2_i2c6: i2c@c1ba000 {
2601                         compatible = "qcom,i2c-qup-v2.2.1";
2602                         reg = <0x0c1ba000 0x600>;
2603                         interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
2604
2605                         clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>,
2606                                  <&gcc GCC_BLSP2_AHB_CLK>;
2607                         clock-names = "core", "iface";
2608                         dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
2609                         dma-names = "tx", "rx";
2610                         pinctrl-names = "default", "sleep";
2611                         pinctrl-0 = <&blsp2_i2c6_default>;
2612                         pinctrl-1 = <&blsp2_i2c6_sleep>;
2613                         clock-frequency = <400000>;
2614
2615                         status = "disabled";
2616                         #address-cells = <1>;
2617                         #size-cells = <0>;
2618                 };
2619
2620                 blsp2_spi1: spi@c1b5000 {
2621                         compatible = "qcom,spi-qup-v2.2.1";
2622                         reg = <0x0c1b5000 0x600>;
2623                         interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
2624
2625                         clocks = <&gcc GCC_BLSP2_QUP1_SPI_APPS_CLK>,
2626                                  <&gcc GCC_BLSP2_AHB_CLK>;
2627                         clock-names = "core", "iface";
2628                         dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
2629                         dma-names = "tx", "rx";
2630                         pinctrl-names = "default";
2631                         pinctrl-0 = <&blsp2_spi1_default>;
2632
2633                         status = "disabled";
2634                         #address-cells = <1>;
2635                         #size-cells = <0>;
2636                 };
2637
2638                 blsp2_spi2: spi@c1b6000 {
2639                         compatible = "qcom,spi-qup-v2.2.1";
2640                         reg = <0x0c1b6000 0x600>;
2641                         interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
2642
2643                         clocks = <&gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>,
2644                                  <&gcc GCC_BLSP2_AHB_CLK>;
2645                         clock-names = "core", "iface";
2646                         dmas = <&blsp2_dma 8>, <&blsp2_dma 9>;
2647                         dma-names = "tx", "rx";
2648                         pinctrl-names = "default";
2649                         pinctrl-0 = <&blsp2_spi2_default>;
2650
2651                         status = "disabled";
2652                         #address-cells = <1>;
2653                         #size-cells = <0>;
2654                 };
2655
2656                 blsp2_spi3: spi@c1b7000 {
2657                         compatible = "qcom,spi-qup-v2.2.1";
2658                         reg = <0x0c1b7000 0x600>;
2659                         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
2660
2661                         clocks = <&gcc GCC_BLSP2_QUP3_SPI_APPS_CLK>,
2662                                  <&gcc GCC_BLSP2_AHB_CLK>;
2663                         clock-names = "core", "iface";
2664                         dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
2665                         dma-names = "tx", "rx";
2666                         pinctrl-names = "default";
2667                         pinctrl-0 = <&blsp2_spi3_default>;
2668
2669                         status = "disabled";
2670                         #address-cells = <1>;
2671                         #size-cells = <0>;
2672                 };
2673
2674                 blsp2_spi4: spi@c1b8000 {
2675                         compatible = "qcom,spi-qup-v2.2.1";
2676                         reg = <0x0c1b8000 0x600>;
2677                         interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
2678
2679                         clocks = <&gcc GCC_BLSP2_QUP4_SPI_APPS_CLK>,
2680                                  <&gcc GCC_BLSP2_AHB_CLK>;
2681                         clock-names = "core", "iface";
2682                         dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
2683                         dma-names = "tx", "rx";
2684                         pinctrl-names = "default";
2685                         pinctrl-0 = <&blsp2_spi4_default>;
2686
2687                         status = "disabled";
2688                         #address-cells = <1>;
2689                         #size-cells = <0>;
2690                 };
2691
2692                 blsp2_spi5: spi@c1b9000 {
2693                         compatible = "qcom,spi-qup-v2.2.1";
2694                         reg = <0x0c1b9000 0x600>;
2695                         interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
2696
2697                         clocks = <&gcc GCC_BLSP2_QUP5_SPI_APPS_CLK>,
2698                                  <&gcc GCC_BLSP2_AHB_CLK>;
2699                         clock-names = "core", "iface";
2700                         dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
2701                         dma-names = "tx", "rx";
2702                         pinctrl-names = "default";
2703                         pinctrl-0 = <&blsp2_spi5_default>;
2704
2705                         status = "disabled";
2706                         #address-cells = <1>;
2707                         #size-cells = <0>;
2708                 };
2709
2710                 blsp2_spi6: spi@c1ba000 {
2711                         compatible = "qcom,spi-qup-v2.2.1";
2712                         reg = <0x0c1ba000 0x600>;
2713                         interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
2714
2715                         clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
2716                                  <&gcc GCC_BLSP2_AHB_CLK>;
2717                         clock-names = "core", "iface";
2718                         dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
2719                         dma-names = "tx", "rx";
2720                         pinctrl-names = "default";
2721                         pinctrl-0 = <&blsp2_spi6_default>;
2722
2723                         status = "disabled";
2724                         #address-cells = <1>;
2725                         #size-cells = <0>;
2726                 };
2727
2728                 mmcc: clock-controller@c8c0000 {
2729                         compatible = "qcom,mmcc-msm8998";
2730                         #clock-cells = <1>;
2731                         #reset-cells = <1>;
2732                         #power-domain-cells = <1>;
2733                         reg = <0xc8c0000 0x40000>;
2734
2735                         clock-names = "xo",
2736                                       "gpll0",
2737                                       "dsi0dsi",
2738                                       "dsi0byte",
2739                                       "dsi1dsi",
2740                                       "dsi1byte",
2741                                       "hdmipll",
2742                                       "dplink",
2743                                       "dpvco",
2744                                       "gpll0_div";
2745                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
2746                                  <&gcc GCC_MMSS_GPLL0_CLK>,
2747                                  <&mdss_dsi0_phy 1>,
2748                                  <&mdss_dsi0_phy 0>,
2749                                  <&mdss_dsi1_phy 1>,
2750                                  <&mdss_dsi1_phy 0>,
2751                                  <0>,
2752                                  <0>,
2753                                  <0>,
2754                                  <&gcc GCC_MMSS_GPLL0_DIV_CLK>;
2755                 };
2756
2757                 mdss: display-subsystem@c900000 {
2758                         compatible = "qcom,msm8998-mdss";
2759                         reg = <0x0c900000 0x1000>;
2760                         reg-names = "mdss";
2761
2762                         interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
2763                         interrupt-controller;
2764                         #interrupt-cells = <1>;
2765
2766                         clocks = <&mmcc MDSS_AHB_CLK>,
2767                                  <&mmcc MDSS_AXI_CLK>,
2768                                  <&mmcc MDSS_MDP_CLK>;
2769                         clock-names = "iface",
2770                                       "bus",
2771                                       "core";
2772
2773                         power-domains = <&mmcc MDSS_GDSC>;
2774                         iommus = <&mmss_smmu 0>;
2775
2776                         #address-cells = <1>;
2777                         #size-cells = <1>;
2778                         ranges;
2779
2780                         status = "disabled";
2781
2782                         mdss_mdp: display-controller@c901000 {
2783                                 compatible = "qcom,msm8998-dpu";
2784                                 reg = <0x0c901000 0x8f000>,
2785                                       <0x0c9a8e00 0xf0>,
2786                                       <0x0c9b0000 0x2008>,
2787                                       <0x0c9b8000 0x1040>;
2788                                 reg-names = "mdp",
2789                                             "regdma",
2790                                             "vbif",
2791                                             "vbif_nrt";
2792
2793                                 interrupt-parent = <&mdss>;
2794                                 interrupts = <0>;
2795
2796                                 clocks = <&mmcc MDSS_AHB_CLK>,
2797                                          <&mmcc MDSS_AXI_CLK>,
2798                                          <&mmcc MNOC_AHB_CLK>,
2799                                          <&mmcc MDSS_MDP_CLK>,
2800                                          <&mmcc MDSS_VSYNC_CLK>;
2801                                 clock-names = "iface",
2802                                               "bus",
2803                                               "mnoc",
2804                                               "core",
2805                                               "vsync";
2806
2807                                 assigned-clocks = <&mmcc MDSS_VSYNC_CLK>;
2808                                 assigned-clock-rates = <19200000>;
2809
2810                                 operating-points-v2 = <&mdp_opp_table>;
2811                                 power-domains = <&rpmpd MSM8998_VDDMX>;
2812
2813                                 mdp_opp_table: opp-table {
2814                                         compatible = "operating-points-v2";
2815
2816                                         opp-171430000 {
2817                                                 opp-hz = /bits/ 64 <171430000>;
2818                                                 required-opps = <&rpmpd_opp_low_svs>;
2819                                         };
2820
2821                                         opp-275000000 {
2822                                                 opp-hz = /bits/ 64 <275000000>;
2823                                                 required-opps = <&rpmpd_opp_svs>;
2824                                         };
2825
2826                                         opp-330000000 {
2827                                                 opp-hz = /bits/ 64 <330000000>;
2828                                                 required-opps = <&rpmpd_opp_nom>;
2829                                         };
2830
2831                                         opp-412500000 {
2832                                                 opp-hz = /bits/ 64 <412500000>;
2833                                                 required-opps = <&rpmpd_opp_turbo>;
2834                                         };
2835                                 };
2836
2837                                 ports {
2838                                         #address-cells = <1>;
2839                                         #size-cells = <0>;
2840
2841                                         port@0 {
2842                                                 reg = <0>;
2843
2844                                                 dpu_intf1_out: endpoint {
2845                                                         remote-endpoint = <&mdss_dsi0_in>;
2846                                                 };
2847                                         };
2848
2849                                         port@1 {
2850                                                 reg = <1>;
2851
2852                                                 dpu_intf2_out: endpoint {
2853                                                         remote-endpoint = <&mdss_dsi1_in>;
2854                                                 };
2855                                         };
2856                                 };
2857                         };
2858
2859                         mdss_dsi0: dsi@c994000 {
2860                                 compatible = "qcom,msm8998-dsi-ctrl", "qcom,mdss-dsi-ctrl";
2861                                 reg = <0x0c994000 0x400>;
2862                                 reg-names = "dsi_ctrl";
2863
2864                                 interrupt-parent = <&mdss>;
2865                                 interrupts = <4>;
2866
2867                                 clocks = <&mmcc MDSS_BYTE0_CLK>,
2868                                          <&mmcc MDSS_BYTE0_INTF_CLK>,
2869                                          <&mmcc MDSS_PCLK0_CLK>,
2870                                          <&mmcc MDSS_ESC0_CLK>,
2871                                          <&mmcc MDSS_AHB_CLK>,
2872                                          <&mmcc MDSS_AXI_CLK>;
2873                                 clock-names = "byte",
2874                                               "byte_intf",
2875                                               "pixel",
2876                                               "core",
2877                                               "iface",
2878                                               "bus";
2879                                 assigned-clocks = <&mmcc BYTE0_CLK_SRC>,
2880                                                   <&mmcc PCLK0_CLK_SRC>;
2881                                 assigned-clock-parents = <&mdss_dsi0_phy 0>,
2882                                                          <&mdss_dsi0_phy 1>;
2883
2884                                 operating-points-v2 = <&dsi_opp_table>;
2885                                 power-domains = <&rpmpd MSM8998_VDDCX>;
2886
2887                                 phys = <&mdss_dsi0_phy>;
2888                                 phy-names = "dsi";
2889
2890                                 #address-cells = <1>;
2891                                 #size-cells = <0>;
2892
2893                                 status = "disabled";
2894
2895                                 ports {
2896                                         #address-cells = <1>;
2897                                         #size-cells = <0>;
2898
2899                                         port@0 {
2900                                                 reg = <0>;
2901
2902                                                 mdss_dsi0_in: endpoint {
2903                                                         remote-endpoint = <&dpu_intf1_out>;
2904                                                 };
2905                                         };
2906
2907                                         port@1 {
2908                                                 reg = <1>;
2909
2910                                                 mdss_dsi0_out: endpoint {
2911                                                 };
2912                                         };
2913                                 };
2914                         };
2915
2916                         mdss_dsi0_phy: phy@c994400 {
2917                                 compatible = "qcom,dsi-phy-10nm-8998";
2918                                 reg = <0x0c994400 0x200>,
2919                                       <0x0c994600 0x280>,
2920                                       <0x0c994a00 0x1e0>;
2921                                 reg-names = "dsi_phy",
2922                                             "dsi_phy_lane",
2923                                             "dsi_pll";
2924
2925                                 clocks = <&mmcc MDSS_AHB_CLK>,
2926                                          <&rpmcc RPM_SMD_XO_CLK_SRC>;
2927                                 clock-names = "iface", "ref";
2928
2929                                 #clock-cells = <1>;
2930                                 #phy-cells = <0>;
2931
2932                                 status = "disabled";
2933                         };
2934
2935                         mdss_dsi1: dsi@c996000 {
2936                                 compatible = "qcom,msm8998-dsi-ctrl", "qcom,mdss-dsi-ctrl";
2937                                 reg = <0x0c996000 0x400>;
2938                                 reg-names = "dsi_ctrl";
2939
2940                                 interrupt-parent = <&mdss>;
2941                                 interrupts = <5>;
2942
2943                                 clocks = <&mmcc MDSS_BYTE1_CLK>,
2944                                          <&mmcc MDSS_BYTE1_INTF_CLK>,
2945                                          <&mmcc MDSS_PCLK1_CLK>,
2946                                          <&mmcc MDSS_ESC1_CLK>,
2947                                          <&mmcc MDSS_AHB_CLK>,
2948                                          <&mmcc MDSS_AXI_CLK>;
2949                                 clock-names = "byte",
2950                                               "byte_intf",
2951                                               "pixel",
2952                                               "core",
2953                                               "iface",
2954                                               "bus";
2955                                 assigned-clocks = <&mmcc BYTE1_CLK_SRC>,
2956                                                   <&mmcc PCLK1_CLK_SRC>;
2957                                 assigned-clock-parents = <&mdss_dsi1_phy 0>,
2958                                                          <&mdss_dsi1_phy 1>;
2959
2960                                 operating-points-v2 = <&dsi_opp_table>;
2961                                 power-domains = <&rpmpd MSM8998_VDDCX>;
2962
2963                                 phys = <&mdss_dsi1_phy>;
2964                                 phy-names = "dsi";
2965
2966                                 #address-cells = <1>;
2967                                 #size-cells = <0>;
2968
2969                                 status = "disabled";
2970
2971                                 ports {
2972                                         #address-cells = <1>;
2973                                         #size-cells = <0>;
2974
2975                                         port@0 {
2976                                                 reg = <0>;
2977
2978                                                 mdss_dsi1_in: endpoint {
2979                                                         remote-endpoint = <&dpu_intf2_out>;
2980                                                 };
2981                                         };
2982
2983                                         port@1 {
2984                                                 reg = <1>;
2985
2986                                                 mdss_dsi1_out: endpoint {
2987                                                 };
2988                                         };
2989                                 };
2990                         };
2991
2992                         mdss_dsi1_phy: phy@c996400 {
2993                                 compatible = "qcom,dsi-phy-10nm-8998";
2994                                 reg = <0x0c996400 0x200>,
2995                                       <0x0c996600 0x280>,
2996                                       <0x0c996a00 0x10e>;
2997                                 reg-names = "dsi_phy",
2998                                             "dsi_phy_lane",
2999                                             "dsi_pll";
3000
3001                                 clocks = <&mmcc MDSS_AHB_CLK>,
3002                                          <&rpmcc RPM_SMD_XO_CLK_SRC>;
3003                                 clock-names = "iface",
3004                                               "ref";
3005
3006                                 #clock-cells = <1>;
3007                                 #phy-cells = <0>;
3008
3009                                 status = "disabled";
3010                         };
3011                 };
3012
3013                 mmss_smmu: iommu@cd00000 {
3014                         compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
3015                         reg = <0x0cd00000 0x40000>;
3016                         #iommu-cells = <1>;
3017
3018                         clocks = <&mmcc MNOC_AHB_CLK>,
3019                                  <&mmcc BIMC_SMMU_AHB_CLK>,
3020                                  <&mmcc BIMC_SMMU_AXI_CLK>;
3021                         clock-names = "iface-mm",
3022                                       "iface-smmu",
3023                                       "bus-smmu";
3024
3025                         #global-interrupts = <0>;
3026                         interrupts =
3027                                 <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
3028                                 <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
3029                                 <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
3030                                 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
3031                                 <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
3032                                 <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
3033                                 <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
3034                                 <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
3035                                 <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
3036                                 <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
3037                                 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
3038                                 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
3039                                 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
3040                                 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
3041                                 <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
3042                                 <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
3043                                 <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
3044                                 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
3045                                 <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
3046                                 <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
3047
3048                         power-domains = <&mmcc BIMC_SMMU_GDSC>;
3049                 };
3050
3051                 remoteproc_adsp: remoteproc@17300000 {
3052                         compatible = "qcom,msm8998-adsp-pas";
3053                         reg = <0x17300000 0x4040>;
3054
3055                         interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
3056                                               <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
3057                                               <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
3058                                               <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
3059                                               <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
3060                         interrupt-names = "wdog", "fatal", "ready",
3061                                           "handover", "stop-ack";
3062
3063                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
3064                         clock-names = "xo";
3065
3066                         memory-region = <&adsp_mem>;
3067
3068                         qcom,smem-states = <&adsp_smp2p_out 0>;
3069                         qcom,smem-state-names = "stop";
3070
3071                         power-domains = <&rpmpd MSM8998_VDDCX>;
3072                         power-domain-names = "cx";
3073
3074                         status = "disabled";
3075
3076                         glink-edge {
3077                                 interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
3078                                 label = "lpass";
3079                                 qcom,remote-pid = <2>;
3080                                 mboxes = <&apcs_glb 9>;
3081                         };
3082                 };
3083
3084                 apcs_glb: mailbox@17911000 {
3085                         compatible = "qcom,msm8998-apcs-hmss-global",
3086                                      "qcom,msm8994-apcs-kpss-global";
3087                         reg = <0x17911000 0x1000>;
3088
3089                         #mbox-cells = <1>;
3090                 };
3091
3092                 timer@17920000 {
3093                         #address-cells = <1>;
3094                         #size-cells = <1>;
3095                         ranges;
3096                         compatible = "arm,armv7-timer-mem";
3097                         reg = <0x17920000 0x1000>;
3098
3099                         frame@17921000 {
3100                                 frame-number = <0>;
3101                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
3102                                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
3103                                 reg = <0x17921000 0x1000>,
3104                                       <0x17922000 0x1000>;
3105                         };
3106
3107                         frame@17923000 {
3108                                 frame-number = <1>;
3109                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
3110                                 reg = <0x17923000 0x1000>;
3111                                 status = "disabled";
3112                         };
3113
3114                         frame@17924000 {
3115                                 frame-number = <2>;
3116                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
3117                                 reg = <0x17924000 0x1000>;
3118                                 status = "disabled";
3119                         };
3120
3121                         frame@17925000 {
3122                                 frame-number = <3>;
3123                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
3124                                 reg = <0x17925000 0x1000>;
3125                                 status = "disabled";
3126                         };
3127
3128                         frame@17926000 {
3129                                 frame-number = <4>;
3130                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
3131                                 reg = <0x17926000 0x1000>;
3132                                 status = "disabled";
3133                         };
3134
3135                         frame@17927000 {
3136                                 frame-number = <5>;
3137                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
3138                                 reg = <0x17927000 0x1000>;
3139                                 status = "disabled";
3140                         };
3141
3142                         frame@17928000 {
3143                                 frame-number = <6>;
3144                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
3145                                 reg = <0x17928000 0x1000>;
3146                                 status = "disabled";
3147                         };
3148                 };
3149
3150                 intc: interrupt-controller@17a00000 {
3151                         compatible = "arm,gic-v3";
3152                         reg = <0x17a00000 0x10000>,       /* GICD */
3153                               <0x17b00000 0x100000>;      /* GICR * 8 */
3154                         #interrupt-cells = <3>;
3155                         #address-cells = <1>;
3156                         #size-cells = <1>;
3157                         ranges;
3158                         interrupt-controller;
3159                         #redistributor-regions = <1>;
3160                         redistributor-stride = <0x0 0x20000>;
3161                         interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
3162                 };
3163
3164                 wifi: wifi@18800000 {
3165                         compatible = "qcom,wcn3990-wifi";
3166                         status = "disabled";
3167                         reg = <0x18800000 0x800000>;
3168                         reg-names = "membase";
3169                         memory-region = <&wlan_msa_mem>;
3170                         clocks = <&rpmcc RPM_SMD_RF_CLK2_PIN>;
3171                         clock-names = "cxo_ref_clk_pin";
3172                         interrupts =
3173                                 <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>,
3174                                 <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
3175                                 <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
3176                                 <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
3177                                 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
3178                                 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
3179                                 <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
3180                                 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
3181                                 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
3182                                 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
3183                                 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
3184                                 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
3185                         iommus = <&anoc2_smmu 0x1900>,
3186                                  <&anoc2_smmu 0x1901>;
3187                         qcom,snoc-host-cap-8bit-quirk;
3188                 };
3189         };
3190 };