blob: e423c57ddd41eceefaea483aaa343aa9b9bd1ee7 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
4 */
5
6#include <dt-bindings/arm/coresight-cti-dt.h>
7#include <dt-bindings/clock/qcom,gcc-msm8916.h>
8#include <dt-bindings/clock/qcom,rpmcc.h>
9#include <dt-bindings/interconnect/qcom,msm8916.h>
10#include <dt-bindings/interrupt-controller/arm-gic.h>
11#include <dt-bindings/power/qcom-rpmpd.h>
12#include <dt-bindings/reset/qcom,gcc-msm8916.h>
Tom Rini93743d22024-04-01 09:08:13 -040013#include <dt-bindings/soc/qcom,apr.h>
Tom Rini53633a82024-02-29 12:33:36 -050014#include <dt-bindings/thermal/thermal.h>
15
16/ {
17 interrupt-parent = <&intc>;
18
19 #address-cells = <2>;
20 #size-cells = <2>;
21
22 chosen { };
23
24 memory@80000000 {
25 device_type = "memory";
26 /* We expect the bootloader to fill in the reg */
27 reg = <0 0x80000000 0 0>;
28 };
29
30 reserved-memory {
31 #address-cells = <2>;
32 #size-cells = <2>;
33 ranges;
34
35 tz-apps@86000000 {
36 reg = <0x0 0x86000000 0x0 0x300000>;
37 no-map;
38 };
39
40 smem@86300000 {
41 compatible = "qcom,smem";
42 reg = <0x0 0x86300000 0x0 0x100000>;
43 no-map;
44
45 hwlocks = <&tcsr_mutex 3>;
46 qcom,rpm-msg-ram = <&rpm_msg_ram>;
47 };
48
49 hypervisor@86400000 {
50 reg = <0x0 0x86400000 0x0 0x100000>;
51 no-map;
52 };
53
54 tz@86500000 {
55 reg = <0x0 0x86500000 0x0 0x180000>;
56 no-map;
57 };
58
59 reserved@86680000 {
60 reg = <0x0 0x86680000 0x0 0x80000>;
61 no-map;
62 };
63
64 rmtfs@86700000 {
65 compatible = "qcom,rmtfs-mem";
66 reg = <0x0 0x86700000 0x0 0xe0000>;
67 no-map;
68
69 qcom,client-id = <1>;
70 };
71
72 rfsa@867e0000 {
73 reg = <0x0 0x867e0000 0x0 0x20000>;
74 no-map;
75 };
76
77 mpss_mem: mpss@86800000 {
78 /*
79 * The memory region for the mpss firmware is generally
80 * relocatable and could be allocated dynamically.
81 * However, many firmware versions tend to fail when
82 * loaded to some special addresses, so it is hard to
83 * define reliable alloc-ranges.
84 *
85 * alignment = <0x0 0x400000>;
86 * alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
87 */
88 reg = <0x0 0x86800000 0x0 0>; /* size is device-specific */
89 no-map;
90 status = "disabled";
91 };
92
93 wcnss_mem: wcnss {
94 size = <0x0 0x600000>;
95 alignment = <0x0 0x100000>;
96 alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
97 no-map;
98 status = "disabled";
99 };
100
101 venus_mem: venus {
102 size = <0x0 0x500000>;
103 alignment = <0x0 0x100000>;
104 alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
105 no-map;
106 status = "disabled";
107 };
108
109 mba_mem: mba {
110 size = <0x0 0x100000>;
111 alignment = <0x0 0x100000>;
112 alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
113 no-map;
114 status = "disabled";
115 };
116 };
117
118 clocks {
119 xo_board: xo-board {
120 compatible = "fixed-clock";
121 #clock-cells = <0>;
122 clock-frequency = <19200000>;
123 };
124
125 sleep_clk: sleep-clk {
126 compatible = "fixed-clock";
127 #clock-cells = <0>;
128 clock-frequency = <32768>;
129 };
130 };
131
132 cpus {
133 #address-cells = <1>;
134 #size-cells = <0>;
135
136 CPU0: cpu@0 {
137 device_type = "cpu";
138 compatible = "arm,cortex-a53";
139 reg = <0x0>;
140 next-level-cache = <&L2_0>;
141 enable-method = "psci";
142 clocks = <&apcs>;
143 operating-points-v2 = <&cpu_opp_table>;
144 #cooling-cells = <2>;
145 power-domains = <&CPU_PD0>;
146 power-domain-names = "psci";
147 qcom,acc = <&cpu0_acc>;
148 qcom,saw = <&cpu0_saw>;
149 };
150
151 CPU1: cpu@1 {
152 device_type = "cpu";
153 compatible = "arm,cortex-a53";
154 reg = <0x1>;
155 next-level-cache = <&L2_0>;
156 enable-method = "psci";
157 clocks = <&apcs>;
158 operating-points-v2 = <&cpu_opp_table>;
159 #cooling-cells = <2>;
160 power-domains = <&CPU_PD1>;
161 power-domain-names = "psci";
162 qcom,acc = <&cpu1_acc>;
163 qcom,saw = <&cpu1_saw>;
164 };
165
166 CPU2: cpu@2 {
167 device_type = "cpu";
168 compatible = "arm,cortex-a53";
169 reg = <0x2>;
170 next-level-cache = <&L2_0>;
171 enable-method = "psci";
172 clocks = <&apcs>;
173 operating-points-v2 = <&cpu_opp_table>;
174 #cooling-cells = <2>;
175 power-domains = <&CPU_PD2>;
176 power-domain-names = "psci";
177 qcom,acc = <&cpu2_acc>;
178 qcom,saw = <&cpu2_saw>;
179 };
180
181 CPU3: cpu@3 {
182 device_type = "cpu";
183 compatible = "arm,cortex-a53";
184 reg = <0x3>;
185 next-level-cache = <&L2_0>;
186 enable-method = "psci";
187 clocks = <&apcs>;
188 operating-points-v2 = <&cpu_opp_table>;
189 #cooling-cells = <2>;
190 power-domains = <&CPU_PD3>;
191 power-domain-names = "psci";
192 qcom,acc = <&cpu3_acc>;
193 qcom,saw = <&cpu3_saw>;
194 };
195
196 L2_0: l2-cache {
197 compatible = "cache";
198 cache-level = <2>;
199 cache-unified;
200 };
201
202 idle-states {
203 entry-method = "psci";
204
205 CPU_SLEEP_0: cpu-sleep-0 {
206 compatible = "arm,idle-state";
207 idle-state-name = "standalone-power-collapse";
208 arm,psci-suspend-param = <0x40000002>;
209 entry-latency-us = <130>;
210 exit-latency-us = <150>;
211 min-residency-us = <2000>;
212 local-timer-stop;
213 };
214 };
215
216 domain-idle-states {
217
218 CLUSTER_RET: cluster-retention {
219 compatible = "domain-idle-state";
220 arm,psci-suspend-param = <0x41000012>;
221 entry-latency-us = <500>;
222 exit-latency-us = <500>;
223 min-residency-us = <2000>;
224 };
225
226 CLUSTER_PWRDN: cluster-gdhs {
227 compatible = "domain-idle-state";
228 arm,psci-suspend-param = <0x41000032>;
229 entry-latency-us = <2000>;
230 exit-latency-us = <2000>;
231 min-residency-us = <6000>;
232 };
233 };
234 };
235
236 cpu_opp_table: opp-table-cpu {
237 compatible = "operating-points-v2";
238 opp-shared;
239
240 opp-200000000 {
241 opp-hz = /bits/ 64 <200000000>;
242 };
243 opp-400000000 {
244 opp-hz = /bits/ 64 <400000000>;
245 };
246 opp-800000000 {
247 opp-hz = /bits/ 64 <800000000>;
248 };
249 opp-998400000 {
250 opp-hz = /bits/ 64 <998400000>;
251 };
252 };
253
254 firmware {
255 scm: scm {
256 compatible = "qcom,scm-msm8916", "qcom,scm";
257 clocks = <&gcc GCC_CRYPTO_CLK>,
258 <&gcc GCC_CRYPTO_AXI_CLK>,
259 <&gcc GCC_CRYPTO_AHB_CLK>;
260 clock-names = "core", "bus", "iface";
261 #reset-cells = <1>;
262
263 qcom,dload-mode = <&tcsr 0x6100>;
264 };
265 };
266
267 pmu {
268 compatible = "arm,cortex-a53-pmu";
269 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
270 };
271
272 psci {
273 compatible = "arm,psci-1.0";
274 method = "smc";
275
276 CPU_PD0: power-domain-cpu0 {
277 #power-domain-cells = <0>;
278 power-domains = <&CLUSTER_PD>;
279 domain-idle-states = <&CPU_SLEEP_0>;
280 };
281
282 CPU_PD1: power-domain-cpu1 {
283 #power-domain-cells = <0>;
284 power-domains = <&CLUSTER_PD>;
285 domain-idle-states = <&CPU_SLEEP_0>;
286 };
287
288 CPU_PD2: power-domain-cpu2 {
289 #power-domain-cells = <0>;
290 power-domains = <&CLUSTER_PD>;
291 domain-idle-states = <&CPU_SLEEP_0>;
292 };
293
294 CPU_PD3: power-domain-cpu3 {
295 #power-domain-cells = <0>;
296 power-domains = <&CLUSTER_PD>;
297 domain-idle-states = <&CPU_SLEEP_0>;
298 };
299
300 CLUSTER_PD: power-domain-cluster {
301 #power-domain-cells = <0>;
302 domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>;
303 };
304 };
305
306 rpm: remoteproc {
307 compatible = "qcom,msm8916-rpm-proc", "qcom,rpm-proc";
308
309 smd-edge {
310 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
311 qcom,ipc = <&apcs 8 0>;
312 qcom,smd-edge = <15>;
313
314 rpm_requests: rpm-requests {
315 compatible = "qcom,rpm-msm8916";
316 qcom,smd-channels = "rpm_requests";
317
318 rpmcc: clock-controller {
319 compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
320 #clock-cells = <1>;
321 clocks = <&xo_board>;
322 clock-names = "xo";
323 };
324
325 rpmpd: power-controller {
326 compatible = "qcom,msm8916-rpmpd";
327 #power-domain-cells = <1>;
328 operating-points-v2 = <&rpmpd_opp_table>;
329
330 rpmpd_opp_table: opp-table {
331 compatible = "operating-points-v2";
332
333 rpmpd_opp_ret: opp1 {
334 opp-level = <1>;
335 };
336 rpmpd_opp_svs_krait: opp2 {
337 opp-level = <2>;
338 };
339 rpmpd_opp_svs_soc: opp3 {
340 opp-level = <3>;
341 };
342 rpmpd_opp_nom: opp4 {
343 opp-level = <4>;
344 };
345 rpmpd_opp_turbo: opp5 {
346 opp-level = <5>;
347 };
348 rpmpd_opp_super_turbo: opp6 {
349 opp-level = <6>;
350 };
351 };
352 };
353 };
354 };
355 };
356
357 smp2p-hexagon {
358 compatible = "qcom,smp2p";
359 qcom,smem = <435>, <428>;
360
361 interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
362
363 qcom,ipc = <&apcs 8 14>;
364
365 qcom,local-pid = <0>;
366 qcom,remote-pid = <1>;
367
368 hexagon_smp2p_out: master-kernel {
369 qcom,entry-name = "master-kernel";
370
371 #qcom,smem-state-cells = <1>;
372 };
373
374 hexagon_smp2p_in: slave-kernel {
375 qcom,entry-name = "slave-kernel";
376
377 interrupt-controller;
378 #interrupt-cells = <2>;
379 };
380 };
381
382 smp2p-wcnss {
383 compatible = "qcom,smp2p";
384 qcom,smem = <451>, <431>;
385
386 interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
387
388 qcom,ipc = <&apcs 8 18>;
389
390 qcom,local-pid = <0>;
391 qcom,remote-pid = <4>;
392
393 wcnss_smp2p_out: master-kernel {
394 qcom,entry-name = "master-kernel";
395
396 #qcom,smem-state-cells = <1>;
397 };
398
399 wcnss_smp2p_in: slave-kernel {
400 qcom,entry-name = "slave-kernel";
401
402 interrupt-controller;
403 #interrupt-cells = <2>;
404 };
405 };
406
407 smsm {
408 compatible = "qcom,smsm";
409
410 #address-cells = <1>;
411 #size-cells = <0>;
412
413 qcom,ipc-1 = <&apcs 8 13>;
414 qcom,ipc-3 = <&apcs 8 19>;
415
416 apps_smsm: apps@0 {
417 reg = <0>;
418
419 #qcom,smem-state-cells = <1>;
420 };
421
422 hexagon_smsm: hexagon@1 {
423 reg = <1>;
424 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
425
426 interrupt-controller;
427 #interrupt-cells = <2>;
428 };
429
430 wcnss_smsm: wcnss@6 {
431 reg = <6>;
432 interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
433
434 interrupt-controller;
435 #interrupt-cells = <2>;
436 };
437 };
438
439 soc: soc@0 {
440 #address-cells = <1>;
441 #size-cells = <1>;
442 ranges = <0 0 0 0xffffffff>;
443 compatible = "simple-bus";
444
445 rng@22000 {
446 compatible = "qcom,prng";
447 reg = <0x00022000 0x200>;
448 clocks = <&gcc GCC_PRNG_AHB_CLK>;
449 clock-names = "core";
450 };
451
452 restart@4ab000 {
453 compatible = "qcom,pshold";
454 reg = <0x004ab000 0x4>;
455 };
456
457 qfprom: qfprom@5c000 {
458 compatible = "qcom,msm8916-qfprom", "qcom,qfprom";
459 reg = <0x0005c000 0x1000>;
460 #address-cells = <1>;
461 #size-cells = <1>;
462
463 tsens_base1: base1@d0 {
464 reg = <0xd0 0x1>;
465 bits = <0 7>;
466 };
467
468 tsens_s0_p1: s0-p1@d0 {
469 reg = <0xd0 0x2>;
470 bits = <7 5>;
471 };
472
473 tsens_s0_p2: s0-p2@d1 {
474 reg = <0xd1 0x2>;
475 bits = <4 5>;
476 };
477
478 tsens_s1_p1: s1-p1@d2 {
479 reg = <0xd2 0x1>;
480 bits = <1 5>;
481 };
482 tsens_s1_p2: s1-p2@d2 {
483 reg = <0xd2 0x2>;
484 bits = <6 5>;
485 };
486 tsens_s2_p1: s2-p1@d3 {
487 reg = <0xd3 0x1>;
488 bits = <3 5>;
489 };
490
491 tsens_s2_p2: s2-p2@d4 {
492 reg = <0xd4 0x1>;
493 bits = <0 5>;
494 };
495
496 // no tsens with hw_id 3
497
498 tsens_s4_p1: s4-p1@d4 {
499 reg = <0xd4 0x2>;
500 bits = <5 5>;
501 };
502
503 tsens_s4_p2: s4-p2@d5 {
504 reg = <0xd5 0x1>;
505 bits = <2 5>;
506 };
507
508 tsens_s5_p1: s5-p1@d5 {
509 reg = <0xd5 0x2>;
510 bits = <7 5>;
511 };
512
513 tsens_s5_p2: s5-p2@d6 {
514 reg = <0xd6 0x2>;
515 bits = <4 5>;
516 };
517
518 tsens_base2: base2@d7 {
519 reg = <0xd7 0x1>;
520 bits = <1 7>;
521 };
522
523 tsens_mode: mode@ef {
524 reg = <0xef 0x1>;
525 bits = <5 3>;
526 };
527 };
528
529 rpm_msg_ram: sram@60000 {
530 compatible = "qcom,rpm-msg-ram";
531 reg = <0x00060000 0x8000>;
532 };
533
534 sram@290000 {
535 compatible = "qcom,msm8916-rpm-stats";
536 reg = <0x00290000 0x10000>;
537 };
538
539 bimc: interconnect@400000 {
540 compatible = "qcom,msm8916-bimc";
541 reg = <0x00400000 0x62000>;
542 #interconnect-cells = <1>;
Tom Rini53633a82024-02-29 12:33:36 -0500543 };
544
545 tsens: thermal-sensor@4a9000 {
546 compatible = "qcom,msm8916-tsens", "qcom,tsens-v0_1";
547 reg = <0x004a9000 0x1000>, /* TM */
548 <0x004a8000 0x1000>; /* SROT */
549
550 // no hw_id 3
551 nvmem-cells = <&tsens_mode>,
552 <&tsens_base1>, <&tsens_base2>,
553 <&tsens_s0_p1>, <&tsens_s0_p2>,
554 <&tsens_s1_p1>, <&tsens_s1_p2>,
555 <&tsens_s2_p1>, <&tsens_s2_p2>,
556 <&tsens_s4_p1>, <&tsens_s4_p2>,
557 <&tsens_s5_p1>, <&tsens_s5_p2>;
558 nvmem-cell-names = "mode",
559 "base1", "base2",
560 "s0_p1", "s0_p2",
561 "s1_p1", "s1_p2",
562 "s2_p1", "s2_p2",
563 "s4_p1", "s4_p2",
564 "s5_p1", "s5_p2";
565 #qcom,sensors = <5>;
566 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
567 interrupt-names = "uplow";
568 #thermal-sensor-cells = <1>;
569 };
570
571 pcnoc: interconnect@500000 {
572 compatible = "qcom,msm8916-pcnoc";
573 reg = <0x00500000 0x11000>;
574 #interconnect-cells = <1>;
Tom Rini53633a82024-02-29 12:33:36 -0500575 };
576
577 snoc: interconnect@580000 {
578 compatible = "qcom,msm8916-snoc";
579 reg = <0x00580000 0x14000>;
580 #interconnect-cells = <1>;
Tom Rini53633a82024-02-29 12:33:36 -0500581 };
582
583 stm: stm@802000 {
584 compatible = "arm,coresight-stm", "arm,primecell";
585 reg = <0x00802000 0x1000>,
586 <0x09280000 0x180000>;
587 reg-names = "stm-base", "stm-stimulus-base";
588
589 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
590 clock-names = "apb_pclk", "atclk";
591
592 status = "disabled";
593
594 out-ports {
595 port {
596 stm_out: endpoint {
597 remote-endpoint = <&funnel0_in7>;
598 };
599 };
600 };
601 };
602
603 /* System CTIs */
604 /* CTI 0 - TMC connections */
605 cti0: cti@810000 {
606 compatible = "arm,coresight-cti", "arm,primecell";
607 reg = <0x00810000 0x1000>;
608
609 clocks = <&rpmcc RPM_QDSS_CLK>;
610 clock-names = "apb_pclk";
611
612 status = "disabled";
613 };
614
615 /* CTI 1 - TPIU connections */
616 cti1: cti@811000 {
617 compatible = "arm,coresight-cti", "arm,primecell";
618 reg = <0x00811000 0x1000>;
619
620 clocks = <&rpmcc RPM_QDSS_CLK>;
621 clock-names = "apb_pclk";
622
623 status = "disabled";
624 };
625
626 /* CTIs 2-11 - no information - not instantiated */
627
628 tpiu: tpiu@820000 {
629 compatible = "arm,coresight-tpiu", "arm,primecell";
630 reg = <0x00820000 0x1000>;
631
632 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
633 clock-names = "apb_pclk", "atclk";
634
635 status = "disabled";
636
637 in-ports {
638 port {
639 tpiu_in: endpoint {
640 remote-endpoint = <&replicator_out1>;
641 };
642 };
643 };
644 };
645
646 funnel0: funnel@821000 {
647 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
648 reg = <0x00821000 0x1000>;
649
650 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
651 clock-names = "apb_pclk", "atclk";
652
653 status = "disabled";
654
655 in-ports {
656 #address-cells = <1>;
657 #size-cells = <0>;
658
659 /*
660 * Not described input ports:
661 * 0 - connected to Resource and Power Manger CPU ETM
662 * 1 - not-connected
663 * 2 - connected to Modem CPU ETM
664 * 3 - not-connected
665 * 5 - not-connected
666 * 6 - connected trought funnel to Wireless CPU ETM
667 * 7 - connected to STM component
668 */
669
670 port@4 {
671 reg = <4>;
672 funnel0_in4: endpoint {
673 remote-endpoint = <&funnel1_out>;
674 };
675 };
676
677 port@7 {
678 reg = <7>;
679 funnel0_in7: endpoint {
680 remote-endpoint = <&stm_out>;
681 };
682 };
683 };
684
685 out-ports {
686 port {
687 funnel0_out: endpoint {
688 remote-endpoint = <&etf_in>;
689 };
690 };
691 };
692 };
693
694 replicator: replicator@824000 {
695 compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
696 reg = <0x00824000 0x1000>;
697
698 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
699 clock-names = "apb_pclk", "atclk";
700
701 status = "disabled";
702
703 out-ports {
704 #address-cells = <1>;
705 #size-cells = <0>;
706
707 port@0 {
708 reg = <0>;
709 replicator_out0: endpoint {
710 remote-endpoint = <&etr_in>;
711 };
712 };
713 port@1 {
714 reg = <1>;
715 replicator_out1: endpoint {
716 remote-endpoint = <&tpiu_in>;
717 };
718 };
719 };
720
721 in-ports {
722 port {
723 replicator_in: endpoint {
724 remote-endpoint = <&etf_out>;
725 };
726 };
727 };
728 };
729
730 etf: etf@825000 {
731 compatible = "arm,coresight-tmc", "arm,primecell";
732 reg = <0x00825000 0x1000>;
733
734 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
735 clock-names = "apb_pclk", "atclk";
736
737 status = "disabled";
738
739 in-ports {
740 port {
741 etf_in: endpoint {
742 remote-endpoint = <&funnel0_out>;
743 };
744 };
745 };
746
747 out-ports {
748 port {
749 etf_out: endpoint {
750 remote-endpoint = <&replicator_in>;
751 };
752 };
753 };
754 };
755
756 etr: etr@826000 {
757 compatible = "arm,coresight-tmc", "arm,primecell";
758 reg = <0x00826000 0x1000>;
759
760 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
761 clock-names = "apb_pclk", "atclk";
762
763 status = "disabled";
764
765 in-ports {
766 port {
767 etr_in: endpoint {
768 remote-endpoint = <&replicator_out0>;
769 };
770 };
771 };
772 };
773
774 funnel1: funnel@841000 { /* APSS funnel only 4 inputs are used */
775 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
776 reg = <0x00841000 0x1000>;
777
778 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
779 clock-names = "apb_pclk", "atclk";
780
781 status = "disabled";
782
783 in-ports {
784 #address-cells = <1>;
785 #size-cells = <0>;
786
787 port@0 {
788 reg = <0>;
789 funnel1_in0: endpoint {
790 remote-endpoint = <&etm0_out>;
791 };
792 };
793 port@1 {
794 reg = <1>;
795 funnel1_in1: endpoint {
796 remote-endpoint = <&etm1_out>;
797 };
798 };
799 port@2 {
800 reg = <2>;
801 funnel1_in2: endpoint {
802 remote-endpoint = <&etm2_out>;
803 };
804 };
805 port@3 {
806 reg = <3>;
807 funnel1_in3: endpoint {
808 remote-endpoint = <&etm3_out>;
809 };
810 };
811 };
812
813 out-ports {
814 port {
815 funnel1_out: endpoint {
816 remote-endpoint = <&funnel0_in4>;
817 };
818 };
819 };
820 };
821
822 debug0: debug@850000 {
823 compatible = "arm,coresight-cpu-debug", "arm,primecell";
824 reg = <0x00850000 0x1000>;
825 clocks = <&rpmcc RPM_QDSS_CLK>;
826 clock-names = "apb_pclk";
827 cpu = <&CPU0>;
828 status = "disabled";
829 };
830
831 debug1: debug@852000 {
832 compatible = "arm,coresight-cpu-debug", "arm,primecell";
833 reg = <0x00852000 0x1000>;
834 clocks = <&rpmcc RPM_QDSS_CLK>;
835 clock-names = "apb_pclk";
836 cpu = <&CPU1>;
837 status = "disabled";
838 };
839
840 debug2: debug@854000 {
841 compatible = "arm,coresight-cpu-debug", "arm,primecell";
842 reg = <0x00854000 0x1000>;
843 clocks = <&rpmcc RPM_QDSS_CLK>;
844 clock-names = "apb_pclk";
845 cpu = <&CPU2>;
846 status = "disabled";
847 };
848
849 debug3: debug@856000 {
850 compatible = "arm,coresight-cpu-debug", "arm,primecell";
851 reg = <0x00856000 0x1000>;
852 clocks = <&rpmcc RPM_QDSS_CLK>;
853 clock-names = "apb_pclk";
854 cpu = <&CPU3>;
855 status = "disabled";
856 };
857
858 /* Core CTIs; CTIs 12-15 */
859 /* CTI - CPU-0 */
860 cti12: cti@858000 {
861 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
862 "arm,primecell";
863 reg = <0x00858000 0x1000>;
864
865 clocks = <&rpmcc RPM_QDSS_CLK>;
866 clock-names = "apb_pclk";
867
868 cpu = <&CPU0>;
869 arm,cs-dev-assoc = <&etm0>;
870
871 status = "disabled";
872 };
873
874 /* CTI - CPU-1 */
875 cti13: cti@859000 {
876 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
877 "arm,primecell";
878 reg = <0x00859000 0x1000>;
879
880 clocks = <&rpmcc RPM_QDSS_CLK>;
881 clock-names = "apb_pclk";
882
883 cpu = <&CPU1>;
884 arm,cs-dev-assoc = <&etm1>;
885
886 status = "disabled";
887 };
888
889 /* CTI - CPU-2 */
890 cti14: cti@85a000 {
891 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
892 "arm,primecell";
893 reg = <0x0085a000 0x1000>;
894
895 clocks = <&rpmcc RPM_QDSS_CLK>;
896 clock-names = "apb_pclk";
897
898 cpu = <&CPU2>;
899 arm,cs-dev-assoc = <&etm2>;
900
901 status = "disabled";
902 };
903
904 /* CTI - CPU-3 */
905 cti15: cti@85b000 {
906 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
907 "arm,primecell";
908 reg = <0x0085b000 0x1000>;
909
910 clocks = <&rpmcc RPM_QDSS_CLK>;
911 clock-names = "apb_pclk";
912
913 cpu = <&CPU3>;
914 arm,cs-dev-assoc = <&etm3>;
915
916 status = "disabled";
917 };
918
919 etm0: etm@85c000 {
920 compatible = "arm,coresight-etm4x", "arm,primecell";
921 reg = <0x0085c000 0x1000>;
922
923 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
924 clock-names = "apb_pclk", "atclk";
925 arm,coresight-loses-context-with-cpu;
926
927 cpu = <&CPU0>;
928
929 status = "disabled";
930
931 out-ports {
932 port {
933 etm0_out: endpoint {
934 remote-endpoint = <&funnel1_in0>;
935 };
936 };
937 };
938 };
939
940 etm1: etm@85d000 {
941 compatible = "arm,coresight-etm4x", "arm,primecell";
942 reg = <0x0085d000 0x1000>;
943
944 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
945 clock-names = "apb_pclk", "atclk";
946 arm,coresight-loses-context-with-cpu;
947
948 cpu = <&CPU1>;
949
950 status = "disabled";
951
952 out-ports {
953 port {
954 etm1_out: endpoint {
955 remote-endpoint = <&funnel1_in1>;
956 };
957 };
958 };
959 };
960
961 etm2: etm@85e000 {
962 compatible = "arm,coresight-etm4x", "arm,primecell";
963 reg = <0x0085e000 0x1000>;
964
965 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
966 clock-names = "apb_pclk", "atclk";
967 arm,coresight-loses-context-with-cpu;
968
969 cpu = <&CPU2>;
970
971 status = "disabled";
972
973 out-ports {
974 port {
975 etm2_out: endpoint {
976 remote-endpoint = <&funnel1_in2>;
977 };
978 };
979 };
980 };
981
982 etm3: etm@85f000 {
983 compatible = "arm,coresight-etm4x", "arm,primecell";
984 reg = <0x0085f000 0x1000>;
985
986 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
987 clock-names = "apb_pclk", "atclk";
988 arm,coresight-loses-context-with-cpu;
989
990 cpu = <&CPU3>;
991
992 status = "disabled";
993
994 out-ports {
995 port {
996 etm3_out: endpoint {
997 remote-endpoint = <&funnel1_in3>;
998 };
999 };
1000 };
1001 };
1002
1003 tlmm: pinctrl@1000000 {
1004 compatible = "qcom,msm8916-pinctrl";
1005 reg = <0x01000000 0x300000>;
1006 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1007 gpio-controller;
1008 gpio-ranges = <&tlmm 0 0 122>;
1009 #gpio-cells = <2>;
1010 interrupt-controller;
1011 #interrupt-cells = <2>;
1012
1013 blsp_i2c1_default: blsp-i2c1-default-state {
1014 pins = "gpio2", "gpio3";
1015 function = "blsp_i2c1";
1016 drive-strength = <2>;
1017 bias-disable;
1018 };
1019
1020 blsp_i2c1_sleep: blsp-i2c1-sleep-state {
1021 pins = "gpio2", "gpio3";
1022 function = "gpio";
1023 drive-strength = <2>;
1024 bias-disable;
1025 };
1026
1027 blsp_i2c2_default: blsp-i2c2-default-state {
1028 pins = "gpio6", "gpio7";
1029 function = "blsp_i2c2";
1030 drive-strength = <2>;
1031 bias-disable;
1032 };
1033
1034 blsp_i2c2_sleep: blsp-i2c2-sleep-state {
1035 pins = "gpio6", "gpio7";
1036 function = "gpio";
1037 drive-strength = <2>;
1038 bias-disable;
1039 };
1040
1041 blsp_i2c3_default: blsp-i2c3-default-state {
1042 pins = "gpio10", "gpio11";
1043 function = "blsp_i2c3";
1044 drive-strength = <2>;
1045 bias-disable;
1046 };
1047
1048 blsp_i2c3_sleep: blsp-i2c3-sleep-state {
1049 pins = "gpio10", "gpio11";
1050 function = "gpio";
1051 drive-strength = <2>;
1052 bias-disable;
1053 };
1054
1055 blsp_i2c4_default: blsp-i2c4-default-state {
1056 pins = "gpio14", "gpio15";
1057 function = "blsp_i2c4";
1058 drive-strength = <2>;
1059 bias-disable;
1060 };
1061
1062 blsp_i2c4_sleep: blsp-i2c4-sleep-state {
1063 pins = "gpio14", "gpio15";
1064 function = "gpio";
1065 drive-strength = <2>;
1066 bias-disable;
1067 };
1068
1069 blsp_i2c5_default: blsp-i2c5-default-state {
1070 pins = "gpio18", "gpio19";
1071 function = "blsp_i2c5";
1072 drive-strength = <2>;
1073 bias-disable;
1074 };
1075
1076 blsp_i2c5_sleep: blsp-i2c5-sleep-state {
1077 pins = "gpio18", "gpio19";
1078 function = "gpio";
1079 drive-strength = <2>;
1080 bias-disable;
1081 };
1082
1083 blsp_i2c6_default: blsp-i2c6-default-state {
1084 pins = "gpio22", "gpio23";
1085 function = "blsp_i2c6";
1086 drive-strength = <2>;
1087 bias-disable;
1088 };
1089
1090 blsp_i2c6_sleep: blsp-i2c6-sleep-state {
1091 pins = "gpio22", "gpio23";
1092 function = "gpio";
1093 drive-strength = <2>;
1094 bias-disable;
1095 };
1096
1097 blsp_spi1_default: blsp-spi1-default-state {
1098 spi-pins {
1099 pins = "gpio0", "gpio1", "gpio3";
1100 function = "blsp_spi1";
1101 drive-strength = <12>;
1102 bias-disable;
1103 };
1104 cs-pins {
1105 pins = "gpio2";
1106 function = "gpio";
1107 drive-strength = <16>;
1108 bias-disable;
1109 output-high;
1110 };
1111 };
1112
1113 blsp_spi1_sleep: blsp-spi1-sleep-state {
1114 pins = "gpio0", "gpio1", "gpio2", "gpio3";
1115 function = "gpio";
1116 drive-strength = <2>;
1117 bias-pull-down;
1118 };
1119
1120 blsp_spi2_default: blsp-spi2-default-state {
1121 spi-pins {
1122 pins = "gpio4", "gpio5", "gpio7";
1123 function = "blsp_spi2";
1124 drive-strength = <12>;
1125 bias-disable;
1126 };
1127 cs-pins {
1128 pins = "gpio6";
1129 function = "gpio";
1130 drive-strength = <16>;
1131 bias-disable;
1132 output-high;
1133 };
1134 };
1135
1136 blsp_spi2_sleep: blsp-spi2-sleep-state {
1137 pins = "gpio4", "gpio5", "gpio6", "gpio7";
1138 function = "gpio";
1139 drive-strength = <2>;
1140 bias-pull-down;
1141 };
1142
1143 blsp_spi3_default: blsp-spi3-default-state {
1144 spi-pins {
1145 pins = "gpio8", "gpio9", "gpio11";
1146 function = "blsp_spi3";
1147 drive-strength = <12>;
1148 bias-disable;
1149 };
1150 cs-pins {
1151 pins = "gpio10";
1152 function = "gpio";
1153 drive-strength = <16>;
1154 bias-disable;
1155 output-high;
1156 };
1157 };
1158
1159 blsp_spi3_sleep: blsp-spi3-sleep-state {
1160 pins = "gpio8", "gpio9", "gpio10", "gpio11";
1161 function = "gpio";
1162 drive-strength = <2>;
1163 bias-pull-down;
1164 };
1165
1166 blsp_spi4_default: blsp-spi4-default-state {
1167 spi-pins {
1168 pins = "gpio12", "gpio13", "gpio15";
1169 function = "blsp_spi4";
1170 drive-strength = <12>;
1171 bias-disable;
1172 };
1173 cs-pins {
1174 pins = "gpio14";
1175 function = "gpio";
1176 drive-strength = <16>;
1177 bias-disable;
1178 output-high;
1179 };
1180 };
1181
1182 blsp_spi4_sleep: blsp-spi4-sleep-state {
1183 pins = "gpio12", "gpio13", "gpio14", "gpio15";
1184 function = "gpio";
1185 drive-strength = <2>;
1186 bias-pull-down;
1187 };
1188
1189 blsp_spi5_default: blsp-spi5-default-state {
1190 spi-pins {
1191 pins = "gpio16", "gpio17", "gpio19";
1192 function = "blsp_spi5";
1193 drive-strength = <12>;
1194 bias-disable;
1195 };
1196 cs-pins {
1197 pins = "gpio18";
1198 function = "gpio";
1199 drive-strength = <16>;
1200 bias-disable;
1201 output-high;
1202 };
1203 };
1204
1205 blsp_spi5_sleep: blsp-spi5-sleep-state {
1206 pins = "gpio16", "gpio17", "gpio18", "gpio19";
1207 function = "gpio";
1208 drive-strength = <2>;
1209 bias-pull-down;
1210 };
1211
1212 blsp_spi6_default: blsp-spi6-default-state {
1213 spi-pins {
1214 pins = "gpio20", "gpio21", "gpio23";
1215 function = "blsp_spi6";
1216 drive-strength = <12>;
1217 bias-disable;
1218 };
1219 cs-pins {
1220 pins = "gpio22";
1221 function = "gpio";
1222 drive-strength = <16>;
1223 bias-disable;
1224 output-high;
1225 };
1226 };
1227
1228 blsp_spi6_sleep: blsp-spi6-sleep-state {
1229 pins = "gpio20", "gpio21", "gpio22", "gpio23";
1230 function = "gpio";
1231 drive-strength = <2>;
1232 bias-pull-down;
1233 };
1234
1235 blsp_uart1_default: blsp-uart1-default-state {
1236 /* TX, RX, CTS_N, RTS_N */
1237 pins = "gpio0", "gpio1", "gpio2", "gpio3";
1238 function = "blsp_uart1";
1239 drive-strength = <16>;
1240 bias-disable;
1241 };
1242
1243 blsp_uart1_sleep: blsp-uart1-sleep-state {
1244 pins = "gpio0", "gpio1", "gpio2", "gpio3";
1245 function = "gpio";
1246 drive-strength = <2>;
1247 bias-pull-down;
1248 };
1249
1250 blsp_uart2_default: blsp-uart2-default-state {
1251 pins = "gpio4", "gpio5";
1252 function = "blsp_uart2";
1253 drive-strength = <16>;
1254 bias-disable;
1255 };
1256
1257 blsp_uart2_sleep: blsp-uart2-sleep-state {
1258 pins = "gpio4", "gpio5";
1259 function = "gpio";
1260 drive-strength = <2>;
1261 bias-pull-down;
1262 };
1263
1264 camera_front_default: camera-front-default-state {
1265 pwdn-pins {
1266 pins = "gpio33";
1267 function = "gpio";
1268 drive-strength = <16>;
1269 bias-disable;
1270 };
1271 rst-pins {
1272 pins = "gpio28";
1273 function = "gpio";
1274 drive-strength = <16>;
1275 bias-disable;
1276 };
1277 mclk1-pins {
1278 pins = "gpio27";
1279 function = "cam_mclk1";
1280 drive-strength = <16>;
1281 bias-disable;
1282 };
1283 };
1284
1285 camera_rear_default: camera-rear-default-state {
1286 pwdn-pins {
1287 pins = "gpio34";
1288 function = "gpio";
1289 drive-strength = <16>;
1290 bias-disable;
1291 };
1292 rst-pins {
1293 pins = "gpio35";
1294 function = "gpio";
1295 drive-strength = <16>;
1296 bias-disable;
1297 };
1298 mclk0-pins {
1299 pins = "gpio26";
1300 function = "cam_mclk0";
1301 drive-strength = <16>;
1302 bias-disable;
1303 };
1304 };
1305
1306 cci0_default: cci0-default-state {
1307 pins = "gpio29", "gpio30";
1308 function = "cci_i2c";
1309 drive-strength = <16>;
1310 bias-disable;
1311 };
1312
1313 cdc_dmic_default: cdc-dmic-default-state {
1314 clk-pins {
1315 pins = "gpio0";
1316 function = "dmic0_clk";
1317 drive-strength = <8>;
1318 };
1319 data-pins {
1320 pins = "gpio1";
1321 function = "dmic0_data";
1322 drive-strength = <8>;
1323 };
1324 };
1325
1326 cdc_dmic_sleep: cdc-dmic-sleep-state {
1327 clk-pins {
1328 pins = "gpio0";
1329 function = "dmic0_clk";
1330 drive-strength = <2>;
1331 bias-disable;
1332 };
1333 data-pins {
1334 pins = "gpio1";
1335 function = "dmic0_data";
1336 drive-strength = <2>;
1337 bias-disable;
1338 };
1339 };
1340
1341 cdc_pdm_default: cdc-pdm-default-state {
1342 pins = "gpio63", "gpio64", "gpio65", "gpio66",
1343 "gpio67", "gpio68";
1344 function = "cdc_pdm0";
1345 drive-strength = <8>;
1346 bias-disable;
1347 };
1348
1349 cdc_pdm_sleep: cdc-pdm-sleep-state {
1350 pins = "gpio63", "gpio64", "gpio65", "gpio66",
1351 "gpio67", "gpio68";
1352 function = "cdc_pdm0";
1353 drive-strength = <2>;
1354 bias-pull-down;
1355 };
1356
1357 pri_mi2s_default: mi2s-pri-default-state {
1358 pins = "gpio113", "gpio114", "gpio115", "gpio116";
1359 function = "pri_mi2s";
1360 drive-strength = <8>;
1361 bias-disable;
1362 };
1363
1364 pri_mi2s_sleep: mi2s-pri-sleep-state {
1365 pins = "gpio113", "gpio114", "gpio115", "gpio116";
1366 function = "pri_mi2s";
1367 drive-strength = <2>;
1368 bias-disable;
1369 };
1370
1371 pri_mi2s_mclk_default: mi2s-pri-mclk-default-state {
1372 pins = "gpio116";
1373 function = "pri_mi2s";
1374 drive-strength = <8>;
1375 bias-disable;
1376 };
1377
1378 pri_mi2s_mclk_sleep: mi2s-pri-mclk-sleep-state {
1379 pins = "gpio116";
1380 function = "pri_mi2s";
1381 drive-strength = <2>;
1382 bias-disable;
1383 };
1384
1385 pri_mi2s_ws_default: mi2s-pri-ws-default-state {
1386 pins = "gpio110";
1387 function = "pri_mi2s_ws";
1388 drive-strength = <8>;
1389 bias-disable;
1390 };
1391
1392 pri_mi2s_ws_sleep: mi2s-pri-ws-sleep-state {
1393 pins = "gpio110";
1394 function = "pri_mi2s_ws";
1395 drive-strength = <2>;
1396 bias-disable;
1397 };
1398
1399 sec_mi2s_default: mi2s-sec-default-state {
1400 pins = "gpio112", "gpio117", "gpio118", "gpio119";
1401 function = "sec_mi2s";
1402 drive-strength = <8>;
1403 bias-disable;
1404 };
1405
1406 sec_mi2s_sleep: mi2s-sec-sleep-state {
1407 pins = "gpio112", "gpio117", "gpio118", "gpio119";
1408 function = "sec_mi2s";
1409 drive-strength = <2>;
1410 bias-disable;
1411 };
1412
1413 sdc1_default: sdc1-default-state {
1414 clk-pins {
1415 pins = "sdc1_clk";
1416 bias-disable;
1417 drive-strength = <16>;
1418 };
1419 cmd-pins {
1420 pins = "sdc1_cmd";
1421 bias-pull-up;
1422 drive-strength = <10>;
1423 };
1424 data-pins {
1425 pins = "sdc1_data";
1426 bias-pull-up;
1427 drive-strength = <10>;
1428 };
1429 };
1430
1431 sdc1_sleep: sdc1-sleep-state {
1432 clk-pins {
1433 pins = "sdc1_clk";
1434 bias-disable;
1435 drive-strength = <2>;
1436 };
1437 cmd-pins {
1438 pins = "sdc1_cmd";
1439 bias-pull-up;
1440 drive-strength = <2>;
1441 };
1442 data-pins {
1443 pins = "sdc1_data";
1444 bias-pull-up;
1445 drive-strength = <2>;
1446 };
1447 };
1448
1449 sdc2_default: sdc2-default-state {
1450 clk-pins {
1451 pins = "sdc2_clk";
1452 bias-disable;
1453 drive-strength = <16>;
1454 };
1455 cmd-pins {
1456 pins = "sdc2_cmd";
1457 bias-pull-up;
1458 drive-strength = <10>;
1459 };
1460 data-pins {
1461 pins = "sdc2_data";
1462 bias-pull-up;
1463 drive-strength = <10>;
1464 };
1465 };
1466
1467 sdc2_sleep: sdc2-sleep-state {
1468 clk-pins {
1469 pins = "sdc2_clk";
1470 bias-disable;
1471 drive-strength = <2>;
1472 };
1473 cmd-pins {
1474 pins = "sdc2_cmd";
1475 bias-pull-up;
1476 drive-strength = <2>;
1477 };
1478 data-pins {
1479 pins = "sdc2_data";
1480 bias-pull-up;
1481 drive-strength = <2>;
1482 };
1483 };
1484
1485 wcss_wlan_default: wcss-wlan-default-state {
1486 pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
1487 function = "wcss_wlan";
1488 drive-strength = <6>;
1489 bias-pull-up;
1490 };
1491 };
1492
1493 gcc: clock-controller@1800000 {
1494 compatible = "qcom,gcc-msm8916";
1495 #clock-cells = <1>;
1496 #reset-cells = <1>;
1497 #power-domain-cells = <1>;
1498 reg = <0x01800000 0x80000>;
1499 clocks = <&xo_board>,
1500 <&sleep_clk>,
1501 <&mdss_dsi0_phy 1>,
1502 <&mdss_dsi0_phy 0>,
1503 <0>,
1504 <0>,
1505 <0>;
1506 clock-names = "xo",
1507 "sleep_clk",
1508 "dsi0pll",
1509 "dsi0pllbyte",
1510 "ext_mclk",
1511 "ext_pri_i2s",
1512 "ext_sec_i2s";
1513 };
1514
1515 tcsr_mutex: hwlock@1905000 {
1516 compatible = "qcom,tcsr-mutex";
1517 reg = <0x01905000 0x20000>;
1518 #hwlock-cells = <1>;
1519 };
1520
1521 tcsr: syscon@1937000 {
1522 compatible = "qcom,tcsr-msm8916", "syscon";
1523 reg = <0x01937000 0x30000>;
1524 };
1525
1526 mdss: display-subsystem@1a00000 {
1527 status = "disabled";
1528 compatible = "qcom,mdss";
1529 reg = <0x01a00000 0x1000>,
1530 <0x01ac8000 0x3000>;
1531 reg-names = "mdss_phys", "vbif_phys";
1532
1533 power-domains = <&gcc MDSS_GDSC>;
1534
1535 clocks = <&gcc GCC_MDSS_AHB_CLK>,
1536 <&gcc GCC_MDSS_AXI_CLK>,
1537 <&gcc GCC_MDSS_VSYNC_CLK>;
1538 clock-names = "iface",
1539 "bus",
1540 "vsync";
1541
1542 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1543
1544 interrupt-controller;
1545 #interrupt-cells = <1>;
1546
1547 #address-cells = <1>;
1548 #size-cells = <1>;
1549 ranges;
1550
1551 mdss_mdp: display-controller@1a01000 {
1552 compatible = "qcom,msm8916-mdp5", "qcom,mdp5";
1553 reg = <0x01a01000 0x89000>;
1554 reg-names = "mdp_phys";
1555
1556 interrupt-parent = <&mdss>;
1557 interrupts = <0>;
1558
1559 clocks = <&gcc GCC_MDSS_AHB_CLK>,
1560 <&gcc GCC_MDSS_AXI_CLK>,
1561 <&gcc GCC_MDSS_MDP_CLK>,
1562 <&gcc GCC_MDSS_VSYNC_CLK>;
1563 clock-names = "iface",
1564 "bus",
1565 "core",
1566 "vsync";
1567
1568 iommus = <&apps_iommu 4>;
1569
1570 ports {
1571 #address-cells = <1>;
1572 #size-cells = <0>;
1573
1574 port@0 {
1575 reg = <0>;
1576 mdss_mdp_intf1_out: endpoint {
1577 remote-endpoint = <&mdss_dsi0_in>;
1578 };
1579 };
1580 };
1581 };
1582
1583 mdss_dsi0: dsi@1a98000 {
1584 compatible = "qcom,msm8916-dsi-ctrl",
1585 "qcom,mdss-dsi-ctrl";
1586 reg = <0x01a98000 0x25c>;
1587 reg-names = "dsi_ctrl";
1588
1589 interrupt-parent = <&mdss>;
1590 interrupts = <4>;
1591
1592 assigned-clocks = <&gcc BYTE0_CLK_SRC>,
1593 <&gcc PCLK0_CLK_SRC>;
1594 assigned-clock-parents = <&mdss_dsi0_phy 0>,
1595 <&mdss_dsi0_phy 1>;
1596
1597 clocks = <&gcc GCC_MDSS_MDP_CLK>,
1598 <&gcc GCC_MDSS_AHB_CLK>,
1599 <&gcc GCC_MDSS_AXI_CLK>,
1600 <&gcc GCC_MDSS_BYTE0_CLK>,
1601 <&gcc GCC_MDSS_PCLK0_CLK>,
1602 <&gcc GCC_MDSS_ESC0_CLK>;
1603 clock-names = "mdp_core",
1604 "iface",
1605 "bus",
1606 "byte",
1607 "pixel",
1608 "core";
1609 phys = <&mdss_dsi0_phy>;
1610
1611 #address-cells = <1>;
1612 #size-cells = <0>;
1613
1614 ports {
1615 #address-cells = <1>;
1616 #size-cells = <0>;
1617
1618 port@0 {
1619 reg = <0>;
1620 mdss_dsi0_in: endpoint {
1621 remote-endpoint = <&mdss_mdp_intf1_out>;
1622 };
1623 };
1624
1625 port@1 {
1626 reg = <1>;
1627 mdss_dsi0_out: endpoint {
1628 };
1629 };
1630 };
1631 };
1632
1633 mdss_dsi0_phy: phy@1a98300 {
1634 compatible = "qcom,dsi-phy-28nm-lp";
1635 reg = <0x01a98300 0xd4>,
1636 <0x01a98500 0x280>,
1637 <0x01a98780 0x30>;
1638 reg-names = "dsi_pll",
1639 "dsi_phy",
1640 "dsi_phy_regulator";
1641
1642 #clock-cells = <1>;
1643 #phy-cells = <0>;
1644
1645 clocks = <&gcc GCC_MDSS_AHB_CLK>,
1646 <&xo_board>;
1647 clock-names = "iface", "ref";
1648 };
1649 };
1650
1651 camss: camss@1b0ac00 {
1652 compatible = "qcom,msm8916-camss";
1653 reg = <0x01b0ac00 0x200>,
1654 <0x01b00030 0x4>,
1655 <0x01b0b000 0x200>,
1656 <0x01b00038 0x4>,
1657 <0x01b08000 0x100>,
1658 <0x01b08400 0x100>,
1659 <0x01b0a000 0x500>,
1660 <0x01b00020 0x10>,
1661 <0x01b10000 0x1000>;
1662 reg-names = "csiphy0",
1663 "csiphy0_clk_mux",
1664 "csiphy1",
1665 "csiphy1_clk_mux",
1666 "csid0",
1667 "csid1",
1668 "ispif",
1669 "csi_clk_mux",
1670 "vfe0";
1671 interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
1672 <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
1673 <GIC_SPI 51 IRQ_TYPE_EDGE_RISING>,
1674 <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>,
1675 <GIC_SPI 55 IRQ_TYPE_EDGE_RISING>,
1676 <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
1677 interrupt-names = "csiphy0",
1678 "csiphy1",
1679 "csid0",
1680 "csid1",
1681 "ispif",
1682 "vfe0";
1683 power-domains = <&gcc VFE_GDSC>;
1684 clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
1685 <&gcc GCC_CAMSS_ISPIF_AHB_CLK>,
1686 <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>,
1687 <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>,
1688 <&gcc GCC_CAMSS_CSI0_AHB_CLK>,
1689 <&gcc GCC_CAMSS_CSI0_CLK>,
1690 <&gcc GCC_CAMSS_CSI0PHY_CLK>,
1691 <&gcc GCC_CAMSS_CSI0PIX_CLK>,
1692 <&gcc GCC_CAMSS_CSI0RDI_CLK>,
1693 <&gcc GCC_CAMSS_CSI1_AHB_CLK>,
1694 <&gcc GCC_CAMSS_CSI1_CLK>,
1695 <&gcc GCC_CAMSS_CSI1PHY_CLK>,
1696 <&gcc GCC_CAMSS_CSI1PIX_CLK>,
1697 <&gcc GCC_CAMSS_CSI1RDI_CLK>,
1698 <&gcc GCC_CAMSS_AHB_CLK>,
1699 <&gcc GCC_CAMSS_VFE0_CLK>,
1700 <&gcc GCC_CAMSS_CSI_VFE0_CLK>,
1701 <&gcc GCC_CAMSS_VFE_AHB_CLK>,
1702 <&gcc GCC_CAMSS_VFE_AXI_CLK>;
1703 clock-names = "top_ahb",
1704 "ispif_ahb",
1705 "csiphy0_timer",
1706 "csiphy1_timer",
1707 "csi0_ahb",
1708 "csi0",
1709 "csi0_phy",
1710 "csi0_pix",
1711 "csi0_rdi",
1712 "csi1_ahb",
1713 "csi1",
1714 "csi1_phy",
1715 "csi1_pix",
1716 "csi1_rdi",
1717 "ahb",
1718 "vfe0",
1719 "csi_vfe0",
1720 "vfe_ahb",
1721 "vfe_axi";
1722 iommus = <&apps_iommu 3>;
1723 status = "disabled";
1724 ports {
1725 #address-cells = <1>;
1726 #size-cells = <0>;
1727
1728 port@0 {
1729 reg = <0>;
1730 };
1731
1732 port@1 {
1733 reg = <1>;
1734 };
1735 };
1736 };
1737
1738 cci: cci@1b0c000 {
1739 compatible = "qcom,msm8916-cci", "qcom,msm8226-cci";
1740 #address-cells = <1>;
1741 #size-cells = <0>;
1742 reg = <0x01b0c000 0x1000>;
1743 interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
1744 clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
1745 <&gcc GCC_CAMSS_CCI_AHB_CLK>,
1746 <&gcc GCC_CAMSS_CCI_CLK>,
1747 <&gcc GCC_CAMSS_AHB_CLK>;
1748 clock-names = "camss_top_ahb", "cci_ahb",
1749 "cci", "camss_ahb";
1750 assigned-clocks = <&gcc GCC_CAMSS_CCI_AHB_CLK>,
1751 <&gcc GCC_CAMSS_CCI_CLK>;
1752 assigned-clock-rates = <80000000>, <19200000>;
1753 pinctrl-names = "default";
1754 pinctrl-0 = <&cci0_default>;
1755 status = "disabled";
1756
1757 cci_i2c0: i2c-bus@0 {
1758 reg = <0>;
1759 clock-frequency = <400000>;
1760 #address-cells = <1>;
1761 #size-cells = <0>;
1762 };
1763 };
1764
1765 gpu: gpu@1c00000 {
1766 compatible = "qcom,adreno-306.0", "qcom,adreno";
1767 reg = <0x01c00000 0x20000>;
1768 reg-names = "kgsl_3d0_reg_memory";
1769 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1770 interrupt-names = "kgsl_3d0_irq";
1771 clock-names =
1772 "core",
1773 "iface",
1774 "mem",
1775 "mem_iface",
1776 "alt_mem_iface",
1777 "gfx3d";
1778 clocks =
1779 <&gcc GCC_OXILI_GFX3D_CLK>,
1780 <&gcc GCC_OXILI_AHB_CLK>,
1781 <&gcc GCC_OXILI_GMEM_CLK>,
1782 <&gcc GCC_BIMC_GFX_CLK>,
1783 <&gcc GCC_BIMC_GPU_CLK>,
1784 <&gcc GFX3D_CLK_SRC>;
1785 power-domains = <&gcc OXILI_GDSC>;
1786 operating-points-v2 = <&gpu_opp_table>;
1787 iommus = <&gpu_iommu 1>, <&gpu_iommu 2>;
1788 status = "disabled";
1789
1790 gpu_opp_table: opp-table {
1791 compatible = "operating-points-v2";
1792
1793 opp-400000000 {
1794 opp-hz = /bits/ 64 <400000000>;
1795 };
1796 opp-19200000 {
1797 opp-hz = /bits/ 64 <19200000>;
1798 };
1799 };
1800 };
1801
1802 venus: video-codec@1d00000 {
1803 compatible = "qcom,msm8916-venus";
1804 reg = <0x01d00000 0xff000>;
1805 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
1806 power-domains = <&gcc VENUS_GDSC>;
1807 clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>,
1808 <&gcc GCC_VENUS0_AHB_CLK>,
1809 <&gcc GCC_VENUS0_AXI_CLK>;
1810 clock-names = "core", "iface", "bus";
1811 iommus = <&apps_iommu 5>;
1812 memory-region = <&venus_mem>;
1813 status = "disabled";
1814
1815 video-decoder {
1816 compatible = "venus-decoder";
1817 };
1818
1819 video-encoder {
1820 compatible = "venus-encoder";
1821 };
1822 };
1823
1824 apps_iommu: iommu@1ef0000 {
1825 #address-cells = <1>;
1826 #size-cells = <1>;
1827 #iommu-cells = <1>;
1828 compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
1829 ranges = <0 0x01e20000 0x20000>;
1830 reg = <0x01ef0000 0x3000>;
1831 clocks = <&gcc GCC_SMMU_CFG_CLK>,
1832 <&gcc GCC_APSS_TCU_CLK>;
1833 clock-names = "iface", "bus";
1834 qcom,iommu-secure-id = <17>;
1835
1836 /* VFE */
1837 iommu-ctx@3000 {
1838 compatible = "qcom,msm-iommu-v1-sec";
1839 reg = <0x3000 0x1000>;
1840 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1841 };
1842
1843 /* MDP_0 */
1844 iommu-ctx@4000 {
1845 compatible = "qcom,msm-iommu-v1-ns";
1846 reg = <0x4000 0x1000>;
1847 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1848 };
1849
1850 /* VENUS_NS */
1851 iommu-ctx@5000 {
1852 compatible = "qcom,msm-iommu-v1-sec";
1853 reg = <0x5000 0x1000>;
1854 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1855 };
1856 };
1857
1858 gpu_iommu: iommu@1f08000 {
1859 #address-cells = <1>;
1860 #size-cells = <1>;
1861 #iommu-cells = <1>;
1862 compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
1863 ranges = <0 0x01f08000 0x10000>;
1864 clocks = <&gcc GCC_SMMU_CFG_CLK>,
1865 <&gcc GCC_GFX_TCU_CLK>;
1866 clock-names = "iface", "bus";
1867 qcom,iommu-secure-id = <18>;
1868
1869 /* GFX3D_USER */
1870 iommu-ctx@1000 {
1871 compatible = "qcom,msm-iommu-v1-ns";
1872 reg = <0x1000 0x1000>;
1873 interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
1874 };
1875
1876 /* GFX3D_PRIV */
1877 iommu-ctx@2000 {
1878 compatible = "qcom,msm-iommu-v1-ns";
1879 reg = <0x2000 0x1000>;
1880 interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
1881 };
1882 };
1883
1884 spmi_bus: spmi@200f000 {
1885 compatible = "qcom,spmi-pmic-arb";
1886 reg = <0x0200f000 0x001000>,
1887 <0x02400000 0x400000>,
1888 <0x02c00000 0x400000>,
1889 <0x03800000 0x200000>,
1890 <0x0200a000 0x002100>;
1891 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1892 interrupt-names = "periph_irq";
1893 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
1894 qcom,ee = <0>;
1895 qcom,channel = <0>;
1896 #address-cells = <2>;
1897 #size-cells = <0>;
1898 interrupt-controller;
1899 #interrupt-cells = <4>;
1900 };
1901
1902 bam_dmux_dma: dma-controller@4044000 {
1903 compatible = "qcom,bam-v1.7.0";
1904 reg = <0x04044000 0x19000>;
1905 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
1906 #dma-cells = <1>;
1907 qcom,ee = <0>;
1908
1909 num-channels = <6>;
1910 qcom,num-ees = <1>;
1911 qcom,powered-remotely;
1912
1913 status = "disabled";
1914 };
1915
1916 mpss: remoteproc@4080000 {
1917 compatible = "qcom,msm8916-mss-pil";
1918 reg = <0x04080000 0x100>,
1919 <0x04020000 0x040>;
1920
1921 reg-names = "qdsp6", "rmb";
1922
1923 interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>,
1924 <&hexagon_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1925 <&hexagon_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1926 <&hexagon_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1927 <&hexagon_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1928 interrupt-names = "wdog", "fatal", "ready",
1929 "handover", "stop-ack";
1930
1931 power-domains = <&rpmpd MSM8916_VDDCX>,
1932 <&rpmpd MSM8916_VDDMX>;
1933 power-domain-names = "cx", "mx";
1934
1935 clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
1936 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
1937 <&gcc GCC_BOOT_ROM_AHB_CLK>,
1938 <&xo_board>;
1939 clock-names = "iface", "bus", "mem", "xo";
1940
1941 qcom,smem-states = <&hexagon_smp2p_out 0>;
1942 qcom,smem-state-names = "stop";
1943
1944 resets = <&scm 0>;
1945 reset-names = "mss_restart";
1946
1947 qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>;
1948
1949 status = "disabled";
1950
1951 mba {
1952 memory-region = <&mba_mem>;
1953 };
1954
1955 mpss {
1956 memory-region = <&mpss_mem>;
1957 };
1958
1959 bam_dmux: bam-dmux {
1960 compatible = "qcom,bam-dmux";
1961
1962 interrupt-parent = <&hexagon_smsm>;
1963 interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>;
1964 interrupt-names = "pc", "pc-ack";
1965
1966 qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>;
1967 qcom,smem-state-names = "pc", "pc-ack";
1968
1969 dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>;
1970 dma-names = "tx", "rx";
1971
1972 status = "disabled";
1973 };
1974
1975 smd-edge {
1976 interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>;
1977
1978 qcom,smd-edge = <0>;
1979 qcom,ipc = <&apcs 8 12>;
1980 qcom,remote-pid = <1>;
1981
1982 label = "hexagon";
1983
Tom Rini93743d22024-04-01 09:08:13 -04001984 apr: apr {
1985 compatible = "qcom,apr-v2";
1986 qcom,smd-channels = "apr_audio_svc";
1987 qcom,domain = <APR_DOMAIN_ADSP>;
1988 #address-cells = <1>;
1989 #size-cells = <0>;
1990 status = "disabled";
1991
1992 q6core: service@3 {
1993 compatible = "qcom,q6core";
1994 reg = <APR_SVC_ADSP_CORE>;
1995 };
1996
1997 q6afe: service@4 {
1998 compatible = "qcom,q6afe";
1999 reg = <APR_SVC_AFE>;
2000
2001 q6afedai: dais {
2002 compatible = "qcom,q6afe-dais";
2003 #address-cells = <1>;
2004 #size-cells = <0>;
2005 #sound-dai-cells = <1>;
2006 };
2007 };
2008
2009 q6asm: service@7 {
2010 compatible = "qcom,q6asm";
2011 reg = <APR_SVC_ASM>;
2012
2013 q6asmdai: dais {
2014 compatible = "qcom,q6asm-dais";
2015 #address-cells = <1>;
2016 #size-cells = <0>;
2017 #sound-dai-cells = <1>;
2018 };
2019 };
2020
2021 q6adm: service@8 {
2022 compatible = "qcom,q6adm";
2023 reg = <APR_SVC_ADM>;
2024
2025 q6routing: routing {
2026 compatible = "qcom,q6adm-routing";
2027 #sound-dai-cells = <0>;
2028 };
2029 };
2030 };
2031
Tom Rini53633a82024-02-29 12:33:36 -05002032 fastrpc {
2033 compatible = "qcom,fastrpc";
2034 qcom,smd-channels = "fastrpcsmd-apps-dsp";
2035 label = "adsp";
2036 qcom,non-secure-domain;
2037
2038 #address-cells = <1>;
2039 #size-cells = <0>;
2040
2041 cb@1 {
2042 compatible = "qcom,fastrpc-compute-cb";
2043 reg = <1>;
2044 };
2045 };
2046 };
2047 };
2048
2049 sound: sound@7702000 {
2050 status = "disabled";
2051 compatible = "qcom,apq8016-sbc-sndcard";
2052 reg = <0x07702000 0x4>, <0x07702004 0x4>;
2053 reg-names = "mic-iomux", "spkr-iomux";
2054 };
2055
2056 lpass: audio-controller@7708000 {
2057 status = "disabled";
2058 compatible = "qcom,apq8016-lpass-cpu";
2059
2060 /*
2061 * Note: Unlike the name would suggest, the SEC_I2S_CLK
2062 * is actually only used by Tertiary MI2S while
2063 * Primary/Secondary MI2S both use the PRI_I2S_CLK.
2064 */
2065 clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
2066 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
2067 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
2068 <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
2069 <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>,
2070 <&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>,
2071 <&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>;
2072
2073 clock-names = "ahbix-clk",
2074 "mi2s-bit-clk0",
2075 "mi2s-bit-clk1",
2076 "mi2s-bit-clk2",
2077 "mi2s-bit-clk3",
2078 "pcnoc-mport-clk",
2079 "pcnoc-sway-clk";
2080 #sound-dai-cells = <1>;
2081
2082 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
2083 interrupt-names = "lpass-irq-lpaif";
2084 reg = <0x07708000 0x10000>;
2085 reg-names = "lpass-lpaif";
2086
2087 #address-cells = <1>;
2088 #size-cells = <0>;
2089 };
2090
2091 lpass_codec: audio-codec@771c000 {
2092 compatible = "qcom,msm8916-wcd-digital-codec";
2093 reg = <0x0771c000 0x400>;
2094 clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
2095 <&gcc GCC_CODEC_DIGCODEC_CLK>;
2096 clock-names = "ahbix-clk", "mclk";
2097 #sound-dai-cells = <1>;
2098 status = "disabled";
2099 };
2100
2101 sdhc_1: mmc@7824900 {
2102 compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
2103 reg = <0x07824900 0x11c>, <0x07824000 0x800>;
2104 reg-names = "hc", "core";
2105
2106 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
2107 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
2108 interrupt-names = "hc_irq", "pwr_irq";
2109 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
2110 <&gcc GCC_SDCC1_APPS_CLK>,
2111 <&xo_board>;
2112 clock-names = "iface", "core", "xo";
2113 pinctrl-0 = <&sdc1_default>;
2114 pinctrl-1 = <&sdc1_sleep>;
2115 pinctrl-names = "default", "sleep";
2116 mmc-ddr-1_8v;
2117 bus-width = <8>;
2118 non-removable;
2119 status = "disabled";
2120 };
2121
2122 sdhc_2: mmc@7864900 {
2123 compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
2124 reg = <0x07864900 0x11c>, <0x07864000 0x800>;
2125 reg-names = "hc", "core";
2126
2127 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
2128 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
2129 interrupt-names = "hc_irq", "pwr_irq";
2130 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
2131 <&gcc GCC_SDCC2_APPS_CLK>,
2132 <&xo_board>;
2133 clock-names = "iface", "core", "xo";
2134 pinctrl-0 = <&sdc2_default>;
2135 pinctrl-1 = <&sdc2_sleep>;
2136 pinctrl-names = "default", "sleep";
2137 bus-width = <4>;
2138 status = "disabled";
2139 };
2140
2141 blsp_dma: dma-controller@7884000 {
2142 compatible = "qcom,bam-v1.7.0";
2143 reg = <0x07884000 0x23000>;
2144 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
2145 clocks = <&gcc GCC_BLSP1_AHB_CLK>;
2146 clock-names = "bam_clk";
2147 #dma-cells = <1>;
2148 qcom,ee = <0>;
Tom Rini93743d22024-04-01 09:08:13 -04002149 qcom,controlled-remotely;
Tom Rini53633a82024-02-29 12:33:36 -05002150 };
2151
2152 blsp_uart1: serial@78af000 {
2153 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2154 reg = <0x078af000 0x200>;
2155 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
2156 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
2157 clock-names = "core", "iface";
2158 dmas = <&blsp_dma 0>, <&blsp_dma 1>;
2159 dma-names = "tx", "rx";
2160 pinctrl-names = "default", "sleep";
2161 pinctrl-0 = <&blsp_uart1_default>;
2162 pinctrl-1 = <&blsp_uart1_sleep>;
2163 status = "disabled";
2164 };
2165
2166 blsp_uart2: serial@78b0000 {
2167 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2168 reg = <0x078b0000 0x200>;
2169 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
2170 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
2171 clock-names = "core", "iface";
2172 dmas = <&blsp_dma 2>, <&blsp_dma 3>;
2173 dma-names = "tx", "rx";
2174 pinctrl-names = "default", "sleep";
2175 pinctrl-0 = <&blsp_uart2_default>;
2176 pinctrl-1 = <&blsp_uart2_sleep>;
2177 status = "disabled";
2178 };
2179
2180 blsp_i2c1: i2c@78b5000 {
2181 compatible = "qcom,i2c-qup-v2.2.1";
2182 reg = <0x078b5000 0x500>;
2183 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
2184 clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
2185 <&gcc GCC_BLSP1_AHB_CLK>;
2186 clock-names = "core", "iface";
2187 dmas = <&blsp_dma 4>, <&blsp_dma 5>;
2188 dma-names = "tx", "rx";
2189 pinctrl-names = "default", "sleep";
2190 pinctrl-0 = <&blsp_i2c1_default>;
2191 pinctrl-1 = <&blsp_i2c1_sleep>;
2192 #address-cells = <1>;
2193 #size-cells = <0>;
2194 status = "disabled";
2195 };
2196
2197 blsp_spi1: spi@78b5000 {
2198 compatible = "qcom,spi-qup-v2.2.1";
2199 reg = <0x078b5000 0x500>;
2200 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
2201 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
2202 <&gcc GCC_BLSP1_AHB_CLK>;
2203 clock-names = "core", "iface";
2204 dmas = <&blsp_dma 4>, <&blsp_dma 5>;
2205 dma-names = "tx", "rx";
2206 pinctrl-names = "default", "sleep";
2207 pinctrl-0 = <&blsp_spi1_default>;
2208 pinctrl-1 = <&blsp_spi1_sleep>;
2209 #address-cells = <1>;
2210 #size-cells = <0>;
2211 status = "disabled";
2212 };
2213
2214 blsp_i2c2: i2c@78b6000 {
2215 compatible = "qcom,i2c-qup-v2.2.1";
2216 reg = <0x078b6000 0x500>;
2217 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2218 clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
2219 <&gcc GCC_BLSP1_AHB_CLK>;
2220 clock-names = "core", "iface";
2221 dmas = <&blsp_dma 6>, <&blsp_dma 7>;
2222 dma-names = "tx", "rx";
2223 pinctrl-names = "default", "sleep";
2224 pinctrl-0 = <&blsp_i2c2_default>;
2225 pinctrl-1 = <&blsp_i2c2_sleep>;
2226 #address-cells = <1>;
2227 #size-cells = <0>;
2228 status = "disabled";
2229 };
2230
2231 blsp_spi2: spi@78b6000 {
2232 compatible = "qcom,spi-qup-v2.2.1";
2233 reg = <0x078b6000 0x500>;
2234 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2235 clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
2236 <&gcc GCC_BLSP1_AHB_CLK>;
2237 clock-names = "core", "iface";
2238 dmas = <&blsp_dma 6>, <&blsp_dma 7>;
2239 dma-names = "tx", "rx";
2240 pinctrl-names = "default", "sleep";
2241 pinctrl-0 = <&blsp_spi2_default>;
2242 pinctrl-1 = <&blsp_spi2_sleep>;
2243 #address-cells = <1>;
2244 #size-cells = <0>;
2245 status = "disabled";
2246 };
2247
2248 blsp_i2c3: i2c@78b7000 {
2249 compatible = "qcom,i2c-qup-v2.2.1";
2250 reg = <0x078b7000 0x500>;
2251 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
2252 clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
2253 <&gcc GCC_BLSP1_AHB_CLK>;
2254 clock-names = "core", "iface";
2255 dmas = <&blsp_dma 8>, <&blsp_dma 9>;
2256 dma-names = "tx", "rx";
2257 pinctrl-names = "default", "sleep";
2258 pinctrl-0 = <&blsp_i2c3_default>;
2259 pinctrl-1 = <&blsp_i2c3_sleep>;
2260 #address-cells = <1>;
2261 #size-cells = <0>;
2262 status = "disabled";
2263 };
2264
2265 blsp_spi3: spi@78b7000 {
2266 compatible = "qcom,spi-qup-v2.2.1";
2267 reg = <0x078b7000 0x500>;
2268 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
2269 clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
2270 <&gcc GCC_BLSP1_AHB_CLK>;
2271 clock-names = "core", "iface";
2272 dmas = <&blsp_dma 8>, <&blsp_dma 9>;
2273 dma-names = "tx", "rx";
2274 pinctrl-names = "default", "sleep";
2275 pinctrl-0 = <&blsp_spi3_default>;
2276 pinctrl-1 = <&blsp_spi3_sleep>;
2277 #address-cells = <1>;
2278 #size-cells = <0>;
2279 status = "disabled";
2280 };
2281
2282 blsp_i2c4: i2c@78b8000 {
2283 compatible = "qcom,i2c-qup-v2.2.1";
2284 reg = <0x078b8000 0x500>;
2285 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
2286 clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
2287 <&gcc GCC_BLSP1_AHB_CLK>;
2288 clock-names = "core", "iface";
2289 dmas = <&blsp_dma 10>, <&blsp_dma 11>;
2290 dma-names = "tx", "rx";
2291 pinctrl-names = "default", "sleep";
2292 pinctrl-0 = <&blsp_i2c4_default>;
2293 pinctrl-1 = <&blsp_i2c4_sleep>;
2294 #address-cells = <1>;
2295 #size-cells = <0>;
2296 status = "disabled";
2297 };
2298
2299 blsp_spi4: spi@78b8000 {
2300 compatible = "qcom,spi-qup-v2.2.1";
2301 reg = <0x078b8000 0x500>;
2302 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
2303 clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
2304 <&gcc GCC_BLSP1_AHB_CLK>;
2305 clock-names = "core", "iface";
2306 dmas = <&blsp_dma 10>, <&blsp_dma 11>;
2307 dma-names = "tx", "rx";
2308 pinctrl-names = "default", "sleep";
2309 pinctrl-0 = <&blsp_spi4_default>;
2310 pinctrl-1 = <&blsp_spi4_sleep>;
2311 #address-cells = <1>;
2312 #size-cells = <0>;
2313 status = "disabled";
2314 };
2315
2316 blsp_i2c5: i2c@78b9000 {
2317 compatible = "qcom,i2c-qup-v2.2.1";
2318 reg = <0x078b9000 0x500>;
2319 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
2320 clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
2321 <&gcc GCC_BLSP1_AHB_CLK>;
2322 clock-names = "core", "iface";
2323 dmas = <&blsp_dma 12>, <&blsp_dma 13>;
2324 dma-names = "tx", "rx";
2325 pinctrl-names = "default", "sleep";
2326 pinctrl-0 = <&blsp_i2c5_default>;
2327 pinctrl-1 = <&blsp_i2c5_sleep>;
2328 #address-cells = <1>;
2329 #size-cells = <0>;
2330 status = "disabled";
2331 };
2332
2333 blsp_spi5: spi@78b9000 {
2334 compatible = "qcom,spi-qup-v2.2.1";
2335 reg = <0x078b9000 0x500>;
2336 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
2337 clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
2338 <&gcc GCC_BLSP1_AHB_CLK>;
2339 clock-names = "core", "iface";
2340 dmas = <&blsp_dma 12>, <&blsp_dma 13>;
2341 dma-names = "tx", "rx";
2342 pinctrl-names = "default", "sleep";
2343 pinctrl-0 = <&blsp_spi5_default>;
2344 pinctrl-1 = <&blsp_spi5_sleep>;
2345 #address-cells = <1>;
2346 #size-cells = <0>;
2347 status = "disabled";
2348 };
2349
2350 blsp_i2c6: i2c@78ba000 {
2351 compatible = "qcom,i2c-qup-v2.2.1";
2352 reg = <0x078ba000 0x500>;
2353 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
2354 clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
2355 <&gcc GCC_BLSP1_AHB_CLK>;
2356 clock-names = "core", "iface";
2357 dmas = <&blsp_dma 14>, <&blsp_dma 15>;
2358 dma-names = "tx", "rx";
2359 pinctrl-names = "default", "sleep";
2360 pinctrl-0 = <&blsp_i2c6_default>;
2361 pinctrl-1 = <&blsp_i2c6_sleep>;
2362 #address-cells = <1>;
2363 #size-cells = <0>;
2364 status = "disabled";
2365 };
2366
2367 blsp_spi6: spi@78ba000 {
2368 compatible = "qcom,spi-qup-v2.2.1";
2369 reg = <0x078ba000 0x500>;
2370 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
2371 clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>,
2372 <&gcc GCC_BLSP1_AHB_CLK>;
2373 clock-names = "core", "iface";
2374 dmas = <&blsp_dma 14>, <&blsp_dma 15>;
2375 dma-names = "tx", "rx";
2376 pinctrl-names = "default", "sleep";
2377 pinctrl-0 = <&blsp_spi6_default>;
2378 pinctrl-1 = <&blsp_spi6_sleep>;
2379 #address-cells = <1>;
2380 #size-cells = <0>;
2381 status = "disabled";
2382 };
2383
2384 usb: usb@78d9000 {
2385 compatible = "qcom,ci-hdrc";
2386 reg = <0x078d9000 0x200>,
2387 <0x078d9200 0x200>;
2388 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
2389 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
2390 clocks = <&gcc GCC_USB_HS_AHB_CLK>,
2391 <&gcc GCC_USB_HS_SYSTEM_CLK>;
2392 clock-names = "iface", "core";
2393 assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
2394 assigned-clock-rates = <80000000>;
2395 resets = <&gcc GCC_USB_HS_BCR>;
2396 reset-names = "core";
2397 phy_type = "ulpi";
2398 dr_mode = "otg";
2399 hnp-disable;
2400 srp-disable;
2401 adp-disable;
2402 ahb-burst-config = <0>;
2403 phy-names = "usb-phy";
2404 phys = <&usb_hs_phy>;
2405 status = "disabled";
2406 #reset-cells = <1>;
2407
2408 ulpi {
2409 usb_hs_phy: phy {
2410 compatible = "qcom,usb-hs-phy-msm8916",
2411 "qcom,usb-hs-phy";
2412 #phy-cells = <0>;
2413 clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
2414 clock-names = "ref", "sleep";
2415 resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>;
2416 reset-names = "phy", "por";
2417 qcom,init-seq = /bits/ 8 <0x0 0x44>,
2418 <0x1 0x6b>,
2419 <0x2 0x24>,
2420 <0x3 0x13>;
2421 };
2422 };
2423 };
2424
2425 wcnss: remoteproc@a204000 {
2426 compatible = "qcom,pronto-v2-pil", "qcom,pronto";
2427 reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;
2428 reg-names = "ccu", "dxe", "pmu";
2429
2430 memory-region = <&wcnss_mem>;
2431
2432 interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
2433 <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2434 <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2435 <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2436 <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2437 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
2438
2439 power-domains = <&rpmpd MSM8916_VDDCX>,
2440 <&rpmpd MSM8916_VDDMX>;
2441 power-domain-names = "cx", "mx";
2442
2443 qcom,smem-states = <&wcnss_smp2p_out 0>;
2444 qcom,smem-state-names = "stop";
2445
2446 pinctrl-names = "default";
2447 pinctrl-0 = <&wcss_wlan_default>;
2448
2449 status = "disabled";
2450
2451 wcnss_iris: iris {
2452 /* Separate chip, compatible is board-specific */
2453 clocks = <&rpmcc RPM_SMD_RF_CLK2>;
2454 clock-names = "xo";
2455 };
2456
2457 smd-edge {
2458 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
2459
2460 qcom,ipc = <&apcs 8 17>;
2461 qcom,smd-edge = <6>;
2462 qcom,remote-pid = <4>;
2463
2464 label = "pronto";
2465
2466 wcnss_ctrl: wcnss {
2467 compatible = "qcom,wcnss";
2468 qcom,smd-channels = "WCNSS_CTRL";
2469
2470 qcom,mmio = <&wcnss>;
2471
2472 wcnss_bt: bluetooth {
2473 compatible = "qcom,wcnss-bt";
2474 };
2475
2476 wcnss_wifi: wifi {
2477 compatible = "qcom,wcnss-wlan";
2478
2479 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
2480 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
2481 interrupt-names = "tx", "rx";
2482
2483 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
2484 qcom,smem-state-names = "tx-enable", "tx-rings-empty";
2485 };
2486 };
2487 };
2488 };
2489
2490 intc: interrupt-controller@b000000 {
2491 compatible = "qcom,msm-qgic2";
2492 interrupt-controller;
2493 #interrupt-cells = <3>;
2494 reg = <0x0b000000 0x1000>, <0x0b002000 0x2000>,
2495 <0x0b001000 0x1000>, <0x0b004000 0x2000>;
2496 interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
2497 };
2498
2499 apcs: mailbox@b011000 {
2500 compatible = "qcom,msm8916-apcs-kpss-global", "syscon";
2501 reg = <0x0b011000 0x1000>;
2502 #mbox-cells = <1>;
2503 clocks = <&a53pll>, <&gcc GPLL0_VOTE>;
2504 clock-names = "pll", "aux";
2505 #clock-cells = <0>;
2506 };
2507
2508 a53pll: clock@b016000 {
2509 compatible = "qcom,msm8916-a53pll";
2510 reg = <0x0b016000 0x40>;
2511 #clock-cells = <0>;
2512 clocks = <&xo_board>;
2513 clock-names = "xo";
2514 };
2515
2516 timer@b020000 {
2517 #address-cells = <1>;
2518 #size-cells = <1>;
2519 ranges;
2520 compatible = "arm,armv7-timer-mem";
2521 reg = <0x0b020000 0x1000>;
2522 clock-frequency = <19200000>;
2523
2524 frame@b021000 {
2525 frame-number = <0>;
2526 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2527 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
2528 reg = <0x0b021000 0x1000>,
2529 <0x0b022000 0x1000>;
2530 };
2531
2532 frame@b023000 {
2533 frame-number = <1>;
2534 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2535 reg = <0x0b023000 0x1000>;
2536 status = "disabled";
2537 };
2538
2539 frame@b024000 {
2540 frame-number = <2>;
2541 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2542 reg = <0x0b024000 0x1000>;
2543 status = "disabled";
2544 };
2545
2546 frame@b025000 {
2547 frame-number = <3>;
2548 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2549 reg = <0x0b025000 0x1000>;
2550 status = "disabled";
2551 };
2552
2553 frame@b026000 {
2554 frame-number = <4>;
2555 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2556 reg = <0x0b026000 0x1000>;
2557 status = "disabled";
2558 };
2559
2560 frame@b027000 {
2561 frame-number = <5>;
2562 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2563 reg = <0x0b027000 0x1000>;
2564 status = "disabled";
2565 };
2566
2567 frame@b028000 {
2568 frame-number = <6>;
2569 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2570 reg = <0x0b028000 0x1000>;
2571 status = "disabled";
2572 };
2573 };
2574
2575 cpu0_acc: power-manager@b088000 {
2576 compatible = "qcom,msm8916-acc";
2577 reg = <0x0b088000 0x1000>;
2578 status = "reserved"; /* Controlled by PSCI firmware */
2579 };
2580
2581 cpu0_saw: power-manager@b089000 {
2582 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2583 reg = <0x0b089000 0x1000>;
2584 status = "reserved"; /* Controlled by PSCI firmware */
2585 };
2586
2587 cpu1_acc: power-manager@b098000 {
2588 compatible = "qcom,msm8916-acc";
2589 reg = <0x0b098000 0x1000>;
2590 status = "reserved"; /* Controlled by PSCI firmware */
2591 };
2592
2593 cpu1_saw: power-manager@b099000 {
2594 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2595 reg = <0x0b099000 0x1000>;
2596 status = "reserved"; /* Controlled by PSCI firmware */
2597 };
2598
2599 cpu2_acc: power-manager@b0a8000 {
2600 compatible = "qcom,msm8916-acc";
2601 reg = <0x0b0a8000 0x1000>;
2602 status = "reserved"; /* Controlled by PSCI firmware */
2603 };
2604
2605 cpu2_saw: power-manager@b0a9000 {
2606 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2607 reg = <0x0b0a9000 0x1000>;
2608 status = "reserved"; /* Controlled by PSCI firmware */
2609 };
2610
2611 cpu3_acc: power-manager@b0b8000 {
2612 compatible = "qcom,msm8916-acc";
2613 reg = <0x0b0b8000 0x1000>;
2614 status = "reserved"; /* Controlled by PSCI firmware */
2615 };
2616
2617 cpu3_saw: power-manager@b0b9000 {
2618 compatible = "qcom,msm8916-saw2-v3.0-cpu", "qcom,saw2";
2619 reg = <0x0b0b9000 0x1000>;
2620 status = "reserved"; /* Controlled by PSCI firmware */
2621 };
2622 };
2623
2624 thermal-zones {
2625 cpu0-1-thermal {
2626 polling-delay-passive = <250>;
2627 polling-delay = <1000>;
2628
2629 thermal-sensors = <&tsens 5>;
2630
2631 trips {
2632 cpu0_1_alert0: trip-point0 {
2633 temperature = <75000>;
2634 hysteresis = <2000>;
2635 type = "passive";
2636 };
2637 cpu0_1_crit: cpu-crit {
2638 temperature = <110000>;
2639 hysteresis = <2000>;
2640 type = "critical";
2641 };
2642 };
2643
2644 cooling-maps {
2645 map0 {
2646 trip = <&cpu0_1_alert0>;
2647 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2648 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2649 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2650 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2651 };
2652 };
2653 };
2654
2655 cpu2-3-thermal {
2656 polling-delay-passive = <250>;
2657 polling-delay = <1000>;
2658
2659 thermal-sensors = <&tsens 4>;
2660
2661 trips {
2662 cpu2_3_alert0: trip-point0 {
2663 temperature = <75000>;
2664 hysteresis = <2000>;
2665 type = "passive";
2666 };
2667 cpu2_3_crit: cpu-crit {
2668 temperature = <110000>;
2669 hysteresis = <2000>;
2670 type = "critical";
2671 };
2672 };
2673
2674 cooling-maps {
2675 map0 {
2676 trip = <&cpu2_3_alert0>;
2677 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2678 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2679 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2680 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2681 };
2682 };
2683 };
2684
2685 gpu-thermal {
2686 polling-delay-passive = <250>;
2687 polling-delay = <1000>;
2688
2689 thermal-sensors = <&tsens 2>;
2690
2691 trips {
2692 gpu_alert0: trip-point0 {
2693 temperature = <75000>;
2694 hysteresis = <2000>;
2695 type = "passive";
2696 };
2697 gpu_crit: gpu-crit {
2698 temperature = <95000>;
2699 hysteresis = <2000>;
2700 type = "critical";
2701 };
2702 };
2703 };
2704
2705 camera-thermal {
2706 polling-delay-passive = <250>;
2707 polling-delay = <1000>;
2708
2709 thermal-sensors = <&tsens 1>;
2710
2711 trips {
2712 cam_alert0: trip-point0 {
2713 temperature = <75000>;
2714 hysteresis = <2000>;
2715 type = "hot";
2716 };
2717 };
2718 };
2719
2720 modem-thermal {
2721 polling-delay-passive = <250>;
2722 polling-delay = <1000>;
2723
2724 thermal-sensors = <&tsens 0>;
2725
2726 trips {
2727 modem_alert0: trip-point0 {
2728 temperature = <85000>;
2729 hysteresis = <2000>;
2730 type = "hot";
2731 };
2732 };
2733 };
2734 };
2735
2736 timer {
2737 compatible = "arm,armv8-timer";
2738 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2739 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2740 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2741 <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
2742 };
2743};