Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / qcom / sm6115.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2 /*
3  * Copyright (c) 2021, Iskren Chernev <iskren.chernev@gmail.com>
4  */
5
6 #include <dt-bindings/clock/qcom,gcc-sm6115.h>
7 #include <dt-bindings/clock/qcom,sm6115-dispcc.h>
8 #include <dt-bindings/clock/qcom,sm6115-gpucc.h>
9 #include <dt-bindings/clock/qcom,rpmcc.h>
10 #include <dt-bindings/dma/qcom-gpi.h>
11 #include <dt-bindings/firmware/qcom,scm.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/interrupt-controller/arm-gic.h>
14 #include <dt-bindings/power/qcom-rpmpd.h>
15
16 / {
17         interrupt-parent = <&intc>;
18
19         #address-cells = <2>;
20         #size-cells = <2>;
21
22         chosen { };
23
24         clocks {
25                 xo_board: xo-board {
26                         compatible = "fixed-clock";
27                         #clock-cells = <0>;
28                 };
29
30                 sleep_clk: sleep-clk {
31                         compatible = "fixed-clock";
32                         #clock-cells = <0>;
33                 };
34         };
35
36         cpus {
37                 #address-cells = <2>;
38                 #size-cells = <0>;
39
40                 CPU0: cpu@0 {
41                         device_type = "cpu";
42                         compatible = "qcom,kryo260";
43                         reg = <0x0 0x0>;
44                         clocks = <&cpufreq_hw 0>;
45                         capacity-dmips-mhz = <1024>;
46                         dynamic-power-coefficient = <100>;
47                         enable-method = "psci";
48                         next-level-cache = <&L2_0>;
49                         qcom,freq-domain = <&cpufreq_hw 0>;
50                         power-domains = <&CPU_PD0>;
51                         power-domain-names = "psci";
52                         L2_0: l2-cache {
53                                 compatible = "cache";
54                                 cache-level = <2>;
55                                 cache-unified;
56                         };
57                 };
58
59                 CPU1: cpu@1 {
60                         device_type = "cpu";
61                         compatible = "qcom,kryo260";
62                         reg = <0x0 0x1>;
63                         clocks = <&cpufreq_hw 0>;
64                         capacity-dmips-mhz = <1024>;
65                         dynamic-power-coefficient = <100>;
66                         enable-method = "psci";
67                         next-level-cache = <&L2_0>;
68                         qcom,freq-domain = <&cpufreq_hw 0>;
69                         power-domains = <&CPU_PD1>;
70                         power-domain-names = "psci";
71                 };
72
73                 CPU2: cpu@2 {
74                         device_type = "cpu";
75                         compatible = "qcom,kryo260";
76                         reg = <0x0 0x2>;
77                         clocks = <&cpufreq_hw 0>;
78                         capacity-dmips-mhz = <1024>;
79                         dynamic-power-coefficient = <100>;
80                         enable-method = "psci";
81                         next-level-cache = <&L2_0>;
82                         qcom,freq-domain = <&cpufreq_hw 0>;
83                         power-domains = <&CPU_PD2>;
84                         power-domain-names = "psci";
85                 };
86
87                 CPU3: cpu@3 {
88                         device_type = "cpu";
89                         compatible = "qcom,kryo260";
90                         reg = <0x0 0x3>;
91                         clocks = <&cpufreq_hw 0>;
92                         capacity-dmips-mhz = <1024>;
93                         dynamic-power-coefficient = <100>;
94                         enable-method = "psci";
95                         next-level-cache = <&L2_0>;
96                         qcom,freq-domain = <&cpufreq_hw 0>;
97                         power-domains = <&CPU_PD3>;
98                         power-domain-names = "psci";
99                 };
100
101                 CPU4: cpu@100 {
102                         device_type = "cpu";
103                         compatible = "qcom,kryo260";
104                         reg = <0x0 0x100>;
105                         clocks = <&cpufreq_hw 1>;
106                         enable-method = "psci";
107                         capacity-dmips-mhz = <1638>;
108                         dynamic-power-coefficient = <282>;
109                         next-level-cache = <&L2_1>;
110                         qcom,freq-domain = <&cpufreq_hw 1>;
111                         power-domains = <&CPU_PD4>;
112                         power-domain-names = "psci";
113                         L2_1: l2-cache {
114                                 compatible = "cache";
115                                 cache-level = <2>;
116                                 cache-unified;
117                         };
118                 };
119
120                 CPU5: cpu@101 {
121                         device_type = "cpu";
122                         compatible = "qcom,kryo260";
123                         reg = <0x0 0x101>;
124                         clocks = <&cpufreq_hw 1>;
125                         capacity-dmips-mhz = <1638>;
126                         dynamic-power-coefficient = <282>;
127                         enable-method = "psci";
128                         next-level-cache = <&L2_1>;
129                         qcom,freq-domain = <&cpufreq_hw 1>;
130                         power-domains = <&CPU_PD5>;
131                         power-domain-names = "psci";
132                 };
133
134                 CPU6: cpu@102 {
135                         device_type = "cpu";
136                         compatible = "qcom,kryo260";
137                         reg = <0x0 0x102>;
138                         clocks = <&cpufreq_hw 1>;
139                         capacity-dmips-mhz = <1638>;
140                         dynamic-power-coefficient = <282>;
141                         enable-method = "psci";
142                         next-level-cache = <&L2_1>;
143                         qcom,freq-domain = <&cpufreq_hw 1>;
144                         power-domains = <&CPU_PD6>;
145                         power-domain-names = "psci";
146                 };
147
148                 CPU7: cpu@103 {
149                         device_type = "cpu";
150                         compatible = "qcom,kryo260";
151                         reg = <0x0 0x103>;
152                         clocks = <&cpufreq_hw 1>;
153                         capacity-dmips-mhz = <1638>;
154                         dynamic-power-coefficient = <282>;
155                         enable-method = "psci";
156                         next-level-cache = <&L2_1>;
157                         qcom,freq-domain = <&cpufreq_hw 1>;
158                         power-domains = <&CPU_PD7>;
159                         power-domain-names = "psci";
160                 };
161
162                 cpu-map {
163                         cluster0 {
164                                 core0 {
165                                         cpu = <&CPU0>;
166                                 };
167
168                                 core1 {
169                                         cpu = <&CPU1>;
170                                 };
171
172                                 core2 {
173                                         cpu = <&CPU2>;
174                                 };
175
176                                 core3 {
177                                         cpu = <&CPU3>;
178                                 };
179                         };
180
181                         cluster1 {
182                                 core0 {
183                                         cpu = <&CPU4>;
184                                 };
185
186                                 core1 {
187                                         cpu = <&CPU5>;
188                                 };
189
190                                 core2 {
191                                         cpu = <&CPU6>;
192                                 };
193
194                                 core3 {
195                                         cpu = <&CPU7>;
196                                 };
197                         };
198                 };
199
200                 idle-states {
201                         entry-method = "psci";
202
203                         LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
204                                 compatible = "arm,idle-state";
205                                 idle-state-name = "silver-rail-power-collapse";
206                                 arm,psci-suspend-param = <0x40000003>;
207                                 entry-latency-us = <290>;
208                                 exit-latency-us = <376>;
209                                 min-residency-us = <1182>;
210                                 local-timer-stop;
211                         };
212
213                         BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
214                                 compatible = "arm,idle-state";
215                                 idle-state-name = "gold-rail-power-collapse";
216                                 arm,psci-suspend-param = <0x40000003>;
217                                 entry-latency-us = <297>;
218                                 exit-latency-us = <324>;
219                                 min-residency-us = <1110>;
220                                 local-timer-stop;
221                         };
222                 };
223
224                 domain-idle-states {
225                         CLUSTER_0_SLEEP_0: cluster-sleep-0-0 {
226                                 /* GDHS */
227                                 compatible = "domain-idle-state";
228                                 arm,psci-suspend-param = <0x40000022>;
229                                 entry-latency-us = <360>;
230                                 exit-latency-us = <421>;
231                                 min-residency-us = <782>;
232                         };
233
234                         CLUSTER_0_SLEEP_1: cluster-sleep-0-1 {
235                                 /* Power Collapse */
236                                 compatible = "domain-idle-state";
237                                 arm,psci-suspend-param = <0x41000044>;
238                                 entry-latency-us = <800>;
239                                 exit-latency-us = <2118>;
240                                 min-residency-us = <7376>;
241                         };
242
243                         CLUSTER_1_SLEEP_0: cluster-sleep-1-0 {
244                                 /* GDHS */
245                                 compatible = "domain-idle-state";
246                                 arm,psci-suspend-param = <0x40000042>;
247                                 entry-latency-us = <314>;
248                                 exit-latency-us = <345>;
249                                 min-residency-us = <660>;
250                         };
251
252                         CLUSTER_1_SLEEP_1: cluster-sleep-1-1 {
253                                 /* Power Collapse */
254                                 compatible = "domain-idle-state";
255                                 arm,psci-suspend-param = <0x41000044>;
256                                 entry-latency-us = <640>;
257                                 exit-latency-us = <1654>;
258                                 min-residency-us = <8094>;
259                         };
260                 };
261         };
262
263         firmware {
264                 scm: scm {
265                         compatible = "qcom,scm-sm6115", "qcom,scm";
266                         #reset-cells = <1>;
267                 };
268         };
269
270         memory@80000000 {
271                 device_type = "memory";
272                 /* We expect the bootloader to fill in the size */
273                 reg = <0 0x80000000 0 0>;
274         };
275
276         pmu {
277                 compatible = "arm,armv8-pmuv3";
278                 interrupts = <GIC_PPI 6 IRQ_TYPE_LEVEL_HIGH>;
279         };
280
281         psci {
282                 compatible = "arm,psci-1.0";
283                 method = "smc";
284
285                 CPU_PD0: power-domain-cpu0 {
286                         #power-domain-cells = <0>;
287                         power-domains = <&CLUSTER_0_PD>;
288                         domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
289                 };
290
291                 CPU_PD1: power-domain-cpu1 {
292                         #power-domain-cells = <0>;
293                         power-domains = <&CLUSTER_0_PD>;
294                         domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
295                 };
296
297                 CPU_PD2: power-domain-cpu2 {
298                         #power-domain-cells = <0>;
299                         power-domains = <&CLUSTER_0_PD>;
300                         domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
301                 };
302
303                 CPU_PD3: power-domain-cpu3 {
304                         #power-domain-cells = <0>;
305                         power-domains = <&CLUSTER_0_PD>;
306                         domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
307                 };
308
309                 CPU_PD4: power-domain-cpu4 {
310                         #power-domain-cells = <0>;
311                         power-domains = <&CLUSTER_1_PD>;
312                         domain-idle-states = <&BIG_CPU_SLEEP_0>;
313                 };
314
315                 CPU_PD5: power-domain-cpu5 {
316                         #power-domain-cells = <0>;
317                         power-domains = <&CLUSTER_1_PD>;
318                         domain-idle-states = <&BIG_CPU_SLEEP_0>;
319                 };
320
321                 CPU_PD6: power-domain-cpu6 {
322                         #power-domain-cells = <0>;
323                         power-domains = <&CLUSTER_1_PD>;
324                         domain-idle-states = <&BIG_CPU_SLEEP_0>;
325                 };
326
327                 CPU_PD7: power-domain-cpu7 {
328                         #power-domain-cells = <0>;
329                         power-domains = <&CLUSTER_1_PD>;
330                         domain-idle-states = <&BIG_CPU_SLEEP_0>;
331                 };
332
333                 CLUSTER_0_PD: power-domain-cpu-cluster0 {
334                         #power-domain-cells = <0>;
335                         domain-idle-states = <&CLUSTER_0_SLEEP_0>, <&CLUSTER_0_SLEEP_1>;
336                 };
337
338                 CLUSTER_1_PD: power-domain-cpu-cluster1 {
339                         #power-domain-cells = <0>;
340                         domain-idle-states = <&CLUSTER_1_SLEEP_0>, <&CLUSTER_1_SLEEP_1>;
341                 };
342         };
343
344         rpm: remoteproc {
345                 compatible = "qcom,sm6115-rpm-proc", "qcom,rpm-proc";
346
347                 glink-edge {
348                         compatible = "qcom,glink-rpm";
349
350                         interrupts = <GIC_SPI 194 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-sm6115";
356                                 qcom,glink-channels = "rpm_requests";
357
358                                 rpmcc: clock-controller {
359                                         compatible = "qcom,rpmcc-sm6115", "qcom,rpmcc";
360                                         clocks = <&xo_board>;
361                                         clock-names = "xo";
362                                         #clock-cells = <1>;
363                                 };
364
365                                 rpmpd: power-controller {
366                                         compatible = "qcom,sm6115-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_min_svs: opp1 {
374                                                         opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
375                                                 };
376
377                                                 rpmpd_opp_low_svs: opp2 {
378                                                         opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
379                                                 };
380
381                                                 rpmpd_opp_svs: opp3 {
382                                                         opp-level = <RPM_SMD_LEVEL_SVS>;
383                                                 };
384
385                                                 rpmpd_opp_svs_plus: opp4 {
386                                                         opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
387                                                 };
388
389                                                 rpmpd_opp_nom: opp5 {
390                                                         opp-level = <RPM_SMD_LEVEL_NOM>;
391                                                 };
392
393                                                 rpmpd_opp_nom_plus: opp6 {
394                                                         opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
395                                                 };
396
397                                                 rpmpd_opp_turbo: opp7 {
398                                                         opp-level = <RPM_SMD_LEVEL_TURBO>;
399                                                 };
400
401                                                 rpmpd_opp_turbo_plus: opp8 {
402                                                         opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
403                                                 };
404                                         };
405                                 };
406                         };
407                 };
408         };
409
410         reserved_memory: reserved-memory {
411                 #address-cells = <2>;
412                 #size-cells = <2>;
413                 ranges;
414
415                 hyp_mem: memory@45700000 {
416                         reg = <0x0 0x45700000 0x0 0x600000>;
417                         no-map;
418                 };
419
420                 xbl_aop_mem: memory@45e00000 {
421                         reg = <0x0 0x45e00000 0x0 0x140000>;
422                         no-map;
423                 };
424
425                 sec_apps_mem: memory@45fff000 {
426                         reg = <0x0 0x45fff000 0x0 0x1000>;
427                         no-map;
428                 };
429
430                 smem_mem: memory@46000000 {
431                         compatible = "qcom,smem";
432                         reg = <0x0 0x46000000 0x0 0x200000>;
433                         no-map;
434
435                         hwlocks = <&tcsr_mutex 3>;
436                         qcom,rpm-msg-ram = <&rpm_msg_ram>;
437                 };
438
439                 cdsp_sec_mem: memory@46200000 {
440                         reg = <0x0 0x46200000 0x0 0x1e00000>;
441                         no-map;
442                 };
443
444                 pil_modem_mem: memory@4ab00000 {
445                         reg = <0x0 0x4ab00000 0x0 0x6900000>;
446                         no-map;
447                 };
448
449                 pil_video_mem: memory@51400000 {
450                         reg = <0x0 0x51400000 0x0 0x500000>;
451                         no-map;
452                 };
453
454                 wlan_msa_mem: memory@51900000 {
455                         reg = <0x0 0x51900000 0x0 0x100000>;
456                         no-map;
457                 };
458
459                 pil_cdsp_mem: memory@51a00000 {
460                         reg = <0x0 0x51a00000 0x0 0x1e00000>;
461                         no-map;
462                 };
463
464                 pil_adsp_mem: memory@53800000 {
465                         reg = <0x0 0x53800000 0x0 0x2800000>;
466                         no-map;
467                 };
468
469                 pil_ipa_fw_mem: memory@56100000 {
470                         reg = <0x0 0x56100000 0x0 0x10000>;
471                         no-map;
472                 };
473
474                 pil_ipa_gsi_mem: memory@56110000 {
475                         reg = <0x0 0x56110000 0x0 0x5000>;
476                         no-map;
477                 };
478
479                 pil_gpu_mem: memory@56115000 {
480                         reg = <0x0 0x56115000 0x0 0x2000>;
481                         no-map;
482                 };
483
484                 cont_splash_memory: memory@5c000000 {
485                         reg = <0x0 0x5c000000 0x0 0x00f00000>;
486                         no-map;
487                 };
488
489                 dfps_data_memory: memory@5cf00000 {
490                         reg = <0x0 0x5cf00000 0x0 0x0100000>;
491                         no-map;
492                 };
493
494                 removed_mem: memory@60000000 {
495                         reg = <0x0 0x60000000 0x0 0x3900000>;
496                         no-map;
497                 };
498
499                 rmtfs_mem: memory@89b01000 {
500                         compatible = "qcom,rmtfs-mem";
501                         reg = <0x0 0x89b01000 0x0 0x200000>;
502                         no-map;
503
504                         qcom,client-id = <1>;
505                         qcom,vmid = <QCOM_SCM_VMID_MSS_MSA QCOM_SCM_VMID_NAV>;
506                 };
507         };
508
509         smp2p-adsp {
510                 compatible = "qcom,smp2p";
511                 qcom,smem = <443>, <429>;
512
513                 interrupts = <GIC_SPI 279 IRQ_TYPE_EDGE_RISING>;
514
515                 mboxes = <&apcs_glb 10>;
516
517                 qcom,local-pid = <0>;
518                 qcom,remote-pid = <2>;
519
520                 adsp_smp2p_out: master-kernel {
521                         qcom,entry-name = "master-kernel";
522                         #qcom,smem-state-cells = <1>;
523                 };
524
525                 adsp_smp2p_in: slave-kernel {
526                         qcom,entry-name = "slave-kernel";
527
528                         interrupt-controller;
529                         #interrupt-cells = <2>;
530                 };
531         };
532
533         smp2p-cdsp {
534                 compatible = "qcom,smp2p";
535                 qcom,smem = <94>, <432>;
536
537                 interrupts = <GIC_SPI 263 IRQ_TYPE_EDGE_RISING>;
538
539                 mboxes = <&apcs_glb 30>;
540
541                 qcom,local-pid = <0>;
542                 qcom,remote-pid = <5>;
543
544                 cdsp_smp2p_out: master-kernel {
545                         qcom,entry-name = "master-kernel";
546                         #qcom,smem-state-cells = <1>;
547                 };
548
549                 cdsp_smp2p_in: slave-kernel {
550                         qcom,entry-name = "slave-kernel";
551
552                         interrupt-controller;
553                         #interrupt-cells = <2>;
554                 };
555         };
556
557         smp2p-mpss {
558                 compatible = "qcom,smp2p";
559                 qcom,smem = <435>, <428>;
560
561                 interrupts = <GIC_SPI 70 IRQ_TYPE_EDGE_RISING>;
562
563                 mboxes = <&apcs_glb 14>;
564
565                 qcom,local-pid = <0>;
566                 qcom,remote-pid = <1>;
567
568                 modem_smp2p_out: master-kernel {
569                         qcom,entry-name = "master-kernel";
570                         #qcom,smem-state-cells = <1>;
571                 };
572
573                 modem_smp2p_in: slave-kernel {
574                         qcom,entry-name = "slave-kernel";
575
576                         interrupt-controller;
577                         #interrupt-cells = <2>;
578                 };
579         };
580
581         soc: soc@0 {
582                 compatible = "simple-bus";
583                 #address-cells = <2>;
584                 #size-cells = <2>;
585                 ranges = <0 0 0 0 0x10 0>;
586                 dma-ranges = <0 0 0 0 0x10 0>;
587
588                 tcsr_mutex: hwlock@340000 {
589                         compatible = "qcom,tcsr-mutex";
590                         reg = <0x0 0x00340000 0x0 0x20000>;
591                         #hwlock-cells = <1>;
592                 };
593
594                 tlmm: pinctrl@500000 {
595                         compatible = "qcom,sm6115-tlmm";
596                         reg = <0x0 0x00500000 0x0 0x400000>,
597                               <0x0 0x00900000 0x0 0x400000>,
598                               <0x0 0x00d00000 0x0 0x400000>;
599                         reg-names = "west", "south", "east";
600                         interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
601                         gpio-controller;
602                         gpio-ranges = <&tlmm 0 0 114>; /* GPIOs + ufs_reset */
603                         #gpio-cells = <2>;
604                         interrupt-controller;
605                         #interrupt-cells = <2>;
606
607                         qup_i2c0_default: qup-i2c0-default-state {
608                                 pins = "gpio0", "gpio1";
609                                 function = "qup0";
610                                 drive-strength = <2>;
611                                 bias-pull-up;
612                         };
613
614                         qup_i2c1_default: qup-i2c1-default-state {
615                                 pins = "gpio4", "gpio5";
616                                 function = "qup1";
617                                 drive-strength = <2>;
618                                 bias-pull-up;
619                         };
620
621                         qup_i2c2_default: qup-i2c2-default-state {
622                                 pins = "gpio6", "gpio7";
623                                 function = "qup2";
624                                 drive-strength = <2>;
625                                 bias-pull-up;
626                         };
627
628                         qup_i2c3_default: qup-i2c3-default-state {
629                                 pins = "gpio8", "gpio9";
630                                 function = "qup3";
631                                 drive-strength = <2>;
632                                 bias-pull-up;
633                         };
634
635                         qup_i2c4_default: qup-i2c4-default-state {
636                                 pins = "gpio12", "gpio13";
637                                 function = "qup4";
638                                 drive-strength = <2>;
639                                 bias-pull-up;
640                         };
641
642                         qup_i2c5_default: qup-i2c5-default-state {
643                                 pins = "gpio14", "gpio15";
644                                 function = "qup5";
645                                 drive-strength = <2>;
646                                 bias-pull-up;
647                         };
648
649                         qup_spi0_default: qup-spi0-default-state {
650                                 pins = "gpio0", "gpio1","gpio2", "gpio3";
651                                 function = "qup0";
652                                 drive-strength = <2>;
653                                 bias-pull-up;
654                         };
655
656                         qup_spi1_default: qup-spi1-default-state {
657                                 pins = "gpio4", "gpio5", "gpio69", "gpio70";
658                                 function = "qup1";
659                                 drive-strength = <2>;
660                                 bias-pull-up;
661                         };
662
663                         qup_spi2_default: qup-spi2-default-state {
664                                 pins = "gpio6", "gpio7", "gpio71", "gpio80";
665                                 function = "qup2";
666                                 drive-strength = <2>;
667                                 bias-pull-up;
668                         };
669
670                         qup_spi3_default: qup-spi3-default-state {
671                                 pins = "gpio8", "gpio9", "gpio10", "gpio11";
672                                 function = "qup3";
673                                 drive-strength = <2>;
674                                 bias-pull-up;
675                         };
676
677                         qup_spi4_default: qup-spi4-default-state {
678                                 pins = "gpio12", "gpio13", "gpio96", "gpio97";
679                                 function = "qup4";
680                                 drive-strength = <2>;
681                                 bias-pull-up;
682                         };
683
684                         qup_spi5_default: qup-spi5-default-state {
685                                 pins = "gpio14", "gpio15", "gpio16", "gpio17";
686                                 function = "qup5";
687                                 drive-strength = <2>;
688                                 bias-pull-up;
689                         };
690
691                         sdc1_state_on: sdc1-on-state {
692                                 clk-pins {
693                                         pins = "sdc1_clk";
694                                         bias-disable;
695                                         drive-strength = <16>;
696                                 };
697
698                                 cmd-pins {
699                                         pins = "sdc1_cmd";
700                                         bias-pull-up;
701                                         drive-strength = <10>;
702                                 };
703
704                                 data-pins {
705                                         pins = "sdc1_data";
706                                         bias-pull-up;
707                                         drive-strength = <10>;
708                                 };
709
710                                 rclk-pins {
711                                         pins = "sdc1_rclk";
712                                         bias-pull-down;
713                                 };
714                         };
715
716                         sdc1_state_off: sdc1-off-state {
717                                 clk-pins {
718                                         pins = "sdc1_clk";
719                                         bias-disable;
720                                         drive-strength = <2>;
721                                 };
722
723                                 cmd-pins {
724                                         pins = "sdc1_cmd";
725                                         bias-pull-up;
726                                         drive-strength = <2>;
727                                 };
728
729                                 data-pins {
730                                         pins = "sdc1_data";
731                                         bias-pull-up;
732                                         drive-strength = <2>;
733                                 };
734
735                                 rclk-pins {
736                                         pins = "sdc1_rclk";
737                                         bias-pull-down;
738                                 };
739                         };
740
741                         sdc2_state_on: sdc2-on-state {
742                                 clk-pins {
743                                         pins = "sdc2_clk";
744                                         bias-disable;
745                                         drive-strength = <16>;
746                                 };
747
748                                 cmd-pins {
749                                         pins = "sdc2_cmd";
750                                         bias-pull-up;
751                                         drive-strength = <10>;
752                                 };
753
754                                 data-pins {
755                                         pins = "sdc2_data";
756                                         bias-pull-up;
757                                         drive-strength = <10>;
758                                 };
759                         };
760
761                         sdc2_state_off: sdc2-off-state {
762                                 clk-pins {
763                                         pins = "sdc2_clk";
764                                         bias-disable;
765                                         drive-strength = <2>;
766                                 };
767
768                                 cmd-pins {
769                                         pins = "sdc2_cmd";
770                                         bias-pull-up;
771                                         drive-strength = <2>;
772                                 };
773
774                                 data-pins {
775                                         pins = "sdc2_data";
776                                         bias-pull-up;
777                                         drive-strength = <2>;
778                                 };
779                         };
780                 };
781
782                 gcc: clock-controller@1400000 {
783                         compatible = "qcom,gcc-sm6115";
784                         reg = <0x0 0x01400000 0x0 0x1f0000>;
785                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&sleep_clk>;
786                         clock-names = "bi_tcxo", "sleep_clk";
787                         #clock-cells = <1>;
788                         #reset-cells = <1>;
789                         #power-domain-cells = <1>;
790                 };
791
792                 usb_hsphy: phy@1613000 {
793                         compatible = "qcom,sm6115-qusb2-phy";
794                         reg = <0x0 0x01613000 0x0 0x180>;
795                         #phy-cells = <0>;
796
797                         clocks = <&gcc GCC_AHB2PHY_USB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
798                         clock-names = "cfg_ahb", "ref";
799
800                         resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
801                         nvmem-cells = <&qusb2_hstx_trim>;
802
803                         status = "disabled";
804                 };
805
806                 cryptobam: dma-controller@1b04000 {
807                         compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
808                         reg = <0x0 0x01b04000 0x0 0x24000>;
809                         interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
810                         clocks = <&rpmcc RPM_SMD_CE1_CLK>;
811                         clock-names = "bam_clk";
812                         #dma-cells = <1>;
813                         qcom,ee = <0>;
814                         qcom,controlled-remotely;
815                         iommus = <&apps_smmu 0x92 0>,
816                                  <&apps_smmu 0x94 0x11>,
817                                  <&apps_smmu 0x96 0x11>,
818                                  <&apps_smmu 0x98 0x1>,
819                                  <&apps_smmu 0x9F 0>;
820                 };
821
822                 crypto: crypto@1b3a000 {
823                         compatible = "qcom,sm6115-qce", "qcom,ipq4019-qce", "qcom,qce";
824                         reg = <0x0 0x01b3a000 0x0 0x6000>;
825                         clocks = <&rpmcc RPM_SMD_CE1_CLK>;
826                         clock-names = "core";
827
828                         dmas = <&cryptobam 6>, <&cryptobam 7>;
829                         dma-names = "rx", "tx";
830                         iommus = <&apps_smmu 0x92 0>,
831                                  <&apps_smmu 0x94 0x11>,
832                                  <&apps_smmu 0x96 0x11>,
833                                  <&apps_smmu 0x98 0x1>,
834                                  <&apps_smmu 0x9F 0>;
835                 };
836
837                 usb_qmpphy: phy@1615000 {
838                         compatible = "qcom,sm6115-qmp-usb3-phy";
839                         reg = <0x0 0x01615000 0x0 0x1000>;
840
841                         clocks = <&gcc GCC_AHB2PHY_USB_CLK>,
842                                  <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
843                                  <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
844                                  <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
845                         clock-names = "cfg_ahb",
846                                       "ref",
847                                       "com_aux",
848                                       "pipe";
849
850                         resets = <&gcc GCC_USB3_PHY_PRIM_SP0_BCR>,
851                                  <&gcc GCC_USB3PHY_PHY_PRIM_SP0_BCR>;
852                         reset-names = "phy", "phy_phy";
853
854                         #clock-cells = <0>;
855                         clock-output-names = "usb3_phy_pipe_clk_src";
856
857                         #phy-cells = <0>;
858
859                         status = "disabled";
860                 };
861
862                 qfprom@1b40000 {
863                         compatible = "qcom,sm6115-qfprom", "qcom,qfprom";
864                         reg = <0x0 0x01b40000 0x0 0x7000>;
865                         #address-cells = <1>;
866                         #size-cells = <1>;
867
868                         qusb2_hstx_trim: hstx-trim@25b {
869                                 reg = <0x25b 0x1>;
870                                 bits = <1 4>;
871                         };
872
873                         gpu_speed_bin: gpu-speed-bin@6006 {
874                                 reg = <0x6006 0x2>;
875                                 bits = <5 8>;
876                         };
877                 };
878
879                 rng: rng@1b53000 {
880                         compatible = "qcom,prng-ee";
881                         reg = <0x0 0x01b53000 0x0 0x1000>;
882                         clocks = <&gcc GCC_PRNG_AHB_CLK>;
883                         clock-names = "core";
884                 };
885
886                 spmi_bus: spmi@1c40000 {
887                         compatible = "qcom,spmi-pmic-arb";
888                         reg = <0x0 0x01c40000 0x0 0x1100>,
889                               <0x0 0x01e00000 0x0 0x2000000>,
890                               <0x0 0x03e00000 0x0 0x100000>,
891                               <0x0 0x03f00000 0x0 0xa0000>,
892                               <0x0 0x01c0a000 0x0 0x26000>;
893                         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
894                         interrupt-names = "periph_irq";
895                         interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
896                         qcom,ee = <0>;
897                         qcom,channel = <0>;
898                         #address-cells = <2>;
899                         #size-cells = <0>;
900                         interrupt-controller;
901                         #interrupt-cells = <4>;
902                 };
903
904                 tsens0: thermal-sensor@4411000 {
905                         compatible = "qcom,sm6115-tsens", "qcom,tsens-v2";
906                         reg = <0x0 0x04411000 0x0 0x1ff>, /* TM */
907                               <0x0 0x04410000 0x0 0x8>; /* SROT */
908                         #qcom,sensors = <16>;
909                         interrupts = <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
910                                      <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
911                         interrupt-names = "uplow", "critical";
912                         #thermal-sensor-cells = <1>;
913                 };
914
915                 rpm_msg_ram: sram@45f0000 {
916                         compatible = "qcom,rpm-msg-ram";
917                         reg = <0x0 0x045f0000 0x0 0x7000>;
918                 };
919
920                 sram@4690000 {
921                         compatible = "qcom,rpm-stats";
922                         reg = <0x0 0x04690000 0x0 0x10000>;
923                 };
924
925                 sdhc_1: mmc@4744000 {
926                         compatible = "qcom,sm6115-sdhci", "qcom,sdhci-msm-v5";
927                         reg = <0x0 0x04744000 0x0 0x1000>,
928                               <0x0 0x04745000 0x0 0x1000>,
929                               <0x0 0x04748000 0x0 0x8000>;
930                         reg-names = "hc", "cqhci", "ice";
931
932                         interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>,
933                                      <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
934                         interrupt-names = "hc_irq", "pwr_irq";
935
936                         clocks = <&gcc GCC_SDCC1_AHB_CLK>,
937                                  <&gcc GCC_SDCC1_APPS_CLK>,
938                                  <&rpmcc RPM_SMD_XO_CLK_SRC>,
939                                  <&gcc GCC_SDCC1_ICE_CORE_CLK>;
940                         clock-names = "iface", "core", "xo", "ice";
941
942                         bus-width = <8>;
943                         status = "disabled";
944                 };
945
946                 sdhc_2: mmc@4784000 {
947                         compatible = "qcom,sm6115-sdhci", "qcom,sdhci-msm-v5";
948                         reg = <0x0 0x04784000 0x0 0x1000>;
949                         reg-names = "hc";
950
951                         interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
952                                      <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
953                         interrupt-names = "hc_irq", "pwr_irq";
954
955                         clocks = <&gcc GCC_SDCC2_AHB_CLK>,
956                                  <&gcc GCC_SDCC2_APPS_CLK>,
957                                  <&rpmcc RPM_SMD_XO_CLK_SRC>;
958                         clock-names = "iface", "core", "xo";
959
960                         power-domains = <&rpmpd SM6115_VDDCX>;
961                         operating-points-v2 = <&sdhc2_opp_table>;
962                         iommus = <&apps_smmu 0x00a0 0x0>;
963                         resets = <&gcc GCC_SDCC2_BCR>;
964
965                         bus-width = <4>;
966                         qcom,dll-config = <0x0007642c>;
967                         qcom,ddr-config = <0x80040868>;
968                         status = "disabled";
969
970                         sdhc2_opp_table: opp-table {
971                                 compatible = "operating-points-v2";
972
973                                 opp-100000000 {
974                                         opp-hz = /bits/ 64 <100000000>;
975                                         required-opps = <&rpmpd_opp_low_svs>;
976                                 };
977
978                                 opp-202000000 {
979                                         opp-hz = /bits/ 64 <202000000>;
980                                         required-opps = <&rpmpd_opp_nom>;
981                                 };
982                         };
983                 };
984
985                 ufs_mem_hc: ufs@4804000 {
986                         compatible = "qcom,sm6115-ufshc", "qcom,ufshc", "jedec,ufs-2.0";
987                         reg = <0x0 0x04804000 0x0 0x3000>, <0x0 0x04810000 0x0 0x8000>;
988                         reg-names = "std", "ice";
989                         interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
990                         phys = <&ufs_mem_phy_lanes>;
991                         phy-names = "ufsphy";
992                         lanes-per-direction = <1>;
993                         #reset-cells = <1>;
994                         resets = <&gcc GCC_UFS_PHY_BCR>;
995                         reset-names = "rst";
996
997                         power-domains = <&gcc GCC_UFS_PHY_GDSC>;
998                         iommus = <&apps_smmu 0x100 0>;
999
1000                         clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
1001                                  <&gcc GCC_SYS_NOC_UFS_PHY_AXI_CLK>,
1002                                  <&gcc GCC_UFS_PHY_AHB_CLK>,
1003                                  <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
1004                                  <&rpmcc RPM_SMD_XO_CLK_SRC>,
1005                                  <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
1006                                  <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
1007                                  <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
1008                         clock-names = "core_clk",
1009                                       "bus_aggr_clk",
1010                                       "iface_clk",
1011                                       "core_clk_unipro",
1012                                       "ref_clk",
1013                                       "tx_lane0_sync_clk",
1014                                       "rx_lane0_sync_clk",
1015                                       "ice_core_clk";
1016
1017                         freq-table-hz = <50000000 200000000>,
1018                                         <0 0>,
1019                                         <0 0>,
1020                                         <37500000 150000000>,
1021                                         <0 0>,
1022                                         <0 0>,
1023                                         <0 0>,
1024                                         <75000000 300000000>;
1025
1026                         status = "disabled";
1027                 };
1028
1029                 ufs_mem_phy: phy@4807000 {
1030                         compatible = "qcom,sm6115-qmp-ufs-phy";
1031                         reg = <0x0 0x04807000 0x0 0x1c4>;
1032                         #address-cells = <2>;
1033                         #size-cells = <2>;
1034                         ranges;
1035
1036                         clocks = <&gcc GCC_UFS_CLKREF_CLK>, <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
1037                         clock-names = "ref", "ref_aux";
1038
1039                         resets = <&ufs_mem_hc 0>;
1040                         reset-names = "ufsphy";
1041                         status = "disabled";
1042
1043                         ufs_mem_phy_lanes: phy@4807400 {
1044                                 reg = <0x0 0x04807400 0x0 0x098>,
1045                                       <0x0 0x04807600 0x0 0x130>,
1046                                       <0x0 0x04807c00 0x0 0x16c>;
1047                                 #phy-cells = <0>;
1048                         };
1049                 };
1050
1051                 gpi_dma0: dma-controller@4a00000 {
1052                         compatible = "qcom,sm6115-gpi-dma", "qcom,sm6350-gpi-dma";
1053                         reg = <0x0 0x04a00000 0x0 0x60000>;
1054                         interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
1055                                      <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
1056                                      <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
1057                                      <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
1058                                      <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
1059                                      <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
1060                                      <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
1061                                      <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
1062                                      <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
1063                                      <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
1064                         dma-channels = <10>;
1065                         dma-channel-mask = <0xf>;
1066                         iommus = <&apps_smmu 0xf6 0x0>;
1067                         #dma-cells = <3>;
1068                         status = "disabled";
1069                 };
1070
1071                 qupv3_id_0: geniqup@4ac0000 {
1072                         compatible = "qcom,geni-se-qup";
1073                         reg = <0x0 0x04ac0000 0x0 0x2000>;
1074                         clock-names = "m-ahb", "s-ahb";
1075                         clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
1076                                  <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
1077                         #address-cells = <2>;
1078                         #size-cells = <2>;
1079                         iommus = <&apps_smmu 0xe3 0x0>;
1080                         ranges;
1081                         status = "disabled";
1082
1083                         i2c0: i2c@4a80000 {
1084                                 compatible = "qcom,geni-i2c";
1085                                 reg = <0x0 0x04a80000 0x0 0x4000>;
1086                                 clock-names = "se";
1087                                 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1088                                 pinctrl-names = "default";
1089                                 pinctrl-0 = <&qup_i2c0_default>;
1090                                 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
1091                                 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
1092                                        <&gpi_dma0 1 0 QCOM_GPI_I2C>;
1093                                 dma-names = "tx", "rx";
1094                                 #address-cells = <1>;
1095                                 #size-cells = <0>;
1096                                 status = "disabled";
1097                         };
1098
1099                         spi0: spi@4a80000 {
1100                                 compatible = "qcom,geni-spi";
1101                                 reg = <0x0 0x04a80000 0x0 0x4000>;
1102                                 clock-names = "se";
1103                                 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1104                                 pinctrl-names = "default";
1105                                 pinctrl-0 = <&qup_spi0_default>;
1106                                 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
1107                                 dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
1108                                        <&gpi_dma0 1 0 QCOM_GPI_SPI>;
1109                                 dma-names = "tx", "rx";
1110                                 #address-cells = <1>;
1111                                 #size-cells = <0>;
1112                                 status = "disabled";
1113                         };
1114
1115                         i2c1: i2c@4a84000 {
1116                                 compatible = "qcom,geni-i2c";
1117                                 reg = <0x0 0x04a84000 0x0 0x4000>;
1118                                 clock-names = "se";
1119                                 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1120                                 pinctrl-names = "default";
1121                                 pinctrl-0 = <&qup_i2c1_default>;
1122                                 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
1123                                 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
1124                                        <&gpi_dma0 1 1 QCOM_GPI_I2C>;
1125                                 dma-names = "tx", "rx";
1126                                 #address-cells = <1>;
1127                                 #size-cells = <0>;
1128                                 status = "disabled";
1129                         };
1130
1131                         spi1: spi@4a84000 {
1132                                 compatible = "qcom,geni-spi";
1133                                 reg = <0x0 0x04a84000 0x0 0x4000>;
1134                                 clock-names = "se";
1135                                 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1136                                 pinctrl-names = "default";
1137                                 pinctrl-0 = <&qup_spi1_default>;
1138                                 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
1139                                 dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
1140                                        <&gpi_dma0 1 1 QCOM_GPI_SPI>;
1141                                 dma-names = "tx", "rx";
1142                                 #address-cells = <1>;
1143                                 #size-cells = <0>;
1144                                 status = "disabled";
1145                         };
1146
1147                         i2c2: i2c@4a88000 {
1148                                 compatible = "qcom,geni-i2c";
1149                                 reg = <0x0 0x04a88000 0x0 0x4000>;
1150                                 clock-names = "se";
1151                                 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1152                                 pinctrl-names = "default";
1153                                 pinctrl-0 = <&qup_i2c2_default>;
1154                                 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1155                                 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
1156                                        <&gpi_dma0 1 2 QCOM_GPI_I2C>;
1157                                 dma-names = "tx", "rx";
1158                                 #address-cells = <1>;
1159                                 #size-cells = <0>;
1160                                 status = "disabled";
1161                         };
1162
1163                         spi2: spi@4a88000 {
1164                                 compatible = "qcom,geni-spi";
1165                                 reg = <0x0 0x04a88000 0x0 0x4000>;
1166                                 clock-names = "se";
1167                                 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1168                                 pinctrl-names = "default";
1169                                 pinctrl-0 = <&qup_spi2_default>;
1170                                 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1171                                 dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
1172                                        <&gpi_dma0 1 2 QCOM_GPI_SPI>;
1173                                 dma-names = "tx", "rx";
1174                                 #address-cells = <1>;
1175                                 #size-cells = <0>;
1176                                 status = "disabled";
1177                         };
1178
1179                         i2c3: i2c@4a8c000 {
1180                                 compatible = "qcom,geni-i2c";
1181                                 reg = <0x0 0x04a8c000 0x0 0x4000>;
1182                                 clock-names = "se";
1183                                 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1184                                 pinctrl-names = "default";
1185                                 pinctrl-0 = <&qup_i2c3_default>;
1186                                 interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
1187                                 dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
1188                                        <&gpi_dma0 1 3 QCOM_GPI_I2C>;
1189                                 dma-names = "tx", "rx";
1190                                 #address-cells = <1>;
1191                                 #size-cells = <0>;
1192                                 status = "disabled";
1193                         };
1194
1195                         spi3: spi@4a8c000 {
1196                                 compatible = "qcom,geni-spi";
1197                                 reg = <0x0 0x04a8c000 0x0 0x4000>;
1198                                 clock-names = "se";
1199                                 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1200                                 pinctrl-names = "default";
1201                                 pinctrl-0 = <&qup_spi3_default>;
1202                                 interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
1203                                 dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
1204                                        <&gpi_dma0 1 3 QCOM_GPI_SPI>;
1205                                 dma-names = "tx", "rx";
1206                                 #address-cells = <1>;
1207                                 #size-cells = <0>;
1208                                 status = "disabled";
1209                         };
1210
1211                         i2c4: i2c@4a90000 {
1212                                 compatible = "qcom,geni-i2c";
1213                                 reg = <0x0 0x04a90000 0x0 0x4000>;
1214                                 clock-names = "se";
1215                                 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1216                                 pinctrl-names = "default";
1217                                 pinctrl-0 = <&qup_i2c4_default>;
1218                                 interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
1219                                 dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
1220                                        <&gpi_dma0 1 4 QCOM_GPI_I2C>;
1221                                 dma-names = "tx", "rx";
1222                                 #address-cells = <1>;
1223                                 #size-cells = <0>;
1224                                 status = "disabled";
1225                         };
1226
1227                         spi4: spi@4a90000 {
1228                                 compatible = "qcom,geni-spi";
1229                                 reg = <0x0 0x04a90000 0x0 0x4000>;
1230                                 clock-names = "se";
1231                                 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1232                                 pinctrl-names = "default";
1233                                 pinctrl-0 = <&qup_spi4_default>;
1234                                 interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
1235                                 dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
1236                                        <&gpi_dma0 1 4 QCOM_GPI_SPI>;
1237                                 dma-names = "tx", "rx";
1238                                 #address-cells = <1>;
1239                                 #size-cells = <0>;
1240                                 status = "disabled";
1241                         };
1242
1243                         uart4: serial@4a90000 {
1244                                 compatible = "qcom,geni-debug-uart";
1245                                 reg = <0x0 0x04a90000 0x0 0x4000>;
1246                                 clock-names = "se";
1247                                 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1248                                 interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
1249                                 status = "disabled";
1250                         };
1251
1252                         i2c5: i2c@4a94000 {
1253                                 compatible = "qcom,geni-i2c";
1254                                 reg = <0x0 0x04a94000 0x0 0x4000>;
1255                                 clock-names = "se";
1256                                 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1257                                 pinctrl-names = "default";
1258                                 pinctrl-0 = <&qup_i2c5_default>;
1259                                 interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1260                                 dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
1261                                        <&gpi_dma0 1 5 QCOM_GPI_I2C>;
1262                                 dma-names = "tx", "rx";
1263                                 #address-cells = <1>;
1264                                 #size-cells = <0>;
1265                                 status = "disabled";
1266                         };
1267
1268                         spi5: spi@4a94000 {
1269                                 compatible = "qcom,geni-spi";
1270                                 reg = <0x0 0x04a94000 0x0 0x4000>;
1271                                 clock-names = "se";
1272                                 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1273                                 pinctrl-names = "default";
1274                                 pinctrl-0 = <&qup_spi5_default>;
1275                                 interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1276                                 dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
1277                                        <&gpi_dma0 1 5 QCOM_GPI_SPI>;
1278                                 dma-names = "tx", "rx";
1279                                 #address-cells = <1>;
1280                                 #size-cells = <0>;
1281                                 status = "disabled";
1282                         };
1283                 };
1284
1285                 usb: usb@4ef8800 {
1286                         compatible = "qcom,sm6115-dwc3", "qcom,dwc3";
1287                         reg = <0x0 0x04ef8800 0x0 0x400>;
1288                         #address-cells = <2>;
1289                         #size-cells = <2>;
1290                         ranges;
1291
1292                         clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1293                                  <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1294                                  <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>,
1295                                  <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1296                                  <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1297                                  <&gcc GCC_USB3_PRIM_CLKREF_CLK>;
1298                         clock-names = "cfg_noc", "core", "iface", "sleep", "mock_utmi", "xo";
1299
1300                         assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1301                                           <&gcc GCC_USB30_PRIM_MASTER_CLK>;
1302                         assigned-clock-rates = <19200000>, <66666667>;
1303
1304                         interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
1305                                      <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>;
1306                         interrupt-names = "hs_phy_irq", "ss_phy_irq";
1307
1308                         resets = <&gcc GCC_USB30_PRIM_BCR>;
1309                         power-domains = <&gcc GCC_USB30_PRIM_GDSC>;
1310                         qcom,select-utmi-as-pipe-clk;
1311                         status = "disabled";
1312
1313                         usb_dwc3: usb@4e00000 {
1314                                 compatible = "snps,dwc3";
1315                                 reg = <0x0 0x04e00000 0x0 0xcd00>;
1316                                 interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
1317                                 phys = <&usb_hsphy>, <&usb_qmpphy>;
1318                                 phy-names = "usb2-phy", "usb3-phy";
1319                                 iommus = <&apps_smmu 0x120 0x0>;
1320                                 snps,dis_u2_susphy_quirk;
1321                                 snps,dis_enblslpm_quirk;
1322                                 snps,has-lpm-erratum;
1323                                 snps,hird-threshold = /bits/ 8 <0x10>;
1324                                 snps,usb3_lpm_capable;
1325                         };
1326                 };
1327
1328                 gpu: gpu@5900000 {
1329                         compatible = "qcom,adreno-610.0", "qcom,adreno";
1330                         reg = <0x0 0x05900000 0x0 0x40000>;
1331                         reg-names = "kgsl_3d0_reg_memory";
1332
1333                         /* There's no (real) GMU, so we have to handle quite a bunch of clocks! */
1334                         clocks = <&gpucc GPU_CC_GX_GFX3D_CLK>,
1335                                  <&gpucc GPU_CC_AHB_CLK>,
1336                                  <&gcc GCC_BIMC_GPU_AXI_CLK>,
1337                                  <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
1338                                  <&gpucc GPU_CC_CX_GMU_CLK>,
1339                                  <&gpucc GPU_CC_CXO_CLK>;
1340                         clock-names = "core",
1341                                       "iface",
1342                                       "mem_iface",
1343                                       "alt_mem_iface",
1344                                       "gmu",
1345                                       "xo";
1346
1347                         interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
1348
1349                         iommus = <&adreno_smmu 0 1>;
1350                         operating-points-v2 = <&gpu_opp_table>;
1351                         power-domains = <&rpmpd SM6115_VDDCX>;
1352                         qcom,gmu = <&gmu_wrapper>;
1353
1354                         nvmem-cells = <&gpu_speed_bin>;
1355                         nvmem-cell-names = "speed_bin";
1356
1357                         status = "disabled";
1358
1359                         zap-shader {
1360                                 memory-region = <&pil_gpu_mem>;
1361                         };
1362
1363                         gpu_opp_table: opp-table {
1364                                 compatible = "operating-points-v2";
1365
1366                                 opp-320000000 {
1367                                         opp-hz = /bits/ 64 <320000000>;
1368                                         required-opps = <&rpmpd_opp_low_svs>;
1369                                         opp-supported-hw = <0x1f>;
1370                                 };
1371
1372                                 opp-465000000 {
1373                                         opp-hz = /bits/ 64 <465000000>;
1374                                         required-opps = <&rpmpd_opp_svs>;
1375                                         opp-supported-hw = <0x1f>;
1376                                 };
1377
1378                                 opp-600000000 {
1379                                         opp-hz = /bits/ 64 <600000000>;
1380                                         required-opps = <&rpmpd_opp_svs_plus>;
1381                                         opp-supported-hw = <0x1f>;
1382                                 };
1383
1384                                 opp-745000000 {
1385                                         opp-hz = /bits/ 64 <745000000>;
1386                                         required-opps = <&rpmpd_opp_nom>;
1387                                         opp-supported-hw = <0xf>;
1388                                 };
1389
1390                                 opp-820000000 {
1391                                         opp-hz = /bits/ 64 <820000000>;
1392                                         required-opps = <&rpmpd_opp_nom_plus>;
1393                                         opp-supported-hw = <0x7>;
1394                                 };
1395
1396                                 opp-900000000 {
1397                                         opp-hz = /bits/ 64 <900000000>;
1398                                         required-opps = <&rpmpd_opp_turbo>;
1399                                         opp-supported-hw = <0x7>;
1400                                 };
1401
1402                                 /* Speed bin 2 can reach 950 Mhz instead of 980 like the rest. */
1403                                 opp-950000000 {
1404                                         opp-hz = /bits/ 64 <950000000>;
1405                                         required-opps = <&rpmpd_opp_turbo_plus>;
1406                                         opp-supported-hw = <0x4>;
1407                                 };
1408
1409                                 opp-980000000 {
1410                                         opp-hz = /bits/ 64 <980000000>;
1411                                         required-opps = <&rpmpd_opp_turbo_plus>;
1412                                         opp-supported-hw = <0x3>;
1413                                 };
1414                         };
1415                 };
1416
1417                 gmu_wrapper: gmu@596a000 {
1418                         compatible = "qcom,adreno-gmu-wrapper";
1419                         reg = <0x0 0x0596a000 0x0 0x30000>;
1420                         reg-names = "gmu";
1421                         power-domains = <&gpucc GPU_CX_GDSC>,
1422                                         <&gpucc GPU_GX_GDSC>;
1423                         power-domain-names = "cx", "gx";
1424                 };
1425
1426                 gpucc: clock-controller@5990000 {
1427                         compatible = "qcom,sm6115-gpucc";
1428                         reg = <0x0 0x05990000 0x0 0x9000>;
1429                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1430                                  <&gcc GCC_GPU_GPLL0_CLK_SRC>,
1431                                  <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
1432                         #clock-cells = <1>;
1433                         #reset-cells = <1>;
1434                         #power-domain-cells = <1>;
1435                 };
1436
1437                 adreno_smmu: iommu@59a0000 {
1438                         compatible = "qcom,sm6115-smmu-500", "qcom,adreno-smmu",
1439                                      "qcom,smmu-500", "arm,mmu-500";
1440                         reg = <0x0 0x059a0000 0x0 0x10000>;
1441                         interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
1442                                      <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
1443                                      <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
1444                                      <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>,
1445                                      <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1446                                      <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
1447                                      <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>,
1448                                      <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
1449                                      <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
1450
1451                         clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
1452                                  <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>,
1453                                  <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
1454                         clock-names = "mem",
1455                                       "hlos",
1456                                       "iface";
1457                         power-domains = <&gpucc GPU_CX_GDSC>;
1458
1459                         #global-interrupts = <1>;
1460                         #iommu-cells = <2>;
1461                 };
1462
1463                 mdss: display-subsystem@5e00000 {
1464                         compatible = "qcom,sm6115-mdss";
1465                         reg = <0x0 0x05e00000 0x0 0x1000>;
1466                         reg-names = "mdss";
1467
1468                         power-domains = <&dispcc MDSS_GDSC>;
1469
1470                         clocks = <&gcc GCC_DISP_AHB_CLK>,
1471                                  <&gcc GCC_DISP_HF_AXI_CLK>,
1472                                  <&dispcc DISP_CC_MDSS_MDP_CLK>;
1473
1474                         interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
1475                         interrupt-controller;
1476                         #interrupt-cells = <1>;
1477
1478                         iommus = <&apps_smmu 0x420 0x2>,
1479                                  <&apps_smmu 0x421 0x0>;
1480
1481                         #address-cells = <2>;
1482                         #size-cells = <2>;
1483                         ranges;
1484
1485                         status = "disabled";
1486
1487                         mdp: display-controller@5e01000 {
1488                                 compatible = "qcom,sm6115-dpu";
1489                                 reg = <0x0 0x05e01000 0x0 0x8f000>,
1490                                       <0x0 0x05eb0000 0x0 0x2008>;
1491                                 reg-names = "mdp", "vbif";
1492
1493                                 clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
1494                                          <&dispcc DISP_CC_MDSS_AHB_CLK>,
1495                                          <&dispcc DISP_CC_MDSS_MDP_CLK>,
1496                                          <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
1497                                          <&dispcc DISP_CC_MDSS_ROT_CLK>,
1498                                          <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1499                                 clock-names = "bus",
1500                                               "iface",
1501                                               "core",
1502                                               "lut",
1503                                               "rot",
1504                                               "vsync";
1505
1506                                 operating-points-v2 = <&mdp_opp_table>;
1507                                 power-domains = <&rpmpd SM6115_VDDCX>;
1508
1509                                 interrupt-parent = <&mdss>;
1510                                 interrupts = <0>;
1511
1512                                 ports {
1513                                         #address-cells = <1>;
1514                                         #size-cells = <0>;
1515
1516                                         port@0 {
1517                                                 reg = <0>;
1518                                                 dpu_intf1_out: endpoint {
1519                                                         remote-endpoint = <&mdss_dsi0_in>;
1520                                                 };
1521                                         };
1522                                 };
1523
1524                                 mdp_opp_table: opp-table {
1525                                         compatible = "operating-points-v2";
1526
1527                                         opp-19200000 {
1528                                                 opp-hz = /bits/ 64 <19200000>;
1529                                                 required-opps = <&rpmpd_opp_min_svs>;
1530                                         };
1531
1532                                         opp-192000000 {
1533                                                 opp-hz = /bits/ 64 <192000000>;
1534                                                 required-opps = <&rpmpd_opp_low_svs>;
1535                                         };
1536
1537                                         opp-256000000 {
1538                                                 opp-hz = /bits/ 64 <256000000>;
1539                                                 required-opps = <&rpmpd_opp_svs>;
1540                                         };
1541
1542                                         opp-307200000 {
1543                                                 opp-hz = /bits/ 64 <307200000>;
1544                                                 required-opps = <&rpmpd_opp_svs_plus>;
1545                                         };
1546
1547                                         opp-384000000 {
1548                                                 opp-hz = /bits/ 64 <384000000>;
1549                                                 required-opps = <&rpmpd_opp_nom>;
1550                                         };
1551                                 };
1552                         };
1553
1554                         mdss_dsi0: dsi@5e94000 {
1555                                 compatible = "qcom,sm6115-dsi-ctrl", "qcom,mdss-dsi-ctrl";
1556                                 reg = <0x0 0x05e94000 0x0 0x400>;
1557                                 reg-names = "dsi_ctrl";
1558
1559                                 interrupt-parent = <&mdss>;
1560                                 interrupts = <4>;
1561
1562                                 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
1563                                          <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
1564                                          <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
1565                                          <&dispcc DISP_CC_MDSS_ESC0_CLK>,
1566                                          <&dispcc DISP_CC_MDSS_AHB_CLK>,
1567                                          <&gcc GCC_DISP_HF_AXI_CLK>;
1568                                 clock-names = "byte",
1569                                               "byte_intf",
1570                                               "pixel",
1571                                               "core",
1572                                               "iface",
1573                                               "bus";
1574
1575                                 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
1576                                                   <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
1577                                 assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
1578
1579                                 operating-points-v2 = <&dsi_opp_table>;
1580                                 power-domains = <&rpmpd SM6115_VDDCX>;
1581                                 phys = <&mdss_dsi0_phy>;
1582
1583                                 #address-cells = <1>;
1584                                 #size-cells = <0>;
1585
1586                                 status = "disabled";
1587
1588                                 ports {
1589                                         #address-cells = <1>;
1590                                         #size-cells = <0>;
1591
1592                                         port@0 {
1593                                                 reg = <0>;
1594                                                 mdss_dsi0_in: endpoint {
1595                                                         remote-endpoint = <&dpu_intf1_out>;
1596                                                 };
1597                                         };
1598
1599                                         port@1 {
1600                                                 reg = <1>;
1601                                                 mdss_dsi0_out: endpoint {
1602                                                 };
1603                                         };
1604                                 };
1605
1606                                 dsi_opp_table: opp-table {
1607                                         compatible = "operating-points-v2";
1608
1609                                         opp-19200000 {
1610                                                 opp-hz = /bits/ 64 <19200000>;
1611                                                 required-opps = <&rpmpd_opp_min_svs>;
1612                                         };
1613
1614                                         opp-164000000 {
1615                                                 opp-hz = /bits/ 64 <164000000>;
1616                                                 required-opps = <&rpmpd_opp_low_svs>;
1617                                         };
1618
1619                                         opp-187500000 {
1620                                                 opp-hz = /bits/ 64 <187500000>;
1621                                                 required-opps = <&rpmpd_opp_svs>;
1622                                         };
1623                                 };
1624                         };
1625
1626                         mdss_dsi0_phy: phy@5e94400 {
1627                                 compatible = "qcom,dsi-phy-14nm-2290";
1628                                 reg = <0x0 0x05e94400 0x0 0x100>,
1629                                       <0x0 0x05e94500 0x0 0x300>,
1630                                       <0x0 0x05e94800 0x0 0x188>;
1631                                 reg-names = "dsi_phy",
1632                                             "dsi_phy_lane",
1633                                             "dsi_pll";
1634
1635                                 #clock-cells = <1>;
1636                                 #phy-cells = <0>;
1637
1638                                 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
1639                                          <&rpmcc RPM_SMD_XO_CLK_SRC>;
1640                                 clock-names = "iface", "ref";
1641
1642                                 status = "disabled";
1643                         };
1644                 };
1645
1646                 dispcc: clock-controller@5f00000 {
1647                         compatible = "qcom,sm6115-dispcc";
1648                         reg = <0x0 0x05f00000 0 0x20000>;
1649                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1650                                  <&sleep_clk>,
1651                                  <&mdss_dsi0_phy 0>,
1652                                  <&mdss_dsi0_phy 1>,
1653                                  <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>;
1654                         #clock-cells = <1>;
1655                         #reset-cells = <1>;
1656                         #power-domain-cells = <1>;
1657                 };
1658
1659                 remoteproc_mpss: remoteproc@6080000 {
1660                         compatible = "qcom,sm6115-mpss-pas";
1661                         reg = <0x0 0x06080000 0x0 0x100>;
1662
1663                         interrupts-extended = <&intc GIC_SPI 307 IRQ_TYPE_EDGE_RISING>,
1664                                               <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1665                                               <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1666                                               <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1667                                               <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
1668                                               <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
1669                         interrupt-names = "wdog", "fatal", "ready", "handover",
1670                                           "stop-ack", "shutdown-ack";
1671
1672                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1673                         clock-names = "xo";
1674
1675                         power-domains = <&rpmpd SM6115_VDDCX>;
1676
1677                         memory-region = <&pil_modem_mem>;
1678
1679                         qcom,smem-states = <&modem_smp2p_out 0>;
1680                         qcom,smem-state-names = "stop";
1681
1682                         status = "disabled";
1683
1684                         glink-edge {
1685                                 interrupts = <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>;
1686                                 label = "mpss";
1687                                 qcom,remote-pid = <1>;
1688                                 mboxes = <&apcs_glb 12>;
1689                         };
1690                 };
1691
1692                 stm@8002000 {
1693                         compatible = "arm,coresight-stm", "arm,primecell";
1694                         reg = <0x0 0x08002000 0x0 0x1000>,
1695                               <0x0 0x0e280000 0x0 0x180000>;
1696                         reg-names = "stm-base", "stm-stimulus-base";
1697
1698                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1699                         clock-names = "apb_pclk";
1700
1701                         status = "disabled";
1702
1703                         out-ports {
1704                                 port {
1705                                         stm_out: endpoint {
1706                                                 remote-endpoint = <&funnel_in0_in>;
1707                                         };
1708                                 };
1709                         };
1710                 };
1711
1712                 cti0: cti@8010000 {
1713                         compatible = "arm,coresight-cti", "arm,primecell";
1714                         reg = <0x0 0x08010000 0x0 0x1000>;
1715
1716                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1717                         clock-names = "apb_pclk";
1718
1719                         status = "disabled";
1720                 };
1721
1722                 cti1: cti@8011000 {
1723                         compatible = "arm,coresight-cti", "arm,primecell";
1724                         reg = <0x0 0x08011000 0x0 0x1000>;
1725
1726                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1727                         clock-names = "apb_pclk";
1728
1729                         status = "disabled";
1730                 };
1731
1732                 cti2: cti@8012000 {
1733                         compatible = "arm,coresight-cti", "arm,primecell";
1734                         reg = <0x0 0x08012000 0x0 0x1000>;
1735
1736                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1737                         clock-names = "apb_pclk";
1738
1739                         status = "disabled";
1740                 };
1741
1742                 cti3: cti@8013000 {
1743                         compatible = "arm,coresight-cti", "arm,primecell";
1744                         reg = <0x0 0x08013000 0x0 0x1000>;
1745
1746                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1747                         clock-names = "apb_pclk";
1748
1749                         status = "disabled";
1750                 };
1751
1752                 cti4: cti@8014000 {
1753                         compatible = "arm,coresight-cti", "arm,primecell";
1754                         reg = <0x0 0x08014000 0x0 0x1000>;
1755
1756                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1757                         clock-names = "apb_pclk";
1758
1759                         status = "disabled";
1760                 };
1761
1762                 cti5: cti@8015000 {
1763                         compatible = "arm,coresight-cti", "arm,primecell";
1764                         reg = <0x0 0x08015000 0x0 0x1000>;
1765
1766                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1767                         clock-names = "apb_pclk";
1768
1769                         status = "disabled";
1770                 };
1771
1772                 cti6: cti@8016000 {
1773                         compatible = "arm,coresight-cti", "arm,primecell";
1774                         reg = <0x0 0x08016000 0x0 0x1000>;
1775
1776                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1777                         clock-names = "apb_pclk";
1778
1779                         status = "disabled";
1780                 };
1781
1782                 cti7: cti@8017000 {
1783                         compatible = "arm,coresight-cti", "arm,primecell";
1784                         reg = <0x0 0x08017000 0x0 0x1000>;
1785
1786                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1787                         clock-names = "apb_pclk";
1788
1789                         status = "disabled";
1790                 };
1791
1792                 cti8: cti@8018000 {
1793                         compatible = "arm,coresight-cti", "arm,primecell";
1794                         reg = <0x0 0x08018000 0x0 0x1000>;
1795
1796                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1797                         clock-names = "apb_pclk";
1798
1799                         status = "disabled";
1800                 };
1801
1802                 cti9: cti@8019000 {
1803                         compatible = "arm,coresight-cti", "arm,primecell";
1804                         reg = <0x0 0x08019000 0x0 0x1000>;
1805
1806                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1807                         clock-names = "apb_pclk";
1808
1809                         status = "disabled";
1810                 };
1811
1812                 cti10: cti@801a000 {
1813                         compatible = "arm,coresight-cti", "arm,primecell";
1814                         reg = <0x0 0x0801a000 0x0 0x1000>;
1815
1816                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1817                         clock-names = "apb_pclk";
1818
1819                         status = "disabled";
1820                 };
1821
1822                 cti11: cti@801b000 {
1823                         compatible = "arm,coresight-cti", "arm,primecell";
1824                         reg = <0x0 0x0801b000 0x0 0x1000>;
1825
1826                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1827                         clock-names = "apb_pclk";
1828
1829                         status = "disabled";
1830                 };
1831
1832                 cti12: cti@801c000 {
1833                         compatible = "arm,coresight-cti", "arm,primecell";
1834                         reg = <0x0 0x0801c000 0x0 0x1000>;
1835
1836                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1837                         clock-names = "apb_pclk";
1838
1839                         status = "disabled";
1840                 };
1841
1842                 cti13: cti@801d000 {
1843                         compatible = "arm,coresight-cti", "arm,primecell";
1844                         reg = <0x0 0x0801d000 0x0 0x1000>;
1845
1846                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1847                         clock-names = "apb_pclk";
1848
1849                         status = "disabled";
1850                 };
1851
1852                 cti14: cti@801e000 {
1853                         compatible = "arm,coresight-cti", "arm,primecell";
1854                         reg = <0x0 0x0801e000 0x0 0x1000>;
1855
1856                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1857                         clock-names = "apb_pclk";
1858
1859                         status = "disabled";
1860                 };
1861
1862                 cti15: cti@801f000 {
1863                         compatible = "arm,coresight-cti", "arm,primecell";
1864                         reg = <0x0 0x0801f000 0x0 0x1000>;
1865
1866                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1867                         clock-names = "apb_pclk";
1868
1869                         status = "disabled";
1870                 };
1871
1872                 replicator@8046000 {
1873                         compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
1874                         reg = <0x0 0x08046000 0x0 0x1000>;
1875
1876                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1877                         clock-names = "apb_pclk";
1878
1879                         status = "disabled";
1880
1881                         out-ports {
1882                                 port {
1883                                         replicator_out: endpoint {
1884                                                 remote-endpoint = <&etr_in>;
1885                                         };
1886                                 };
1887                         };
1888
1889                         in-ports {
1890                                 port {
1891                                         replicator_in: endpoint {
1892                                                 remote-endpoint = <&etf_out>;
1893                                         };
1894                                 };
1895                         };
1896                 };
1897
1898                 etf@8047000 {
1899                         compatible = "arm,coresight-tmc", "arm,primecell";
1900                         reg = <0x0 0x08047000 0x0 0x1000>;
1901
1902                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1903                         clock-names = "apb_pclk";
1904
1905                         status = "disabled";
1906
1907                         in-ports {
1908                                 port {
1909                                         etf_in: endpoint {
1910                                                 remote-endpoint = <&merge_funnel_out>;
1911                                         };
1912                                 };
1913                         };
1914
1915                         out-ports {
1916                                 port {
1917                                         etf_out: endpoint {
1918                                                 remote-endpoint = <&replicator_in>;
1919                                         };
1920                                 };
1921                         };
1922                 };
1923
1924                 etr@8048000 {
1925                         compatible = "arm,coresight-tmc", "arm,primecell";
1926                         reg = <0x0 0x08048000 0x0 0x1000>;
1927
1928                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1929                         clock-names = "apb_pclk";
1930
1931                         status = "disabled";
1932
1933                         in-ports {
1934                                 port {
1935                                         etr_in: endpoint {
1936                                                 remote-endpoint = <&replicator_out>;
1937                                         };
1938                                 };
1939                         };
1940                 };
1941
1942                 funnel@8041000 {
1943                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1944                         reg = <0x0 0x08041000 0x0 0x1000>;
1945
1946                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1947                         clock-names = "apb_pclk";
1948
1949                         status = "disabled";
1950
1951                         out-ports {
1952                                 port {
1953                                         funnel_in0_out: endpoint {
1954                                                 remote-endpoint = <&merge_funnel_in0>;
1955                                         };
1956                                 };
1957                         };
1958
1959                         in-ports {
1960                                 port {
1961                                         funnel_in0_in: endpoint {
1962                                                 remote-endpoint = <&stm_out>;
1963                                         };
1964                                 };
1965                         };
1966                 };
1967
1968                 funnel@8042000 {
1969                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1970                         reg = <0x0 0x08042000 0x0 0x1000>;
1971
1972                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1973                         clock-names = "apb_pclk";
1974
1975                         status = "disabled";
1976
1977                         out-ports {
1978                                 port {
1979                                         funnel_in1_out: endpoint {
1980                                                 remote-endpoint = <&merge_funnel_in1>;
1981                                         };
1982                                 };
1983                         };
1984
1985                         in-ports {
1986                                 port {
1987                                         funnel_in1_in: endpoint {
1988                                                 remote-endpoint = <&funnel_apss1_out>;
1989                                         };
1990                                 };
1991                         };
1992                 };
1993
1994                 funnel@8045000 {
1995                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1996                         reg = <0x0 0x08045000 0x0 0x1000>;
1997
1998                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
1999                         clock-names = "apb_pclk";
2000
2001                         status = "disabled";
2002
2003                         out-ports {
2004                                 port {
2005                                         merge_funnel_out: endpoint {
2006                                                 remote-endpoint = <&etf_in>;
2007                                         };
2008                                 };
2009                         };
2010
2011                         in-ports {
2012                                 #address-cells = <1>;
2013                                 #size-cells = <0>;
2014
2015                                 port@0 {
2016                                         reg = <0>;
2017                                         merge_funnel_in0: endpoint {
2018                                                 remote-endpoint = <&funnel_in0_out>;
2019                                         };
2020                                 };
2021
2022                                 port@1 {
2023                                         reg = <1>;
2024                                         merge_funnel_in1: endpoint {
2025                                                 remote-endpoint = <&funnel_in1_out>;
2026                                         };
2027                                 };
2028                         };
2029                 };
2030
2031                 etm@9040000 {
2032                         compatible = "arm,coresight-etm4x", "arm,primecell";
2033                         reg = <0x0 0x09040000 0x0 0x1000>;
2034
2035                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2036                         clock-names = "apb_pclk";
2037                         arm,coresight-loses-context-with-cpu;
2038
2039                         cpu = <&CPU0>;
2040
2041                         status = "disabled";
2042
2043                         out-ports {
2044                                 port {
2045                                         etm0_out: endpoint {
2046                                                 remote-endpoint = <&funnel_apss0_in0>;
2047                                         };
2048                                 };
2049                         };
2050                 };
2051
2052                 etm@9140000 {
2053                         compatible = "arm,coresight-etm4x", "arm,primecell";
2054                         reg = <0x0 0x09140000 0x0 0x1000>;
2055
2056                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2057                         clock-names = "apb_pclk";
2058                         arm,coresight-loses-context-with-cpu;
2059
2060                         cpu = <&CPU1>;
2061
2062                         status = "disabled";
2063
2064                         out-ports {
2065                                 port {
2066                                         etm1_out: endpoint {
2067                                                 remote-endpoint = <&funnel_apss0_in1>;
2068                                         };
2069                                 };
2070                         };
2071                 };
2072
2073                 etm@9240000 {
2074                         compatible = "arm,coresight-etm4x", "arm,primecell";
2075                         reg = <0x0 0x09240000 0x0 0x1000>;
2076
2077                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2078                         clock-names = "apb_pclk";
2079                         arm,coresight-loses-context-with-cpu;
2080
2081                         cpu = <&CPU2>;
2082
2083                         status = "disabled";
2084
2085                         out-ports {
2086                                 port {
2087                                         etm2_out: endpoint {
2088                                                 remote-endpoint = <&funnel_apss0_in2>;
2089                                         };
2090                                 };
2091                         };
2092                 };
2093
2094                 etm@9340000 {
2095                         compatible = "arm,coresight-etm4x", "arm,primecell";
2096                         reg = <0x0 0x09340000 0x0 0x1000>;
2097
2098                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2099                         clock-names = "apb_pclk";
2100                         arm,coresight-loses-context-with-cpu;
2101
2102                         cpu = <&CPU3>;
2103
2104                         status = "disabled";
2105
2106                         out-ports {
2107                                 port {
2108                                         etm3_out: endpoint {
2109                                                 remote-endpoint = <&funnel_apss0_in3>;
2110                                         };
2111                                 };
2112                         };
2113                 };
2114
2115                 etm@9440000 {
2116                         compatible = "arm,coresight-etm4x", "arm,primecell";
2117                         reg = <0x0 0x09440000 0x0 0x1000>;
2118
2119                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2120                         clock-names = "apb_pclk";
2121                         arm,coresight-loses-context-with-cpu;
2122
2123                         cpu = <&CPU4>;
2124
2125                         status = "disabled";
2126
2127                         out-ports {
2128                                 port {
2129                                         etm4_out: endpoint {
2130                                                 remote-endpoint = <&funnel_apss0_in4>;
2131                                         };
2132                                 };
2133                         };
2134                 };
2135
2136                 etm@9540000 {
2137                         compatible = "arm,coresight-etm4x", "arm,primecell";
2138                         reg = <0x0 0x09540000 0x0 0x1000>;
2139
2140                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2141                         clock-names = "apb_pclk";
2142                         arm,coresight-loses-context-with-cpu;
2143
2144                         cpu = <&CPU5>;
2145
2146                         status = "disabled";
2147
2148                         out-ports {
2149                                 port {
2150                                         etm5_out: endpoint {
2151                                                 remote-endpoint = <&funnel_apss0_in5>;
2152                                         };
2153                                 };
2154                         };
2155                 };
2156
2157                 etm@9640000 {
2158                         compatible = "arm,coresight-etm4x", "arm,primecell";
2159                         reg = <0x0 0x09640000 0x0 0x1000>;
2160
2161                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2162                         clock-names = "apb_pclk";
2163                         arm,coresight-loses-context-with-cpu;
2164
2165                         cpu = <&CPU6>;
2166
2167                         status = "disabled";
2168
2169                         out-ports {
2170                                 port {
2171                                         etm6_out: endpoint {
2172                                                 remote-endpoint = <&funnel_apss0_in6>;
2173                                         };
2174                                 };
2175                         };
2176                 };
2177
2178                 etm@9740000 {
2179                         compatible = "arm,coresight-etm4x", "arm,primecell";
2180                         reg = <0x0 0x09740000 0x0 0x1000>;
2181
2182                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2183                         clock-names = "apb_pclk";
2184                         arm,coresight-loses-context-with-cpu;
2185
2186                         cpu = <&CPU7>;
2187
2188                         status = "disabled";
2189
2190                         out-ports {
2191                                 port {
2192                                         etm7_out: endpoint {
2193                                                 remote-endpoint = <&funnel_apss0_in7>;
2194                                         };
2195                                 };
2196                         };
2197                 };
2198
2199                 funnel@9800000 {
2200                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2201                         reg = <0x0 0x09800000 0x0 0x1000>;
2202
2203                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2204                         clock-names = "apb_pclk";
2205
2206                         status = "disabled";
2207
2208                         out-ports {
2209                                 port {
2210                                         funnel_apss0_out: endpoint {
2211                                                 remote-endpoint = <&funnel_apss1_in>;
2212                                         };
2213                                 };
2214                         };
2215
2216                         in-ports {
2217                                 #address-cells = <1>;
2218                                 #size-cells = <0>;
2219
2220                                 port@0 {
2221                                         reg = <0>;
2222                                         funnel_apss0_in0: endpoint {
2223                                                 remote-endpoint = <&etm0_out>;
2224                                         };
2225                                 };
2226
2227                                 port@1 {
2228                                         reg = <1>;
2229                                         funnel_apss0_in1: endpoint {
2230                                                 remote-endpoint = <&etm1_out>;
2231                                         };
2232                                 };
2233
2234                                 port@2 {
2235                                         reg = <2>;
2236                                         funnel_apss0_in2: endpoint {
2237                                                 remote-endpoint = <&etm2_out>;
2238                                         };
2239                                 };
2240
2241                                 port@3 {
2242                                         reg = <3>;
2243                                         funnel_apss0_in3: endpoint {
2244                                                 remote-endpoint = <&etm3_out>;
2245                                         };
2246                                 };
2247
2248                                 port@4 {
2249                                         reg = <4>;
2250                                         funnel_apss0_in4: endpoint {
2251                                                 remote-endpoint = <&etm4_out>;
2252                                         };
2253                                 };
2254
2255                                 port@5 {
2256                                         reg = <5>;
2257                                         funnel_apss0_in5: endpoint {
2258                                                 remote-endpoint = <&etm5_out>;
2259                                         };
2260                                 };
2261
2262                                 port@6 {
2263                                         reg = <6>;
2264                                         funnel_apss0_in6: endpoint {
2265                                                 remote-endpoint = <&etm6_out>;
2266                                         };
2267                                 };
2268
2269                                 port@7 {
2270                                         reg = <7>;
2271                                         funnel_apss0_in7: endpoint {
2272                                                 remote-endpoint = <&etm7_out>;
2273                                         };
2274                                 };
2275                         };
2276                 };
2277
2278                 funnel@9810000 {
2279                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2280                         reg = <0x0 0x09810000 0x0 0x1000>;
2281
2282                         clocks = <&rpmcc RPM_SMD_QDSS_CLK>;
2283                         clock-names = "apb_pclk";
2284
2285                         status = "disabled";
2286
2287                         out-ports {
2288                                 port {
2289                                         funnel_apss1_out: endpoint {
2290                                                 remote-endpoint = <&funnel_in1_in>;
2291                                         };
2292                                 };
2293                         };
2294
2295                         in-ports {
2296                                 port {
2297                                         funnel_apss1_in: endpoint {
2298                                                 remote-endpoint = <&funnel_apss0_out>;
2299                                         };
2300                                 };
2301                         };
2302                 };
2303
2304                 remoteproc_adsp: remoteproc@ab00000 {
2305                         compatible = "qcom,sm6115-adsp-pas";
2306                         reg = <0x0 0x0ab00000 0x0 0x100>;
2307
2308                         interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_EDGE_RISING>,
2309                                               <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2310                                               <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2311                                               <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2312                                               <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2313                         interrupt-names = "wdog", "fatal", "ready",
2314                                           "handover", "stop-ack";
2315
2316                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
2317                         clock-names = "xo";
2318
2319                         power-domains = <&rpmpd SM6115_VDD_LPI_CX>,
2320                                         <&rpmpd SM6115_VDD_LPI_MX>;
2321
2322                         memory-region = <&pil_adsp_mem>;
2323
2324                         qcom,smem-states = <&adsp_smp2p_out 0>;
2325                         qcom,smem-state-names = "stop";
2326
2327                         status = "disabled";
2328
2329                         glink-edge {
2330                                 interrupts = <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>;
2331                                 label = "lpass";
2332                                 qcom,remote-pid = <2>;
2333                                 mboxes = <&apcs_glb 8>;
2334
2335                                 fastrpc {
2336                                         compatible = "qcom,fastrpc";
2337                                         qcom,glink-channels = "fastrpcglink-apps-dsp";
2338                                         label = "adsp";
2339                                         qcom,non-secure-domain;
2340                                         #address-cells = <1>;
2341                                         #size-cells = <0>;
2342
2343                                         compute-cb@3 {
2344                                                 compatible = "qcom,fastrpc-compute-cb";
2345                                                 reg = <3>;
2346                                                 iommus = <&apps_smmu 0x01c3 0x0>;
2347                                         };
2348
2349                                         compute-cb@4 {
2350                                                 compatible = "qcom,fastrpc-compute-cb";
2351                                                 reg = <4>;
2352                                                 iommus = <&apps_smmu 0x01c4 0x0>;
2353                                         };
2354
2355                                         compute-cb@5 {
2356                                                 compatible = "qcom,fastrpc-compute-cb";
2357                                                 reg = <5>;
2358                                                 iommus = <&apps_smmu 0x01c5 0x0>;
2359                                         };
2360
2361                                         compute-cb@6 {
2362                                                 compatible = "qcom,fastrpc-compute-cb";
2363                                                 reg = <6>;
2364                                                 iommus = <&apps_smmu 0x01c6 0x0>;
2365                                         };
2366
2367                                         compute-cb@7 {
2368                                                 compatible = "qcom,fastrpc-compute-cb";
2369                                                 reg = <7>;
2370                                                 iommus = <&apps_smmu 0x01c7 0x0>;
2371                                         };
2372                                 };
2373                         };
2374                 };
2375
2376                 remoteproc_cdsp: remoteproc@b300000 {
2377                         compatible = "qcom,sm6115-cdsp-pas";
2378                         reg = <0x0 0x0b300000 0x0 0x100000>;
2379
2380                         interrupts-extended = <&intc GIC_SPI 265 IRQ_TYPE_EDGE_RISING>,
2381                                               <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2382                                               <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2383                                               <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2384                                               <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2385                         interrupt-names = "wdog", "fatal", "ready",
2386                                           "handover", "stop-ack";
2387
2388                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
2389                         clock-names = "xo";
2390
2391                         power-domains = <&rpmpd SM6115_VDDCX>;
2392
2393                         memory-region = <&pil_cdsp_mem>;
2394
2395                         qcom,smem-states = <&cdsp_smp2p_out 0>;
2396                         qcom,smem-state-names = "stop";
2397
2398                         status = "disabled";
2399
2400                         glink-edge {
2401                                 interrupts = <GIC_SPI 261 IRQ_TYPE_EDGE_RISING>;
2402                                 label = "cdsp";
2403                                 qcom,remote-pid = <5>;
2404                                 mboxes = <&apcs_glb 28>;
2405
2406                                 fastrpc {
2407                                         compatible = "qcom,fastrpc";
2408                                         qcom,glink-channels = "fastrpcglink-apps-dsp";
2409                                         label = "cdsp";
2410                                         qcom,non-secure-domain;
2411                                         #address-cells = <1>;
2412                                         #size-cells = <0>;
2413
2414                                         compute-cb@1 {
2415                                                 compatible = "qcom,fastrpc-compute-cb";
2416                                                 reg = <1>;
2417                                                 iommus = <&apps_smmu 0x0c01 0x0>;
2418                                         };
2419
2420                                         compute-cb@2 {
2421                                                 compatible = "qcom,fastrpc-compute-cb";
2422                                                 reg = <2>;
2423                                                 iommus = <&apps_smmu 0x0c02 0x0>;
2424                                         };
2425
2426                                         compute-cb@3 {
2427                                                 compatible = "qcom,fastrpc-compute-cb";
2428                                                 reg = <3>;
2429                                                 iommus = <&apps_smmu 0x0c03 0x0>;
2430                                         };
2431
2432                                         compute-cb@4 {
2433                                                 compatible = "qcom,fastrpc-compute-cb";
2434                                                 reg = <4>;
2435                                                 iommus = <&apps_smmu 0x0c04 0x0>;
2436                                         };
2437
2438                                         compute-cb@5 {
2439                                                 compatible = "qcom,fastrpc-compute-cb";
2440                                                 reg = <5>;
2441                                                 iommus = <&apps_smmu 0x0c05 0x0>;
2442                                         };
2443
2444                                         compute-cb@6 {
2445                                                 compatible = "qcom,fastrpc-compute-cb";
2446                                                 reg = <6>;
2447                                                 iommus = <&apps_smmu 0x0c06 0x0>;
2448                                         };
2449
2450                                         /* note: secure cb9 in downstream */
2451                                 };
2452                         };
2453                 };
2454
2455                 apps_smmu: iommu@c600000 {
2456                         compatible = "qcom,sm6115-smmu-500", "qcom,smmu-500", "arm,mmu-500";
2457                         reg = <0x0 0x0c600000 0x0 0x80000>;
2458                         #iommu-cells = <2>;
2459                         #global-interrupts = <1>;
2460
2461                         interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
2462                                      <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
2463                                      <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
2464                                      <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
2465                                      <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
2466                                      <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
2467                                      <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
2468                                      <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
2469                                      <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
2470                                      <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
2471                                      <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
2472                                      <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
2473                                      <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
2474                                      <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
2475                                      <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
2476                                      <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
2477                                      <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
2478                                      <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
2479                                      <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
2480                                      <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
2481                                      <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
2482                                      <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
2483                                      <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
2484                                      <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
2485                                      <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
2486                                      <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
2487                                      <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
2488                                      <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
2489                                      <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
2490                                      <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
2491                                      <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
2492                                      <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
2493                                      <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
2494                                      <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
2495                                      <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
2496                                      <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
2497                                      <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
2498                                      <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
2499                                      <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
2500                                      <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
2501                                      <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
2502                                      <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
2503                                      <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
2504                                      <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
2505                                      <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
2506                                      <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
2507                                      <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
2508                                      <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
2509                                      <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
2510                                      <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
2511                                      <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
2512                                      <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
2513                                      <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
2514                                      <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
2515                                      <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
2516                                      <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
2517                                      <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
2518                                      <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
2519                                      <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
2520                                      <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
2521                                      <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
2522                                      <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
2523                                      <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
2524                                      <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
2525                                      <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
2526                 };
2527
2528                 wifi: wifi@c800000 {
2529                         compatible = "qcom,wcn3990-wifi";
2530                         reg = <0x0 0x0c800000 0x0 0x800000>;
2531                         reg-names = "membase";
2532                         memory-region = <&wlan_msa_mem>;
2533                         interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
2534                                      <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
2535                                      <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
2536                                      <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
2537                                      <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH>,
2538                                      <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>,
2539                                      <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>,
2540                                      <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>,
2541                                      <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>,
2542                                      <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>,
2543                                      <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>,
2544                                      <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>;
2545                         iommus = <&apps_smmu 0x1a0 0x1>;
2546                         qcom,msa-fixed-perm;
2547                         status = "disabled";
2548                 };
2549
2550                 watchdog@f017000 {
2551                         compatible = "qcom,apss-wdt-sm6115", "qcom,kpss-wdt";
2552                         reg = <0x0 0x0f017000 0x0 0x1000>;
2553                         clocks = <&sleep_clk>;
2554                         interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
2555                 };
2556
2557                 apcs_glb: mailbox@f111000 {
2558                         compatible = "qcom,sm6115-apcs-hmss-global",
2559                                      "qcom,msm8994-apcs-kpss-global";
2560                         reg = <0x0 0x0f111000 0x0 0x1000>;
2561
2562                         #mbox-cells = <1>;
2563                 };
2564
2565                 timer@f120000 {
2566                         compatible = "arm,armv7-timer-mem";
2567                         reg = <0x0 0x0f120000 0x0 0x1000>;
2568                         #address-cells = <2>;
2569                         #size-cells = <2>;
2570                         ranges;
2571                         clock-frequency = <19200000>;
2572
2573                         frame@f121000 {
2574                                 reg = <0x0 0x0f121000 0x0 0x1000>, <0x0 0x0f122000 0x0 0x1000>;
2575                                 frame-number = <0>;
2576                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2577                                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
2578                         };
2579
2580                         frame@f123000 {
2581                                 reg = <0x0 0x0f123000 0x0 0x1000>;
2582                                 frame-number = <1>;
2583                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2584                                 status = "disabled";
2585                         };
2586
2587                         frame@f124000 {
2588                                 reg = <0x0 0x0f124000 0x0 0x1000>;
2589                                 frame-number = <2>;
2590                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2591                                 status = "disabled";
2592                         };
2593
2594                         frame@f125000 {
2595                                 reg = <0x0 0x0f125000 0x0 0x1000>;
2596                                 frame-number = <3>;
2597                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2598                                 status = "disabled";
2599                         };
2600
2601                         frame@f126000 {
2602                                 reg = <0x0 0x0f126000 0x0 0x1000>;
2603                                 frame-number = <4>;
2604                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2605                                 status = "disabled";
2606                         };
2607
2608                         frame@f127000 {
2609                                 reg = <0x0 0x0f127000 0x0 0x1000>;
2610                                 frame-number = <5>;
2611                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2612                                 status = "disabled";
2613                         };
2614
2615                         frame@f128000 {
2616                                 reg = <0x0 0x0f128000 0x0 0x1000>;
2617                                 frame-number = <6>;
2618                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2619                                 status = "disabled";
2620                         };
2621                 };
2622
2623                 intc: interrupt-controller@f200000 {
2624                         compatible = "arm,gic-v3";
2625                         reg = <0x0 0x0f200000 0x0 0x10000>,
2626                               <0x0 0x0f300000 0x0 0x100000>;
2627                         #interrupt-cells = <3>;
2628                         interrupt-controller;
2629                         interrupt-parent = <&intc>;
2630                         #redistributor-regions = <1>;
2631                         redistributor-stride = <0x0 0x20000>;
2632                         interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
2633                 };
2634
2635                 cpufreq_hw: cpufreq@f521000 {
2636                         compatible = "qcom,sm6115-cpufreq-hw", "qcom,cpufreq-hw";
2637                         reg = <0x0 0x0f521000 0x0 0x1000>,
2638                               <0x0 0x0f523000 0x0 0x1000>;
2639
2640                         reg-names = "freq-domain0", "freq-domain1";
2641                         clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>;
2642                         clock-names = "xo", "alternate";
2643
2644                         #freq-domain-cells = <1>;
2645                         #clock-cells = <1>;
2646                 };
2647         };
2648
2649         thermal-zones {
2650                 mapss-thermal {
2651                         polling-delay-passive = <0>;
2652                         polling-delay = <0>;
2653                         thermal-sensors = <&tsens0 0>;
2654
2655                         trips {
2656                                 trip-point0 {
2657                                         temperature = <115000>;
2658                                         hysteresis = <5000>;
2659                                         type = "passive";
2660                                 };
2661
2662                                 trip-point1 {
2663                                         temperature = <125000>;
2664                                         hysteresis = <1000>;
2665                                         type = "passive";
2666                                 };
2667                         };
2668                 };
2669
2670                 cdsp-hvx-thermal {
2671                         polling-delay-passive = <0>;
2672                         polling-delay = <0>;
2673                         thermal-sensors = <&tsens0 1>;
2674
2675                         trips {
2676                                 trip-point0 {
2677                                         temperature = <115000>;
2678                                         hysteresis = <5000>;
2679                                         type = "passive";
2680                                 };
2681
2682                                 trip-point1 {
2683                                         temperature = <125000>;
2684                                         hysteresis = <1000>;
2685                                         type = "passive";
2686                                 };
2687                         };
2688                 };
2689
2690                 wlan-thermal {
2691                         polling-delay-passive = <0>;
2692                         polling-delay = <0>;
2693                         thermal-sensors = <&tsens0 2>;
2694
2695                         trips {
2696                                 trip-point0 {
2697                                         temperature = <115000>;
2698                                         hysteresis = <5000>;
2699                                         type = "passive";
2700                                 };
2701
2702                                 trip-point1 {
2703                                         temperature = <125000>;
2704                                         hysteresis = <1000>;
2705                                         type = "passive";
2706                                 };
2707                         };
2708                 };
2709
2710                 camera-thermal {
2711                         polling-delay-passive = <0>;
2712                         polling-delay = <0>;
2713                         thermal-sensors = <&tsens0 3>;
2714
2715                         trips {
2716                                 trip-point0 {
2717                                         temperature = <115000>;
2718                                         hysteresis = <5000>;
2719                                         type = "passive";
2720                                 };
2721
2722                                 trip-point1 {
2723                                         temperature = <125000>;
2724                                         hysteresis = <1000>;
2725                                         type = "passive";
2726                                 };
2727                         };
2728                 };
2729
2730                 video-thermal {
2731                         polling-delay-passive = <0>;
2732                         polling-delay = <0>;
2733                         thermal-sensors = <&tsens0 4>;
2734
2735                         trips {
2736                                 trip-point0 {
2737                                         temperature = <115000>;
2738                                         hysteresis = <5000>;
2739                                         type = "passive";
2740                                 };
2741
2742                                 trip-point1 {
2743                                         temperature = <125000>;
2744                                         hysteresis = <1000>;
2745                                         type = "passive";
2746                                 };
2747                         };
2748                 };
2749
2750                 modem1-thermal {
2751                         polling-delay-passive = <0>;
2752                         polling-delay = <0>;
2753                         thermal-sensors = <&tsens0 5>;
2754
2755                         trips {
2756                                 trip-point0 {
2757                                         temperature = <115000>;
2758                                         hysteresis = <5000>;
2759                                         type = "passive";
2760                                 };
2761
2762                                 trip-point1 {
2763                                         temperature = <125000>;
2764                                         hysteresis = <1000>;
2765                                         type = "passive";
2766                                 };
2767                         };
2768                 };
2769
2770                 cpu4-thermal {
2771                         polling-delay-passive = <0>;
2772                         polling-delay = <0>;
2773                         thermal-sensors = <&tsens0 6>;
2774
2775                         trips {
2776                                 cpu4_alert0: trip-point0 {
2777                                         temperature = <90000>;
2778                                         hysteresis = <2000>;
2779                                         type = "passive";
2780                                 };
2781
2782                                 cpu4_alert1: trip-point1 {
2783                                         temperature = <95000>;
2784                                         hysteresis = <2000>;
2785                                         type = "passive";
2786                                 };
2787
2788                                 cpu4_crit: cpu_crit {
2789                                         temperature = <110000>;
2790                                         hysteresis = <1000>;
2791                                         type = "critical";
2792                                 };
2793                         };
2794                 };
2795
2796                 cpu5-thermal {
2797                         polling-delay-passive = <0>;
2798                         polling-delay = <0>;
2799                         thermal-sensors = <&tsens0 7>;
2800
2801                         trips {
2802                                 cpu5_alert0: trip-point0 {
2803                                         temperature = <90000>;
2804                                         hysteresis = <2000>;
2805                                         type = "passive";
2806                                 };
2807
2808                                 cpu5_alert1: trip-point1 {
2809                                         temperature = <95000>;
2810                                         hysteresis = <2000>;
2811                                         type = "passive";
2812                                 };
2813
2814                                 cpu5_crit: cpu_crit {
2815                                         temperature = <110000>;
2816                                         hysteresis = <1000>;
2817                                         type = "critical";
2818                                 };
2819                         };
2820                 };
2821
2822                 cpu6-thermal {
2823                         polling-delay-passive = <0>;
2824                         polling-delay = <0>;
2825                         thermal-sensors = <&tsens0 8>;
2826
2827                         trips {
2828                                 cpu6_alert0: trip-point0 {
2829                                         temperature = <90000>;
2830                                         hysteresis = <2000>;
2831                                         type = "passive";
2832                                 };
2833
2834                                 cpu6_alert1: trip-point1 {
2835                                         temperature = <95000>;
2836                                         hysteresis = <2000>;
2837                                         type = "passive";
2838                                 };
2839
2840                                 cpu6_crit: cpu_crit {
2841                                         temperature = <110000>;
2842                                         hysteresis = <1000>;
2843                                         type = "critical";
2844                                 };
2845                         };
2846                 };
2847
2848                 cpu7-thermal {
2849                         polling-delay-passive = <0>;
2850                         polling-delay = <0>;
2851                         thermal-sensors = <&tsens0 9>;
2852
2853                         trips {
2854                                 cpu7_alert0: trip-point0 {
2855                                         temperature = <90000>;
2856                                         hysteresis = <2000>;
2857                                         type = "passive";
2858                                 };
2859
2860                                 cpu7_alert1: trip-point1 {
2861                                         temperature = <95000>;
2862                                         hysteresis = <2000>;
2863                                         type = "passive";
2864                                 };
2865
2866                                 cpu7_crit: cpu_crit {
2867                                         temperature = <110000>;
2868                                         hysteresis = <1000>;
2869                                         type = "critical";
2870                                 };
2871                         };
2872                 };
2873
2874                 cpu45-thermal {
2875                         polling-delay-passive = <0>;
2876                         polling-delay = <0>;
2877                         thermal-sensors = <&tsens0 10>;
2878
2879                         trips {
2880                                 cpu45_alert0: trip-point0 {
2881                                         temperature = <90000>;
2882                                         hysteresis = <2000>;
2883                                         type = "passive";
2884                                 };
2885
2886                                 cpu45_alert1: trip-point1 {
2887                                         temperature = <95000>;
2888                                         hysteresis = <2000>;
2889                                         type = "passive";
2890                                 };
2891
2892                                 cpu45_crit: cpu_crit {
2893                                         temperature = <110000>;
2894                                         hysteresis = <1000>;
2895                                         type = "critical";
2896                                 };
2897                         };
2898                 };
2899
2900                 cpu67-thermal {
2901                         polling-delay-passive = <0>;
2902                         polling-delay = <0>;
2903                         thermal-sensors = <&tsens0 11>;
2904
2905                         trips {
2906                                 cpu67_alert0: trip-point0 {
2907                                         temperature = <90000>;
2908                                         hysteresis = <2000>;
2909                                         type = "passive";
2910                                 };
2911
2912                                 cpu67_alert1: trip-point1 {
2913                                         temperature = <95000>;
2914                                         hysteresis = <2000>;
2915                                         type = "passive";
2916                                 };
2917
2918                                 cpu67_crit: cpu_crit {
2919                                         temperature = <110000>;
2920                                         hysteresis = <1000>;
2921                                         type = "critical";
2922                                 };
2923                         };
2924                 };
2925
2926                 cpu0123-thermal {
2927                         polling-delay-passive = <0>;
2928                         polling-delay = <0>;
2929                         thermal-sensors = <&tsens0 12>;
2930
2931                         trips {
2932                                 cpu0123_alert0: trip-point0 {
2933                                         temperature = <90000>;
2934                                         hysteresis = <2000>;
2935                                         type = "passive";
2936                                 };
2937
2938                                 cpu0123_alert1: trip-point1 {
2939                                         temperature = <95000>;
2940                                         hysteresis = <2000>;
2941                                         type = "passive";
2942                                 };
2943
2944                                 cpu0123_crit: cpu_crit {
2945                                         temperature = <110000>;
2946                                         hysteresis = <1000>;
2947                                         type = "critical";
2948                                 };
2949                         };
2950                 };
2951
2952                 modem0-thermal {
2953                         polling-delay-passive = <0>;
2954                         polling-delay = <0>;
2955                         thermal-sensors = <&tsens0 13>;
2956
2957                         trips {
2958                                 trip-point0 {
2959                                         temperature = <115000>;
2960                                         hysteresis = <5000>;
2961                                         type = "passive";
2962                                 };
2963
2964                                 trip-point1 {
2965                                         temperature = <125000>;
2966                                         hysteresis = <1000>;
2967                                         type = "passive";
2968                                 };
2969                         };
2970                 };
2971
2972                 display-thermal {
2973                         polling-delay-passive = <0>;
2974                         polling-delay = <0>;
2975                         thermal-sensors = <&tsens0 14>;
2976
2977                         trips {
2978                                 trip-point0 {
2979                                         temperature = <115000>;
2980                                         hysteresis = <5000>;
2981                                         type = "passive";
2982                                 };
2983
2984                                 trip-point1 {
2985                                         temperature = <125000>;
2986                                         hysteresis = <1000>;
2987                                         type = "passive";
2988                                 };
2989                         };
2990                 };
2991
2992                 gpu-thermal {
2993                         polling-delay-passive = <0>;
2994                         polling-delay = <0>;
2995                         thermal-sensors = <&tsens0 15>;
2996
2997                         trips {
2998                                 trip-point0 {
2999                                         temperature = <115000>;
3000                                         hysteresis = <5000>;
3001                                         type = "passive";
3002                                 };
3003
3004                                 trip-point1 {
3005                                         temperature = <125000>;
3006                                         hysteresis = <1000>;
3007                                         type = "passive";
3008                                 };
3009                         };
3010                 };
3011         };
3012
3013         timer {
3014                 compatible = "arm,armv8-timer";
3015                 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3016                              <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3017                              <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
3018                              <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
3019         };
3020 };