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: mmc@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 SM6350_CX>;
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: 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: mmc@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 SM6350_CX>;
939 operating-points-v2 = <&sdhc2_opp_table>;
940 bus-width = <4>;
941
942 status = "disabled";
943
944 sdhc2_opp_table: 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 = <1>;
1308 #size-cells = <1>;
1309 ranges = <0 0 0 0x20000000>;
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 = <0x17c21000 0x1000>,
1316 <0x17c22000 0x1000>;
1317 };
1318
1319 frame@17c23000 {
1320 frame-number = <1>;
1321 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1322 reg = <0x17c23000 0x1000>;
1323 status = "disabled";
1324 };
1325
1326 frame@17c25000 {
1327 frame-number = <2>;
1328 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1329 reg = <0x17c25000 0x1000>;
1330 status = "disabled";
1331 };
1332
1333 frame@17c27000 {
1334 frame-number = <3>;
1335 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1336 reg = <0x17c27000 0x1000>;
1337 status = "disabled";
1338 };
1339
1340 frame@17c29000 {
1341 frame-number = <4>;
1342 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1343 reg = <0x17c29000 0x1000>;
1344 status = "disabled";
1345 };
1346
1347 frame@17c2b000 {
1348 frame-number = <5>;
1349 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1350 reg = <0x17c2b000 0x1000>;
1351 status = "disabled";
1352 };
1353
1354 frame@17c2d000 {
1355 frame-number = <6>;
1356 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1357 reg = <0x17c2d000 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 };
Cache object: 21850d0edfc137763992cd5e337b5e0c
|