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

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

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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.12 ] ~ [ 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", "qcom,glink-smd-rpm";
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                 lpass_q6_smmu: iommu@5100000 {
1590                         compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
1591                         reg = <0x05100000 0x40000>;
1592                         clocks = <&gcc HLOS1_VOTE_LPASS_ADSP_SMMU_CLK>;
1593                         clock-names = "bus";
1594 
1595                         #global-interrupts = <0>;
1596                         #iommu-cells = <1>;
1597                         interrupts =
1598                                 <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>,
1599                                 <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>,
1600                                 <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>,
1601                                 <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
1602                                 <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
1603                                 <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
1604                                 <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
1605                                 <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
1606                                 <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
1607                                 <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
1608                                 <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
1609                                 <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
1610                                 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
1611 
1612                         power-domains = <&gcc LPASS_ADSP_GDSC>;
1613                         status = "disabled";
1614                 };
1615 
1616                 remoteproc_slpi: remoteproc@5800000 {
1617                         compatible = "qcom,msm8998-slpi-pas";
1618                         reg = <0x05800000 0x4040>;
1619 
1620                         interrupts-extended = <&intc GIC_SPI 390 IRQ_TYPE_EDGE_RISING>,
1621                                               <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1622                                               <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1623                                               <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1624                                               <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1625                         interrupt-names = "wdog", "fatal", "ready",
1626                                           "handover", "stop-ack";
1627 
1628                         px-supply = <&vreg_lvs2a_1p8>;
1629 
1630                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1631                         clock-names = "xo";
1632 
1633                         memory-region = <&slpi_mem>;
1634 
1635                         qcom,smem-states = <&slpi_smp2p_out 0>;
1636                         qcom,smem-state-names = "stop";
1637 
1638                         power-domains = <&rpmpd MSM8998_SSCCX>;
1639                         power-domain-names = "ssc_cx";
1640 
1641                         status = "disabled";
1642 
1643                         glink-edge {
1644                                 interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
1645                                 label = "dsps";
1646                                 qcom,remote-pid = <3>;
1647                                 mboxes = <&apcs_glb 27>;
1648                         };
1649                 };
1650 
1651                 stm: stm@6002000 {
1652                         compatible = "arm,coresight-stm", "arm,primecell";
1653                         reg = <0x06002000 0x1000>,
1654                               <0x16280000 0x180000>;
1655                         reg-names = "stm-base", "stm-stimulus-base";
1656                         status = "disabled";
1657 
1658                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1659                         clock-names = "apb_pclk", "atclk";
1660 
1661                         out-ports {
1662                                 port {
1663                                         stm_out: endpoint {
1664                                                 remote-endpoint = <&funnel0_in7>;
1665                                         };
1666                                 };
1667                         };
1668                 };
1669 
1670                 funnel1: funnel@6041000 {
1671                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1672                         reg = <0x06041000 0x1000>;
1673                         status = "disabled";
1674 
1675                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1676                         clock-names = "apb_pclk", "atclk";
1677 
1678                         out-ports {
1679                                 port {
1680                                         funnel0_out: endpoint {
1681                                                 remote-endpoint =
1682                                                   <&merge_funnel_in0>;
1683                                         };
1684                                 };
1685                         };
1686 
1687                         in-ports {
1688                                 #address-cells = <1>;
1689                                 #size-cells = <0>;
1690 
1691                                 port@7 {
1692                                         reg = <7>;
1693                                         funnel0_in7: endpoint {
1694                                                 remote-endpoint = <&stm_out>;
1695                                         };
1696                                 };
1697                         };
1698                 };
1699 
1700                 funnel2: funnel@6042000 {
1701                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1702                         reg = <0x06042000 0x1000>;
1703                         status = "disabled";
1704 
1705                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1706                         clock-names = "apb_pclk", "atclk";
1707 
1708                         out-ports {
1709                                 port {
1710                                         funnel1_out: endpoint {
1711                                                 remote-endpoint =
1712                                                   <&merge_funnel_in1>;
1713                                         };
1714                                 };
1715                         };
1716 
1717                         in-ports {
1718                                 #address-cells = <1>;
1719                                 #size-cells = <0>;
1720 
1721                                 port@6 {
1722                                         reg = <6>;
1723                                         funnel1_in6: endpoint {
1724                                                 remote-endpoint =
1725                                                   <&apss_merge_funnel_out>;
1726                                         };
1727                                 };
1728                         };
1729                 };
1730 
1731                 funnel3: funnel@6045000 {
1732                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1733                         reg = <0x06045000 0x1000>;
1734                         status = "disabled";
1735 
1736                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1737                         clock-names = "apb_pclk", "atclk";
1738 
1739                         out-ports {
1740                                 port {
1741                                         merge_funnel_out: endpoint {
1742                                                 remote-endpoint =
1743                                                   <&etf_in>;
1744                                         };
1745                                 };
1746                         };
1747 
1748                         in-ports {
1749                                 #address-cells = <1>;
1750                                 #size-cells = <0>;
1751 
1752                                 port@0 {
1753                                         reg = <0>;
1754                                         merge_funnel_in0: endpoint {
1755                                                 remote-endpoint =
1756                                                   <&funnel0_out>;
1757                                         };
1758                                 };
1759 
1760                                 port@1 {
1761                                         reg = <1>;
1762                                         merge_funnel_in1: endpoint {
1763                                                 remote-endpoint =
1764                                                   <&funnel1_out>;
1765                                         };
1766                                 };
1767                         };
1768                 };
1769 
1770                 replicator1: replicator@6046000 {
1771                         compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
1772                         reg = <0x06046000 0x1000>;
1773                         status = "disabled";
1774 
1775                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1776                         clock-names = "apb_pclk", "atclk";
1777 
1778                         out-ports {
1779                                 port {
1780                                         replicator_out: endpoint {
1781                                                 remote-endpoint = <&etr_in>;
1782                                         };
1783                                 };
1784                         };
1785 
1786                         in-ports {
1787                                 port {
1788                                         replicator_in: endpoint {
1789                                                 remote-endpoint = <&etf_out>;
1790                                         };
1791                                 };
1792                         };
1793                 };
1794 
1795                 etf: etf@6047000 {
1796                         compatible = "arm,coresight-tmc", "arm,primecell";
1797                         reg = <0x06047000 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 
1803                         out-ports {
1804                                 port {
1805                                         etf_out: endpoint {
1806                                                 remote-endpoint =
1807                                                   <&replicator_in>;
1808                                         };
1809                                 };
1810                         };
1811 
1812                         in-ports {
1813                                 port {
1814                                         etf_in: endpoint {
1815                                                 remote-endpoint =
1816                                                   <&merge_funnel_out>;
1817                                         };
1818                                 };
1819                         };
1820                 };
1821 
1822                 etr: etr@6048000 {
1823                         compatible = "arm,coresight-tmc", "arm,primecell";
1824                         reg = <0x06048000 0x1000>;
1825                         status = "disabled";
1826 
1827                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1828                         clock-names = "apb_pclk", "atclk";
1829                         arm,scatter-gather;
1830 
1831                         in-ports {
1832                                 port {
1833                                         etr_in: endpoint {
1834                                                 remote-endpoint =
1835                                                   <&replicator_out>;
1836                                         };
1837                                 };
1838                         };
1839                 };
1840 
1841                 etm1: etm@7840000 {
1842                         compatible = "arm,coresight-etm4x", "arm,primecell";
1843                         reg = <0x07840000 0x1000>;
1844                         status = "disabled";
1845 
1846                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1847                         clock-names = "apb_pclk", "atclk";
1848 
1849                         cpu = <&CPU0>;
1850 
1851                         out-ports {
1852                                 port {
1853                                         etm0_out: endpoint {
1854                                                 remote-endpoint =
1855                                                   <&apss_funnel_in0>;
1856                                         };
1857                                 };
1858                         };
1859                 };
1860 
1861                 etm2: etm@7940000 {
1862                         compatible = "arm,coresight-etm4x", "arm,primecell";
1863                         reg = <0x07940000 0x1000>;
1864                         status = "disabled";
1865 
1866                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1867                         clock-names = "apb_pclk", "atclk";
1868 
1869                         cpu = <&CPU1>;
1870 
1871                         out-ports {
1872                                 port {
1873                                         etm1_out: endpoint {
1874                                                 remote-endpoint =
1875                                                   <&apss_funnel_in1>;
1876                                         };
1877                                 };
1878                         };
1879                 };
1880 
1881                 etm3: etm@7a40000 {
1882                         compatible = "arm,coresight-etm4x", "arm,primecell";
1883                         reg = <0x07a40000 0x1000>;
1884                         status = "disabled";
1885 
1886                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1887                         clock-names = "apb_pclk", "atclk";
1888 
1889                         cpu = <&CPU2>;
1890 
1891                         out-ports {
1892                                 port {
1893                                         etm2_out: endpoint {
1894                                                 remote-endpoint =
1895                                                   <&apss_funnel_in2>;
1896                                         };
1897                                 };
1898                         };
1899                 };
1900 
1901                 etm4: etm@7b40000 {
1902                         compatible = "arm,coresight-etm4x", "arm,primecell";
1903                         reg = <0x07b40000 0x1000>;
1904                         status = "disabled";
1905 
1906                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1907                         clock-names = "apb_pclk", "atclk";
1908 
1909                         cpu = <&CPU3>;
1910 
1911                         out-ports {
1912                                 port {
1913                                         etm3_out: endpoint {
1914                                                 remote-endpoint =
1915                                                   <&apss_funnel_in3>;
1916                                         };
1917                                 };
1918                         };
1919                 };
1920 
1921                 funnel4: funnel@7b60000 { /* APSS Funnel */
1922                         compatible = "arm,coresight-etm4x", "arm,primecell";
1923                         reg = <0x07b60000 0x1000>;
1924                         status = "disabled";
1925 
1926                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1927                         clock-names = "apb_pclk", "atclk";
1928 
1929                         out-ports {
1930                                 port {
1931                                         apss_funnel_out: endpoint {
1932                                                 remote-endpoint =
1933                                                   <&apss_merge_funnel_in>;
1934                                         };
1935                                 };
1936                         };
1937 
1938                         in-ports {
1939                                 #address-cells = <1>;
1940                                 #size-cells = <0>;
1941 
1942                                 port@0 {
1943                                         reg = <0>;
1944                                         apss_funnel_in0: endpoint {
1945                                                 remote-endpoint =
1946                                                   <&etm0_out>;
1947                                         };
1948                                 };
1949 
1950                                 port@1 {
1951                                         reg = <1>;
1952                                         apss_funnel_in1: endpoint {
1953                                                 remote-endpoint =
1954                                                   <&etm1_out>;
1955                                         };
1956                                 };
1957 
1958                                 port@2 {
1959                                         reg = <2>;
1960                                         apss_funnel_in2: endpoint {
1961                                                 remote-endpoint =
1962                                                   <&etm2_out>;
1963                                         };
1964                                 };
1965 
1966                                 port@3 {
1967                                         reg = <3>;
1968                                         apss_funnel_in3: endpoint {
1969                                                 remote-endpoint =
1970                                                   <&etm3_out>;
1971                                         };
1972                                 };
1973 
1974                                 port@4 {
1975                                         reg = <4>;
1976                                         apss_funnel_in4: endpoint {
1977                                                 remote-endpoint =
1978                                                   <&etm4_out>;
1979                                         };
1980                                 };
1981 
1982                                 port@5 {
1983                                         reg = <5>;
1984                                         apss_funnel_in5: endpoint {
1985                                                 remote-endpoint =
1986                                                   <&etm5_out>;
1987                                         };
1988                                 };
1989 
1990                                 port@6 {
1991                                         reg = <6>;
1992                                         apss_funnel_in6: endpoint {
1993                                                 remote-endpoint =
1994                                                   <&etm6_out>;
1995                                         };
1996                                 };
1997 
1998                                 port@7 {
1999                                         reg = <7>;
2000                                         apss_funnel_in7: endpoint {
2001                                                 remote-endpoint =
2002                                                   <&etm7_out>;
2003                                         };
2004                                 };
2005                         };
2006                 };
2007 
2008                 funnel5: funnel@7b70000 {
2009                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2010                         reg = <0x07b70000 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                         out-ports {
2017                                 port {
2018                                         apss_merge_funnel_out: endpoint {
2019                                                 remote-endpoint =
2020                                                   <&funnel1_in6>;
2021                                         };
2022                                 };
2023                         };
2024 
2025                         in-ports {
2026                                 port {
2027                                         apss_merge_funnel_in: endpoint {
2028                                                 remote-endpoint =
2029                                                   <&apss_funnel_out>;
2030                                         };
2031                                 };
2032                         };
2033                 };
2034 
2035                 etm5: etm@7c40000 {
2036                         compatible = "arm,coresight-etm4x", "arm,primecell";
2037                         reg = <0x07c40000 0x1000>;
2038                         status = "disabled";
2039 
2040                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
2041                         clock-names = "apb_pclk", "atclk";
2042 
2043                         cpu = <&CPU4>;
2044 
2045                         out-ports {
2046                                 port {
2047                                         etm4_out: endpoint {
2048                                                 remote-endpoint = <&apss_funnel_in4>;
2049                                         };
2050                                 };
2051                         };
2052                 };
2053 
2054                 etm6: etm@7d40000 {
2055                         compatible = "arm,coresight-etm4x", "arm,primecell";
2056                         reg = <0x07d40000 0x1000>;
2057                         status = "disabled";
2058 
2059                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
2060                         clock-names = "apb_pclk", "atclk";
2061 
2062                         cpu = <&CPU5>;
2063 
2064                         out-ports {
2065                                 port {
2066                                         etm5_out: endpoint {
2067                                                 remote-endpoint = <&apss_funnel_in5>;
2068                                         };
2069                                 };
2070                         };
2071                 };
2072 
2073                 etm7: etm@7e40000 {
2074                         compatible = "arm,coresight-etm4x", "arm,primecell";
2075                         reg = <0x07e40000 0x1000>;
2076                         status = "disabled";
2077 
2078                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
2079                         clock-names = "apb_pclk", "atclk";
2080 
2081                         cpu = <&CPU6>;
2082 
2083                         out-ports {
2084                                 port {
2085                                         etm6_out: endpoint {
2086                                                 remote-endpoint = <&apss_funnel_in6>;
2087                                         };
2088                                 };
2089                         };
2090                 };
2091 
2092                 etm8: etm@7f40000 {
2093                         compatible = "arm,coresight-etm4x", "arm,primecell";
2094                         reg = <0x07f40000 0x1000>;
2095                         status = "disabled";
2096 
2097                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
2098                         clock-names = "apb_pclk", "atclk";
2099 
2100                         cpu = <&CPU7>;
2101 
2102                         out-ports {
2103                                 port {
2104                                         etm7_out: endpoint {
2105                                                 remote-endpoint = <&apss_funnel_in7>;
2106                                         };
2107                                 };
2108                         };
2109                 };
2110 
2111                 sram@290000 {
2112                         compatible = "qcom,rpm-stats";
2113                         reg = <0x00290000 0x10000>;
2114                 };
2115 
2116                 spmi_bus: spmi@800f000 {
2117                         compatible = "qcom,spmi-pmic-arb";
2118                         reg = <0x0800f000 0x1000>,
2119                               <0x08400000 0x1000000>,
2120                               <0x09400000 0x1000000>,
2121                               <0x0a400000 0x220000>,
2122                               <0x0800a000 0x3000>;
2123                         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
2124                         interrupt-names = "periph_irq";
2125                         interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
2126                         qcom,ee = <0>;
2127                         qcom,channel = <0>;
2128                         #address-cells = <2>;
2129                         #size-cells = <0>;
2130                         interrupt-controller;
2131                         #interrupt-cells = <4>;
2132                 };
2133 
2134                 usb3: usb@a8f8800 {
2135                         compatible = "qcom,msm8998-dwc3", "qcom,dwc3";
2136                         reg = <0x0a8f8800 0x400>;
2137                         status = "disabled";
2138                         #address-cells = <1>;
2139                         #size-cells = <1>;
2140                         ranges;
2141 
2142                         clocks = <&gcc GCC_CFG_NOC_USB3_AXI_CLK>,
2143                                  <&gcc GCC_USB30_MASTER_CLK>,
2144                                  <&gcc GCC_AGGRE1_USB3_AXI_CLK>,
2145                                  <&gcc GCC_USB30_SLEEP_CLK>,
2146                                  <&gcc GCC_USB30_MOCK_UTMI_CLK>;
2147                         clock-names = "cfg_noc",
2148                                       "core",
2149                                       "iface",
2150                                       "sleep",
2151                                       "mock_utmi";
2152 
2153                         assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
2154                                           <&gcc GCC_USB30_MASTER_CLK>;
2155                         assigned-clock-rates = <19200000>, <120000000>;
2156 
2157                         interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>,
2158                                      <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
2159                                      <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
2160                         interrupt-names = "pwr_event",
2161                                           "qusb2_phy",
2162                                           "ss_phy_irq";
2163 
2164                         power-domains = <&gcc USB_30_GDSC>;
2165 
2166                         resets = <&gcc GCC_USB_30_BCR>;
2167 
2168                         usb3_dwc3: usb@a800000 {
2169                                 compatible = "snps,dwc3";
2170                                 reg = <0x0a800000 0xcd00>;
2171                                 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
2172                                 snps,dis_u2_susphy_quirk;
2173                                 snps,dis_enblslpm_quirk;
2174                                 snps,parkmode-disable-ss-quirk;
2175                                 phys = <&qusb2phy>, <&usb3phy>;
2176                                 phy-names = "usb2-phy", "usb3-phy";
2177                                 snps,has-lpm-erratum;
2178                                 snps,hird-threshold = /bits/ 8 <0x10>;
2179                         };
2180                 };
2181 
2182                 usb3phy: phy@c010000 {
2183                         compatible = "qcom,msm8998-qmp-usb3-phy";
2184                         reg = <0x0c010000 0x1000>;
2185 
2186                         clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
2187                                  <&gcc GCC_USB3_CLKREF_CLK>,
2188                                  <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
2189                                  <&gcc GCC_USB3_PHY_PIPE_CLK>;
2190                         clock-names = "aux",
2191                                       "ref",
2192                                       "cfg_ahb",
2193                                       "pipe";
2194                         clock-output-names = "usb3_phy_pipe_clk_src";
2195                         #clock-cells = <0>;
2196                         #phy-cells = <0>;
2197 
2198                         resets = <&gcc GCC_USB3_PHY_BCR>,
2199                                  <&gcc GCC_USB3PHY_PHY_BCR>;
2200                         reset-names = "phy",
2201                                       "phy_phy";
2202 
2203                         qcom,tcsr-reg = <&tcsr_regs_2 0xb244>;
2204 
2205                         status = "disabled";
2206                 };
2207 
2208                 qusb2phy: phy@c012000 {
2209                         compatible = "qcom,msm8998-qusb2-phy";
2210                         reg = <0x0c012000 0x2a8>;
2211                         status = "disabled";
2212                         #phy-cells = <0>;
2213 
2214                         clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
2215                                  <&gcc GCC_RX1_USB2_CLKREF_CLK>;
2216                         clock-names = "cfg_ahb", "ref";
2217 
2218                         resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
2219 
2220                         nvmem-cells = <&qusb2_hstx_trim>;
2221                 };
2222 
2223                 sdhc2: mmc@c0a4900 {
2224                         compatible = "qcom,msm8998-sdhci", "qcom,sdhci-msm-v4";
2225                         reg = <0x0c0a4900 0x314>, <0x0c0a4000 0x800>;
2226                         reg-names = "hc", "core";
2227 
2228                         interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
2229                                      <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
2230                         interrupt-names = "hc_irq", "pwr_irq";
2231 
2232                         clock-names = "iface", "core", "xo";
2233                         clocks = <&gcc GCC_SDCC2_AHB_CLK>,
2234                                  <&gcc GCC_SDCC2_APPS_CLK>,
2235                                  <&rpmcc RPM_SMD_XO_CLK_SRC>;
2236                         bus-width = <4>;
2237                         status = "disabled";
2238                 };
2239 
2240                 blsp1_dma: dma-controller@c144000 {
2241                         compatible = "qcom,bam-v1.7.0";
2242                         reg = <0x0c144000 0x25000>;
2243                         interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
2244                         clocks = <&gcc GCC_BLSP1_AHB_CLK>;
2245                         clock-names = "bam_clk";
2246                         #dma-cells = <1>;
2247                         qcom,ee = <0>;
2248                         qcom,controlled-remotely;
2249                         num-channels = <18>;
2250                         qcom,num-ees = <4>;
2251                 };
2252 
2253                 blsp1_uart3: serial@c171000 {
2254                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2255                         reg = <0x0c171000 0x1000>;
2256                         interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
2257                         clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
2258                                  <&gcc GCC_BLSP1_AHB_CLK>;
2259                         clock-names = "core", "iface";
2260                         dmas = <&blsp1_dma 4>, <&blsp1_dma 5>;
2261                         dma-names = "tx", "rx";
2262                         pinctrl-names = "default";
2263                         pinctrl-0 = <&blsp1_uart3_on>;
2264                         status = "disabled";
2265                 };
2266 
2267                 blsp1_i2c1: i2c@c175000 {
2268                         compatible = "qcom,i2c-qup-v2.2.1";
2269                         reg = <0x0c175000 0x600>;
2270                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
2271 
2272                         clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
2273                                  <&gcc GCC_BLSP1_AHB_CLK>;
2274                         clock-names = "core", "iface";
2275                         dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
2276                         dma-names = "tx", "rx";
2277                         pinctrl-names = "default", "sleep";
2278                         pinctrl-0 = <&blsp1_i2c1_default>;
2279                         pinctrl-1 = <&blsp1_i2c1_sleep>;
2280                         clock-frequency = <400000>;
2281 
2282                         status = "disabled";
2283                         #address-cells = <1>;
2284                         #size-cells = <0>;
2285                 };
2286 
2287                 blsp1_i2c2: i2c@c176000 {
2288                         compatible = "qcom,i2c-qup-v2.2.1";
2289                         reg = <0x0c176000 0x600>;
2290                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2291 
2292                         clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
2293                                  <&gcc GCC_BLSP1_AHB_CLK>;
2294                         clock-names = "core", "iface";
2295                         dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
2296                         dma-names = "tx", "rx";
2297                         pinctrl-names = "default", "sleep";
2298                         pinctrl-0 = <&blsp1_i2c2_default>;
2299                         pinctrl-1 = <&blsp1_i2c2_sleep>;
2300                         clock-frequency = <400000>;
2301 
2302                         status = "disabled";
2303                         #address-cells = <1>;
2304                         #size-cells = <0>;
2305                 };
2306 
2307                 blsp1_i2c3: i2c@c177000 {
2308                         compatible = "qcom,i2c-qup-v2.2.1";
2309                         reg = <0x0c177000 0x600>;
2310                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
2311 
2312                         clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
2313                                  <&gcc GCC_BLSP1_AHB_CLK>;
2314                         clock-names = "core", "iface";
2315                         dmas = <&blsp1_dma 10>, <&blsp1_dma 11>;
2316                         dma-names = "tx", "rx";
2317                         pinctrl-names = "default", "sleep";
2318                         pinctrl-0 = <&blsp1_i2c3_default>;
2319                         pinctrl-1 = <&blsp1_i2c3_sleep>;
2320                         clock-frequency = <400000>;
2321 
2322                         status = "disabled";
2323                         #address-cells = <1>;
2324                         #size-cells = <0>;
2325                 };
2326 
2327                 blsp1_i2c4: i2c@c178000 {
2328                         compatible = "qcom,i2c-qup-v2.2.1";
2329                         reg = <0x0c178000 0x600>;
2330                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
2331 
2332                         clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
2333                                  <&gcc GCC_BLSP1_AHB_CLK>;
2334                         clock-names = "core", "iface";
2335                         dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
2336                         dma-names = "tx", "rx";
2337                         pinctrl-names = "default", "sleep";
2338                         pinctrl-0 = <&blsp1_i2c4_default>;
2339                         pinctrl-1 = <&blsp1_i2c4_sleep>;
2340                         clock-frequency = <400000>;
2341 
2342                         status = "disabled";
2343                         #address-cells = <1>;
2344                         #size-cells = <0>;
2345                 };
2346 
2347                 blsp1_i2c5: i2c@c179000 {
2348                         compatible = "qcom,i2c-qup-v2.2.1";
2349                         reg = <0x0c179000 0x600>;
2350                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
2351 
2352                         clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
2353                                  <&gcc GCC_BLSP1_AHB_CLK>;
2354                         clock-names = "core", "iface";
2355                         dmas = <&blsp1_dma 14>, <&blsp1_dma 15>;
2356                         dma-names = "tx", "rx";
2357                         pinctrl-names = "default", "sleep";
2358                         pinctrl-0 = <&blsp1_i2c5_default>;
2359                         pinctrl-1 = <&blsp1_i2c5_sleep>;
2360                         clock-frequency = <400000>;
2361 
2362                         status = "disabled";
2363                         #address-cells = <1>;
2364                         #size-cells = <0>;
2365                 };
2366 
2367                 blsp1_i2c6: i2c@c17a000 {
2368                         compatible = "qcom,i2c-qup-v2.2.1";
2369                         reg = <0x0c17a000 0x600>;
2370                         interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
2371 
2372                         clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
2373                                  <&gcc GCC_BLSP1_AHB_CLK>;
2374                         clock-names = "core", "iface";
2375                         dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
2376                         dma-names = "tx", "rx";
2377                         pinctrl-names = "default", "sleep";
2378                         pinctrl-0 = <&blsp1_i2c6_default>;
2379                         pinctrl-1 = <&blsp1_i2c6_sleep>;
2380                         clock-frequency = <400000>;
2381 
2382                         status = "disabled";
2383                         #address-cells = <1>;
2384                         #size-cells = <0>;
2385                 };
2386 
2387                 blsp1_spi1: spi@c175000 {
2388                         compatible = "qcom,spi-qup-v2.2.1";
2389                         reg = <0x0c175000 0x600>;
2390                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
2391 
2392                         clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
2393                                  <&gcc GCC_BLSP1_AHB_CLK>;
2394                         clock-names = "core", "iface";
2395                         dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
2396                         dma-names = "tx", "rx";
2397                         pinctrl-names = "default";
2398                         pinctrl-0 = <&blsp1_spi1_default>;
2399 
2400                         status = "disabled";
2401                         #address-cells = <1>;
2402                         #size-cells = <0>;
2403                 };
2404 
2405                 blsp1_spi2: spi@c176000 {
2406                         compatible = "qcom,spi-qup-v2.2.1";
2407                         reg = <0x0c176000 0x600>;
2408                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2409 
2410                         clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
2411                                  <&gcc GCC_BLSP1_AHB_CLK>;
2412                         clock-names = "core", "iface";
2413                         dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
2414                         dma-names = "tx", "rx";
2415                         pinctrl-names = "default";
2416                         pinctrl-0 = <&blsp1_spi2_default>;
2417 
2418                         status = "disabled";
2419                         #address-cells = <1>;
2420                         #size-cells = <0>;
2421                 };
2422 
2423                 blsp1_spi3: spi@c177000 {
2424                         compatible = "qcom,spi-qup-v2.2.1";
2425                         reg = <0x0c177000 0x600>;
2426                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
2427 
2428                         clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
2429                                  <&gcc GCC_BLSP1_AHB_CLK>;
2430                         clock-names = "core", "iface";
2431                         dmas = <&blsp1_dma 10>, <&blsp1_dma 11>;
2432                         dma-names = "tx", "rx";
2433                         pinctrl-names = "default";
2434                         pinctrl-0 = <&blsp1_spi3_default>;
2435 
2436                         status = "disabled";
2437                         #address-cells = <1>;
2438                         #size-cells = <0>;
2439                 };
2440 
2441                 blsp1_spi4: spi@c178000 {
2442                         compatible = "qcom,spi-qup-v2.2.1";
2443                         reg = <0x0c178000 0x600>;
2444                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
2445 
2446                         clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
2447                                  <&gcc GCC_BLSP1_AHB_CLK>;
2448                         clock-names = "core", "iface";
2449                         dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
2450                         dma-names = "tx", "rx";
2451                         pinctrl-names = "default";
2452                         pinctrl-0 = <&blsp1_spi4_default>;
2453 
2454                         status = "disabled";
2455                         #address-cells = <1>;
2456                         #size-cells = <0>;
2457                 };
2458 
2459                 blsp1_spi5: spi@c179000 {
2460                         compatible = "qcom,spi-qup-v2.2.1";
2461                         reg = <0x0c179000 0x600>;
2462                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
2463 
2464                         clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
2465                                  <&gcc GCC_BLSP1_AHB_CLK>;
2466                         clock-names = "core", "iface";
2467                         dmas = <&blsp1_dma 14>, <&blsp1_dma 15>;
2468                         dma-names = "tx", "rx";
2469                         pinctrl-names = "default";
2470                         pinctrl-0 = <&blsp1_spi5_default>;
2471 
2472                         status = "disabled";
2473                         #address-cells = <1>;
2474                         #size-cells = <0>;
2475                 };
2476 
2477                 blsp1_spi6: spi@c17a000 {
2478                         compatible = "qcom,spi-qup-v2.2.1";
2479                         reg = <0x0c17a000 0x600>;
2480                         interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
2481 
2482                         clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>,
2483                                  <&gcc GCC_BLSP1_AHB_CLK>;
2484                         clock-names = "core", "iface";
2485                         dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
2486                         dma-names = "tx", "rx";
2487                         pinctrl-names = "default";
2488                         pinctrl-0 = <&blsp1_spi6_default>;
2489 
2490                         status = "disabled";
2491                         #address-cells = <1>;
2492                         #size-cells = <0>;
2493                 };
2494 
2495                 blsp2_dma: dma-controller@c184000 {
2496                         compatible = "qcom,bam-v1.7.0";
2497                         reg = <0x0c184000 0x25000>;
2498                         interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
2499                         clocks = <&gcc GCC_BLSP2_AHB_CLK>;
2500                         clock-names = "bam_clk";
2501                         #dma-cells = <1>;
2502                         qcom,ee = <0>;
2503                         qcom,controlled-remotely;
2504                         num-channels = <18>;
2505                         qcom,num-ees = <4>;
2506                 };
2507 
2508                 blsp2_uart1: serial@c1b0000 {
2509                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2510                         reg = <0x0c1b0000 0x1000>;
2511                         interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
2512                         clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
2513                                  <&gcc GCC_BLSP2_AHB_CLK>;
2514                         clock-names = "core", "iface";
2515                         status = "disabled";
2516                 };
2517 
2518                 blsp2_i2c1: i2c@c1b5000 {
2519                         compatible = "qcom,i2c-qup-v2.2.1";
2520                         reg = <0x0c1b5000 0x600>;
2521                         interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
2522 
2523                         clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
2524                                  <&gcc GCC_BLSP2_AHB_CLK>;
2525                         clock-names = "core", "iface";
2526                         dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
2527                         dma-names = "tx", "rx";
2528                         pinctrl-names = "default", "sleep";
2529                         pinctrl-0 = <&blsp2_i2c1_default>;
2530                         pinctrl-1 = <&blsp2_i2c1_sleep>;
2531                         clock-frequency = <400000>;
2532 
2533                         status = "disabled";
2534                         #address-cells = <1>;
2535                         #size-cells = <0>;
2536                 };
2537 
2538                 blsp2_i2c2: i2c@c1b6000 {
2539                         compatible = "qcom,i2c-qup-v2.2.1";
2540                         reg = <0x0c1b6000 0x600>;
2541                         interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
2542 
2543                         clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
2544                                  <&gcc GCC_BLSP2_AHB_CLK>;
2545                         clock-names = "core", "iface";
2546                         dmas = <&blsp2_dma 8>, <&blsp2_dma 9>;
2547                         dma-names = "tx", "rx";
2548                         pinctrl-names = "default", "sleep";
2549                         pinctrl-0 = <&blsp2_i2c2_default>;
2550                         pinctrl-1 = <&blsp2_i2c2_sleep>;
2551                         clock-frequency = <400000>;
2552 
2553                         status = "disabled";
2554                         #address-cells = <1>;
2555                         #size-cells = <0>;
2556                 };
2557 
2558                 blsp2_i2c3: i2c@c1b7000 {
2559                         compatible = "qcom,i2c-qup-v2.2.1";
2560                         reg = <0x0c1b7000 0x600>;
2561                         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
2562 
2563                         clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
2564                                  <&gcc GCC_BLSP2_AHB_CLK>;
2565                         clock-names = "core", "iface";
2566                         dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
2567                         dma-names = "tx", "rx";
2568                         pinctrl-names = "default", "sleep";
2569                         pinctrl-0 = <&blsp2_i2c3_default>;
2570                         pinctrl-1 = <&blsp2_i2c3_sleep>;
2571                         clock-frequency = <400000>;
2572 
2573                         status = "disabled";
2574                         #address-cells = <1>;
2575                         #size-cells = <0>;
2576                 };
2577 
2578                 blsp2_i2c4: i2c@c1b8000 {
2579                         compatible = "qcom,i2c-qup-v2.2.1";
2580                         reg = <0x0c1b8000 0x600>;
2581                         interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
2582 
2583                         clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>,
2584                                  <&gcc GCC_BLSP2_AHB_CLK>;
2585                         clock-names = "core", "iface";
2586                         dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
2587                         dma-names = "tx", "rx";
2588                         pinctrl-names = "default", "sleep";
2589                         pinctrl-0 = <&blsp2_i2c4_default>;
2590                         pinctrl-1 = <&blsp2_i2c4_sleep>;
2591                         clock-frequency = <400000>;
2592 
2593                         status = "disabled";
2594                         #address-cells = <1>;
2595                         #size-cells = <0>;
2596                 };
2597 
2598                 blsp2_i2c5: i2c@c1b9000 {
2599                         compatible = "qcom,i2c-qup-v2.2.1";
2600                         reg = <0x0c1b9000 0x600>;
2601                         interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
2602 
2603                         clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
2604                                  <&gcc GCC_BLSP2_AHB_CLK>;
2605                         clock-names = "core", "iface";
2606                         dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
2607                         dma-names = "tx", "rx";
2608                         pinctrl-names = "default", "sleep";
2609                         pinctrl-0 = <&blsp2_i2c5_default>;
2610                         pinctrl-1 = <&blsp2_i2c5_sleep>;
2611                         clock-frequency = <400000>;
2612 
2613                         status = "disabled";
2614                         #address-cells = <1>;
2615                         #size-cells = <0>;
2616                 };
2617 
2618                 blsp2_i2c6: i2c@c1ba000 {
2619                         compatible = "qcom,i2c-qup-v2.2.1";
2620                         reg = <0x0c1ba000 0x600>;
2621                         interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
2622 
2623                         clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>,
2624                                  <&gcc GCC_BLSP2_AHB_CLK>;
2625                         clock-names = "core", "iface";
2626                         dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
2627                         dma-names = "tx", "rx";
2628                         pinctrl-names = "default", "sleep";
2629                         pinctrl-0 = <&blsp2_i2c6_default>;
2630                         pinctrl-1 = <&blsp2_i2c6_sleep>;
2631                         clock-frequency = <400000>;
2632 
2633                         status = "disabled";
2634                         #address-cells = <1>;
2635                         #size-cells = <0>;
2636                 };
2637 
2638                 blsp2_spi1: spi@c1b5000 {
2639                         compatible = "qcom,spi-qup-v2.2.1";
2640                         reg = <0x0c1b5000 0x600>;
2641                         interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
2642 
2643                         clocks = <&gcc GCC_BLSP2_QUP1_SPI_APPS_CLK>,
2644                                  <&gcc GCC_BLSP2_AHB_CLK>;
2645                         clock-names = "core", "iface";
2646                         dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
2647                         dma-names = "tx", "rx";
2648                         pinctrl-names = "default";
2649                         pinctrl-0 = <&blsp2_spi1_default>;
2650 
2651                         status = "disabled";
2652                         #address-cells = <1>;
2653                         #size-cells = <0>;
2654                 };
2655 
2656                 blsp2_spi2: spi@c1b6000 {
2657                         compatible = "qcom,spi-qup-v2.2.1";
2658                         reg = <0x0c1b6000 0x600>;
2659                         interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
2660 
2661                         clocks = <&gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>,
2662                                  <&gcc GCC_BLSP2_AHB_CLK>;
2663                         clock-names = "core", "iface";
2664                         dmas = <&blsp2_dma 8>, <&blsp2_dma 9>;
2665                         dma-names = "tx", "rx";
2666                         pinctrl-names = "default";
2667                         pinctrl-0 = <&blsp2_spi2_default>;
2668 
2669                         status = "disabled";
2670                         #address-cells = <1>;
2671                         #size-cells = <0>;
2672                 };
2673 
2674                 blsp2_spi3: spi@c1b7000 {
2675                         compatible = "qcom,spi-qup-v2.2.1";
2676                         reg = <0x0c1b7000 0x600>;
2677                         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
2678 
2679                         clocks = <&gcc GCC_BLSP2_QUP3_SPI_APPS_CLK>,
2680                                  <&gcc GCC_BLSP2_AHB_CLK>;
2681                         clock-names = "core", "iface";
2682                         dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
2683                         dma-names = "tx", "rx";
2684                         pinctrl-names = "default";
2685                         pinctrl-0 = <&blsp2_spi3_default>;
2686 
2687                         status = "disabled";
2688                         #address-cells = <1>;
2689                         #size-cells = <0>;
2690                 };
2691 
2692                 blsp2_spi4: spi@c1b8000 {
2693                         compatible = "qcom,spi-qup-v2.2.1";
2694                         reg = <0x0c1b8000 0x600>;
2695                         interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
2696 
2697                         clocks = <&gcc GCC_BLSP2_QUP4_SPI_APPS_CLK>,
2698                                  <&gcc GCC_BLSP2_AHB_CLK>;
2699                         clock-names = "core", "iface";
2700                         dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
2701                         dma-names = "tx", "rx";
2702                         pinctrl-names = "default";
2703                         pinctrl-0 = <&blsp2_spi4_default>;
2704 
2705                         status = "disabled";
2706                         #address-cells = <1>;
2707                         #size-cells = <0>;
2708                 };
2709 
2710                 blsp2_spi5: spi@c1b9000 {
2711                         compatible = "qcom,spi-qup-v2.2.1";
2712                         reg = <0x0c1b9000 0x600>;
2713                         interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
2714 
2715                         clocks = <&gcc GCC_BLSP2_QUP5_SPI_APPS_CLK>,
2716                                  <&gcc GCC_BLSP2_AHB_CLK>;
2717                         clock-names = "core", "iface";
2718                         dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
2719                         dma-names = "tx", "rx";
2720                         pinctrl-names = "default";
2721                         pinctrl-0 = <&blsp2_spi5_default>;
2722 
2723                         status = "disabled";
2724                         #address-cells = <1>;
2725                         #size-cells = <0>;
2726                 };
2727 
2728                 blsp2_spi6: spi@c1ba000 {
2729                         compatible = "qcom,spi-qup-v2.2.1";
2730                         reg = <0x0c1ba000 0x600>;
2731                         interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
2732 
2733                         clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
2734                                  <&gcc GCC_BLSP2_AHB_CLK>;
2735                         clock-names = "core", "iface";
2736                         dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
2737                         dma-names = "tx", "rx";
2738                         pinctrl-names = "default";
2739                         pinctrl-0 = <&blsp2_spi6_default>;
2740 
2741                         status = "disabled";
2742                         #address-cells = <1>;
2743                         #size-cells = <0>;
2744                 };
2745 
2746                 mmcc: clock-controller@c8c0000 {
2747                         compatible = "qcom,mmcc-msm8998";
2748                         #clock-cells = <1>;
2749                         #reset-cells = <1>;
2750                         #power-domain-cells = <1>;
2751                         reg = <0xc8c0000 0x40000>;
2752 
2753                         clock-names = "xo",
2754                                       "gpll0",
2755                                       "dsi0dsi",
2756                                       "dsi0byte",
2757                                       "dsi1dsi",
2758                                       "dsi1byte",
2759                                       "hdmipll",
2760                                       "dplink",
2761                                       "dpvco",
2762                                       "gpll0_div";
2763                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
2764                                  <&gcc GCC_MMSS_GPLL0_CLK>,
2765                                  <&mdss_dsi0_phy 1>,
2766                                  <&mdss_dsi0_phy 0>,
2767                                  <&mdss_dsi1_phy 1>,
2768                                  <&mdss_dsi1_phy 0>,
2769                                  <0>,
2770                                  <0>,
2771                                  <0>,
2772                                  <&gcc GCC_MMSS_GPLL0_DIV_CLK>;
2773                 };
2774 
2775                 mdss: display-subsystem@c900000 {
2776                         compatible = "qcom,msm8998-mdss";
2777                         reg = <0x0c900000 0x1000>;
2778                         reg-names = "mdss";
2779 
2780                         interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
2781                         interrupt-controller;
2782                         #interrupt-cells = <1>;
2783 
2784                         clocks = <&mmcc MDSS_AHB_CLK>,
2785                                  <&mmcc MDSS_AXI_CLK>,
2786                                  <&mmcc MDSS_MDP_CLK>;
2787                         clock-names = "iface",
2788                                       "bus",
2789                                       "core";
2790 
2791                         power-domains = <&mmcc MDSS_GDSC>;
2792                         iommus = <&mmss_smmu 0>;
2793 
2794                         #address-cells = <1>;
2795                         #size-cells = <1>;
2796                         ranges;
2797 
2798                         status = "disabled";
2799 
2800                         mdss_mdp: display-controller@c901000 {
2801                                 compatible = "qcom,msm8998-dpu";
2802                                 reg = <0x0c901000 0x8f000>,
2803                                       <0x0c9a8e00 0xf0>,
2804                                       <0x0c9b0000 0x2008>,
2805                                       <0x0c9b8000 0x1040>;
2806                                 reg-names = "mdp",
2807                                             "regdma",
2808                                             "vbif",
2809                                             "vbif_nrt";
2810 
2811                                 interrupt-parent = <&mdss>;
2812                                 interrupts = <0>;
2813 
2814                                 clocks = <&mmcc MDSS_AHB_CLK>,
2815                                          <&mmcc MDSS_AXI_CLK>,
2816                                          <&mmcc MNOC_AHB_CLK>,
2817                                          <&mmcc MDSS_MDP_CLK>,
2818                                          <&mmcc MDSS_VSYNC_CLK>;
2819                                 clock-names = "iface",
2820                                               "bus",
2821                                               "mnoc",
2822                                               "core",
2823                                               "vsync";
2824 
2825                                 assigned-clocks = <&mmcc MDSS_VSYNC_CLK>;
2826                                 assigned-clock-rates = <19200000>;
2827 
2828                                 operating-points-v2 = <&mdp_opp_table>;
2829                                 power-domains = <&rpmpd MSM8998_VDDMX>;
2830 
2831                                 mdp_opp_table: opp-table {
2832                                         compatible = "operating-points-v2";
2833 
2834                                         opp-171430000 {
2835                                                 opp-hz = /bits/ 64 <171430000>;
2836                                                 required-opps = <&rpmpd_opp_low_svs>;
2837                                         };
2838 
2839                                         opp-275000000 {
2840                                                 opp-hz = /bits/ 64 <275000000>;
2841                                                 required-opps = <&rpmpd_opp_svs>;
2842                                         };
2843 
2844                                         opp-330000000 {
2845                                                 opp-hz = /bits/ 64 <330000000>;
2846                                                 required-opps = <&rpmpd_opp_nom>;
2847                                         };
2848 
2849                                         opp-412500000 {
2850                                                 opp-hz = /bits/ 64 <412500000>;
2851                                                 required-opps = <&rpmpd_opp_turbo>;
2852                                         };
2853                                 };
2854 
2855                                 ports {
2856                                         #address-cells = <1>;
2857                                         #size-cells = <0>;
2858 
2859                                         port@0 {
2860                                                 reg = <0>;
2861 
2862                                                 dpu_intf1_out: endpoint {
2863                                                         remote-endpoint = <&mdss_dsi0_in>;
2864                                                 };
2865                                         };
2866 
2867                                         port@1 {
2868                                                 reg = <1>;
2869 
2870                                                 dpu_intf2_out: endpoint {
2871                                                         remote-endpoint = <&mdss_dsi1_in>;
2872                                                 };
2873                                         };
2874                                 };
2875                         };
2876 
2877                         mdss_dsi0: dsi@c994000 {
2878                                 compatible = "qcom,msm8998-dsi-ctrl", "qcom,mdss-dsi-ctrl";
2879                                 reg = <0x0c994000 0x400>;
2880                                 reg-names = "dsi_ctrl";
2881 
2882                                 interrupt-parent = <&mdss>;
2883                                 interrupts = <4>;
2884 
2885                                 clocks = <&mmcc MDSS_BYTE0_CLK>,
2886                                          <&mmcc MDSS_BYTE0_INTF_CLK>,
2887                                          <&mmcc MDSS_PCLK0_CLK>,
2888                                          <&mmcc MDSS_ESC0_CLK>,
2889                                          <&mmcc MDSS_AHB_CLK>,
2890                                          <&mmcc MDSS_AXI_CLK>;
2891                                 clock-names = "byte",
2892                                               "byte_intf",
2893                                               "pixel",
2894                                               "core",
2895                                               "iface",
2896                                               "bus";
2897                                 assigned-clocks = <&mmcc BYTE0_CLK_SRC>,
2898                                                   <&mmcc PCLK0_CLK_SRC>;
2899                                 assigned-clock-parents = <&mdss_dsi0_phy 0>,
2900                                                          <&mdss_dsi0_phy 1>;
2901 
2902                                 operating-points-v2 = <&dsi_opp_table>;
2903                                 power-domains = <&rpmpd MSM8998_VDDCX>;
2904 
2905                                 phys = <&mdss_dsi0_phy>;
2906                                 phy-names = "dsi";
2907 
2908                                 #address-cells = <1>;
2909                                 #size-cells = <0>;
2910 
2911                                 status = "disabled";
2912 
2913                                 ports {
2914                                         #address-cells = <1>;
2915                                         #size-cells = <0>;
2916 
2917                                         port@0 {
2918                                                 reg = <0>;
2919 
2920                                                 mdss_dsi0_in: endpoint {
2921                                                         remote-endpoint = <&dpu_intf1_out>;
2922                                                 };
2923                                         };
2924 
2925                                         port@1 {
2926                                                 reg = <1>;
2927 
2928                                                 mdss_dsi0_out: endpoint {
2929                                                 };
2930                                         };
2931                                 };
2932                         };
2933 
2934                         mdss_dsi0_phy: phy@c994400 {
2935                                 compatible = "qcom,dsi-phy-10nm-8998";
2936                                 reg = <0x0c994400 0x200>,
2937                                       <0x0c994600 0x280>,
2938                                       <0x0c994a00 0x1e0>;
2939                                 reg-names = "dsi_phy",
2940                                             "dsi_phy_lane",
2941                                             "dsi_pll";
2942 
2943                                 clocks = <&mmcc MDSS_AHB_CLK>,
2944                                          <&rpmcc RPM_SMD_XO_CLK_SRC>;
2945                                 clock-names = "iface", "ref";
2946 
2947                                 #clock-cells = <1>;
2948                                 #phy-cells = <0>;
2949 
2950                                 status = "disabled";
2951                         };
2952 
2953                         mdss_dsi1: dsi@c996000 {
2954                                 compatible = "qcom,msm8998-dsi-ctrl", "qcom,mdss-dsi-ctrl";
2955                                 reg = <0x0c996000 0x400>;
2956                                 reg-names = "dsi_ctrl";
2957 
2958                                 interrupt-parent = <&mdss>;
2959                                 interrupts = <5>;
2960 
2961                                 clocks = <&mmcc MDSS_BYTE1_CLK>,
2962                                          <&mmcc MDSS_BYTE1_INTF_CLK>,
2963                                          <&mmcc MDSS_PCLK1_CLK>,
2964                                          <&mmcc MDSS_ESC1_CLK>,
2965                                          <&mmcc MDSS_AHB_CLK>,
2966                                          <&mmcc MDSS_AXI_CLK>;
2967                                 clock-names = "byte",
2968                                               "byte_intf",
2969                                               "pixel",
2970                                               "core",
2971                                               "iface",
2972                                               "bus";
2973                                 assigned-clocks = <&mmcc BYTE1_CLK_SRC>,
2974                                                   <&mmcc PCLK1_CLK_SRC>;
2975                                 assigned-clock-parents = <&mdss_dsi1_phy 0>,
2976                                                          <&mdss_dsi1_phy 1>;
2977 
2978                                 operating-points-v2 = <&dsi_opp_table>;
2979                                 power-domains = <&rpmpd MSM8998_VDDCX>;
2980 
2981                                 phys = <&mdss_dsi1_phy>;
2982                                 phy-names = "dsi";
2983 
2984                                 #address-cells = <1>;
2985                                 #size-cells = <0>;
2986 
2987                                 status = "disabled";
2988 
2989                                 ports {
2990                                         #address-cells = <1>;
2991                                         #size-cells = <0>;
2992 
2993                                         port@0 {
2994                                                 reg = <0>;
2995 
2996                                                 mdss_dsi1_in: endpoint {
2997                                                         remote-endpoint = <&dpu_intf2_out>;
2998                                                 };
2999                                         };
3000 
3001                                         port@1 {
3002                                                 reg = <1>;
3003 
3004                                                 mdss_dsi1_out: endpoint {
3005                                                 };
3006                                         };
3007                                 };
3008                         };
3009 
3010                         mdss_dsi1_phy: phy@c996400 {
3011                                 compatible = "qcom,dsi-phy-10nm-8998";
3012                                 reg = <0x0c996400 0x200>,
3013                                       <0x0c996600 0x280>,
3014                                       <0x0c996a00 0x10e>;
3015                                 reg-names = "dsi_phy",
3016                                             "dsi_phy_lane",
3017                                             "dsi_pll";
3018 
3019                                 clocks = <&mmcc MDSS_AHB_CLK>,
3020                                          <&rpmcc RPM_SMD_XO_CLK_SRC>;
3021                                 clock-names = "iface",
3022                                               "ref";
3023 
3024                                 #clock-cells = <1>;
3025                                 #phy-cells = <0>;
3026 
3027                                 status = "disabled";
3028                         };
3029                 };
3030 
3031                 venus: video-codec@cc00000 {
3032                         compatible = "qcom,msm8998-venus";
3033                         reg = <0x0cc00000 0xff000>;
3034                         interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
3035                         power-domains = <&mmcc VIDEO_TOP_GDSC>;
3036                         clocks = <&mmcc VIDEO_CORE_CLK>,
3037                                  <&mmcc VIDEO_AHB_CLK>,
3038                                  <&mmcc VIDEO_AXI_CLK>,
3039                                  <&mmcc VIDEO_MAXI_CLK>;
3040                         clock-names = "core", "iface", "bus", "mbus";
3041                         iommus = <&mmss_smmu 0x400>,
3042                                  <&mmss_smmu 0x401>,
3043                                  <&mmss_smmu 0x40a>,
3044                                  <&mmss_smmu 0x407>,
3045                                  <&mmss_smmu 0x40e>,
3046                                  <&mmss_smmu 0x40f>,
3047                                  <&mmss_smmu 0x408>,
3048                                  <&mmss_smmu 0x409>,
3049                                  <&mmss_smmu 0x40b>,
3050                                  <&mmss_smmu 0x40c>,
3051                                  <&mmss_smmu 0x40d>,
3052                                  <&mmss_smmu 0x410>,
3053                                  <&mmss_smmu 0x421>,
3054                                  <&mmss_smmu 0x428>,
3055                                  <&mmss_smmu 0x429>,
3056                                  <&mmss_smmu 0x42b>,
3057                                  <&mmss_smmu 0x42c>,
3058                                  <&mmss_smmu 0x42d>,
3059                                  <&mmss_smmu 0x411>,
3060                                  <&mmss_smmu 0x431>;
3061                         memory-region = <&venus_mem>;
3062                         status = "disabled";
3063 
3064                         video-decoder {
3065                                 compatible = "venus-decoder";
3066                                 clocks = <&mmcc VIDEO_SUBCORE0_CLK>;
3067                                 clock-names = "core";
3068                                 power-domains = <&mmcc VIDEO_SUBCORE0_GDSC>;
3069                         };
3070 
3071                         video-encoder {
3072                                 compatible = "venus-encoder";
3073                                 clocks = <&mmcc VIDEO_SUBCORE1_CLK>;
3074                                 clock-names = "core";
3075                                 power-domains = <&mmcc VIDEO_SUBCORE1_GDSC>;
3076                         };
3077                 };
3078 
3079                 mmss_smmu: iommu@cd00000 {
3080                         compatible = "qcom,msm8998-smmu-v2", "qcom,smmu-v2";
3081                         reg = <0x0cd00000 0x40000>;
3082                         #iommu-cells = <1>;
3083 
3084                         clocks = <&mmcc MNOC_AHB_CLK>,
3085                                  <&mmcc BIMC_SMMU_AHB_CLK>,
3086                                  <&mmcc BIMC_SMMU_AXI_CLK>;
3087                         clock-names = "iface-mm",
3088                                       "iface-smmu",
3089                                       "bus-smmu";
3090 
3091                         #global-interrupts = <0>;
3092                         interrupts =
3093                                 <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
3094                                 <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
3095                                 <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
3096                                 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
3097                                 <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
3098                                 <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
3099                                 <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
3100                                 <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
3101                                 <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
3102                                 <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
3103                                 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
3104                                 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
3105                                 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
3106                                 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
3107                                 <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
3108                                 <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
3109                                 <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
3110                                 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
3111                                 <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
3112                                 <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
3113 
3114                         power-domains = <&mmcc BIMC_SMMU_GDSC>;
3115                 };
3116 
3117                 remoteproc_adsp: remoteproc@17300000 {
3118                         compatible = "qcom,msm8998-adsp-pas";
3119                         reg = <0x17300000 0x4040>;
3120 
3121                         interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
3122                                               <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
3123                                               <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
3124                                               <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
3125                                               <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
3126                         interrupt-names = "wdog", "fatal", "ready",
3127                                           "handover", "stop-ack";
3128 
3129                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
3130                         clock-names = "xo";
3131 
3132                         memory-region = <&adsp_mem>;
3133 
3134                         qcom,smem-states = <&adsp_smp2p_out 0>;
3135                         qcom,smem-state-names = "stop";
3136 
3137                         power-domains = <&rpmpd MSM8998_VDDCX>;
3138                         power-domain-names = "cx";
3139 
3140                         status = "disabled";
3141 
3142                         glink-edge {
3143                                 interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
3144                                 label = "lpass";
3145                                 qcom,remote-pid = <2>;
3146                                 mboxes = <&apcs_glb 9>;
3147                         };
3148                 };
3149 
3150                 apcs_glb: mailbox@17911000 {
3151                         compatible = "qcom,msm8998-apcs-hmss-global",
3152                                      "qcom,msm8994-apcs-kpss-global";
3153                         reg = <0x17911000 0x1000>;
3154 
3155                         #mbox-cells = <1>;
3156                 };
3157 
3158                 timer@17920000 {
3159                         #address-cells = <1>;
3160                         #size-cells = <1>;
3161                         ranges;
3162                         compatible = "arm,armv7-timer-mem";
3163                         reg = <0x17920000 0x1000>;
3164 
3165                         frame@17921000 {
3166                                 frame-number = <0>;
3167                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
3168                                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
3169                                 reg = <0x17921000 0x1000>,
3170                                       <0x17922000 0x1000>;
3171                         };
3172 
3173                         frame@17923000 {
3174                                 frame-number = <1>;
3175                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
3176                                 reg = <0x17923000 0x1000>;
3177                                 status = "disabled";
3178                         };
3179 
3180                         frame@17924000 {
3181                                 frame-number = <2>;
3182                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
3183                                 reg = <0x17924000 0x1000>;
3184                                 status = "disabled";
3185                         };
3186 
3187                         frame@17925000 {
3188                                 frame-number = <3>;
3189                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
3190                                 reg = <0x17925000 0x1000>;
3191                                 status = "disabled";
3192                         };
3193 
3194                         frame@17926000 {
3195                                 frame-number = <4>;
3196                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
3197                                 reg = <0x17926000 0x1000>;
3198                                 status = "disabled";
3199                         };
3200 
3201                         frame@17927000 {
3202                                 frame-number = <5>;
3203                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
3204                                 reg = <0x17927000 0x1000>;
3205                                 status = "disabled";
3206                         };
3207 
3208                         frame@17928000 {
3209                                 frame-number = <6>;
3210                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
3211                                 reg = <0x17928000 0x1000>;
3212                                 status = "disabled";
3213                         };
3214                 };
3215 
3216                 intc: interrupt-controller@17a00000 {
3217                         compatible = "arm,gic-v3";
3218                         reg = <0x17a00000 0x10000>,       /* GICD */
3219                               <0x17b00000 0x100000>;      /* GICR * 8 */
3220                         #interrupt-cells = <3>;
3221                         #address-cells = <1>;
3222                         #size-cells = <1>;
3223                         ranges;
3224                         interrupt-controller;
3225                         #redistributor-regions = <1>;
3226                         redistributor-stride = <0x0 0x20000>;
3227                         interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
3228                 };
3229 
3230                 wifi: wifi@18800000 {
3231                         compatible = "qcom,wcn3990-wifi";
3232                         status = "disabled";
3233                         reg = <0x18800000 0x800000>;
3234                         reg-names = "membase";
3235                         memory-region = <&wlan_msa_mem>;
3236                         clocks = <&rpmcc RPM_SMD_RF_CLK2_PIN>;
3237                         clock-names = "cxo_ref_clk_pin";
3238                         interrupts =
3239                                 <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>,
3240                                 <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
3241                                 <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
3242                                 <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
3243                                 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
3244                                 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
3245                                 <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
3246                                 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
3247                                 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
3248                                 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
3249                                 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
3250                                 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
3251                         iommus = <&anoc2_smmu 0x1900>,
3252                                  <&anoc2_smmu 0x1901>;
3253                         qcom,snoc-host-cap-8bit-quirk;
3254                         qcom,no-msa-ready-indicator;
3255                 };
3256         };
3257 };

~ [ 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