~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/qcom/msm8998.dtsi

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php