Merge tag 'usb-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / sm6350.dtsi
1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3  * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
4  */
5
6 #include <dt-bindings/clock/qcom,gcc-sm6350.h>
7 #include <dt-bindings/clock/qcom,rpmh.h>
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/interrupt-controller/arm-gic.h>
10 #include <dt-bindings/mailbox/qcom-ipcc.h>
11 #include <dt-bindings/power/qcom-rpmpd.h>
12 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
13
14 / {
15         interrupt-parent = <&intc>;
16         #address-cells = <2>;
17         #size-cells = <2>;
18
19         clocks {
20                 xo_board: xo-board {
21                         compatible = "fixed-clock";
22                         #clock-cells = <0>;
23                         clock-frequency = <76800000>;
24                         clock-output-names = "xo_board";
25                 };
26
27                 sleep_clk: sleep-clk {
28                         compatible = "fixed-clock";
29                         clock-frequency = <32764>;
30                         #clock-cells = <0>;
31                 };
32         };
33
34         cpus {
35                 #address-cells = <2>;
36                 #size-cells = <0>;
37
38                 CPU0: cpu@0 {
39                         device_type = "cpu";
40                         compatible = "qcom,kryo560";
41                         reg = <0x0 0x0>;
42                         enable-method = "psci";
43                         capacity-dmips-mhz = <1024>;
44                         dynamic-power-coefficient = <100>;
45                         next-level-cache = <&L2_0>;
46                         qcom,freq-domain = <&cpufreq_hw 0>;
47                         #cooling-cells = <2>;
48                         L2_0: l2-cache {
49                                 compatible = "cache";
50                                 next-level-cache = <&L3_0>;
51                                 L3_0: l3-cache {
52                                         compatible = "cache";
53                                 };
54                         };
55                 };
56
57                 CPU1: cpu@100 {
58                         device_type = "cpu";
59                         compatible = "qcom,kryo560";
60                         reg = <0x0 0x100>;
61                         enable-method = "psci";
62                         capacity-dmips-mhz = <1024>;
63                         dynamic-power-coefficient = <100>;
64                         next-level-cache = <&L2_100>;
65                         qcom,freq-domain = <&cpufreq_hw 0>;
66                         #cooling-cells = <2>;
67                         L2_100: l2-cache {
68                                 compatible = "cache";
69                                 next-level-cache = <&L3_0>;
70                         };
71                 };
72
73                 CPU2: cpu@200 {
74                         device_type = "cpu";
75                         compatible = "qcom,kryo560";
76                         reg = <0x0 0x200>;
77                         enable-method = "psci";
78                         capacity-dmips-mhz = <1024>;
79                         dynamic-power-coefficient = <100>;
80                         next-level-cache = <&L2_200>;
81                         qcom,freq-domain = <&cpufreq_hw 0>;
82                         #cooling-cells = <2>;
83                         L2_200: l2-cache {
84                                 compatible = "cache";
85                                 next-level-cache = <&L3_0>;
86                         };
87                 };
88
89                 CPU3: cpu@300 {
90                         device_type = "cpu";
91                         compatible = "qcom,kryo560";
92                         reg = <0x0 0x300>;
93                         enable-method = "psci";
94                         capacity-dmips-mhz = <1024>;
95                         dynamic-power-coefficient = <100>;
96                         next-level-cache = <&L2_300>;
97                         qcom,freq-domain = <&cpufreq_hw 0>;
98                         #cooling-cells = <2>;
99                         L2_300: l2-cache {
100                                 compatible = "cache";
101                                 next-level-cache = <&L3_0>;
102                         };
103                 };
104
105                 CPU4: cpu@400 {
106                         device_type = "cpu";
107                         compatible = "qcom,kryo560";
108                         reg = <0x0 0x400>;
109                         enable-method = "psci";
110                         capacity-dmips-mhz = <1024>;
111                         dynamic-power-coefficient = <100>;
112                         next-level-cache = <&L2_400>;
113                         qcom,freq-domain = <&cpufreq_hw 0>;
114                         #cooling-cells = <2>;
115                         L2_400: l2-cache {
116                                 compatible = "cache";
117                                 next-level-cache = <&L3_0>;
118                         };
119                 };
120
121                 CPU5: cpu@500 {
122                         device_type = "cpu";
123                         compatible = "qcom,kryo560";
124                         reg = <0x0 0x500>;
125                         enable-method = "psci";
126                         capacity-dmips-mhz = <1024>;
127                         dynamic-power-coefficient = <100>;
128                         next-level-cache = <&L2_500>;
129                         qcom,freq-domain = <&cpufreq_hw 0>;
130                         #cooling-cells = <2>;
131                         L2_500: l2-cache {
132                                 compatible = "cache";
133                                 next-level-cache = <&L3_0>;
134                         };
135
136                 };
137
138                 CPU6: cpu@600 {
139                         device_type = "cpu";
140                         compatible = "qcom,kryo560";
141                         reg = <0x0 0x600>;
142                         enable-method = "psci";
143                         capacity-dmips-mhz = <1894>;
144                         dynamic-power-coefficient = <703>;
145                         next-level-cache = <&L2_600>;
146                         qcom,freq-domain = <&cpufreq_hw 1>;
147                         #cooling-cells = <2>;
148                         L2_600: l2-cache {
149                                 compatible = "cache";
150                                 next-level-cache = <&L3_0>;
151                         };
152                 };
153
154                 CPU7: cpu@700 {
155                         device_type = "cpu";
156                         compatible = "qcom,kryo560";
157                         reg = <0x0 0x700>;
158                         enable-method = "psci";
159                         capacity-dmips-mhz = <1894>;
160                         dynamic-power-coefficient = <703>;
161                         next-level-cache = <&L2_700>;
162                         qcom,freq-domain = <&cpufreq_hw 1>;
163                         #cooling-cells = <2>;
164                         L2_700: l2-cache {
165                                 compatible = "cache";
166                                 next-level-cache = <&L3_0>;
167                         };
168                 };
169
170                 cpu-map {
171                         cluster0 {
172                                 core0 {
173                                         cpu = <&CPU0>;
174                                 };
175
176                                 core1 {
177                                         cpu = <&CPU1>;
178                                 };
179
180                                 core2 {
181                                         cpu = <&CPU2>;
182                                 };
183
184                                 core3 {
185                                         cpu = <&CPU3>;
186                                 };
187
188                                 core4 {
189                                         cpu = <&CPU4>;
190                                 };
191
192                                 core5 {
193                                         cpu = <&CPU5>;
194                                 };
195
196                                 core6 {
197                                         cpu = <&CPU6>;
198                                 };
199
200                                 core7 {
201                                         cpu = <&CPU7>;
202                                 };
203                         };
204                 };
205         };
206
207         firmware {
208                 scm: scm {
209                         compatible = "qcom,scm-sm6350", "qcom,scm";
210                         #reset-cells = <1>;
211                 };
212         };
213
214         memory@80000000 {
215                 device_type = "memory";
216                 /* We expect the bootloader to fill in the size */
217                 reg = <0x0 0x80000000 0x0 0x0>;
218         };
219
220         pmu {
221                 compatible = "arm,armv8-pmuv3";
222                 interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_LOW>;
223         };
224
225         psci {
226                 compatible = "arm,psci-1.0";
227                 method = "smc";
228         };
229
230         reserved_memory: reserved-memory {
231                 #address-cells = <2>;
232                 #size-cells = <2>;
233                 ranges;
234
235                 hyp_mem: memory@80000000 {
236                         reg = <0 0x80000000 0 0x600000>;
237                         no-map;
238                 };
239
240                 xbl_aop_mem: memory@80700000 {
241                         reg = <0 0x80700000 0 0x160000>;
242                         no-map;
243                 };
244
245                 cmd_db: memory@80860000 {
246                         compatible = "qcom,cmd-db";
247                         reg = <0 0x80860000 0 0x20000>;
248                         no-map;
249                 };
250
251                 sec_apps_mem: memory@808ff000 {
252                         reg = <0 0x808ff000 0 0x1000>;
253                         no-map;
254                 };
255
256                 smem_mem: memory@80900000 {
257                         reg = <0 0x80900000 0 0x200000>;
258                         no-map;
259                 };
260
261                 cdsp_sec_mem: memory@80b00000 {
262                         reg = <0 0x80b00000 0 0x1e00000>;
263                         no-map;
264                 };
265
266                 pil_camera_mem: memory@86000000 {
267                         reg = <0 0x86000000 0 0x500000>;
268                         no-map;
269                 };
270
271                 pil_npu_mem: memory@86500000 {
272                         reg = <0 0x86500000 0 0x500000>;
273                         no-map;
274                 };
275
276                 pil_video_mem: memory@86a00000 {
277                         reg = <0 0x86a00000 0 0x500000>;
278                         no-map;
279                 };
280
281                 pil_cdsp_mem: memory@86f00000 {
282                         reg = <0 0x86f00000 0 0x1e00000>;
283                         no-map;
284                 };
285
286                 pil_adsp_mem: memory@88d00000 {
287                         reg = <0 0x88d00000 0 0x2800000>;
288                         no-map;
289                 };
290
291                 wlan_fw_mem: memory@8b500000 {
292                         reg = <0 0x8b500000 0 0x200000>;
293                         no-map;
294                 };
295
296                 pil_ipa_fw_mem: memory@8b700000 {
297                         reg = <0 0x8b700000 0 0x10000>;
298                         no-map;
299                 };
300
301                 pil_ipa_gsi_mem: memory@8b710000 {
302                         reg = <0 0x8b710000 0 0x5400>;
303                         no-map;
304                 };
305
306                 pil_gpu_mem: memory@8b715400 {
307                         reg = <0 0x8b715400 0 0x2000>;
308                         no-map;
309                 };
310
311                 pil_modem_mem: memory@8b800000 {
312                         reg = <0 0x8b800000 0 0xf800000>;
313                         no-map;
314                 };
315
316                 cont_splash_memory: memory@a0000000 {
317                         reg = <0 0xa0000000 0 0x2300000>;
318                         no-map;
319                 };
320
321                 dfps_data_memory: memory@a2300000 {
322                         reg = <0 0xa2300000 0 0x100000>;
323                         no-map;
324                 };
325
326                 removed_region: memory@c0000000 {
327                         reg = <0 0xc0000000 0 0x3900000>;
328                         no-map;
329                 };
330
331                 debug_region: memory@ffb00000 {
332                         reg = <0 0xffb00000 0 0xc0000>;
333                         no-map;
334                 };
335
336                 last_log_region: memory@ffbc0000 {
337                         reg = <0 0xffbc0000 0 0x40000>;
338                         no-map;
339                 };
340
341                 ramoops: ramoops@ffc00000 {
342                         compatible = "removed-dma-pool", "ramoops";
343                         reg = <0 0xffc00000 0 0x00100000>;
344                         record-size = <0x1000>;
345                         console-size = <0x40000>;
346                         ftrace-size = <0x0>;
347                         msg-size = <0x20000 0x20000>;
348                         cc-size = <0x0>;
349                         no-map;
350                 };
351
352                 cmdline_region: memory@ffd00000 {
353                         reg = <0 0xffd00000 0 0x1000>;
354                         no-map;
355                 };
356         };
357
358         smem {
359                 compatible = "qcom,smem";
360                 memory-region = <&smem_mem>;
361                 hwlocks = <&tcsr_mutex 3>;
362         };
363
364         smp2p-adsp {
365                 compatible = "qcom,smp2p";
366                 qcom,smem = <443>, <429>;
367                 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
368                                              IPCC_MPROC_SIGNAL_SMP2P
369                                              IRQ_TYPE_EDGE_RISING>;
370                 mboxes = <&ipcc IPCC_CLIENT_LPASS
371                                 IPCC_MPROC_SIGNAL_SMP2P>;
372
373                 qcom,local-pid = <0>;
374                 qcom,remote-pid = <2>;
375
376                 smp2p_adsp_out: master-kernel {
377                         qcom,entry-name = "master-kernel";
378                         #qcom,smem-state-cells = <1>;
379                 };
380
381                 smp2p_adsp_in: slave-kernel {
382                         qcom,entry-name = "slave-kernel";
383                         interrupt-controller;
384                         #interrupt-cells = <2>;
385                 };
386         };
387
388         smp2p-cdsp {
389                 compatible = "qcom,smp2p";
390                 qcom,smem = <94>, <432>;
391                 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
392                                              IPCC_MPROC_SIGNAL_SMP2P
393                                              IRQ_TYPE_EDGE_RISING>;
394                 mboxes = <&ipcc IPCC_CLIENT_CDSP
395                                 IPCC_MPROC_SIGNAL_SMP2P>;
396
397                 qcom,local-pid = <0>;
398                 qcom,remote-pid = <5>;
399
400                 smp2p_cdsp_out: master-kernel {
401                         qcom,entry-name = "master-kernel";
402                         #qcom,smem-state-cells = <1>;
403                 };
404
405                 smp2p_cdsp_in: slave-kernel {
406                         qcom,entry-name = "slave-kernel";
407                         interrupt-controller;
408                         #interrupt-cells = <2>;
409                 };
410         };
411
412         smp2p-mpss {
413                 compatible = "qcom,smp2p";
414                 qcom,smem = <435>, <428>;
415
416                 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
417                                              IPCC_MPROC_SIGNAL_SMP2P
418                                              IRQ_TYPE_EDGE_RISING>;
419                 mboxes = <&ipcc IPCC_CLIENT_MPSS
420                                 IPCC_MPROC_SIGNAL_SMP2P>;
421
422                 qcom,local-pid = <0>;
423                 qcom,remote-pid = <1>;
424
425                 modem_smp2p_out: master-kernel {
426                         qcom,entry-name = "master-kernel";
427                         #qcom,smem-state-cells = <1>;
428                 };
429
430                 modem_smp2p_in: slave-kernel {
431                         qcom,entry-name = "slave-kernel";
432
433                         interrupt-controller;
434                         #interrupt-cells = <2>;
435                 };
436         };
437
438         soc: soc@0 {
439                 #address-cells = <2>;
440                 #size-cells = <2>;
441                 ranges = <0 0 0 0 0x10 0>;
442                 dma-ranges = <0 0 0 0 0x10 0>;
443                 compatible = "simple-bus";
444
445                 gcc: clock-controller@100000 {
446                         compatible = "qcom,gcc-sm6350";
447                         reg = <0 0x00100000 0 0x1f0000>;
448                         #clock-cells = <1>;
449                         #reset-cells = <1>;
450                         #power-domain-cells = <1>;
451                         clock-names = "bi_tcxo",
452                                       "bi_tcxo_ao",
453                                       "sleep_clk";
454                         clocks = <&rpmhcc RPMH_CXO_CLK>,
455                                  <&rpmhcc RPMH_CXO_CLK_A>,
456                                  <&sleep_clk>;
457                 };
458
459                 ipcc: mailbox@408000 {
460                         compatible = "qcom,sm6350-ipcc", "qcom,ipcc";
461                         reg = <0 0x00408000 0 0x1000>;
462                         interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>;
463                         interrupt-controller;
464                         #interrupt-cells = <3>;
465                         #mbox-cells = <2>;
466                 };
467
468                 rng: rng@793000 {
469                         compatible = "qcom,prng-ee";
470                         reg = <0 0x00793000 0 0x1000>;
471                         clocks = <&gcc GCC_PRNG_AHB_CLK>;
472                         clock-names = "core";
473                 };
474
475                 sdhc_1: sdhci@7c4000 {
476                         compatible = "qcom,sm6350-sdhci", "qcom,sdhci-msm-v5";
477                         reg = <0 0x007c4000 0 0x1000>,
478                                 <0 0x007c5000 0 0x1000>,
479                                 <0 0x007c8000 0 0x8000>;
480                         reg-names = "hc", "cqhci", "ice";
481
482                         interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>,
483                                      <GIC_SPI 644 IRQ_TYPE_LEVEL_HIGH>;
484                         interrupt-names = "hc_irq", "pwr_irq";
485
486                         clocks = <&gcc GCC_SDCC1_AHB_CLK>,
487                                  <&gcc GCC_SDCC1_APPS_CLK>,
488                                  <&rpmhcc RPMH_CXO_CLK>;
489                         clock-names = "iface", "core", "xo";
490                         qcom,dll-config = <0x000f642c>;
491                         qcom,ddr-config = <0x80040868>;
492                         power-domains = <&rpmhpd 0>;
493                         operating-points-v2 = <&sdhc1_opp_table>;
494                         bus-width = <8>;
495                         non-removable;
496                         supports-cqe;
497
498                         status = "disabled";
499
500                         sdhc1_opp_table: sdhc1-opp-table {
501                                 compatible = "operating-points-v2";
502
503                                 opp-19200000 {
504                                         opp-hz = /bits/ 64 <19200000>;
505                                         required-opps = <&rpmhpd_opp_min_svs>;
506                                 };
507
508                                 opp-100000000 {
509                                         opp-hz = /bits/ 64 <100000000>;
510                                         required-opps = <&rpmhpd_opp_low_svs>;
511                                 };
512
513                                 opp-384000000 {
514                                         opp-hz = /bits/ 64 <384000000>;
515                                         required-opps = <&rpmhpd_opp_svs_l1>;
516                                 };
517                         };
518                 };
519
520                 qupv3_id_0: geniqup@8c0000 {
521                         compatible = "qcom,geni-se-qup";
522                         reg = <0x0 0x8c0000 0x0 0x2000>;
523                         clock-names = "m-ahb", "s-ahb";
524                         clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
525                                  <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
526                         #address-cells = <2>;
527                         #size-cells = <2>;
528                         iommus = <&apps_smmu 0x43 0x0>;
529                         ranges;
530                         status = "disabled";
531
532                         i2c0: i2c@880000 {
533                                 compatible = "qcom,geni-i2c";
534                                 reg = <0 0x00880000 0 0x4000>;
535                                 clock-names = "se";
536                                 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
537                                 pinctrl-names = "default";
538                                 pinctrl-0 = <&qup_i2c0_default>;
539                                 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
540                                 #address-cells = <1>;
541                                 #size-cells = <0>;
542                                 status = "disabled";
543                         };
544
545                         i2c2: i2c@888000 {
546                                 compatible = "qcom,geni-i2c";
547                                 reg = <0 0x00888000 0 0x4000>;
548                                 clock-names = "se";
549                                 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
550                                 pinctrl-names = "default";
551                                 pinctrl-0 = <&qup_i2c2_default>;
552                                 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
553                                 #address-cells = <1>;
554                                 #size-cells = <0>;
555                                 status = "disabled";
556                         };
557                 };
558
559                 qupv3_id_1: geniqup@9c0000 {
560                         compatible = "qcom,geni-se-qup";
561                         reg = <0x0 0x9c0000 0x0 0x2000>;
562                         clock-names = "m-ahb", "s-ahb";
563                         clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
564                                  <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
565                         #address-cells = <2>;
566                         #size-cells = <2>;
567                         iommus = <&apps_smmu 0x4c3 0x0>;
568                         ranges;
569                         status = "disabled";
570
571                         i2c6: i2c@980000 {
572                                 compatible = "qcom,geni-i2c";
573                                 reg = <0 0x00980000 0 0x4000>;
574                                 clock-names = "se";
575                                 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
576                                 pinctrl-names = "default";
577                                 pinctrl-0 = <&qup_i2c6_default>;
578                                 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
579                                 #address-cells = <1>;
580                                 #size-cells = <0>;
581                                 status = "disabled";
582                         };
583
584                         i2c7: i2c@984000 {
585                                 compatible = "qcom,geni-i2c";
586                                 reg = <0 0x00984000 0 0x4000>;
587                                 clock-names = "se";
588                                 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
589                                 pinctrl-names = "default";
590                                 pinctrl-0 = <&qup_i2c7_default>;
591                                 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
592                                 #address-cells = <1>;
593                                 #size-cells = <0>;
594                                 status = "disabled";
595                         };
596
597                         i2c8: i2c@988000 {
598                                 compatible = "qcom,geni-i2c";
599                                 reg = <0 0x00988000 0 0x4000>;
600                                 clock-names = "se";
601                                 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
602                                 pinctrl-names = "default";
603                                 pinctrl-0 = <&qup_i2c8_default>;
604                                 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
605                                 #address-cells = <1>;
606                                 #size-cells = <0>;
607                                 status = "disabled";
608                         };
609
610                         uart9: serial@98c000 {
611                                 compatible = "qcom,geni-debug-uart";
612                                 reg = <0 0x98c000 0 0x4000>;
613                                 clock-names = "se";
614                                 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
615                                 pinctrl-names = "default";
616                                 pinctrl-0 = <&qup_uart9_default>;
617                                 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
618                                 status = "disabled";
619                         };
620
621                         i2c10: i2c@990000 {
622                                 compatible = "qcom,geni-i2c";
623                                 reg = <0 0x00990000 0 0x4000>;
624                                 clock-names = "se";
625                                 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
626                                 pinctrl-names = "default";
627                                 pinctrl-0 = <&qup_i2c10_default>;
628                                 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
629                                 #address-cells = <1>;
630                                 #size-cells = <0>;
631                                 status = "disabled";
632                         };
633
634                 };
635
636                 ufs_mem_hc: ufs@1d84000 {
637                         compatible = "qcom,sm6350-ufshc", "qcom,ufshc",
638                                      "jedec,ufs-2.0";
639                         reg = <0 0x01d84000 0 0x3000>,
640                               <0 0x01d90000 0 0x8000>;
641                         reg-names = "std", "ice";
642                         interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
643                         phys = <&ufs_mem_phy_lanes>;
644                         phy-names = "ufsphy";
645                         lanes-per-direction = <2>;
646                         #reset-cells = <1>;
647                         resets = <&gcc GCC_UFS_PHY_BCR>;
648                         reset-names = "rst";
649
650                         power-domains = <&gcc UFS_PHY_GDSC>;
651
652                         iommus = <&apps_smmu 0x80 0x0>;
653
654                         clock-names = "core_clk",
655                                       "bus_aggr_clk",
656                                       "iface_clk",
657                                       "core_clk_unipro",
658                                       "ref_clk",
659                                       "tx_lane0_sync_clk",
660                                       "rx_lane0_sync_clk",
661                                       "rx_lane1_sync_clk",
662                                       "ice_core_clk";
663                         clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
664                                  <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
665                                  <&gcc GCC_UFS_PHY_AHB_CLK>,
666                                  <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
667                                  <&rpmhcc RPMH_QLINK_CLK>,
668                                  <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
669                                  <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
670                                  <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>,
671                                  <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
672                         freq-table-hz =
673                                 <50000000 200000000>,
674                                 <0 0>,
675                                 <0 0>,
676                                 <37500000 150000000>,
677                                 <75000000 300000000>,
678                                 <0 0>,
679                                 <0 0>,
680                                 <0 0>,
681                                 <0 0>;
682
683                         status = "disabled";
684                 };
685
686                 ufs_mem_phy: phy@1d87000 {
687                         compatible = "qcom,sm6350-qmp-ufs-phy";
688                         reg = <0 0x01d87000 0 0x18c>;
689                         #address-cells = <2>;
690                         #size-cells = <2>;
691                         ranges;
692
693                         clock-names = "ref",
694                                       "ref_aux";
695                         clocks = <&gcc GCC_UFS_MEM_CLKREF_CLK>,
696                                  <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
697
698                         resets = <&ufs_mem_hc 0>;
699                         reset-names = "ufsphy";
700
701                         status = "disabled";
702
703                         ufs_mem_phy_lanes: phy@1d87400 {
704                                 reg = <0 0x01d87400 0 0x128>,
705                                       <0 0x01d87600 0 0x1fc>,
706                                       <0 0x01d87c00 0 0x1dc>,
707                                       <0 0x01d87800 0 0x128>,
708                                       <0 0x01d87a00 0 0x1fc>;
709                                 #phy-cells = <0>;
710                         };
711                 };
712
713                 tcsr_mutex: hwlock@1f40000 {
714                         compatible = "qcom,tcsr-mutex";
715                         reg = <0x0 0x01f40000 0x0 0x40000>;
716                         #hwlock-cells = <1>;
717                 };
718
719                 adsp: remoteproc@3000000 {
720                         compatible = "qcom,sm6350-adsp-pas";
721                         reg = <0 0x03000000 0 0x100>;
722
723                         interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
724                                               <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
725                                               <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
726                                               <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
727                                               <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
728                         interrupt-names = "wdog", "fatal", "ready",
729                                           "handover", "stop-ack";
730
731                         clocks = <&rpmhcc RPMH_CXO_CLK>;
732                         clock-names = "xo";
733
734                         power-domains = <&rpmhpd SM6350_LCX>,
735                                         <&rpmhpd SM6350_LMX>;
736                         power-domain-names = "lcx", "lmx";
737
738                         memory-region = <&pil_adsp_mem>;
739
740                         qcom,qmp = <&aoss_qmp>;
741
742                         qcom,smem-states = <&smp2p_adsp_out 0>;
743                         qcom,smem-state-names = "stop";
744
745                         status = "disabled";
746
747                         glink-edge {
748                                 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
749                                                              IPCC_MPROC_SIGNAL_GLINK_QMP
750                                                              IRQ_TYPE_EDGE_RISING>;
751                                 mboxes = <&ipcc IPCC_CLIENT_LPASS
752                                                 IPCC_MPROC_SIGNAL_GLINK_QMP>;
753
754                                 label = "lpass";
755                                 qcom,remote-pid = <2>;
756
757                                 fastrpc {
758                                         compatible = "qcom,fastrpc";
759                                         qcom,glink-channels = "fastrpcglink-apps-dsp";
760                                         label = "adsp";
761                                         #address-cells = <1>;
762                                         #size-cells = <0>;
763
764                                         compute-cb@3 {
765                                                 compatible = "qcom,fastrpc-compute-cb";
766                                                 reg = <3>;
767                                                 iommus = <&apps_smmu 0x1003 0x0>;
768                                         };
769
770                                         compute-cb@4 {
771                                                 compatible = "qcom,fastrpc-compute-cb";
772                                                 reg = <4>;
773                                                 iommus = <&apps_smmu 0x1004 0x0>;
774                                         };
775
776                                         compute-cb@5 {
777                                                 compatible = "qcom,fastrpc-compute-cb";
778                                                 reg = <5>;
779                                                 iommus = <&apps_smmu 0x1005 0x0>;
780                                                 qcom,nsessions = <5>;
781                                         };
782                                 };
783                         };
784                 };
785
786                 mpss: remoteproc@4080000 {
787                         compatible = "qcom,sm6350-mpss-pas";
788                         reg = <0x0 0x04080000 0x0 0x4040>;
789
790                         interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_EDGE_RISING>,
791                                               <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
792                                               <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
793                                               <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
794                                               <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
795                                               <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
796                         interrupt-names = "wdog", "fatal", "ready", "handover",
797                                           "stop-ack", "shutdown-ack";
798
799                         clocks = <&rpmhcc RPMH_CXO_CLK>;
800                         clock-names = "xo";
801
802                         power-domains = <&rpmhpd SM6350_CX>,
803                                         <&rpmhpd SM6350_MSS>;
804                         power-domain-names = "cx", "mss";
805
806                         memory-region = <&pil_modem_mem>;
807
808                         qcom,qmp = <&aoss_qmp>;
809
810                         qcom,smem-states = <&modem_smp2p_out 0>;
811                         qcom,smem-state-names = "stop";
812
813                         status = "disabled";
814
815                         glink-edge {
816                                 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
817                                                              IPCC_MPROC_SIGNAL_GLINK_QMP
818                                                              IRQ_TYPE_EDGE_RISING>;
819                                 mboxes = <&ipcc IPCC_CLIENT_MPSS
820                                                 IPCC_MPROC_SIGNAL_GLINK_QMP>;
821                                 label = "modem";
822                                 qcom,remote-pid = <1>;
823                         };
824                 };
825
826                 cdsp: remoteproc@8300000 {
827                         compatible = "qcom,sm6350-cdsp-pas";
828                         reg = <0 0x08300000 0 0x10000>;
829
830                         interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>,
831                                               <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
832                                               <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
833                                               <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
834                                               <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
835                         interrupt-names = "wdog", "fatal", "ready",
836                                           "handover", "stop-ack";
837
838                         clocks = <&rpmhcc RPMH_CXO_CLK>;
839                         clock-names = "xo";
840
841                         power-domains = <&rpmhpd SM6350_CX>,
842                                         <&rpmhpd SM6350_MX>;
843                         power-domain-names = "cx", "mx";
844
845                         memory-region = <&pil_cdsp_mem>;
846
847                         qcom,qmp = <&aoss_qmp>;
848
849                         qcom,smem-states = <&smp2p_cdsp_out 0>;
850                         qcom,smem-state-names = "stop";
851
852                         status = "disabled";
853
854                         glink-edge {
855                                 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
856                                                              IPCC_MPROC_SIGNAL_GLINK_QMP
857                                                              IRQ_TYPE_EDGE_RISING>;
858                                 mboxes = <&ipcc IPCC_CLIENT_CDSP
859                                                 IPCC_MPROC_SIGNAL_GLINK_QMP>;
860
861                                 label = "cdsp";
862                                 qcom,remote-pid = <5>;
863
864                                 fastrpc {
865                                         compatible = "qcom,fastrpc";
866                                         qcom,glink-channels = "fastrpcglink-apps-dsp";
867                                         label = "cdsp";
868                                         #address-cells = <1>;
869                                         #size-cells = <0>;
870
871                                         compute-cb@1 {
872                                                 compatible = "qcom,fastrpc-compute-cb";
873                                                 reg = <1>;
874                                                 iommus = <&apps_smmu 0x1401 0x20>;
875                                         };
876
877                                         compute-cb@2 {
878                                                 compatible = "qcom,fastrpc-compute-cb";
879                                                 reg = <2>;
880                                                 iommus = <&apps_smmu 0x1402 0x20>;
881                                         };
882
883                                         compute-cb@3 {
884                                                 compatible = "qcom,fastrpc-compute-cb";
885                                                 reg = <3>;
886                                                 iommus = <&apps_smmu 0x1403 0x20>;
887                                         };
888
889                                         compute-cb@4 {
890                                                 compatible = "qcom,fastrpc-compute-cb";
891                                                 reg = <4>;
892                                                 iommus = <&apps_smmu 0x1404 0x20>;
893                                         };
894
895                                         compute-cb@5 {
896                                                 compatible = "qcom,fastrpc-compute-cb";
897                                                 reg = <5>;
898                                                 iommus = <&apps_smmu 0x1405 0x20>;
899                                         };
900
901                                         compute-cb@6 {
902                                                 compatible = "qcom,fastrpc-compute-cb";
903                                                 reg = <6>;
904                                                 iommus = <&apps_smmu 0x1406 0x20>;
905                                         };
906
907                                         compute-cb@7 {
908                                                 compatible = "qcom,fastrpc-compute-cb";
909                                                 reg = <7>;
910                                                 iommus = <&apps_smmu 0x1407 0x20>;
911                                         };
912
913                                         compute-cb@8 {
914                                                 compatible = "qcom,fastrpc-compute-cb";
915                                                 reg = <8>;
916                                                 iommus = <&apps_smmu 0x1408 0x20>;
917                                         };
918
919                                         /* note: secure cb9 in downstream */
920                                 };
921                         };
922                 };
923
924                 sdhc_2: sdhci@8804000 {
925                         compatible = "qcom,sm6350-sdhci", "qcom,sdhci-msm-v5";
926                         reg = <0 0x08804000 0 0x1000>;
927
928                         interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
929                                      <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
930                         interrupt-names = "hc_irq", "pwr_irq";
931
932                         clocks = <&gcc GCC_SDCC2_AHB_CLK>,
933                                  <&gcc GCC_SDCC2_APPS_CLK>,
934                                  <&rpmhcc RPMH_CXO_CLK>;
935                         clock-names = "iface", "core", "xo";
936                         qcom,dll-config = <0x0007642c>;
937                         qcom,ddr-config = <0x80040868>;
938                         power-domains = <&rpmhpd 0>;
939                         operating-points-v2 = <&sdhc2_opp_table>;
940                         bus-width = <4>;
941
942                         status = "disabled";
943
944                         sdhc2_opp_table: sdhc2-opp-table {
945                                 compatible = "operating-points-v2";
946
947                                 opp-100000000 {
948                                         opp-hz = /bits/ 64 <100000000>;
949                                         required-opps = <&rpmhpd_opp_svs_l1>;
950                                 };
951
952                                 opp-202000000 {
953                                         opp-hz = /bits/ 64 <202000000>;
954                                         required-opps = <&rpmhpd_opp_nom>;
955                                 };
956                         };
957                 };
958
959                 usb_1_hsphy: phy@88e3000 {
960                         compatible = "qcom,sm6350-qusb2-phy", "qcom,qusb2-v2-phy";
961                         reg = <0 0x088e3000 0 0x400>;
962                         status = "disabled";
963                         #phy-cells = <0>;
964
965                         clocks = <&xo_board>, <&rpmhcc RPMH_CXO_CLK>;
966                         clock-names = "cfg_ahb", "ref";
967
968                         resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
969                 };
970
971                 usb_1_qmpphy: phy@88e9000 {
972                         compatible = "qcom,sc7180-qmp-usb3-dp-phy";
973                         reg = <0 0x088e9000 0 0x200>,
974                               <0 0x088e8000 0 0x40>,
975                               <0 0x088ea000 0 0x200>;
976                         status = "disabled";
977                         #address-cells = <2>;
978                         #size-cells = <2>;
979                         ranges;
980
981                         clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
982                                  <&xo_board>,
983                                  <&rpmhcc RPMH_QLINK_CLK>,
984                                  <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
985                         clock-names = "aux", "cfg_ahb", "ref", "com_aux";
986
987                         resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>,
988                                  <&gcc GCC_USB3_PHY_PRIM_BCR>;
989                         reset-names = "phy", "common";
990
991                         usb_1_ssphy: usb3-phy@88e9200 {
992                                 reg = <0 0x088e9200 0 0x200>,
993                                       <0 0x088e9400 0 0x200>,
994                                       <0 0x088e9c00 0 0x400>,
995                                       <0 0x088e9600 0 0x200>,
996                                       <0 0x088e9800 0 0x200>,
997                                       <0 0x088e9a00 0 0x100>;
998                                 #clock-cells = <0>;
999                                 #phy-cells = <0>;
1000                                 clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
1001                                 clock-names = "pipe0";
1002                                 clock-output-names = "usb3_phy_pipe_clk_src";
1003                         };
1004
1005                         dp_phy: dp-phy@88ea200 {
1006                                 reg = <0 0x088ea200 0 0x200>,
1007                                       <0 0x088ea400 0 0x200>,
1008                                       <0 0x088eac00 0 0x400>,
1009                                       <0 0x088ea600 0 0x200>,
1010                                       <0 0x088ea800 0 0x200>,
1011                                       <0 0x088eaa00 0 0x100>;
1012                                 #phy-cells = <0>;
1013                                 #clock-cells = <1>;
1014                                 clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
1015                                 clock-names = "pipe0";
1016                                 clock-output-names = "usb3_phy_pipe_clk_src";
1017                         };
1018                 };
1019
1020                 system-cache-controller@9200000 {
1021                         compatible = "qcom,sm6350-llcc";
1022                         reg = <0 0x09200000 0 0x50000>, <0 0x09600000 0 0x50000>;
1023                         reg-names = "llcc_base", "llcc_broadcast_base";
1024                 };
1025
1026                 usb_1: usb@a6f8800 {
1027                         compatible = "qcom,sm6350-dwc3", "qcom,dwc3";
1028                         reg = <0 0x0a6f8800 0 0x400>;
1029                         status = "disabled";
1030                         #address-cells = <2>;
1031                         #size-cells = <2>;
1032                         ranges;
1033
1034                         clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1035                                  <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1036                                  <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
1037                                  <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1038                                  <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>;
1039                         clock-names = "cfg_noc",
1040                                       "core",
1041                                       "iface",
1042                                       "sleep",
1043                                       "mock_utmi";
1044
1045                         interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
1046                                               <&pdc 17 IRQ_TYPE_LEVEL_HIGH>,
1047                                               <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
1048                                               <&pdc 14 IRQ_TYPE_EDGE_BOTH>;
1049
1050                         interrupt-names = "hs_phy_irq", "ss_phy_irq",
1051                                           "dm_hs_phy_irq", "dp_hs_phy_irq";
1052
1053                         power-domains = <&gcc USB30_PRIM_GDSC>;
1054
1055                         resets = <&gcc GCC_USB30_PRIM_BCR>;
1056
1057                         usb_1_dwc3: usb@a600000 {
1058                                 compatible = "snps,dwc3";
1059                                 reg = <0 0x0a600000 0 0xcd00>;
1060                                 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
1061                                 iommus = <&apps_smmu 0x540 0x0>;
1062                                 snps,dis_u2_susphy_quirk;
1063                                 snps,dis_enblslpm_quirk;
1064                                 snps,has-lpm-erratum;
1065                                 snps,hird-threshold = /bits/ 8 <0x10>;
1066                                 phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
1067                                 phy-names = "usb2-phy", "usb3-phy";
1068                         };
1069                 };
1070
1071                 pdc: interrupt-controller@b220000 {
1072                         compatible = "qcom,sm6350-pdc", "qcom,pdc";
1073                         reg = <0 0x0b220000 0 0x30000>, <0 0x17c000f0 0 0x64>;
1074                         qcom,pdc-ranges = <0 480 94>, <94 609 31>,
1075                                           <125 63 1>, <126 655 12>, <138 139 15>;
1076                         #interrupt-cells = <2>;
1077                         interrupt-parent = <&intc>;
1078                         interrupt-controller;
1079                 };
1080
1081                 tsens0: thermal-sensor@c263000 {
1082                         compatible = "qcom,sm6350-tsens", "qcom,tsens-v2";
1083                         reg = <0 0x0c263000 0 0x1ff>, /* TM */
1084                               <0 0x0c222000 0 0x8>; /* SROT */
1085                         #qcom,sensors = <16>;
1086                         interrupts-extended = <&pdc 26 IRQ_TYPE_LEVEL_HIGH>,
1087                                      <&pdc 28 IRQ_TYPE_LEVEL_HIGH>;
1088                         interrupt-names = "uplow", "critical";
1089                         #thermal-sensor-cells = <1>;
1090                 };
1091
1092                 tsens1: thermal-sensor@c265000 {
1093                         compatible = "qcom,sm6350-tsens", "qcom,tsens-v2";
1094                         reg = <0 0x0c265000 0 0x1ff>, /* TM */
1095                               <0 0x0c223000 0 0x8>; /* SROT */
1096                         #qcom,sensors = <16>;
1097                         interrupts-extended = <&pdc 27 IRQ_TYPE_LEVEL_HIGH>,
1098                                      <&pdc 29 IRQ_TYPE_LEVEL_HIGH>;
1099                         interrupt-names = "uplow", "critical";
1100                         #thermal-sensor-cells = <1>;
1101                 };
1102
1103                 aoss_qmp: power-controller@c300000 {
1104                         compatible = "qcom,sm6350-aoss-qmp", "qcom,aoss-qmp";
1105                         reg = <0 0x0c300000 0 0x1000>;
1106                         interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP
1107                                                      IRQ_TYPE_EDGE_RISING>;
1108                         mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
1109
1110                         #clock-cells = <0>;
1111                 };
1112
1113                 spmi_bus: spmi@c440000 {
1114                         compatible = "qcom,spmi-pmic-arb";
1115                         reg = <0 0xc440000 0 0x1100>,
1116                               <0 0xc600000 0 0x2000000>,
1117                               <0 0xe600000 0 0x100000>,
1118                               <0 0xe700000 0 0xa0000>,
1119                               <0 0xc40a000 0 0x26000>;
1120                         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1121                         interrupt-names = "periph_irq";
1122                         interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
1123                         qcom,ee = <0>;
1124                         qcom,channel = <0>;
1125                         #address-cells = <2>;
1126                         #size-cells = <0>;
1127                         interrupt-controller;
1128                         #interrupt-cells = <4>;
1129                 };
1130
1131                 tlmm: pinctrl@f100000 {
1132                         compatible = "qcom,sm6350-tlmm";
1133                         reg = <0 0x0f100000 0 0x300000>;
1134                         interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
1135                                         <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>,
1136                                         <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
1137                                         <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
1138                                         <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
1139                                         <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
1140                                         <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
1141                                         <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,
1142                                         <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
1143                         gpio-controller;
1144                         #gpio-cells = <2>;
1145                         interrupt-controller;
1146                         #interrupt-cells = <2>;
1147                         gpio-ranges = <&tlmm 0 0 157>;
1148
1149                         qup_uart9_default: qup-uart9-default {
1150                                 pins = "gpio25", "gpio26";
1151                                 function = "qup13_f2";
1152                                 drive-strength = <2>;
1153                                 bias-disable;
1154                         };
1155
1156                         qup_i2c0_default: qup-i2c0-default {
1157                                 pins = "gpio0", "gpio1";
1158                                 function = "qup00";
1159                                 drive-strength = <2>;
1160                                 bias-pull-up;
1161                         };
1162
1163                         qup_i2c2_default: qup-i2c2-default {
1164                                 pins = "gpio45", "gpio46";
1165                                 function = "qup02";
1166                                 drive-strength = <2>;
1167                                 bias-pull-up;
1168                         };
1169
1170                         qup_i2c6_default: qup-i2c6-default {
1171                                 pins = "gpio13", "gpio14";
1172                                 function = "qup10";
1173                                 drive-strength = <2>;
1174                                 bias-pull-up;
1175                         };
1176
1177                         qup_i2c7_default: qup-i2c7-default {
1178                                 pins = "gpio27", "gpio28";
1179                                 function = "qup11";
1180                                 drive-strength = <2>;
1181                                 bias-pull-up;
1182                         };
1183
1184                         qup_i2c8_default: qup-i2c8-default {
1185                                 pins = "gpio19", "gpio20";
1186                                 function = "qup12";
1187                                 drive-strength = <2>;
1188                                 bias-pull-up;
1189                         };
1190
1191                         qup_i2c10_default: qup-i2c10-default {
1192                                 pins = "gpio4", "gpio5";
1193                                 function = "qup14";
1194                                 drive-strength = <2>;
1195                                 bias-pull-up;
1196                         };
1197                 };
1198
1199                 apps_smmu: iommu@15000000 {
1200                         compatible = "qcom,sm6350-smmu-500", "arm,mmu-500";
1201                         reg = <0 0x15000000 0 0x100000>;
1202                         #iommu-cells = <2>;
1203                         #global-interrupts = <1>;
1204                         interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
1205                                      <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1206                                      <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
1207                                      <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
1208                                      <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
1209                                      <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
1210                                      <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
1211                                      <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
1212                                      <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
1213                                      <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
1214                                      <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
1215                                      <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
1216                                      <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
1217                                      <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
1218                                      <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
1219                                      <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
1220                                      <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
1221                                      <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
1222                                      <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
1223                                      <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
1224                                      <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
1225                                      <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
1226                                      <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1227                                      <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1228                                      <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
1229                                      <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
1230                                      <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
1231                                      <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
1232                                      <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
1233                                      <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
1234                                      <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
1235                                      <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
1236                                      <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
1237                                      <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
1238                                      <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
1239                                      <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
1240                                      <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
1241                                      <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
1242                                      <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
1243                                      <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
1244                                      <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
1245                                      <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
1246                                      <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
1247                                      <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
1248                                      <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
1249                                      <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
1250                                      <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
1251                                      <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
1252                                      <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
1253                                      <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
1254                                      <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
1255                                      <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
1256                                      <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
1257                                      <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
1258                                      <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
1259                                      <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
1260                                      <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
1261                                      <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
1262                                      <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
1263                                      <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
1264                                      <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
1265                                      <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
1266                                      <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
1267                                      <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
1268                                      <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
1269                                      <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
1270                                      <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
1271                                      <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
1272                                      <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
1273                                      <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
1274                                      <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
1275                                      <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
1276                                      <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
1277                                      <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
1278                                      <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
1279                                      <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
1280                                      <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
1281                                      <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>,
1282                                      <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>,
1283                                      <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
1284                                      <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>;
1285                 };
1286
1287                 intc: interrupt-controller@17a00000 {
1288                         compatible = "arm,gic-v3";
1289                         #interrupt-cells = <3>;
1290                         interrupt-controller;
1291                         reg = <0x0 0x17a00000 0x0 0x10000>,     /* GICD */
1292                               <0x0 0x17a60000 0x0 0x100000>;    /* GICR * 8 */
1293                         interrupts = <GIC_PPI 8 IRQ_TYPE_LEVEL_HIGH>;
1294                 };
1295
1296                 watchdog@17c10000 {
1297                         compatible = "qcom,apss-wdt-sm6350", "qcom,kpss-wdt";
1298                         reg = <0 0x17c10000 0 0x1000>;
1299                         clocks = <&sleep_clk>;
1300                         interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
1301                 };
1302
1303                 timer@17c20000 {
1304                         compatible = "arm,armv7-timer-mem";
1305                         reg = <0x0 0x17c20000 0x0 0x1000>;
1306                         clock-frequency = <19200000>;
1307                         #address-cells = <2>;
1308                         #size-cells = <2>;
1309                         ranges;
1310
1311                         frame@17c21000 {
1312                                 frame-number = <0>;
1313                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1314                                              <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
1315                                 reg = <0x0 0x17c21000 0x0 0x1000>,
1316                                       <0x0 0x17c22000 0x0 0x1000>;
1317                         };
1318
1319                         frame@17c23000 {
1320                                 frame-number = <1>;
1321                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1322                                 reg = <0x0 0x17c23000 0x0 0x1000>;
1323                                 status = "disabled";
1324                         };
1325
1326                         frame@17c25000 {
1327                                 frame-number = <2>;
1328                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1329                                 reg = <0x0 0x17c25000 0x0 0x1000>;
1330                                 status = "disabled";
1331                         };
1332
1333                         frame@17c27000 {
1334                                 frame-number = <3>;
1335                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1336                                 reg = <0x0 0x17c27000 0x0 0x1000>;
1337                                 status = "disabled";
1338                         };
1339
1340                         frame@17c29000 {
1341                                 frame-number = <4>;
1342                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1343                                 reg = <0x0 0x17c29000 0x0 0x1000>;
1344                                 status = "disabled";
1345                         };
1346
1347                         frame@17c2b000 {
1348                                 frame-number = <5>;
1349                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1350                                 reg = <0x0 0x17c2b000 0x0 0x1000>;
1351                                 status = "disabled";
1352                         };
1353
1354                         frame@17c2d000 {
1355                                 frame-number = <6>;
1356                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1357                                 reg = <0x0 0x17c2d000 0x0 0x1000>;
1358                                 status = "disabled";
1359                         };
1360                 };
1361
1362                 wifi: wifi@18800000 {
1363                         compatible = "qcom,wcn3990-wifi";
1364                         reg = <0 0x18800000 0 0x800000>;
1365                         reg-names = "membase";
1366                         memory-region = <&wlan_fw_mem>;
1367                         interrupts = <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
1368                                      <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
1369                                      <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
1370                                      <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
1371                                      <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
1372                                      <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
1373                                      <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
1374                                      <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
1375                                      <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
1376                                      <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
1377                                      <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
1378                                      <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
1379                         iommus = <&apps_smmu 0x20 0x1>;
1380                         qcom,msa-fixed-perm;
1381                         status = "disabled";
1382                 };
1383
1384                 apps_rsc: rsc@18200000 {
1385                         compatible = "qcom,rpmh-rsc";
1386                         label = "apps_rsc";
1387                         reg = <0x0 0x18200000 0x0 0x10000>,
1388                                 <0x0 0x18210000 0x0 0x10000>,
1389                                 <0x0 0x18220000 0x0 0x10000>;
1390                         reg-names = "drv-0", "drv-1", "drv-2";
1391                         interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
1392                                      <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
1393                                      <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1394                         qcom,tcs-offset = <0xd00>;
1395                         qcom,drv-id = <2>;
1396                         qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>,
1397                                           <WAKE_TCS 3>, <CONTROL_TCS 1>;
1398
1399                         rpmhcc: clock-controller {
1400                                 compatible = "qcom,sm6350-rpmh-clk";
1401                                 #clock-cells = <1>;
1402                                 clock-names = "xo";
1403                                 clocks = <&xo_board>;
1404                         };
1405
1406                         rpmhpd: power-controller {
1407                                 compatible = "qcom,sm6350-rpmhpd";
1408                                 #power-domain-cells = <1>;
1409                                 operating-points-v2 = <&rpmhpd_opp_table>;
1410
1411                                 rpmhpd_opp_table: opp-table {
1412                                         compatible = "operating-points-v2";
1413
1414                                         rpmhpd_opp_ret: opp1 {
1415                                                 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
1416                                         };
1417
1418                                         rpmhpd_opp_min_svs: opp2 {
1419                                                 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
1420                                         };
1421
1422                                         rpmhpd_opp_low_svs: opp3 {
1423                                                 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
1424                                         };
1425
1426                                         rpmhpd_opp_svs: opp4 {
1427                                                 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
1428                                         };
1429
1430                                         rpmhpd_opp_svs_l1: opp5 {
1431                                                 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
1432                                         };
1433
1434                                         rpmhpd_opp_nom: opp6 {
1435                                                 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
1436                                         };
1437
1438                                         rpmhpd_opp_nom_l1: opp7 {
1439                                                 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
1440                                         };
1441
1442                                         rpmhpd_opp_nom_l2: opp8 {
1443                                                 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
1444                                         };
1445
1446                                         rpmhpd_opp_turbo: opp9 {
1447                                                 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
1448                                         };
1449
1450                                         rpmhpd_opp_turbo_l1: opp10 {
1451                                                 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
1452                                         };
1453                                 };
1454                         };
1455
1456                         apps_bcm_voter: bcm-voter {
1457                                 compatible = "qcom,bcm-voter";
1458                         };
1459                 };
1460
1461                 cpufreq_hw: cpufreq@18323000 {
1462                         compatible = "qcom,cpufreq-hw";
1463                         reg = <0 0x18323000 0 0x1000>, <0 0x18325800 0 0x1000>;
1464                         reg-names = "freq-domain0", "freq-domain1";
1465                         clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
1466                         clock-names = "xo", "alternate";
1467
1468                         #freq-domain-cells = <1>;
1469                 };
1470         };
1471
1472         timer {
1473                 compatible = "arm,armv8-timer";
1474                 clock-frequency = <19200000>;
1475                 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1476                              <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1477                              <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1478                              <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
1479         };
1480 };