blob: b0f1d08a620bc103604a587cd26ee8f15980bb21 [file] [log] [blame]
Caleb Connolly1a7474c2023-08-15 17:36:10 +01001// SPDX-License-Identifier: GPL-2.0
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03002/*
Caleb Connolly1a7474c2023-08-15 17:36:10 +01003 * SDM845 SoC device tree source
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03004 *
Caleb Connolly1a7474c2023-08-15 17:36:10 +01005 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03006 */
7
Caleb Connolly1a7474c2023-08-15 17:36:10 +01008#include <dt-bindings/clock/qcom,camcc-sdm845.h>
9#include <dt-bindings/clock/qcom,dispcc-sdm845.h>
Sumit Gargffa79282022-07-12 12:42:06 +053010#include <dt-bindings/clock/qcom,gcc-sdm845.h>
Caleb Connolly1a7474c2023-08-15 17:36:10 +010011#include <dt-bindings/clock/qcom,gpucc-sdm845.h>
12#include <dt-bindings/clock/qcom,lpass-sdm845.h>
13#include <dt-bindings/clock/qcom,rpmh.h>
14#include <dt-bindings/clock/qcom,videocc-sdm845.h>
15#include <dt-bindings/dma/qcom-gpi.h>
16#include <dt-bindings/firmware/qcom,scm.h>
17#include <dt-bindings/gpio/gpio.h>
18#include <dt-bindings/interconnect/qcom,osm-l3.h>
19#include <dt-bindings/interconnect/qcom,sdm845.h>
20#include <dt-bindings/interrupt-controller/arm-gic.h>
21#include <dt-bindings/phy/phy-qcom-qmp.h>
22#include <dt-bindings/phy/phy-qcom-qusb2.h>
23#include <dt-bindings/power/qcom-rpmpd.h>
24#include <dt-bindings/reset/qcom,sdm845-aoss.h>
25#include <dt-bindings/reset/qcom,sdm845-pdc.h>
26#include <dt-bindings/soc/qcom,apr.h>
27#include <dt-bindings/soc/qcom,rpmh-rsc.h>
28#include <dt-bindings/clock/qcom,gcc-sdm845.h>
29#include <dt-bindings/thermal/thermal.h>
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +030030
31/ {
Caleb Connolly1a7474c2023-08-15 17:36:10 +010032 interrupt-parent = <&intc>;
33
34 #address-cells = <2>;
35 #size-cells = <2>;
36
37 aliases {
38 i2c0 = &i2c0;
39 i2c1 = &i2c1;
40 i2c2 = &i2c2;
41 i2c3 = &i2c3;
42 i2c4 = &i2c4;
43 i2c5 = &i2c5;
44 i2c6 = &i2c6;
45 i2c7 = &i2c7;
46 i2c8 = &i2c8;
47 i2c9 = &i2c9;
48 i2c10 = &i2c10;
49 i2c11 = &i2c11;
50 i2c12 = &i2c12;
51 i2c13 = &i2c13;
52 i2c14 = &i2c14;
53 i2c15 = &i2c15;
54 spi0 = &spi0;
55 spi1 = &spi1;
56 spi2 = &spi2;
57 spi3 = &spi3;
58 spi4 = &spi4;
59 spi5 = &spi5;
60 spi6 = &spi6;
61 spi7 = &spi7;
62 spi8 = &spi8;
63 spi9 = &spi9;
64 spi10 = &spi10;
65 spi11 = &spi11;
66 spi12 = &spi12;
67 spi13 = &spi13;
68 spi14 = &spi14;
69 spi15 = &spi15;
70 };
71
72 chosen { };
73
74 clocks {
75 xo_board: xo-board {
76 compatible = "fixed-clock";
77 #clock-cells = <0>;
78 clock-frequency = <38400000>;
79 clock-output-names = "xo_board";
80 };
81
82 sleep_clk: sleep-clk {
83 compatible = "fixed-clock";
84 #clock-cells = <0>;
85 clock-frequency = <32764>;
86 };
87 };
88
89 cpus: cpus {
90 #address-cells = <2>;
91 #size-cells = <0>;
92
93 CPU0: cpu@0 {
94 device_type = "cpu";
95 compatible = "qcom,kryo385";
96 reg = <0x0 0x0>;
97 clocks = <&cpufreq_hw 0>;
98 enable-method = "psci";
99 capacity-dmips-mhz = <611>;
100 dynamic-power-coefficient = <154>;
101 qcom,freq-domain = <&cpufreq_hw 0>;
102 operating-points-v2 = <&cpu0_opp_table>;
103 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
104 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
105 power-domains = <&CPU_PD0>;
106 power-domain-names = "psci";
107 #cooling-cells = <2>;
108 next-level-cache = <&L2_0>;
109 L2_0: l2-cache {
110 compatible = "cache";
111 cache-level = <2>;
112 cache-unified;
113 next-level-cache = <&L3_0>;
114 L3_0: l3-cache {
115 compatible = "cache";
116 cache-level = <3>;
117 cache-unified;
118 };
119 };
120 };
121
122 CPU1: cpu@100 {
123 device_type = "cpu";
124 compatible = "qcom,kryo385";
125 reg = <0x0 0x100>;
126 clocks = <&cpufreq_hw 0>;
127 enable-method = "psci";
128 capacity-dmips-mhz = <611>;
129 dynamic-power-coefficient = <154>;
130 qcom,freq-domain = <&cpufreq_hw 0>;
131 operating-points-v2 = <&cpu0_opp_table>;
132 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
133 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
134 power-domains = <&CPU_PD1>;
135 power-domain-names = "psci";
136 #cooling-cells = <2>;
137 next-level-cache = <&L2_100>;
138 L2_100: l2-cache {
139 compatible = "cache";
140 cache-level = <2>;
141 cache-unified;
142 next-level-cache = <&L3_0>;
143 };
144 };
145
146 CPU2: cpu@200 {
147 device_type = "cpu";
148 compatible = "qcom,kryo385";
149 reg = <0x0 0x200>;
150 clocks = <&cpufreq_hw 0>;
151 enable-method = "psci";
152 capacity-dmips-mhz = <611>;
153 dynamic-power-coefficient = <154>;
154 qcom,freq-domain = <&cpufreq_hw 0>;
155 operating-points-v2 = <&cpu0_opp_table>;
156 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
157 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
158 power-domains = <&CPU_PD2>;
159 power-domain-names = "psci";
160 #cooling-cells = <2>;
161 next-level-cache = <&L2_200>;
162 L2_200: l2-cache {
163 compatible = "cache";
164 cache-level = <2>;
165 cache-unified;
166 next-level-cache = <&L3_0>;
167 };
168 };
169
170 CPU3: cpu@300 {
171 device_type = "cpu";
172 compatible = "qcom,kryo385";
173 reg = <0x0 0x300>;
174 clocks = <&cpufreq_hw 0>;
175 enable-method = "psci";
176 capacity-dmips-mhz = <611>;
177 dynamic-power-coefficient = <154>;
178 qcom,freq-domain = <&cpufreq_hw 0>;
179 operating-points-v2 = <&cpu0_opp_table>;
180 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
181 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
182 #cooling-cells = <2>;
183 power-domains = <&CPU_PD3>;
184 power-domain-names = "psci";
185 next-level-cache = <&L2_300>;
186 L2_300: l2-cache {
187 compatible = "cache";
188 cache-level = <2>;
189 cache-unified;
190 next-level-cache = <&L3_0>;
191 };
192 };
193
194 CPU4: cpu@400 {
195 device_type = "cpu";
196 compatible = "qcom,kryo385";
197 reg = <0x0 0x400>;
198 clocks = <&cpufreq_hw 1>;
199 enable-method = "psci";
200 capacity-dmips-mhz = <1024>;
201 dynamic-power-coefficient = <442>;
202 qcom,freq-domain = <&cpufreq_hw 1>;
203 operating-points-v2 = <&cpu4_opp_table>;
204 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
205 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
206 power-domains = <&CPU_PD4>;
207 power-domain-names = "psci";
208 #cooling-cells = <2>;
209 next-level-cache = <&L2_400>;
210 L2_400: l2-cache {
211 compatible = "cache";
212 cache-level = <2>;
213 cache-unified;
214 next-level-cache = <&L3_0>;
215 };
216 };
217
218 CPU5: cpu@500 {
219 device_type = "cpu";
220 compatible = "qcom,kryo385";
221 reg = <0x0 0x500>;
222 clocks = <&cpufreq_hw 1>;
223 enable-method = "psci";
224 capacity-dmips-mhz = <1024>;
225 dynamic-power-coefficient = <442>;
226 qcom,freq-domain = <&cpufreq_hw 1>;
227 operating-points-v2 = <&cpu4_opp_table>;
228 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
229 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
230 power-domains = <&CPU_PD5>;
231 power-domain-names = "psci";
232 #cooling-cells = <2>;
233 next-level-cache = <&L2_500>;
234 L2_500: l2-cache {
235 compatible = "cache";
236 cache-level = <2>;
237 cache-unified;
238 next-level-cache = <&L3_0>;
239 };
240 };
241
242 CPU6: cpu@600 {
243 device_type = "cpu";
244 compatible = "qcom,kryo385";
245 reg = <0x0 0x600>;
246 clocks = <&cpufreq_hw 1>;
247 enable-method = "psci";
248 capacity-dmips-mhz = <1024>;
249 dynamic-power-coefficient = <442>;
250 qcom,freq-domain = <&cpufreq_hw 1>;
251 operating-points-v2 = <&cpu4_opp_table>;
252 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
253 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
254 power-domains = <&CPU_PD6>;
255 power-domain-names = "psci";
256 #cooling-cells = <2>;
257 next-level-cache = <&L2_600>;
258 L2_600: l2-cache {
259 compatible = "cache";
260 cache-level = <2>;
261 cache-unified;
262 next-level-cache = <&L3_0>;
263 };
264 };
265
266 CPU7: cpu@700 {
267 device_type = "cpu";
268 compatible = "qcom,kryo385";
269 reg = <0x0 0x700>;
270 clocks = <&cpufreq_hw 1>;
271 enable-method = "psci";
272 capacity-dmips-mhz = <1024>;
273 dynamic-power-coefficient = <442>;
274 qcom,freq-domain = <&cpufreq_hw 1>;
275 operating-points-v2 = <&cpu4_opp_table>;
276 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
277 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
278 power-domains = <&CPU_PD7>;
279 power-domain-names = "psci";
280 #cooling-cells = <2>;
281 next-level-cache = <&L2_700>;
282 L2_700: l2-cache {
283 compatible = "cache";
284 cache-level = <2>;
285 cache-unified;
286 next-level-cache = <&L3_0>;
287 };
288 };
289
290 cpu-map {
291 cluster0 {
292 core0 {
293 cpu = <&CPU0>;
294 };
295
296 core1 {
297 cpu = <&CPU1>;
298 };
299
300 core2 {
301 cpu = <&CPU2>;
302 };
303
304 core3 {
305 cpu = <&CPU3>;
306 };
307
308 core4 {
309 cpu = <&CPU4>;
310 };
311
312 core5 {
313 cpu = <&CPU5>;
314 };
315
316 core6 {
317 cpu = <&CPU6>;
318 };
319
320 core7 {
321 cpu = <&CPU7>;
322 };
323 };
324 };
325
326 cpu_idle_states: idle-states {
327 entry-method = "psci";
328
329 LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
330 compatible = "arm,idle-state";
331 idle-state-name = "little-rail-power-collapse";
332 arm,psci-suspend-param = <0x40000004>;
333 entry-latency-us = <350>;
334 exit-latency-us = <461>;
335 min-residency-us = <1890>;
336 local-timer-stop;
337 };
338
339 BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
340 compatible = "arm,idle-state";
341 idle-state-name = "big-rail-power-collapse";
342 arm,psci-suspend-param = <0x40000004>;
343 entry-latency-us = <264>;
344 exit-latency-us = <621>;
345 min-residency-us = <952>;
346 local-timer-stop;
347 };
348 };
349
350 domain-idle-states {
351 CLUSTER_SLEEP_0: cluster-sleep-0 {
352 compatible = "domain-idle-state";
353 arm,psci-suspend-param = <0x4100c244>;
354 entry-latency-us = <3263>;
355 exit-latency-us = <6562>;
356 min-residency-us = <9987>;
357 };
358 };
359 };
360
361 firmware {
362 scm {
363 compatible = "qcom,scm-sdm845", "qcom,scm";
364 };
365 };
366
367 memory@80000000 {
368 device_type = "memory";
369 /* We expect the bootloader to fill in the size */
370 reg = <0 0x80000000 0 0>;
371 };
372
373 cpu0_opp_table: opp-table-cpu0 {
374 compatible = "operating-points-v2";
375 opp-shared;
376
377 cpu0_opp1: opp-300000000 {
378 opp-hz = /bits/ 64 <300000000>;
379 opp-peak-kBps = <800000 4800000>;
380 };
381
382 cpu0_opp2: opp-403200000 {
383 opp-hz = /bits/ 64 <403200000>;
384 opp-peak-kBps = <800000 4800000>;
385 };
386
387 cpu0_opp3: opp-480000000 {
388 opp-hz = /bits/ 64 <480000000>;
389 opp-peak-kBps = <800000 6451200>;
390 };
391
392 cpu0_opp4: opp-576000000 {
393 opp-hz = /bits/ 64 <576000000>;
394 opp-peak-kBps = <800000 6451200>;
395 };
396
397 cpu0_opp5: opp-652800000 {
398 opp-hz = /bits/ 64 <652800000>;
399 opp-peak-kBps = <800000 7680000>;
400 };
401
402 cpu0_opp6: opp-748800000 {
403 opp-hz = /bits/ 64 <748800000>;
404 opp-peak-kBps = <1804000 9216000>;
405 };
406
407 cpu0_opp7: opp-825600000 {
408 opp-hz = /bits/ 64 <825600000>;
409 opp-peak-kBps = <1804000 9216000>;
410 };
411
412 cpu0_opp8: opp-902400000 {
413 opp-hz = /bits/ 64 <902400000>;
414 opp-peak-kBps = <1804000 10444800>;
415 };
416
417 cpu0_opp9: opp-979200000 {
418 opp-hz = /bits/ 64 <979200000>;
419 opp-peak-kBps = <1804000 11980800>;
420 };
421
422 cpu0_opp10: opp-1056000000 {
423 opp-hz = /bits/ 64 <1056000000>;
424 opp-peak-kBps = <1804000 11980800>;
425 };
426
427 cpu0_opp11: opp-1132800000 {
428 opp-hz = /bits/ 64 <1132800000>;
429 opp-peak-kBps = <2188000 13516800>;
430 };
431
432 cpu0_opp12: opp-1228800000 {
433 opp-hz = /bits/ 64 <1228800000>;
434 opp-peak-kBps = <2188000 15052800>;
435 };
436
437 cpu0_opp13: opp-1324800000 {
438 opp-hz = /bits/ 64 <1324800000>;
439 opp-peak-kBps = <2188000 16588800>;
440 };
441
442 cpu0_opp14: opp-1420800000 {
443 opp-hz = /bits/ 64 <1420800000>;
444 opp-peak-kBps = <3072000 18124800>;
445 };
446
447 cpu0_opp15: opp-1516800000 {
448 opp-hz = /bits/ 64 <1516800000>;
449 opp-peak-kBps = <3072000 19353600>;
450 };
451
452 cpu0_opp16: opp-1612800000 {
453 opp-hz = /bits/ 64 <1612800000>;
454 opp-peak-kBps = <4068000 19353600>;
455 };
456
457 cpu0_opp17: opp-1689600000 {
458 opp-hz = /bits/ 64 <1689600000>;
459 opp-peak-kBps = <4068000 20889600>;
460 };
461
462 cpu0_opp18: opp-1766400000 {
463 opp-hz = /bits/ 64 <1766400000>;
464 opp-peak-kBps = <4068000 22425600>;
465 };
466 };
467
468 cpu4_opp_table: opp-table-cpu4 {
469 compatible = "operating-points-v2";
470 opp-shared;
471
472 cpu4_opp1: opp-300000000 {
473 opp-hz = /bits/ 64 <300000000>;
474 opp-peak-kBps = <800000 4800000>;
475 };
476
477 cpu4_opp2: opp-403200000 {
478 opp-hz = /bits/ 64 <403200000>;
479 opp-peak-kBps = <800000 4800000>;
480 };
481
482 cpu4_opp3: opp-480000000 {
483 opp-hz = /bits/ 64 <480000000>;
484 opp-peak-kBps = <1804000 4800000>;
485 };
486
487 cpu4_opp4: opp-576000000 {
488 opp-hz = /bits/ 64 <576000000>;
489 opp-peak-kBps = <1804000 4800000>;
490 };
491
492 cpu4_opp5: opp-652800000 {
493 opp-hz = /bits/ 64 <652800000>;
494 opp-peak-kBps = <1804000 4800000>;
495 };
496
497 cpu4_opp6: opp-748800000 {
498 opp-hz = /bits/ 64 <748800000>;
499 opp-peak-kBps = <1804000 4800000>;
500 };
501
502 cpu4_opp7: opp-825600000 {
503 opp-hz = /bits/ 64 <825600000>;
504 opp-peak-kBps = <2188000 9216000>;
505 };
506
507 cpu4_opp8: opp-902400000 {
508 opp-hz = /bits/ 64 <902400000>;
509 opp-peak-kBps = <2188000 9216000>;
510 };
511
512 cpu4_opp9: opp-979200000 {
513 opp-hz = /bits/ 64 <979200000>;
514 opp-peak-kBps = <2188000 9216000>;
515 };
516
517 cpu4_opp10: opp-1056000000 {
518 opp-hz = /bits/ 64 <1056000000>;
519 opp-peak-kBps = <3072000 9216000>;
520 };
521
522 cpu4_opp11: opp-1132800000 {
523 opp-hz = /bits/ 64 <1132800000>;
524 opp-peak-kBps = <3072000 11980800>;
525 };
526
527 cpu4_opp12: opp-1209600000 {
528 opp-hz = /bits/ 64 <1209600000>;
529 opp-peak-kBps = <4068000 11980800>;
530 };
531
532 cpu4_opp13: opp-1286400000 {
533 opp-hz = /bits/ 64 <1286400000>;
534 opp-peak-kBps = <4068000 11980800>;
535 };
536
537 cpu4_opp14: opp-1363200000 {
538 opp-hz = /bits/ 64 <1363200000>;
539 opp-peak-kBps = <4068000 15052800>;
540 };
541
542 cpu4_opp15: opp-1459200000 {
543 opp-hz = /bits/ 64 <1459200000>;
544 opp-peak-kBps = <4068000 15052800>;
545 };
546
547 cpu4_opp16: opp-1536000000 {
548 opp-hz = /bits/ 64 <1536000000>;
549 opp-peak-kBps = <5412000 15052800>;
550 };
551
552 cpu4_opp17: opp-1612800000 {
553 opp-hz = /bits/ 64 <1612800000>;
554 opp-peak-kBps = <5412000 15052800>;
555 };
556
557 cpu4_opp18: opp-1689600000 {
558 opp-hz = /bits/ 64 <1689600000>;
559 opp-peak-kBps = <5412000 19353600>;
560 };
561
562 cpu4_opp19: opp-1766400000 {
563 opp-hz = /bits/ 64 <1766400000>;
564 opp-peak-kBps = <6220000 19353600>;
565 };
566
567 cpu4_opp20: opp-1843200000 {
568 opp-hz = /bits/ 64 <1843200000>;
569 opp-peak-kBps = <6220000 19353600>;
570 };
571
572 cpu4_opp21: opp-1920000000 {
573 opp-hz = /bits/ 64 <1920000000>;
574 opp-peak-kBps = <7216000 19353600>;
575 };
576
577 cpu4_opp22: opp-1996800000 {
578 opp-hz = /bits/ 64 <1996800000>;
579 opp-peak-kBps = <7216000 20889600>;
580 };
581
582 cpu4_opp23: opp-2092800000 {
583 opp-hz = /bits/ 64 <2092800000>;
584 opp-peak-kBps = <7216000 20889600>;
585 };
586
587 cpu4_opp24: opp-2169600000 {
588 opp-hz = /bits/ 64 <2169600000>;
589 opp-peak-kBps = <7216000 20889600>;
590 };
591
592 cpu4_opp25: opp-2246400000 {
593 opp-hz = /bits/ 64 <2246400000>;
594 opp-peak-kBps = <7216000 20889600>;
595 };
596
597 cpu4_opp26: opp-2323200000 {
598 opp-hz = /bits/ 64 <2323200000>;
599 opp-peak-kBps = <7216000 20889600>;
600 };
601
602 cpu4_opp27: opp-2400000000 {
603 opp-hz = /bits/ 64 <2400000000>;
604 opp-peak-kBps = <7216000 22425600>;
605 };
606
607 cpu4_opp28: opp-2476800000 {
608 opp-hz = /bits/ 64 <2476800000>;
609 opp-peak-kBps = <7216000 22425600>;
610 };
611
612 cpu4_opp29: opp-2553600000 {
613 opp-hz = /bits/ 64 <2553600000>;
614 opp-peak-kBps = <7216000 22425600>;
615 };
616
617 cpu4_opp30: opp-2649600000 {
618 opp-hz = /bits/ 64 <2649600000>;
619 opp-peak-kBps = <7216000 22425600>;
620 };
621
622 cpu4_opp31: opp-2745600000 {
623 opp-hz = /bits/ 64 <2745600000>;
624 opp-peak-kBps = <7216000 25497600>;
625 };
626
627 cpu4_opp32: opp-2803200000 {
628 opp-hz = /bits/ 64 <2803200000>;
629 opp-peak-kBps = <7216000 25497600>;
630 };
631 };
632
633 dsi_opp_table: opp-table-dsi {
634 compatible = "operating-points-v2";
635
636 opp-19200000 {
637 opp-hz = /bits/ 64 <19200000>;
638 required-opps = <&rpmhpd_opp_min_svs>;
639 };
640
641 opp-180000000 {
642 opp-hz = /bits/ 64 <180000000>;
643 required-opps = <&rpmhpd_opp_low_svs>;
644 };
645
646 opp-275000000 {
647 opp-hz = /bits/ 64 <275000000>;
648 required-opps = <&rpmhpd_opp_svs>;
649 };
650
651 opp-328580000 {
652 opp-hz = /bits/ 64 <328580000>;
653 required-opps = <&rpmhpd_opp_svs_l1>;
654 };
655
656 opp-358000000 {
657 opp-hz = /bits/ 64 <358000000>;
658 required-opps = <&rpmhpd_opp_nom>;
659 };
660 };
661
662 qspi_opp_table: opp-table-qspi {
663 compatible = "operating-points-v2";
664
665 opp-19200000 {
666 opp-hz = /bits/ 64 <19200000>;
667 required-opps = <&rpmhpd_opp_min_svs>;
668 };
669
670 opp-100000000 {
671 opp-hz = /bits/ 64 <100000000>;
672 required-opps = <&rpmhpd_opp_low_svs>;
673 };
674
675 opp-150000000 {
676 opp-hz = /bits/ 64 <150000000>;
677 required-opps = <&rpmhpd_opp_svs>;
678 };
679
680 opp-300000000 {
681 opp-hz = /bits/ 64 <300000000>;
682 required-opps = <&rpmhpd_opp_nom>;
683 };
684 };
685
686 qup_opp_table: opp-table-qup {
687 compatible = "operating-points-v2";
688
689 opp-50000000 {
690 opp-hz = /bits/ 64 <50000000>;
691 required-opps = <&rpmhpd_opp_min_svs>;
692 };
693
694 opp-75000000 {
695 opp-hz = /bits/ 64 <75000000>;
696 required-opps = <&rpmhpd_opp_low_svs>;
697 };
698
699 opp-100000000 {
700 opp-hz = /bits/ 64 <100000000>;
701 required-opps = <&rpmhpd_opp_svs>;
702 };
703
704 opp-128000000 {
705 opp-hz = /bits/ 64 <128000000>;
706 required-opps = <&rpmhpd_opp_nom>;
707 };
708 };
709
710 pmu {
711 compatible = "arm,armv8-pmuv3";
712 interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>;
713 };
714
715 psci: psci {
716 compatible = "arm,psci-1.0";
717 method = "smc";
718
719 CPU_PD0: power-domain-cpu0 {
720 #power-domain-cells = <0>;
721 power-domains = <&CLUSTER_PD>;
722 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
723 };
724
725 CPU_PD1: power-domain-cpu1 {
726 #power-domain-cells = <0>;
727 power-domains = <&CLUSTER_PD>;
728 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
729 };
730
731 CPU_PD2: power-domain-cpu2 {
732 #power-domain-cells = <0>;
733 power-domains = <&CLUSTER_PD>;
734 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
735 };
736
737 CPU_PD3: power-domain-cpu3 {
738 #power-domain-cells = <0>;
739 power-domains = <&CLUSTER_PD>;
740 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
741 };
742
743 CPU_PD4: power-domain-cpu4 {
744 #power-domain-cells = <0>;
745 power-domains = <&CLUSTER_PD>;
746 domain-idle-states = <&BIG_CPU_SLEEP_0>;
747 };
748
749 CPU_PD5: power-domain-cpu5 {
750 #power-domain-cells = <0>;
751 power-domains = <&CLUSTER_PD>;
752 domain-idle-states = <&BIG_CPU_SLEEP_0>;
753 };
754
755 CPU_PD6: power-domain-cpu6 {
756 #power-domain-cells = <0>;
757 power-domains = <&CLUSTER_PD>;
758 domain-idle-states = <&BIG_CPU_SLEEP_0>;
759 };
760
761 CPU_PD7: power-domain-cpu7 {
762 #power-domain-cells = <0>;
763 power-domains = <&CLUSTER_PD>;
764 domain-idle-states = <&BIG_CPU_SLEEP_0>;
765 };
766
767 CLUSTER_PD: power-domain-cluster {
768 #power-domain-cells = <0>;
769 domain-idle-states = <&CLUSTER_SLEEP_0>;
770 };
771 };
772
773 reserved-memory {
774 #address-cells = <2>;
775 #size-cells = <2>;
776 ranges;
777
778 hyp_mem: hyp-mem@85700000 {
779 reg = <0 0x85700000 0 0x600000>;
780 no-map;
781 };
782
783 xbl_mem: xbl-mem@85e00000 {
784 reg = <0 0x85e00000 0 0x100000>;
785 no-map;
786 };
787
788 aop_mem: aop-mem@85fc0000 {
789 reg = <0 0x85fc0000 0 0x20000>;
790 no-map;
791 };
792
793 aop_cmd_db_mem: aop-cmd-db-mem@85fe0000 {
794 compatible = "qcom,cmd-db";
795 reg = <0x0 0x85fe0000 0 0x20000>;
796 no-map;
797 };
798
799 smem@86000000 {
800 compatible = "qcom,smem";
801 reg = <0x0 0x86000000 0 0x200000>;
802 no-map;
803 hwlocks = <&tcsr_mutex 3>;
804 };
805
806 tz_mem: tz@86200000 {
807 reg = <0 0x86200000 0 0x2d00000>;
808 no-map;
809 };
810
811 rmtfs_mem: rmtfs@88f00000 {
812 compatible = "qcom,rmtfs-mem";
813 reg = <0 0x88f00000 0 0x200000>;
814 no-map;
815
816 qcom,client-id = <1>;
817 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
818 };
819
820 qseecom_mem: qseecom@8ab00000 {
821 reg = <0 0x8ab00000 0 0x1400000>;
822 no-map;
823 };
824
825 camera_mem: camera-mem@8bf00000 {
826 reg = <0 0x8bf00000 0 0x500000>;
827 no-map;
828 };
829
830 ipa_fw_mem: ipa-fw@8c400000 {
831 reg = <0 0x8c400000 0 0x10000>;
832 no-map;
833 };
834
835 ipa_gsi_mem: ipa-gsi@8c410000 {
836 reg = <0 0x8c410000 0 0x5000>;
837 no-map;
838 };
839
840 gpu_mem: gpu@8c415000 {
841 reg = <0 0x8c415000 0 0x2000>;
842 no-map;
843 };
844
845 adsp_mem: adsp@8c500000 {
846 reg = <0 0x8c500000 0 0x1a00000>;
847 no-map;
848 };
849
850 wlan_msa_mem: wlan-msa@8df00000 {
851 reg = <0 0x8df00000 0 0x100000>;
852 no-map;
853 };
854
855 mpss_region: mpss@8e000000 {
856 reg = <0 0x8e000000 0 0x7800000>;
857 no-map;
858 };
859
860 venus_mem: venus@95800000 {
861 reg = <0 0x95800000 0 0x500000>;
862 no-map;
863 };
864
865 cdsp_mem: cdsp@95d00000 {
866 reg = <0 0x95d00000 0 0x800000>;
867 no-map;
868 };
869
870 mba_region: mba@96500000 {
871 reg = <0 0x96500000 0 0x200000>;
872 no-map;
873 };
874
875 slpi_mem: slpi@96700000 {
876 reg = <0 0x96700000 0 0x1400000>;
877 no-map;
878 };
879
880 spss_mem: spss@97b00000 {
881 reg = <0 0x97b00000 0 0x100000>;
882 no-map;
883 };
884
885 mdata_mem: mpss-metadata {
886 alloc-ranges = <0 0xa0000000 0 0x20000000>;
887 size = <0 0x4000>;
888 no-map;
889 };
890
891 cont_splash_mem: framebuffer@9d400000 {
892 reg = <0 0x9d400000 0 0x2400000>;
893 no-map;
894 };
895
896 fastrpc_mem: fastrpc {
897 compatible = "shared-dma-pool";
898 alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
899 alignment = <0x0 0x400000>;
900 size = <0x0 0x1000000>;
901 reusable;
902 };
903 };
904
905 adsp_pas: remoteproc-adsp {
906 compatible = "qcom,sdm845-adsp-pas";
907
908 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
909 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
910 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
911 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
912 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
913 interrupt-names = "wdog", "fatal", "ready",
914 "handover", "stop-ack";
915
916 clocks = <&rpmhcc RPMH_CXO_CLK>;
917 clock-names = "xo";
918
919 memory-region = <&adsp_mem>;
920
921 qcom,qmp = <&aoss_qmp>;
922
923 qcom,smem-states = <&adsp_smp2p_out 0>;
924 qcom,smem-state-names = "stop";
925
926 status = "disabled";
927
928 glink-edge {
929 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
930 label = "lpass";
931 qcom,remote-pid = <2>;
932 mboxes = <&apss_shared 8>;
933
934 apr {
935 compatible = "qcom,apr-v2";
936 qcom,glink-channels = "apr_audio_svc";
937 qcom,domain = <APR_DOMAIN_ADSP>;
938 #address-cells = <1>;
939 #size-cells = <0>;
940 qcom,intents = <512 20>;
941
942 service@3 {
943 reg = <APR_SVC_ADSP_CORE>;
944 compatible = "qcom,q6core";
945 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
946 };
947
948 q6afe: service@4 {
949 compatible = "qcom,q6afe";
950 reg = <APR_SVC_AFE>;
951 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
952 q6afedai: dais {
953 compatible = "qcom,q6afe-dais";
954 #address-cells = <1>;
955 #size-cells = <0>;
956 #sound-dai-cells = <1>;
957 };
958 };
959
960 q6asm: service@7 {
961 compatible = "qcom,q6asm";
962 reg = <APR_SVC_ASM>;
963 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
964 q6asmdai: dais {
965 compatible = "qcom,q6asm-dais";
966 #address-cells = <1>;
967 #size-cells = <0>;
968 #sound-dai-cells = <1>;
969 iommus = <&apps_smmu 0x1821 0x0>;
970 };
971 };
972
973 q6adm: service@8 {
974 compatible = "qcom,q6adm";
975 reg = <APR_SVC_ADM>;
976 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
977 q6routing: routing {
978 compatible = "qcom,q6adm-routing";
979 #sound-dai-cells = <0>;
980 };
981 };
982
983 q6mvm: apr-service@9 {
984 compatible = "qcom,q6mvm";
985 reg = <APR_SVC_ADSP_MVM>;
986 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
987 status = "disabled";
988
989 q6voicedai: dais {
990 compatible = "qcom,q6voice-dais";
991 #sound-dai-cells = <1>;
992 };
993 };
994
995 q6cvs: apr-service@a {
996 compatible = "qcom,q6cvs";
997 reg = <APR_SVC_ADSP_CVS>;
998 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
999 status = "disabled";
1000 };
1001
1002 q6cvp: apr-service@b {
1003 compatible = "qcom,q6cvp";
1004 reg = <APR_SVC_ADSP_CVP>;
1005 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
1006 status = "disabled";
1007 };
1008 };
1009
1010 fastrpc {
1011 compatible = "qcom,fastrpc";
1012 qcom,glink-channels = "fastrpcglink-apps-dsp";
1013 label = "adsp";
1014 qcom,non-secure-domain;
1015 #address-cells = <1>;
1016 #size-cells = <0>;
1017
1018 compute-cb@3 {
1019 compatible = "qcom,fastrpc-compute-cb";
1020 reg = <3>;
1021 iommus = <&apps_smmu 0x1823 0x0>;
1022 };
1023
1024 compute-cb@4 {
1025 compatible = "qcom,fastrpc-compute-cb";
1026 reg = <4>;
1027 iommus = <&apps_smmu 0x1824 0x0>;
1028 };
1029 };
1030 };
1031 };
1032
1033 cdsp_pas: remoteproc-cdsp {
1034 compatible = "qcom,sdm845-cdsp-pas";
1035
1036 interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>,
1037 <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1038 <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1039 <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1040 <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1041 interrupt-names = "wdog", "fatal", "ready",
1042 "handover", "stop-ack";
1043
1044 clocks = <&rpmhcc RPMH_CXO_CLK>;
1045 clock-names = "xo";
1046
1047 memory-region = <&cdsp_mem>;
1048
1049 qcom,qmp = <&aoss_qmp>;
1050
1051 qcom,smem-states = <&cdsp_smp2p_out 0>;
1052 qcom,smem-state-names = "stop";
1053
1054 status = "disabled";
1055
1056 glink-edge {
1057 interrupts = <GIC_SPI 574 IRQ_TYPE_EDGE_RISING>;
1058 label = "turing";
1059 qcom,remote-pid = <5>;
1060 mboxes = <&apss_shared 4>;
1061 fastrpc {
1062 compatible = "qcom,fastrpc";
1063 qcom,glink-channels = "fastrpcglink-apps-dsp";
1064 label = "cdsp";
1065 qcom,non-secure-domain;
1066 #address-cells = <1>;
1067 #size-cells = <0>;
1068
1069 compute-cb@1 {
1070 compatible = "qcom,fastrpc-compute-cb";
1071 reg = <1>;
1072 iommus = <&apps_smmu 0x1401 0x30>;
1073 };
1074
1075 compute-cb@2 {
1076 compatible = "qcom,fastrpc-compute-cb";
1077 reg = <2>;
1078 iommus = <&apps_smmu 0x1402 0x30>;
1079 };
1080
1081 compute-cb@3 {
1082 compatible = "qcom,fastrpc-compute-cb";
1083 reg = <3>;
1084 iommus = <&apps_smmu 0x1403 0x30>;
1085 };
1086
1087 compute-cb@4 {
1088 compatible = "qcom,fastrpc-compute-cb";
1089 reg = <4>;
1090 iommus = <&apps_smmu 0x1404 0x30>;
1091 };
1092
1093 compute-cb@5 {
1094 compatible = "qcom,fastrpc-compute-cb";
1095 reg = <5>;
1096 iommus = <&apps_smmu 0x1405 0x30>;
1097 };
1098
1099 compute-cb@6 {
1100 compatible = "qcom,fastrpc-compute-cb";
1101 reg = <6>;
1102 iommus = <&apps_smmu 0x1406 0x30>;
1103 };
1104
1105 compute-cb@7 {
1106 compatible = "qcom,fastrpc-compute-cb";
1107 reg = <7>;
1108 iommus = <&apps_smmu 0x1407 0x30>;
1109 };
1110
1111 compute-cb@8 {
1112 compatible = "qcom,fastrpc-compute-cb";
1113 reg = <8>;
1114 iommus = <&apps_smmu 0x1408 0x30>;
1115 };
1116 };
1117 };
1118 };
1119
1120 smp2p-cdsp {
1121 compatible = "qcom,smp2p";
1122 qcom,smem = <94>, <432>;
1123
1124 interrupts = <GIC_SPI 576 IRQ_TYPE_EDGE_RISING>;
1125
1126 mboxes = <&apss_shared 6>;
1127
1128 qcom,local-pid = <0>;
1129 qcom,remote-pid = <5>;
1130
1131 cdsp_smp2p_out: master-kernel {
1132 qcom,entry-name = "master-kernel";
1133 #qcom,smem-state-cells = <1>;
1134 };
1135
1136 cdsp_smp2p_in: slave-kernel {
1137 qcom,entry-name = "slave-kernel";
1138
1139 interrupt-controller;
1140 #interrupt-cells = <2>;
1141 };
1142 };
1143
1144 smp2p-lpass {
1145 compatible = "qcom,smp2p";
1146 qcom,smem = <443>, <429>;
1147
1148 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
1149
1150 mboxes = <&apss_shared 10>;
1151
1152 qcom,local-pid = <0>;
1153 qcom,remote-pid = <2>;
1154
1155 adsp_smp2p_out: master-kernel {
1156 qcom,entry-name = "master-kernel";
1157 #qcom,smem-state-cells = <1>;
1158 };
1159
1160 adsp_smp2p_in: slave-kernel {
1161 qcom,entry-name = "slave-kernel";
1162
1163 interrupt-controller;
1164 #interrupt-cells = <2>;
1165 };
1166 };
1167
1168 smp2p-mpss {
1169 compatible = "qcom,smp2p";
1170 qcom,smem = <435>, <428>;
1171 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
1172 mboxes = <&apss_shared 14>;
1173 qcom,local-pid = <0>;
1174 qcom,remote-pid = <1>;
1175
1176 modem_smp2p_out: master-kernel {
1177 qcom,entry-name = "master-kernel";
1178 #qcom,smem-state-cells = <1>;
1179 };
1180
1181 modem_smp2p_in: slave-kernel {
1182 qcom,entry-name = "slave-kernel";
1183 interrupt-controller;
1184 #interrupt-cells = <2>;
1185 };
1186
1187 ipa_smp2p_out: ipa-ap-to-modem {
1188 qcom,entry-name = "ipa";
1189 #qcom,smem-state-cells = <1>;
1190 };
1191
1192 ipa_smp2p_in: ipa-modem-to-ap {
1193 qcom,entry-name = "ipa";
1194 interrupt-controller;
1195 #interrupt-cells = <2>;
1196 };
1197 };
1198
1199 smp2p-slpi {
1200 compatible = "qcom,smp2p";
1201 qcom,smem = <481>, <430>;
1202 interrupts = <GIC_SPI 172 IRQ_TYPE_EDGE_RISING>;
1203 mboxes = <&apss_shared 26>;
1204 qcom,local-pid = <0>;
1205 qcom,remote-pid = <3>;
1206
1207 slpi_smp2p_out: master-kernel {
1208 qcom,entry-name = "master-kernel";
1209 #qcom,smem-state-cells = <1>;
1210 };
1211
1212 slpi_smp2p_in: slave-kernel {
1213 qcom,entry-name = "slave-kernel";
1214 interrupt-controller;
1215 #interrupt-cells = <2>;
1216 };
1217 };
1218
1219 soc: soc@0 {
1220 #address-cells = <2>;
1221 #size-cells = <2>;
1222 ranges = <0 0 0 0 0x10 0>;
1223 dma-ranges = <0 0 0 0 0x10 0>;
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03001224 compatible = "simple-bus";
1225
1226 gcc: clock-controller@100000 {
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03001227 compatible = "qcom,gcc-sdm845";
Caleb Connolly1a7474c2023-08-15 17:36:10 +01001228 reg = <0 0x00100000 0 0x1f0000>;
1229 clocks = <&rpmhcc RPMH_CXO_CLK>,
1230 <&rpmhcc RPMH_CXO_CLK_A>,
1231 <&sleep_clk>,
1232 <&pcie0_phy>,
1233 <&pcie1_phy>;
1234 clock-names = "bi_tcxo",
1235 "bi_tcxo_ao",
1236 "sleep_clk",
1237 "pcie_0_pipe_clk",
1238 "pcie_1_pipe_clk";
1239 #clock-cells = <1>;
1240 #reset-cells = <1>;
1241 #power-domain-cells = <1>;
1242 power-domains = <&rpmhpd SDM845_CX>;
1243 };
1244
1245 qfprom@784000 {
1246 compatible = "qcom,sdm845-qfprom", "qcom,qfprom";
1247 reg = <0 0x00784000 0 0x8ff>;
1248 #address-cells = <1>;
1249 #size-cells = <1>;
1250
1251 qusb2p_hstx_trim: hstx-trim-primary@1eb {
1252 reg = <0x1eb 0x1>;
1253 bits = <1 4>;
1254 };
1255
1256 qusb2s_hstx_trim: hstx-trim-secondary@1eb {
1257 reg = <0x1eb 0x2>;
1258 bits = <6 4>;
1259 };
1260 };
1261
1262 rng: rng@793000 {
1263 compatible = "qcom,prng-ee";
1264 reg = <0 0x00793000 0 0x1000>;
1265 clocks = <&gcc GCC_PRNG_AHB_CLK>;
1266 clock-names = "core";
1267 };
1268
1269 gpi_dma0: dma-controller@800000 {
1270 #dma-cells = <3>;
1271 compatible = "qcom,sdm845-gpi-dma";
1272 reg = <0 0x00800000 0 0x60000>;
1273 interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
1274 <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
1275 <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
1276 <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
1277 <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
1278 <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
1279 <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
1280 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
1281 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
1282 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
1283 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
1284 <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
1285 <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
1286 dma-channels = <13>;
1287 dma-channel-mask = <0xfa>;
1288 iommus = <&apps_smmu 0x0016 0x0>;
1289 status = "disabled";
1290 };
1291
1292 qupv3_id_0: geniqup@8c0000 {
1293 compatible = "qcom,geni-se-qup";
1294 reg = <0 0x008c0000 0 0x6000>;
1295 clock-names = "m-ahb", "s-ahb";
1296 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
1297 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
1298 iommus = <&apps_smmu 0x3 0x0>;
1299 #address-cells = <2>;
1300 #size-cells = <2>;
1301 ranges;
1302 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>;
1303 interconnect-names = "qup-core";
1304 status = "disabled";
1305
1306 i2c0: i2c@880000 {
1307 compatible = "qcom,geni-i2c";
1308 reg = <0 0x00880000 0 0x4000>;
1309 clock-names = "se";
1310 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1311 pinctrl-names = "default";
1312 pinctrl-0 = <&qup_i2c0_default>;
1313 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
1314 #address-cells = <1>;
1315 #size-cells = <0>;
1316 power-domains = <&rpmhpd SDM845_CX>;
1317 operating-points-v2 = <&qup_opp_table>;
1318 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1319 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>,
1320 <&aggre1_noc MASTER_QUP_1 0 &mem_noc SLAVE_EBI1 0>;
1321 interconnect-names = "qup-core", "qup-config", "qup-memory";
1322 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
1323 <&gpi_dma0 1 0 QCOM_GPI_I2C>;
1324 dma-names = "tx", "rx";
1325 status = "disabled";
1326 };
1327
1328 spi0: spi@880000 {
1329 compatible = "qcom,geni-spi";
1330 reg = <0 0x00880000 0 0x4000>;
1331 clock-names = "se";
1332 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1333 pinctrl-names = "default";
1334 pinctrl-0 = <&qup_spi0_default>;
1335 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
1336 #address-cells = <1>;
1337 #size-cells = <0>;
1338 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1339 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1340 interconnect-names = "qup-core", "qup-config";
1341 dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
1342 <&gpi_dma0 1 0 QCOM_GPI_SPI>;
1343 dma-names = "tx", "rx";
1344 status = "disabled";
1345 };
1346
1347 uart0: serial@880000 {
1348 compatible = "qcom,geni-uart";
1349 reg = <0 0x00880000 0 0x4000>;
1350 clock-names = "se";
1351 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1352 pinctrl-names = "default";
1353 pinctrl-0 = <&qup_uart0_default>;
1354 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
1355 power-domains = <&rpmhpd SDM845_CX>;
1356 operating-points-v2 = <&qup_opp_table>;
1357 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1358 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1359 interconnect-names = "qup-core", "qup-config";
1360 status = "disabled";
1361 };
1362
1363 i2c1: i2c@884000 {
1364 compatible = "qcom,geni-i2c";
1365 reg = <0 0x00884000 0 0x4000>;
1366 clock-names = "se";
1367 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1368 pinctrl-names = "default";
1369 pinctrl-0 = <&qup_i2c1_default>;
1370 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
1371 #address-cells = <1>;
1372 #size-cells = <0>;
1373 power-domains = <&rpmhpd SDM845_CX>;
1374 operating-points-v2 = <&qup_opp_table>;
1375 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1376 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>,
1377 <&aggre1_noc MASTER_QUP_1 0 &mem_noc SLAVE_EBI1 0>;
1378 interconnect-names = "qup-core", "qup-config", "qup-memory";
1379 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
1380 <&gpi_dma0 1 1 QCOM_GPI_I2C>;
1381 dma-names = "tx", "rx";
1382 status = "disabled";
1383 };
1384
1385 spi1: spi@884000 {
1386 compatible = "qcom,geni-spi";
1387 reg = <0 0x00884000 0 0x4000>;
1388 clock-names = "se";
1389 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1390 pinctrl-names = "default";
1391 pinctrl-0 = <&qup_spi1_default>;
1392 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
1393 #address-cells = <1>;
1394 #size-cells = <0>;
1395 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1396 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1397 interconnect-names = "qup-core", "qup-config";
1398 dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
1399 <&gpi_dma0 1 1 QCOM_GPI_SPI>;
1400 dma-names = "tx", "rx";
1401 status = "disabled";
1402 };
1403
1404 uart1: serial@884000 {
1405 compatible = "qcom,geni-uart";
1406 reg = <0 0x00884000 0 0x4000>;
1407 clock-names = "se";
1408 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1409 pinctrl-names = "default";
1410 pinctrl-0 = <&qup_uart1_default>;
1411 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
1412 power-domains = <&rpmhpd SDM845_CX>;
1413 operating-points-v2 = <&qup_opp_table>;
1414 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1415 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1416 interconnect-names = "qup-core", "qup-config";
1417 status = "disabled";
1418 };
1419
1420 i2c2: i2c@888000 {
1421 compatible = "qcom,geni-i2c";
1422 reg = <0 0x00888000 0 0x4000>;
1423 clock-names = "se";
1424 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1425 pinctrl-names = "default";
1426 pinctrl-0 = <&qup_i2c2_default>;
1427 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
1428 #address-cells = <1>;
1429 #size-cells = <0>;
1430 power-domains = <&rpmhpd SDM845_CX>;
1431 operating-points-v2 = <&qup_opp_table>;
1432 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1433 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>,
1434 <&aggre1_noc MASTER_QUP_1 0 &mem_noc SLAVE_EBI1 0>;
1435 interconnect-names = "qup-core", "qup-config", "qup-memory";
1436 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
1437 <&gpi_dma0 1 2 QCOM_GPI_I2C>;
1438 dma-names = "tx", "rx";
1439 status = "disabled";
1440 };
1441
1442 spi2: spi@888000 {
1443 compatible = "qcom,geni-spi";
1444 reg = <0 0x00888000 0 0x4000>;
1445 clock-names = "se";
1446 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1447 pinctrl-names = "default";
1448 pinctrl-0 = <&qup_spi2_default>;
1449 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
1450 #address-cells = <1>;
1451 #size-cells = <0>;
1452 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1453 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1454 interconnect-names = "qup-core", "qup-config";
1455 dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
1456 <&gpi_dma0 1 2 QCOM_GPI_SPI>;
1457 dma-names = "tx", "rx";
1458 status = "disabled";
1459 };
1460
1461 uart2: serial@888000 {
1462 compatible = "qcom,geni-uart";
1463 reg = <0 0x00888000 0 0x4000>;
1464 clock-names = "se";
1465 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1466 pinctrl-names = "default";
1467 pinctrl-0 = <&qup_uart2_default>;
1468 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
1469 power-domains = <&rpmhpd SDM845_CX>;
1470 operating-points-v2 = <&qup_opp_table>;
1471 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1472 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1473 interconnect-names = "qup-core", "qup-config";
1474 status = "disabled";
1475 };
1476
1477 i2c3: i2c@88c000 {
1478 compatible = "qcom,geni-i2c";
1479 reg = <0 0x0088c000 0 0x4000>;
1480 clock-names = "se";
1481 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1482 pinctrl-names = "default";
1483 pinctrl-0 = <&qup_i2c3_default>;
1484 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
1485 #address-cells = <1>;
1486 #size-cells = <0>;
1487 power-domains = <&rpmhpd SDM845_CX>;
1488 operating-points-v2 = <&qup_opp_table>;
1489 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1490 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>,
1491 <&aggre1_noc MASTER_QUP_1 0 &mem_noc SLAVE_EBI1 0>;
1492 interconnect-names = "qup-core", "qup-config", "qup-memory";
1493 dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
1494 <&gpi_dma0 1 3 QCOM_GPI_I2C>;
1495 dma-names = "tx", "rx";
1496 status = "disabled";
1497 };
1498
1499 spi3: spi@88c000 {
1500 compatible = "qcom,geni-spi";
1501 reg = <0 0x0088c000 0 0x4000>;
1502 clock-names = "se";
1503 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1504 pinctrl-names = "default";
1505 pinctrl-0 = <&qup_spi3_default>;
1506 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
1507 #address-cells = <1>;
1508 #size-cells = <0>;
1509 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1510 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1511 interconnect-names = "qup-core", "qup-config";
1512 dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
1513 <&gpi_dma0 1 3 QCOM_GPI_SPI>;
1514 dma-names = "tx", "rx";
1515 status = "disabled";
1516 };
1517
1518 uart3: serial@88c000 {
1519 compatible = "qcom,geni-uart";
1520 reg = <0 0x0088c000 0 0x4000>;
1521 clock-names = "se";
1522 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1523 pinctrl-names = "default";
1524 pinctrl-0 = <&qup_uart3_default>;
1525 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
1526 power-domains = <&rpmhpd SDM845_CX>;
1527 operating-points-v2 = <&qup_opp_table>;
1528 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1529 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1530 interconnect-names = "qup-core", "qup-config";
1531 status = "disabled";
1532 };
1533
1534 i2c4: i2c@890000 {
1535 compatible = "qcom,geni-i2c";
1536 reg = <0 0x00890000 0 0x4000>;
1537 clock-names = "se";
1538 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1539 pinctrl-names = "default";
1540 pinctrl-0 = <&qup_i2c4_default>;
1541 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1542 #address-cells = <1>;
1543 #size-cells = <0>;
1544 power-domains = <&rpmhpd SDM845_CX>;
1545 operating-points-v2 = <&qup_opp_table>;
1546 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1547 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>,
1548 <&aggre1_noc MASTER_QUP_1 0 &mem_noc SLAVE_EBI1 0>;
1549 interconnect-names = "qup-core", "qup-config", "qup-memory";
1550 dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
1551 <&gpi_dma0 1 4 QCOM_GPI_I2C>;
1552 dma-names = "tx", "rx";
1553 status = "disabled";
1554 };
1555
1556 spi4: spi@890000 {
1557 compatible = "qcom,geni-spi";
1558 reg = <0 0x00890000 0 0x4000>;
1559 clock-names = "se";
1560 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1561 pinctrl-names = "default";
1562 pinctrl-0 = <&qup_spi4_default>;
1563 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1564 #address-cells = <1>;
1565 #size-cells = <0>;
1566 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1567 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1568 interconnect-names = "qup-core", "qup-config";
1569 dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
1570 <&gpi_dma0 1 4 QCOM_GPI_SPI>;
1571 dma-names = "tx", "rx";
1572 status = "disabled";
1573 };
1574
1575 uart4: serial@890000 {
1576 compatible = "qcom,geni-uart";
1577 reg = <0 0x00890000 0 0x4000>;
1578 clock-names = "se";
1579 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1580 pinctrl-names = "default";
1581 pinctrl-0 = <&qup_uart4_default>;
1582 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1583 power-domains = <&rpmhpd SDM845_CX>;
1584 operating-points-v2 = <&qup_opp_table>;
1585 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1586 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1587 interconnect-names = "qup-core", "qup-config";
1588 status = "disabled";
1589 };
1590
1591 i2c5: i2c@894000 {
1592 compatible = "qcom,geni-i2c";
1593 reg = <0 0x00894000 0 0x4000>;
1594 clock-names = "se";
1595 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1596 pinctrl-names = "default";
1597 pinctrl-0 = <&qup_i2c5_default>;
1598 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1599 #address-cells = <1>;
1600 #size-cells = <0>;
1601 power-domains = <&rpmhpd SDM845_CX>;
1602 operating-points-v2 = <&qup_opp_table>;
1603 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1604 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>,
1605 <&aggre1_noc MASTER_QUP_1 0 &mem_noc SLAVE_EBI1 0>;
1606 interconnect-names = "qup-core", "qup-config", "qup-memory";
1607 dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
1608 <&gpi_dma0 1 5 QCOM_GPI_I2C>;
1609 dma-names = "tx", "rx";
1610 status = "disabled";
1611 };
1612
1613 spi5: spi@894000 {
1614 compatible = "qcom,geni-spi";
1615 reg = <0 0x00894000 0 0x4000>;
1616 clock-names = "se";
1617 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1618 pinctrl-names = "default";
1619 pinctrl-0 = <&qup_spi5_default>;
1620 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1621 #address-cells = <1>;
1622 #size-cells = <0>;
1623 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1624 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1625 interconnect-names = "qup-core", "qup-config";
1626 dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
1627 <&gpi_dma0 1 5 QCOM_GPI_SPI>;
1628 dma-names = "tx", "rx";
1629 status = "disabled";
1630 };
1631
1632 uart5: serial@894000 {
1633 compatible = "qcom,geni-uart";
1634 reg = <0 0x00894000 0 0x4000>;
1635 clock-names = "se";
1636 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1637 pinctrl-names = "default";
1638 pinctrl-0 = <&qup_uart5_default>;
1639 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1640 power-domains = <&rpmhpd SDM845_CX>;
1641 operating-points-v2 = <&qup_opp_table>;
1642 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1643 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1644 interconnect-names = "qup-core", "qup-config";
1645 status = "disabled";
1646 };
1647
1648 i2c6: i2c@898000 {
1649 compatible = "qcom,geni-i2c";
1650 reg = <0 0x00898000 0 0x4000>;
1651 clock-names = "se";
1652 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1653 pinctrl-names = "default";
1654 pinctrl-0 = <&qup_i2c6_default>;
1655 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1656 #address-cells = <1>;
1657 #size-cells = <0>;
1658 power-domains = <&rpmhpd SDM845_CX>;
1659 operating-points-v2 = <&qup_opp_table>;
1660 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1661 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>,
1662 <&aggre1_noc MASTER_QUP_1 0 &mem_noc SLAVE_EBI1 0>;
1663 interconnect-names = "qup-core", "qup-config", "qup-memory";
1664 dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
1665 <&gpi_dma0 1 6 QCOM_GPI_I2C>;
1666 dma-names = "tx", "rx";
1667 status = "disabled";
1668 };
1669
1670 spi6: spi@898000 {
1671 compatible = "qcom,geni-spi";
1672 reg = <0 0x00898000 0 0x4000>;
1673 clock-names = "se";
1674 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1675 pinctrl-names = "default";
1676 pinctrl-0 = <&qup_spi6_default>;
1677 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1678 #address-cells = <1>;
1679 #size-cells = <0>;
1680 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1681 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1682 interconnect-names = "qup-core", "qup-config";
1683 dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>,
1684 <&gpi_dma0 1 6 QCOM_GPI_SPI>;
1685 dma-names = "tx", "rx";
1686 status = "disabled";
1687 };
1688
1689 uart6: serial@898000 {
1690 compatible = "qcom,geni-uart";
1691 reg = <0 0x00898000 0 0x4000>;
1692 clock-names = "se";
1693 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1694 pinctrl-names = "default";
1695 pinctrl-0 = <&qup_uart6_default>;
1696 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1697 power-domains = <&rpmhpd SDM845_CX>;
1698 operating-points-v2 = <&qup_opp_table>;
1699 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1700 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1701 interconnect-names = "qup-core", "qup-config";
1702 status = "disabled";
1703 };
1704
1705 i2c7: i2c@89c000 {
1706 compatible = "qcom,geni-i2c";
1707 reg = <0 0x0089c000 0 0x4000>;
1708 clock-names = "se";
1709 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1710 pinctrl-names = "default";
1711 pinctrl-0 = <&qup_i2c7_default>;
1712 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
1713 #address-cells = <1>;
1714 #size-cells = <0>;
1715 power-domains = <&rpmhpd SDM845_CX>;
1716 operating-points-v2 = <&qup_opp_table>;
1717 status = "disabled";
1718 };
1719
1720 spi7: spi@89c000 {
1721 compatible = "qcom,geni-spi";
1722 reg = <0 0x0089c000 0 0x4000>;
1723 clock-names = "se";
1724 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1725 pinctrl-names = "default";
1726 pinctrl-0 = <&qup_spi7_default>;
1727 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
1728 #address-cells = <1>;
1729 #size-cells = <0>;
1730 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1731 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1732 interconnect-names = "qup-core", "qup-config";
1733 dmas = <&gpi_dma0 0 7 QCOM_GPI_SPI>,
1734 <&gpi_dma0 1 7 QCOM_GPI_SPI>;
1735 dma-names = "tx", "rx";
1736 status = "disabled";
1737 };
1738
1739 uart7: serial@89c000 {
1740 compatible = "qcom,geni-uart";
1741 reg = <0 0x0089c000 0 0x4000>;
1742 clock-names = "se";
1743 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1744 pinctrl-names = "default";
1745 pinctrl-0 = <&qup_uart7_default>;
1746 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
1747 power-domains = <&rpmhpd SDM845_CX>;
1748 operating-points-v2 = <&qup_opp_table>;
1749 interconnects = <&aggre1_noc MASTER_QUP_1 0 &config_noc SLAVE_BLSP_1 0>,
1750 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_1 0>;
1751 interconnect-names = "qup-core", "qup-config";
1752 status = "disabled";
1753 };
1754 };
1755
1756 gpi_dma1: dma-controller@a00000 {
1757 #dma-cells = <3>;
1758 compatible = "qcom,sdm845-gpi-dma";
1759 reg = <0 0x00a00000 0 0x60000>;
1760 interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
1761 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
1762 <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
1763 <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
1764 <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
1765 <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
1766 <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
1767 <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
1768 <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
1769 <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
1770 <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
1771 <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
1772 <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
1773 dma-channels = <13>;
1774 dma-channel-mask = <0xfa>;
1775 iommus = <&apps_smmu 0x06d6 0x0>;
1776 status = "disabled";
1777 };
1778
1779 qupv3_id_1: geniqup@ac0000 {
1780 compatible = "qcom,geni-se-qup";
1781 reg = <0 0x00ac0000 0 0x6000>;
1782 clock-names = "m-ahb", "s-ahb";
1783 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
1784 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
1785 iommus = <&apps_smmu 0x6c3 0x0>;
1786 #address-cells = <2>;
1787 #size-cells = <2>;
1788 ranges;
1789 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>;
1790 interconnect-names = "qup-core";
1791 status = "disabled";
1792
1793 i2c8: i2c@a80000 {
1794 compatible = "qcom,geni-i2c";
1795 reg = <0 0x00a80000 0 0x4000>;
1796 clock-names = "se";
1797 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1798 pinctrl-names = "default";
1799 pinctrl-0 = <&qup_i2c8_default>;
1800 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1801 #address-cells = <1>;
1802 #size-cells = <0>;
1803 power-domains = <&rpmhpd SDM845_CX>;
1804 operating-points-v2 = <&qup_opp_table>;
1805 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
1806 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>,
1807 <&aggre2_noc MASTER_QUP_2 0 &mem_noc SLAVE_EBI1 0>;
1808 interconnect-names = "qup-core", "qup-config", "qup-memory";
1809 dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1810 <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1811 dma-names = "tx", "rx";
1812 status = "disabled";
1813 };
1814
1815 spi8: spi@a80000 {
1816 compatible = "qcom,geni-spi";
1817 reg = <0 0x00a80000 0 0x4000>;
1818 clock-names = "se";
1819 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1820 pinctrl-names = "default";
1821 pinctrl-0 = <&qup_spi8_default>;
1822 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1823 #address-cells = <1>;
1824 #size-cells = <0>;
1825 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
1826 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
1827 interconnect-names = "qup-core", "qup-config";
1828 dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
1829 <&gpi_dma1 1 0 QCOM_GPI_SPI>;
1830 dma-names = "tx", "rx";
1831 status = "disabled";
1832 };
1833
1834 uart8: serial@a80000 {
1835 compatible = "qcom,geni-uart";
1836 reg = <0 0x00a80000 0 0x4000>;
1837 clock-names = "se";
1838 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1839 pinctrl-names = "default";
1840 pinctrl-0 = <&qup_uart8_default>;
1841 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1842 power-domains = <&rpmhpd SDM845_CX>;
1843 operating-points-v2 = <&qup_opp_table>;
1844 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
1845 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
1846 interconnect-names = "qup-core", "qup-config";
1847 status = "disabled";
1848 };
1849
1850 i2c9: i2c@a84000 {
1851 compatible = "qcom,geni-i2c";
1852 reg = <0 0x00a84000 0 0x4000>;
1853 clock-names = "se";
1854 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1855 pinctrl-names = "default";
1856 pinctrl-0 = <&qup_i2c9_default>;
1857 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1858 #address-cells = <1>;
1859 #size-cells = <0>;
1860 power-domains = <&rpmhpd SDM845_CX>;
1861 operating-points-v2 = <&qup_opp_table>;
1862 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
1863 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>,
1864 <&aggre2_noc MASTER_QUP_2 0 &mem_noc SLAVE_EBI1 0>;
1865 interconnect-names = "qup-core", "qup-config", "qup-memory";
1866 dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1867 <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1868 dma-names = "tx", "rx";
1869 status = "disabled";
1870 };
1871
1872 spi9: spi@a84000 {
1873 compatible = "qcom,geni-spi";
1874 reg = <0 0x00a84000 0 0x4000>;
1875 clock-names = "se";
1876 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1877 pinctrl-names = "default";
1878 pinctrl-0 = <&qup_spi9_default>;
1879 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1880 #address-cells = <1>;
1881 #size-cells = <0>;
1882 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
1883 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
1884 interconnect-names = "qup-core", "qup-config";
1885 dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
1886 <&gpi_dma1 1 1 QCOM_GPI_SPI>;
1887 dma-names = "tx", "rx";
1888 status = "disabled";
1889 };
1890
1891 uart9: serial@a84000 {
1892 compatible = "qcom,geni-debug-uart";
1893 reg = <0 0x00a84000 0 0x4000>;
1894 clock-names = "se";
1895 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1896 pinctrl-names = "default";
1897 pinctrl-0 = <&qup_uart9_default>;
1898 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1899 power-domains = <&rpmhpd SDM845_CX>;
1900 operating-points-v2 = <&qup_opp_table>;
1901 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
1902 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
1903 interconnect-names = "qup-core", "qup-config";
1904 status = "disabled";
1905 };
1906
1907 i2c10: i2c@a88000 {
1908 compatible = "qcom,geni-i2c";
1909 reg = <0 0x00a88000 0 0x4000>;
1910 clock-names = "se";
1911 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1912 pinctrl-names = "default";
1913 pinctrl-0 = <&qup_i2c10_default>;
1914 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1915 #address-cells = <1>;
1916 #size-cells = <0>;
1917 power-domains = <&rpmhpd SDM845_CX>;
1918 operating-points-v2 = <&qup_opp_table>;
1919 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
1920 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>,
1921 <&aggre2_noc MASTER_QUP_2 0 &mem_noc SLAVE_EBI1 0>;
1922 interconnect-names = "qup-core", "qup-config", "qup-memory";
1923 dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1924 <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1925 dma-names = "tx", "rx";
1926 status = "disabled";
1927 };
1928
1929 spi10: spi@a88000 {
1930 compatible = "qcom,geni-spi";
1931 reg = <0 0x00a88000 0 0x4000>;
1932 clock-names = "se";
1933 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1934 pinctrl-names = "default";
1935 pinctrl-0 = <&qup_spi10_default>;
1936 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1937 #address-cells = <1>;
1938 #size-cells = <0>;
1939 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
1940 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
1941 interconnect-names = "qup-core", "qup-config";
1942 dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
1943 <&gpi_dma1 1 2 QCOM_GPI_SPI>;
1944 dma-names = "tx", "rx";
1945 status = "disabled";
1946 };
1947
1948 uart10: serial@a88000 {
1949 compatible = "qcom,geni-uart";
1950 reg = <0 0x00a88000 0 0x4000>;
1951 clock-names = "se";
1952 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1953 pinctrl-names = "default";
1954 pinctrl-0 = <&qup_uart10_default>;
1955 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1956 power-domains = <&rpmhpd SDM845_CX>;
1957 operating-points-v2 = <&qup_opp_table>;
1958 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
1959 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
1960 interconnect-names = "qup-core", "qup-config";
1961 status = "disabled";
1962 };
1963
1964 i2c11: i2c@a8c000 {
1965 compatible = "qcom,geni-i2c";
1966 reg = <0 0x00a8c000 0 0x4000>;
1967 clock-names = "se";
1968 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1969 pinctrl-names = "default";
1970 pinctrl-0 = <&qup_i2c11_default>;
1971 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1972 #address-cells = <1>;
1973 #size-cells = <0>;
1974 power-domains = <&rpmhpd SDM845_CX>;
1975 operating-points-v2 = <&qup_opp_table>;
1976 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
1977 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>,
1978 <&aggre2_noc MASTER_QUP_2 0 &mem_noc SLAVE_EBI1 0>;
1979 interconnect-names = "qup-core", "qup-config", "qup-memory";
1980 dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1981 <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1982 dma-names = "tx", "rx";
1983 status = "disabled";
1984 };
1985
1986 spi11: spi@a8c000 {
1987 compatible = "qcom,geni-spi";
1988 reg = <0 0x00a8c000 0 0x4000>;
1989 clock-names = "se";
1990 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1991 pinctrl-names = "default";
1992 pinctrl-0 = <&qup_spi11_default>;
1993 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1994 #address-cells = <1>;
1995 #size-cells = <0>;
1996 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
1997 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
1998 interconnect-names = "qup-core", "qup-config";
1999 dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
2000 <&gpi_dma1 1 3 QCOM_GPI_SPI>;
2001 dma-names = "tx", "rx";
2002 status = "disabled";
2003 };
2004
2005 uart11: serial@a8c000 {
2006 compatible = "qcom,geni-uart";
2007 reg = <0 0x00a8c000 0 0x4000>;
2008 clock-names = "se";
2009 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
2010 pinctrl-names = "default";
2011 pinctrl-0 = <&qup_uart11_default>;
2012 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
2013 power-domains = <&rpmhpd SDM845_CX>;
2014 operating-points-v2 = <&qup_opp_table>;
2015 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2016 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
2017 interconnect-names = "qup-core", "qup-config";
2018 status = "disabled";
2019 };
2020
2021 i2c12: i2c@a90000 {
2022 compatible = "qcom,geni-i2c";
2023 reg = <0 0x00a90000 0 0x4000>;
2024 clock-names = "se";
2025 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
2026 pinctrl-names = "default";
2027 pinctrl-0 = <&qup_i2c12_default>;
2028 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
2029 #address-cells = <1>;
2030 #size-cells = <0>;
2031 power-domains = <&rpmhpd SDM845_CX>;
2032 operating-points-v2 = <&qup_opp_table>;
2033 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2034 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>,
2035 <&aggre2_noc MASTER_QUP_2 0 &mem_noc SLAVE_EBI1 0>;
2036 interconnect-names = "qup-core", "qup-config", "qup-memory";
2037 dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
2038 <&gpi_dma1 1 4 QCOM_GPI_I2C>;
2039 dma-names = "tx", "rx";
2040 status = "disabled";
2041 };
2042
2043 spi12: spi@a90000 {
2044 compatible = "qcom,geni-spi";
2045 reg = <0 0x00a90000 0 0x4000>;
2046 clock-names = "se";
2047 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
2048 pinctrl-names = "default";
2049 pinctrl-0 = <&qup_spi12_default>;
2050 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
2051 #address-cells = <1>;
2052 #size-cells = <0>;
2053 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2054 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
2055 interconnect-names = "qup-core", "qup-config";
2056 dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
2057 <&gpi_dma1 1 4 QCOM_GPI_SPI>;
2058 dma-names = "tx", "rx";
2059 status = "disabled";
2060 };
2061
2062 uart12: serial@a90000 {
2063 compatible = "qcom,geni-uart";
2064 reg = <0 0x00a90000 0 0x4000>;
2065 clock-names = "se";
2066 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
2067 pinctrl-names = "default";
2068 pinctrl-0 = <&qup_uart12_default>;
2069 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
2070 power-domains = <&rpmhpd SDM845_CX>;
2071 operating-points-v2 = <&qup_opp_table>;
2072 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2073 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
2074 interconnect-names = "qup-core", "qup-config";
2075 status = "disabled";
2076 };
2077
2078 i2c13: i2c@a94000 {
2079 compatible = "qcom,geni-i2c";
2080 reg = <0 0x00a94000 0 0x4000>;
2081 clock-names = "se";
2082 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
2083 pinctrl-names = "default";
2084 pinctrl-0 = <&qup_i2c13_default>;
2085 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
2086 #address-cells = <1>;
2087 #size-cells = <0>;
2088 power-domains = <&rpmhpd SDM845_CX>;
2089 operating-points-v2 = <&qup_opp_table>;
2090 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2091 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>,
2092 <&aggre2_noc MASTER_QUP_2 0 &mem_noc SLAVE_EBI1 0>;
2093 interconnect-names = "qup-core", "qup-config", "qup-memory";
2094 dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
2095 <&gpi_dma1 1 5 QCOM_GPI_I2C>;
2096 dma-names = "tx", "rx";
2097 status = "disabled";
2098 };
2099
2100 spi13: spi@a94000 {
2101 compatible = "qcom,geni-spi";
2102 reg = <0 0x00a94000 0 0x4000>;
2103 clock-names = "se";
2104 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
2105 pinctrl-names = "default";
2106 pinctrl-0 = <&qup_spi13_default>;
2107 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
2108 #address-cells = <1>;
2109 #size-cells = <0>;
2110 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2111 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
2112 interconnect-names = "qup-core", "qup-config";
2113 dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>,
2114 <&gpi_dma1 1 5 QCOM_GPI_SPI>;
2115 dma-names = "tx", "rx";
2116 status = "disabled";
2117 };
2118
2119 uart13: serial@a94000 {
2120 compatible = "qcom,geni-uart";
2121 reg = <0 0x00a94000 0 0x4000>;
2122 clock-names = "se";
2123 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
2124 pinctrl-names = "default";
2125 pinctrl-0 = <&qup_uart13_default>;
2126 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
2127 power-domains = <&rpmhpd SDM845_CX>;
2128 operating-points-v2 = <&qup_opp_table>;
2129 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2130 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
2131 interconnect-names = "qup-core", "qup-config";
2132 status = "disabled";
2133 };
2134
2135 i2c14: i2c@a98000 {
2136 compatible = "qcom,geni-i2c";
2137 reg = <0 0x00a98000 0 0x4000>;
2138 clock-names = "se";
2139 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
2140 pinctrl-names = "default";
2141 pinctrl-0 = <&qup_i2c14_default>;
2142 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
2143 #address-cells = <1>;
2144 #size-cells = <0>;
2145 power-domains = <&rpmhpd SDM845_CX>;
2146 operating-points-v2 = <&qup_opp_table>;
2147 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2148 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>,
2149 <&aggre2_noc MASTER_QUP_2 0 &mem_noc SLAVE_EBI1 0>;
2150 interconnect-names = "qup-core", "qup-config", "qup-memory";
2151 dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>,
2152 <&gpi_dma1 1 6 QCOM_GPI_I2C>;
2153 dma-names = "tx", "rx";
2154 status = "disabled";
2155 };
2156
2157 spi14: spi@a98000 {
2158 compatible = "qcom,geni-spi";
2159 reg = <0 0x00a98000 0 0x4000>;
2160 clock-names = "se";
2161 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
2162 pinctrl-names = "default";
2163 pinctrl-0 = <&qup_spi14_default>;
2164 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
2165 #address-cells = <1>;
2166 #size-cells = <0>;
2167 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2168 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
2169 interconnect-names = "qup-core", "qup-config";
2170 dmas = <&gpi_dma1 0 6 QCOM_GPI_SPI>,
2171 <&gpi_dma1 1 6 QCOM_GPI_SPI>;
2172 dma-names = "tx", "rx";
2173 status = "disabled";
2174 };
2175
2176 uart14: serial@a98000 {
2177 compatible = "qcom,geni-uart";
2178 reg = <0 0x00a98000 0 0x4000>;
2179 clock-names = "se";
2180 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
2181 pinctrl-names = "default";
2182 pinctrl-0 = <&qup_uart14_default>;
2183 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
2184 power-domains = <&rpmhpd SDM845_CX>;
2185 operating-points-v2 = <&qup_opp_table>;
2186 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2187 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
2188 interconnect-names = "qup-core", "qup-config";
2189 status = "disabled";
2190 };
2191
2192 i2c15: i2c@a9c000 {
2193 compatible = "qcom,geni-i2c";
2194 reg = <0 0x00a9c000 0 0x4000>;
2195 clock-names = "se";
2196 clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>;
2197 pinctrl-names = "default";
2198 pinctrl-0 = <&qup_i2c15_default>;
2199 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
2200 #address-cells = <1>;
2201 #size-cells = <0>;
2202 power-domains = <&rpmhpd SDM845_CX>;
2203 operating-points-v2 = <&qup_opp_table>;
2204 status = "disabled";
2205 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2206 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>,
2207 <&aggre2_noc MASTER_QUP_2 0 &mem_noc SLAVE_EBI1 0>;
2208 interconnect-names = "qup-core", "qup-config", "qup-memory";
2209 dmas = <&gpi_dma1 0 7 QCOM_GPI_I2C>,
2210 <&gpi_dma1 1 7 QCOM_GPI_I2C>;
2211 dma-names = "tx", "rx";
2212 };
2213
2214 spi15: spi@a9c000 {
2215 compatible = "qcom,geni-spi";
2216 reg = <0 0x00a9c000 0 0x4000>;
2217 clock-names = "se";
2218 clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>;
2219 pinctrl-names = "default";
2220 pinctrl-0 = <&qup_spi15_default>;
2221 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
2222 #address-cells = <1>;
2223 #size-cells = <0>;
2224 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2225 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
2226 interconnect-names = "qup-core", "qup-config";
2227 dmas = <&gpi_dma1 0 7 QCOM_GPI_SPI>,
2228 <&gpi_dma1 1 7 QCOM_GPI_SPI>;
2229 dma-names = "tx", "rx";
2230 status = "disabled";
2231 };
2232
2233 uart15: serial@a9c000 {
2234 compatible = "qcom,geni-uart";
2235 reg = <0 0x00a9c000 0 0x4000>;
2236 clock-names = "se";
2237 clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>;
2238 pinctrl-names = "default";
2239 pinctrl-0 = <&qup_uart15_default>;
2240 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
2241 power-domains = <&rpmhpd SDM845_CX>;
2242 operating-points-v2 = <&qup_opp_table>;
2243 interconnects = <&aggre2_noc MASTER_QUP_2 0 &config_noc SLAVE_BLSP_2 0>,
2244 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_BLSP_2 0>;
2245 interconnect-names = "qup-core", "qup-config";
2246 status = "disabled";
2247 };
2248 };
2249
2250 llcc: system-cache-controller@1100000 {
2251 compatible = "qcom,sdm845-llcc";
2252 reg = <0 0x01100000 0 0x45000>, <0 0x01180000 0 0x50000>,
2253 <0 0x01200000 0 0x50000>, <0 0x01280000 0 0x50000>,
2254 <0 0x01300000 0 0x50000>;
2255 reg-names = "llcc0_base", "llcc1_base", "llcc2_base",
2256 "llcc3_base", "llcc_broadcast_base";
2257 interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>;
2258 };
2259
2260 dma@10a2000 {
2261 compatible = "qcom,sdm845-dcc", "qcom,dcc";
2262 reg = <0x0 0x010a2000 0x0 0x1000>,
2263 <0x0 0x010ae000 0x0 0x2000>;
2264 };
2265
2266 pmu@114a000 {
2267 compatible = "qcom,sdm845-llcc-bwmon";
2268 reg = <0 0x0114a000 0 0x1000>;
2269 interrupts = <GIC_SPI 580 IRQ_TYPE_LEVEL_HIGH>;
2270 interconnects = <&mem_noc MASTER_LLCC 3 &mem_noc SLAVE_EBI1 3>;
2271
2272 operating-points-v2 = <&llcc_bwmon_opp_table>;
2273
2274 llcc_bwmon_opp_table: opp-table {
2275 compatible = "operating-points-v2";
2276
2277 /*
2278 * The interconnect path bandwidth taken from
2279 * cpu4_opp_table bandwidth for gladiator_noc-mem_noc
2280 * interconnect. This also matches the
2281 * bandwidth table of qcom,llccbw (qcom,bw-tbl,
2282 * bus width: 4 bytes) from msm-4.9 downstream
2283 * kernel.
2284 */
2285 opp-0 {
2286 opp-peak-kBps = <800000>;
2287 };
2288 opp-1 {
2289 opp-peak-kBps = <1804000>;
2290 };
2291 opp-2 {
2292 opp-peak-kBps = <3072000>;
2293 };
2294 opp-3 {
2295 opp-peak-kBps = <5412000>;
2296 };
2297 opp-4 {
2298 opp-peak-kBps = <7216000>;
2299 };
2300 };
2301 };
2302
2303 pmu@1436400 {
2304 compatible = "qcom,sdm845-cpu-bwmon", "qcom,sdm845-bwmon";
2305 reg = <0 0x01436400 0 0x600>;
2306 interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>;
2307 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_LLCC 3>;
2308
2309 operating-points-v2 = <&cpu_bwmon_opp_table>;
2310
2311 cpu_bwmon_opp_table: opp-table {
2312 compatible = "operating-points-v2";
2313
2314 /*
2315 * The interconnect path bandwidth taken from
2316 * cpu4_opp_table bandwidth for OSM L3
2317 * interconnect. This also matches the OSM L3
2318 * from bandwidth table of qcom,cpu4-l3lat-mon
2319 * (qcom,core-dev-table, bus width: 16 bytes)
2320 * from msm-4.9 downstream kernel.
2321 */
2322 opp-0 {
2323 opp-peak-kBps = <4800000>;
2324 };
2325 opp-1 {
2326 opp-peak-kBps = <9216000>;
2327 };
2328 opp-2 {
2329 opp-peak-kBps = <15052800>;
2330 };
2331 opp-3 {
2332 opp-peak-kBps = <20889600>;
2333 };
2334 opp-4 {
2335 opp-peak-kBps = <25497600>;
2336 };
2337 };
2338 };
2339
2340 pcie0: pci@1c00000 {
2341 compatible = "qcom,pcie-sdm845";
2342 reg = <0 0x01c00000 0 0x2000>,
2343 <0 0x60000000 0 0xf1d>,
2344 <0 0x60000f20 0 0xa8>,
2345 <0 0x60100000 0 0x100000>,
2346 <0 0x01c07000 0 0x1000>;
2347 reg-names = "parf", "dbi", "elbi", "config", "mhi";
2348 device_type = "pci";
2349 linux,pci-domain = <0>;
2350 bus-range = <0x00 0xff>;
2351 num-lanes = <1>;
2352
2353 #address-cells = <3>;
2354 #size-cells = <2>;
2355
2356 ranges = <0x01000000 0x0 0x00000000 0x0 0x60200000 0x0 0x100000>,
2357 <0x02000000 0x0 0x60300000 0x0 0x60300000 0x0 0xd00000>;
2358
2359 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
2360 interrupt-names = "msi";
2361 #interrupt-cells = <1>;
2362 interrupt-map-mask = <0 0 0 0x7>;
2363 interrupt-map = <0 0 0 1 &intc 0 0 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
2364 <0 0 0 2 &intc 0 0 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
2365 <0 0 0 3 &intc 0 0 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
2366 <0 0 0 4 &intc 0 0 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
2367
2368 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
2369 <&gcc GCC_PCIE_0_AUX_CLK>,
2370 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
2371 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
2372 <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
2373 <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>,
2374 <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>;
2375 clock-names = "pipe",
2376 "aux",
2377 "cfg",
2378 "bus_master",
2379 "bus_slave",
2380 "slave_q2a",
2381 "tbu";
2382
2383 iommu-map = <0x0 &apps_smmu 0x1c10 0x1>,
2384 <0x100 &apps_smmu 0x1c11 0x1>,
2385 <0x200 &apps_smmu 0x1c12 0x1>,
2386 <0x300 &apps_smmu 0x1c13 0x1>,
2387 <0x400 &apps_smmu 0x1c14 0x1>,
2388 <0x500 &apps_smmu 0x1c15 0x1>,
2389 <0x600 &apps_smmu 0x1c16 0x1>,
2390 <0x700 &apps_smmu 0x1c17 0x1>,
2391 <0x800 &apps_smmu 0x1c18 0x1>,
2392 <0x900 &apps_smmu 0x1c19 0x1>,
2393 <0xa00 &apps_smmu 0x1c1a 0x1>,
2394 <0xb00 &apps_smmu 0x1c1b 0x1>,
2395 <0xc00 &apps_smmu 0x1c1c 0x1>,
2396 <0xd00 &apps_smmu 0x1c1d 0x1>,
2397 <0xe00 &apps_smmu 0x1c1e 0x1>,
2398 <0xf00 &apps_smmu 0x1c1f 0x1>;
2399
2400 resets = <&gcc GCC_PCIE_0_BCR>;
2401 reset-names = "pci";
2402
2403 power-domains = <&gcc PCIE_0_GDSC>;
2404
2405 phys = <&pcie0_phy>;
2406 phy-names = "pciephy";
2407
2408 status = "disabled";
2409 };
2410
2411 pcie0_phy: phy@1c06000 {
2412 compatible = "qcom,sdm845-qmp-pcie-phy";
2413 reg = <0 0x01c06000 0 0x1000>;
2414 clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
2415 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
2416 <&gcc GCC_PCIE_0_CLKREF_CLK>,
2417 <&gcc GCC_PCIE_PHY_REFGEN_CLK>,
2418 <&gcc GCC_PCIE_0_PIPE_CLK>;
2419 clock-names = "aux",
2420 "cfg_ahb",
2421 "ref",
2422 "refgen",
2423 "pipe";
2424
2425 clock-output-names = "pcie_0_pipe_clk";
2426 #clock-cells = <0>;
2427
2428 #phy-cells = <0>;
2429
2430 resets = <&gcc GCC_PCIE_0_PHY_BCR>;
2431 reset-names = "phy";
2432
2433 assigned-clocks = <&gcc GCC_PCIE_PHY_REFGEN_CLK>;
2434 assigned-clock-rates = <100000000>;
2435
2436 status = "disabled";
2437 };
2438
2439 pcie1: pci@1c08000 {
2440 compatible = "qcom,pcie-sdm845";
2441 reg = <0 0x01c08000 0 0x2000>,
2442 <0 0x40000000 0 0xf1d>,
2443 <0 0x40000f20 0 0xa8>,
2444 <0 0x40100000 0 0x100000>,
2445 <0 0x01c0c000 0 0x1000>;
2446 reg-names = "parf", "dbi", "elbi", "config", "mhi";
2447 device_type = "pci";
2448 linux,pci-domain = <1>;
2449 bus-range = <0x00 0xff>;
2450 num-lanes = <1>;
2451
2452 #address-cells = <3>;
2453 #size-cells = <2>;
2454
2455 ranges = <0x01000000 0x0 0x00000000 0x0 0x40200000 0x0 0x100000>,
2456 <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>;
2457
2458 interrupts = <GIC_SPI 307 IRQ_TYPE_EDGE_RISING>;
2459 interrupt-names = "msi";
2460 #interrupt-cells = <1>;
2461 interrupt-map-mask = <0 0 0 0x7>;
2462 interrupt-map = <0 0 0 1 &intc 0 0 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
2463 <0 0 0 2 &intc 0 0 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
2464 <0 0 0 3 &intc 0 0 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
2465 <0 0 0 4 &intc 0 0 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
2466
2467 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
2468 <&gcc GCC_PCIE_1_AUX_CLK>,
2469 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
2470 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
2471 <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
2472 <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
2473 <&gcc GCC_PCIE_1_CLKREF_CLK>,
2474 <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>;
2475 clock-names = "pipe",
2476 "aux",
2477 "cfg",
2478 "bus_master",
2479 "bus_slave",
2480 "slave_q2a",
2481 "ref",
2482 "tbu";
2483
2484 assigned-clocks = <&gcc GCC_PCIE_1_AUX_CLK>;
2485 assigned-clock-rates = <19200000>;
2486
2487 iommu-map = <0x0 &apps_smmu 0x1c00 0x1>,
2488 <0x100 &apps_smmu 0x1c01 0x1>,
2489 <0x200 &apps_smmu 0x1c02 0x1>,
2490 <0x300 &apps_smmu 0x1c03 0x1>,
2491 <0x400 &apps_smmu 0x1c04 0x1>,
2492 <0x500 &apps_smmu 0x1c05 0x1>,
2493 <0x600 &apps_smmu 0x1c06 0x1>,
2494 <0x700 &apps_smmu 0x1c07 0x1>,
2495 <0x800 &apps_smmu 0x1c08 0x1>,
2496 <0x900 &apps_smmu 0x1c09 0x1>,
2497 <0xa00 &apps_smmu 0x1c0a 0x1>,
2498 <0xb00 &apps_smmu 0x1c0b 0x1>,
2499 <0xc00 &apps_smmu 0x1c0c 0x1>,
2500 <0xd00 &apps_smmu 0x1c0d 0x1>,
2501 <0xe00 &apps_smmu 0x1c0e 0x1>,
2502 <0xf00 &apps_smmu 0x1c0f 0x1>;
2503
2504 resets = <&gcc GCC_PCIE_1_BCR>;
2505 reset-names = "pci";
2506
2507 power-domains = <&gcc PCIE_1_GDSC>;
2508
2509 phys = <&pcie1_phy>;
2510 phy-names = "pciephy";
2511
2512 status = "disabled";
2513 };
2514
2515 pcie1_phy: phy@1c0a000 {
2516 compatible = "qcom,sdm845-qhp-pcie-phy";
2517 reg = <0 0x01c0a000 0 0x2000>;
2518 clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
2519 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
2520 <&gcc GCC_PCIE_1_CLKREF_CLK>,
2521 <&gcc GCC_PCIE_PHY_REFGEN_CLK>,
2522 <&gcc GCC_PCIE_1_PIPE_CLK>;
2523 clock-names = "aux",
2524 "cfg_ahb",
2525 "ref",
2526 "refgen",
2527 "pipe";
2528
2529 clock-output-names = "pcie_1_pipe_clk";
2530 #clock-cells = <0>;
2531
2532 #phy-cells = <0>;
2533
2534 resets = <&gcc GCC_PCIE_1_PHY_BCR>;
2535 reset-names = "phy";
2536
2537 assigned-clocks = <&gcc GCC_PCIE_PHY_REFGEN_CLK>;
2538 assigned-clock-rates = <100000000>;
2539
2540 status = "disabled";
2541 };
2542
2543 mem_noc: interconnect@1380000 {
2544 compatible = "qcom,sdm845-mem-noc";
2545 reg = <0 0x01380000 0 0x27200>;
2546 #interconnect-cells = <2>;
2547 qcom,bcm-voters = <&apps_bcm_voter>;
2548 };
2549
2550 dc_noc: interconnect@14e0000 {
2551 compatible = "qcom,sdm845-dc-noc";
2552 reg = <0 0x014e0000 0 0x400>;
2553 #interconnect-cells = <2>;
2554 qcom,bcm-voters = <&apps_bcm_voter>;
2555 };
2556
2557 config_noc: interconnect@1500000 {
2558 compatible = "qcom,sdm845-config-noc";
2559 reg = <0 0x01500000 0 0x5080>;
2560 #interconnect-cells = <2>;
2561 qcom,bcm-voters = <&apps_bcm_voter>;
2562 };
2563
2564 system_noc: interconnect@1620000 {
2565 compatible = "qcom,sdm845-system-noc";
2566 reg = <0 0x01620000 0 0x18080>;
2567 #interconnect-cells = <2>;
2568 qcom,bcm-voters = <&apps_bcm_voter>;
2569 };
2570
2571 aggre1_noc: interconnect@16e0000 {
2572 compatible = "qcom,sdm845-aggre1-noc";
2573 reg = <0 0x016e0000 0 0x15080>;
2574 #interconnect-cells = <2>;
2575 qcom,bcm-voters = <&apps_bcm_voter>;
2576 };
2577
2578 aggre2_noc: interconnect@1700000 {
2579 compatible = "qcom,sdm845-aggre2-noc";
2580 reg = <0 0x01700000 0 0x1f300>;
2581 #interconnect-cells = <2>;
2582 qcom,bcm-voters = <&apps_bcm_voter>;
2583 };
2584
2585 mmss_noc: interconnect@1740000 {
2586 compatible = "qcom,sdm845-mmss-noc";
2587 reg = <0 0x01740000 0 0x1c100>;
2588 #interconnect-cells = <2>;
2589 qcom,bcm-voters = <&apps_bcm_voter>;
2590 };
2591
2592 ufs_mem_hc: ufshc@1d84000 {
2593 compatible = "qcom,sdm845-ufshc", "qcom,ufshc",
2594 "jedec,ufs-2.0";
2595 reg = <0 0x01d84000 0 0x2500>,
2596 <0 0x01d90000 0 0x8000>;
2597 reg-names = "std", "ice";
2598 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
2599 phys = <&ufs_mem_phy_lanes>;
2600 phy-names = "ufsphy";
2601 lanes-per-direction = <2>;
2602 power-domains = <&gcc UFS_PHY_GDSC>;
2603 #reset-cells = <1>;
2604 resets = <&gcc GCC_UFS_PHY_BCR>;
2605 reset-names = "rst";
2606
2607 iommus = <&apps_smmu 0x100 0xf>;
2608
2609 clock-names =
2610 "core_clk",
2611 "bus_aggr_clk",
2612 "iface_clk",
2613 "core_clk_unipro",
2614 "ref_clk",
2615 "tx_lane0_sync_clk",
2616 "rx_lane0_sync_clk",
2617 "rx_lane1_sync_clk",
2618 "ice_core_clk";
2619 clocks =
2620 <&gcc GCC_UFS_PHY_AXI_CLK>,
2621 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
2622 <&gcc GCC_UFS_PHY_AHB_CLK>,
2623 <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
2624 <&rpmhcc RPMH_CXO_CLK>,
2625 <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
2626 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
2627 <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>,
2628 <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
2629 freq-table-hz =
2630 <50000000 200000000>,
2631 <0 0>,
2632 <0 0>,
2633 <37500000 150000000>,
2634 <0 0>,
2635 <0 0>,
2636 <0 0>,
2637 <0 0>,
2638 <75000000 300000000>;
2639
2640 interconnects = <&aggre1_noc MASTER_UFS_MEM 0 &mem_noc SLAVE_EBI1 0>,
2641 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_UFS_MEM_CFG 0>;
2642 interconnect-names = "ufs-ddr", "cpu-ufs";
2643
2644 status = "disabled";
2645 };
2646
2647 ufs_mem_phy: phy@1d87000 {
2648 compatible = "qcom,sdm845-qmp-ufs-phy";
2649 reg = <0 0x01d87000 0 0x18c>;
2650 #address-cells = <2>;
2651 #size-cells = <2>;
2652 ranges;
2653 clock-names = "ref",
2654 "ref_aux";
2655 clocks = <&gcc GCC_UFS_MEM_CLKREF_CLK>,
2656 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
2657
2658 resets = <&ufs_mem_hc 0>;
2659 reset-names = "ufsphy";
2660 status = "disabled";
2661
2662 ufs_mem_phy_lanes: phy@1d87400 {
2663 reg = <0 0x01d87400 0 0x108>,
2664 <0 0x01d87600 0 0x1e0>,
2665 <0 0x01d87c00 0 0x1dc>,
2666 <0 0x01d87800 0 0x108>,
2667 <0 0x01d87a00 0 0x1e0>;
2668 #phy-cells = <0>;
2669 };
2670 };
2671
2672 cryptobam: dma-controller@1dc4000 {
2673 compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
2674 reg = <0 0x01dc4000 0 0x24000>;
2675 interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
2676 clocks = <&rpmhcc RPMH_CE_CLK>;
2677 clock-names = "bam_clk";
2678 #dma-cells = <1>;
2679 qcom,ee = <0>;
2680 qcom,controlled-remotely;
2681 iommus = <&apps_smmu 0x704 0x1>,
2682 <&apps_smmu 0x706 0x1>,
2683 <&apps_smmu 0x714 0x1>,
2684 <&apps_smmu 0x716 0x1>;
2685 };
2686
2687 crypto: crypto@1dfa000 {
2688 compatible = "qcom,crypto-v5.4";
2689 reg = <0 0x01dfa000 0 0x6000>;
2690 clocks = <&gcc GCC_CE1_AHB_CLK>,
2691 <&gcc GCC_CE1_AXI_CLK>,
2692 <&rpmhcc RPMH_CE_CLK>;
2693 clock-names = "iface", "bus", "core";
2694 dmas = <&cryptobam 6>, <&cryptobam 7>;
2695 dma-names = "rx", "tx";
2696 iommus = <&apps_smmu 0x704 0x1>,
2697 <&apps_smmu 0x706 0x1>,
2698 <&apps_smmu 0x714 0x1>,
2699 <&apps_smmu 0x716 0x1>;
2700 };
2701
2702 ipa: ipa@1e40000 {
2703 compatible = "qcom,sdm845-ipa";
2704
2705 iommus = <&apps_smmu 0x720 0x0>,
2706 <&apps_smmu 0x722 0x0>;
2707 reg = <0 0x01e40000 0 0x7000>,
2708 <0 0x01e47000 0 0x2000>,
2709 <0 0x01e04000 0 0x2c000>;
2710 reg-names = "ipa-reg",
2711 "ipa-shared",
2712 "gsi";
2713
2714 interrupts-extended = <&intc GIC_SPI 311 IRQ_TYPE_EDGE_RISING>,
2715 <&intc GIC_SPI 432 IRQ_TYPE_LEVEL_HIGH>,
2716 <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2717 <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
2718 interrupt-names = "ipa",
2719 "gsi",
2720 "ipa-clock-query",
2721 "ipa-setup-ready";
2722
2723 clocks = <&rpmhcc RPMH_IPA_CLK>;
2724 clock-names = "core";
2725
2726 interconnects = <&aggre2_noc MASTER_IPA 0 &mem_noc SLAVE_EBI1 0>,
2727 <&aggre2_noc MASTER_IPA 0 &system_noc SLAVE_IMEM 0>,
2728 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_IPA_CFG 0>;
2729 interconnect-names = "memory",
2730 "imem",
2731 "config";
2732
2733 qcom,smem-states = <&ipa_smp2p_out 0>,
2734 <&ipa_smp2p_out 1>;
2735 qcom,smem-state-names = "ipa-clock-enabled-valid",
2736 "ipa-clock-enabled";
2737
2738 status = "disabled";
2739 };
2740
2741 tcsr_mutex: hwlock@1f40000 {
2742 compatible = "qcom,tcsr-mutex";
2743 reg = <0 0x01f40000 0 0x20000>;
2744 #hwlock-cells = <1>;
2745 };
2746
2747 tcsr_regs_1: syscon@1f60000 {
2748 compatible = "qcom,sdm845-tcsr", "syscon";
2749 reg = <0 0x01f60000 0 0x20000>;
2750 };
2751
2752 tlmm: pinctrl@3400000 {
2753 compatible = "qcom,sdm845-pinctrl";
2754 reg = <0 0x03400000 0 0xc00000>;
2755 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
2756 gpio-controller;
2757 #gpio-cells = <2>;
2758 interrupt-controller;
2759 #interrupt-cells = <2>;
2760 gpio-ranges = <&tlmm 0 0 151>;
2761 wakeup-parent = <&pdc_intc>;
2762
2763 cci0_default: cci0-default-state {
2764 /* SDA, SCL */
2765 pins = "gpio17", "gpio18";
2766 function = "cci_i2c";
2767
2768 bias-pull-up;
2769 drive-strength = <2>; /* 2 mA */
2770 };
2771
2772 cci0_sleep: cci0-sleep-state {
2773 /* SDA, SCL */
2774 pins = "gpio17", "gpio18";
2775 function = "cci_i2c";
2776
2777 drive-strength = <2>; /* 2 mA */
2778 bias-pull-down;
2779 };
2780
2781 cci1_default: cci1-default-state {
2782 /* SDA, SCL */
2783 pins = "gpio19", "gpio20";
2784 function = "cci_i2c";
2785
2786 bias-pull-up;
2787 drive-strength = <2>; /* 2 mA */
2788 };
2789
2790 cci1_sleep: cci1-sleep-state {
2791 /* SDA, SCL */
2792 pins = "gpio19", "gpio20";
2793 function = "cci_i2c";
2794
2795 drive-strength = <2>; /* 2 mA */
2796 bias-pull-down;
2797 };
2798
2799 qspi_clk: qspi-clk-state {
2800 pins = "gpio95";
2801 function = "qspi_clk";
2802 };
2803
2804 qspi_cs0: qspi-cs0-state {
2805 pins = "gpio90";
2806 function = "qspi_cs";
2807 };
2808
2809 qspi_cs1: qspi-cs1-state {
2810 pins = "gpio89";
2811 function = "qspi_cs";
2812 };
2813
2814 qspi_data0: qspi-data0-state {
2815 pins = "gpio91";
2816 function = "qspi_data";
2817 };
2818
2819 qspi_data1: qspi-data1-state {
2820 pins = "gpio92";
2821 function = "qspi_data";
2822 };
2823
2824 qspi_data23: qspi-data23-state {
2825 pins = "gpio93", "gpio94";
2826 function = "qspi_data";
2827 };
2828
2829 qup_i2c0_default: qup-i2c0-default-state {
2830 pins = "gpio0", "gpio1";
2831 function = "qup0";
2832 };
2833
2834 qup_i2c1_default: qup-i2c1-default-state {
2835 pins = "gpio17", "gpio18";
2836 function = "qup1";
2837 };
2838
2839 qup_i2c2_default: qup-i2c2-default-state {
2840 pins = "gpio27", "gpio28";
2841 function = "qup2";
2842 };
2843
2844 qup_i2c3_default: qup-i2c3-default-state {
2845 pins = "gpio41", "gpio42";
2846 function = "qup3";
2847 };
2848
2849 qup_i2c4_default: qup-i2c4-default-state {
2850 pins = "gpio89", "gpio90";
2851 function = "qup4";
2852 };
2853
2854 qup_i2c5_default: qup-i2c5-default-state {
2855 pins = "gpio85", "gpio86";
2856 function = "qup5";
2857 };
2858
2859 qup_i2c6_default: qup-i2c6-default-state {
2860 pins = "gpio45", "gpio46";
2861 function = "qup6";
2862 };
2863
2864 qup_i2c7_default: qup-i2c7-default-state {
2865 pins = "gpio93", "gpio94";
2866 function = "qup7";
2867 };
2868
2869 qup_i2c8_default: qup-i2c8-default-state {
2870 pins = "gpio65", "gpio66";
2871 function = "qup8";
2872 };
2873
2874 qup_i2c9_default: qup-i2c9-default-state {
2875 pins = "gpio6", "gpio7";
2876 function = "qup9";
2877 };
2878
2879 qup_i2c10_default: qup-i2c10-default-state {
2880 pins = "gpio55", "gpio56";
2881 function = "qup10";
2882 };
2883
2884 qup_i2c11_default: qup-i2c11-default-state {
2885 pins = "gpio31", "gpio32";
2886 function = "qup11";
2887 };
2888
2889 qup_i2c12_default: qup-i2c12-default-state {
2890 pins = "gpio49", "gpio50";
2891 function = "qup12";
2892 };
2893
2894 qup_i2c13_default: qup-i2c13-default-state {
2895 pins = "gpio105", "gpio106";
2896 function = "qup13";
2897 };
2898
2899 qup_i2c14_default: qup-i2c14-default-state {
2900 pins = "gpio33", "gpio34";
2901 function = "qup14";
2902 };
2903
2904 qup_i2c15_default: qup-i2c15-default-state {
2905 pins = "gpio81", "gpio82";
2906 function = "qup15";
2907 };
2908
2909 qup_spi0_default: qup-spi0-default-state {
2910 pins = "gpio0", "gpio1", "gpio2", "gpio3";
2911 function = "qup0";
2912 };
2913
2914 qup_spi1_default: qup-spi1-default-state {
2915 pins = "gpio17", "gpio18", "gpio19", "gpio20";
2916 function = "qup1";
2917 };
2918
2919 qup_spi2_default: qup-spi2-default-state {
2920 pins = "gpio27", "gpio28", "gpio29", "gpio30";
2921 function = "qup2";
2922 };
2923
2924 qup_spi3_default: qup-spi3-default-state {
2925 pins = "gpio41", "gpio42", "gpio43", "gpio44";
2926 function = "qup3";
2927 };
2928
2929 qup_spi4_default: qup-spi4-default-state {
2930 pins = "gpio89", "gpio90", "gpio91", "gpio92";
2931 function = "qup4";
2932 };
2933
2934 qup_spi5_default: qup-spi5-default-state {
2935 pins = "gpio85", "gpio86", "gpio87", "gpio88";
2936 function = "qup5";
2937 };
2938
2939 qup_spi6_default: qup-spi6-default-state {
2940 pins = "gpio45", "gpio46", "gpio47", "gpio48";
2941 function = "qup6";
2942 };
2943
2944 qup_spi7_default: qup-spi7-default-state {
2945 pins = "gpio93", "gpio94", "gpio95", "gpio96";
2946 function = "qup7";
2947 };
2948
2949 qup_spi8_default: qup-spi8-default-state {
2950 pins = "gpio65", "gpio66", "gpio67", "gpio68";
2951 function = "qup8";
2952 };
2953
2954 qup_spi9_default: qup-spi9-default-state {
2955 pins = "gpio6", "gpio7", "gpio4", "gpio5";
2956 function = "qup9";
2957 };
2958
2959 qup_spi10_default: qup-spi10-default-state {
2960 pins = "gpio55", "gpio56", "gpio53", "gpio54";
2961 function = "qup10";
2962 };
2963
2964 qup_spi11_default: qup-spi11-default-state {
2965 pins = "gpio31", "gpio32", "gpio33", "gpio34";
2966 function = "qup11";
2967 };
2968
2969 qup_spi12_default: qup-spi12-default-state {
2970 pins = "gpio49", "gpio50", "gpio51", "gpio52";
2971 function = "qup12";
2972 };
2973
2974 qup_spi13_default: qup-spi13-default-state {
2975 pins = "gpio105", "gpio106", "gpio107", "gpio108";
2976 function = "qup13";
2977 };
2978
2979 qup_spi14_default: qup-spi14-default-state {
2980 pins = "gpio33", "gpio34", "gpio31", "gpio32";
2981 function = "qup14";
2982 };
2983
2984 qup_spi15_default: qup-spi15-default-state {
2985 pins = "gpio81", "gpio82", "gpio83", "gpio84";
2986 function = "qup15";
2987 };
2988
2989 qup_uart0_default: qup-uart0-default-state {
2990 qup_uart0_tx: tx-pins {
2991 pins = "gpio2";
2992 function = "qup0";
2993 };
2994
2995 qup_uart0_rx: rx-pins {
2996 pins = "gpio3";
2997 function = "qup0";
2998 };
2999 };
3000
3001 qup_uart1_default: qup-uart1-default-state {
3002 qup_uart1_tx: tx-pins {
3003 pins = "gpio19";
3004 function = "qup1";
3005 };
3006
3007 qup_uart1_rx: rx-pins {
3008 pins = "gpio20";
3009 function = "qup1";
3010 };
3011 };
3012
3013 qup_uart2_default: qup-uart2-default-state {
3014 qup_uart2_tx: tx-pins {
3015 pins = "gpio29";
3016 function = "qup2";
3017 };
3018
3019 qup_uart2_rx: rx-pins {
3020 pins = "gpio30";
3021 function = "qup2";
3022 };
3023 };
3024
3025 qup_uart3_default: qup-uart3-default-state {
3026 qup_uart3_tx: tx-pins {
3027 pins = "gpio43";
3028 function = "qup3";
3029 };
3030
3031 qup_uart3_rx: rx-pins {
3032 pins = "gpio44";
3033 function = "qup3";
3034 };
3035 };
3036
3037 qup_uart3_4pin: qup-uart3-4pin-state {
3038 qup_uart3_4pin_cts: cts-pins {
3039 pins = "gpio41";
3040 function = "qup3";
3041 };
3042
3043 qup_uart3_4pin_rts_tx: rts-tx-pins {
3044 pins = "gpio42", "gpio43";
3045 function = "qup3";
3046 };
3047
3048 qup_uart3_4pin_rx: rx-pins {
3049 pins = "gpio44";
3050 function = "qup3";
3051 };
3052 };
3053
3054 qup_uart4_default: qup-uart4-default-state {
3055 qup_uart4_tx: tx-pins {
3056 pins = "gpio91";
3057 function = "qup4";
3058 };
3059
3060 qup_uart4_rx: rx-pins {
3061 pins = "gpio92";
3062 function = "qup4";
3063 };
3064 };
3065
3066 qup_uart5_default: qup-uart5-default-state {
3067 qup_uart5_tx: tx-pins {
3068 pins = "gpio87";
3069 function = "qup5";
3070 };
3071
3072 qup_uart5_rx: rx-pins {
3073 pins = "gpio88";
3074 function = "qup5";
3075 };
3076 };
3077
3078 qup_uart6_default: qup-uart6-default-state {
3079 qup_uart6_tx: tx-pins {
3080 pins = "gpio47";
3081 function = "qup6";
3082 };
3083
3084 qup_uart6_rx: rx-pins {
3085 pins = "gpio48";
3086 function = "qup6";
3087 };
3088 };
3089
3090 qup_uart6_4pin: qup-uart6-4pin-state {
3091 qup_uart6_4pin_cts: cts-pins {
3092 pins = "gpio45";
3093 function = "qup6";
3094 bias-pull-down;
3095 };
3096
3097 qup_uart6_4pin_rts_tx: rts-tx-pins {
3098 pins = "gpio46", "gpio47";
3099 function = "qup6";
3100 drive-strength = <2>;
3101 bias-disable;
3102 };
3103
3104 qup_uart6_4pin_rx: rx-pins {
3105 pins = "gpio48";
3106 function = "qup6";
3107 bias-pull-up;
3108 };
3109 };
3110
3111 qup_uart7_default: qup-uart7-default-state {
3112 qup_uart7_tx: tx-pins {
3113 pins = "gpio95";
3114 function = "qup7";
3115 };
3116
3117 qup_uart7_rx: rx-pins {
3118 pins = "gpio96";
3119 function = "qup7";
3120 };
3121 };
3122
3123 qup_uart8_default: qup-uart8-default-state {
3124 qup_uart8_tx: tx-pins {
3125 pins = "gpio67";
3126 function = "qup8";
3127 };
3128
3129 qup_uart8_rx: rx-pins {
3130 pins = "gpio68";
3131 function = "qup8";
3132 };
3133 };
3134
3135 qup_uart9_default: qup-uart9-default-state {
3136 qup_uart9_tx: tx-pins {
3137 pins = "gpio4";
3138 function = "qup9";
3139 };
3140
3141 qup_uart9_rx: rx-pins {
3142 pins = "gpio5";
3143 function = "qup9";
3144 };
3145 };
3146
3147 qup_uart10_default: qup-uart10-default-state {
3148 qup_uart10_tx: tx-pins {
3149 pins = "gpio53";
3150 function = "qup10";
3151 };
3152
3153 qup_uart10_rx: rx-pins {
3154 pins = "gpio54";
3155 function = "qup10";
3156 };
3157 };
3158
3159 qup_uart11_default: qup-uart11-default-state {
3160 qup_uart11_tx: tx-pins {
3161 pins = "gpio33";
3162 function = "qup11";
3163 };
3164
3165 qup_uart11_rx: rx-pins {
3166 pins = "gpio34";
3167 function = "qup11";
3168 };
3169 };
3170
3171 qup_uart12_default: qup-uart12-default-state {
3172 qup_uart12_tx: tx-pins {
3173 pins = "gpio51";
3174 function = "qup0";
3175 };
3176
3177 qup_uart12_rx: rx-pins {
3178 pins = "gpio52";
3179 function = "qup0";
3180 };
3181 };
3182
3183 qup_uart13_default: qup-uart13-default-state {
3184 qup_uart13_tx: tx-pins {
3185 pins = "gpio107";
3186 function = "qup13";
3187 };
3188
3189 qup_uart13_rx: rx-pins {
3190 pins = "gpio108";
3191 function = "qup13";
3192 };
3193 };
3194
3195 qup_uart14_default: qup-uart14-default-state {
3196 qup_uart14_tx: tx-pins {
3197 pins = "gpio31";
3198 function = "qup14";
3199 };
3200
3201 qup_uart14_rx: rx-pins {
3202 pins = "gpio32";
3203 function = "qup14";
3204 };
3205 };
3206
3207 qup_uart15_default: qup-uart15-default-state {
3208 qup_uart15_tx: tx-pins {
3209 pins = "gpio83";
3210 function = "qup15";
3211 };
3212
3213 qup_uart15_rx: rx-pins {
3214 pins = "gpio84";
3215 function = "qup15";
3216 };
3217 };
3218
3219 quat_mi2s_sleep: quat-mi2s-sleep-state {
3220 pins = "gpio58", "gpio59";
3221 function = "gpio";
3222 drive-strength = <2>;
3223 bias-pull-down;
3224 };
3225
3226 quat_mi2s_active: quat-mi2s-active-state {
3227 pins = "gpio58", "gpio59";
3228 function = "qua_mi2s";
3229 drive-strength = <8>;
3230 bias-disable;
3231 output-high;
3232 };
3233
3234 quat_mi2s_sd0_sleep: quat-mi2s-sd0-sleep-state {
3235 pins = "gpio60";
3236 function = "gpio";
3237 drive-strength = <2>;
3238 bias-pull-down;
3239 };
3240
3241 quat_mi2s_sd0_active: quat-mi2s-sd0-active-state {
3242 pins = "gpio60";
3243 function = "qua_mi2s";
3244 drive-strength = <8>;
3245 bias-disable;
3246 };
3247
3248 quat_mi2s_sd1_sleep: quat-mi2s-sd1-sleep-state {
3249 pins = "gpio61";
3250 function = "gpio";
3251 drive-strength = <2>;
3252 bias-pull-down;
3253 };
3254
3255 quat_mi2s_sd1_active: quat-mi2s-sd1-active-state {
3256 pins = "gpio61";
3257 function = "qua_mi2s";
3258 drive-strength = <8>;
3259 bias-disable;
3260 };
3261
3262 quat_mi2s_sd2_sleep: quat-mi2s-sd2-sleep-state {
3263 pins = "gpio62";
3264 function = "gpio";
3265 drive-strength = <2>;
3266 bias-pull-down;
3267 };
3268
3269 quat_mi2s_sd2_active: quat-mi2s-sd2-active-state {
3270 pins = "gpio62";
3271 function = "qua_mi2s";
3272 drive-strength = <8>;
3273 bias-disable;
3274 };
3275
3276 quat_mi2s_sd3_sleep: quat-mi2s-sd3-sleep-state {
3277 pins = "gpio63";
3278 function = "gpio";
3279 drive-strength = <2>;
3280 bias-pull-down;
3281 };
3282
3283 quat_mi2s_sd3_active: quat-mi2s-sd3-active-state {
3284 pins = "gpio63";
3285 function = "qua_mi2s";
3286 drive-strength = <8>;
3287 bias-disable;
3288 };
3289 };
3290
3291 mss_pil: remoteproc@4080000 {
3292 compatible = "qcom,sdm845-mss-pil";
3293 reg = <0 0x04080000 0 0x408>, <0 0x04180000 0 0x48>;
3294 reg-names = "qdsp6", "rmb";
3295
3296 interrupts-extended =
3297 <&intc GIC_SPI 266 IRQ_TYPE_EDGE_RISING>,
3298 <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
3299 <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
3300 <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
3301 <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
3302 <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
3303 interrupt-names = "wdog", "fatal", "ready",
3304 "handover", "stop-ack",
3305 "shutdown-ack";
3306
3307 clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
3308 <&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>,
3309 <&gcc GCC_BOOT_ROM_AHB_CLK>,
3310 <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
3311 <&gcc GCC_MSS_SNOC_AXI_CLK>,
3312 <&gcc GCC_MSS_MFAB_AXIS_CLK>,
3313 <&gcc GCC_PRNG_AHB_CLK>,
3314 <&rpmhcc RPMH_CXO_CLK>;
3315 clock-names = "iface", "bus", "mem", "gpll0_mss",
3316 "snoc_axi", "mnoc_axi", "prng", "xo";
3317
3318 qcom,qmp = <&aoss_qmp>;
3319
3320 qcom,smem-states = <&modem_smp2p_out 0>;
3321 qcom,smem-state-names = "stop";
3322
3323 resets = <&aoss_reset AOSS_CC_MSS_RESTART>,
3324 <&pdc_reset PDC_MODEM_SYNC_RESET>;
3325 reset-names = "mss_restart", "pdc_reset";
3326
3327 qcom,halt-regs = <&tcsr_regs_1 0x3000 0x5000 0x4000>;
3328
3329 power-domains = <&rpmhpd SDM845_CX>,
3330 <&rpmhpd SDM845_MX>,
3331 <&rpmhpd SDM845_MSS>;
3332 power-domain-names = "cx", "mx", "mss";
3333
3334 status = "disabled";
3335
3336 mba {
3337 memory-region = <&mba_region>;
3338 };
3339
3340 mpss {
3341 memory-region = <&mpss_region>;
3342 };
3343
3344 metadata {
3345 memory-region = <&mdata_mem>;
3346 };
3347
3348 glink-edge {
3349 interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
3350 label = "modem";
3351 qcom,remote-pid = <1>;
3352 mboxes = <&apss_shared 12>;
3353 };
3354 };
3355
3356 gpucc: clock-controller@5090000 {
3357 compatible = "qcom,sdm845-gpucc";
3358 reg = <0 0x05090000 0 0x9000>;
3359 #clock-cells = <1>;
3360 #reset-cells = <1>;
3361 #power-domain-cells = <1>;
3362 clocks = <&rpmhcc RPMH_CXO_CLK>,
3363 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
3364 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
3365 clock-names = "bi_tcxo",
3366 "gcc_gpu_gpll0_clk_src",
3367 "gcc_gpu_gpll0_div_clk_src";
3368 };
3369
3370 slpi_pas: remoteproc@5c00000 {
3371 compatible = "qcom,sdm845-slpi-pas";
3372 reg = <0 0x5c00000 0 0x4000>;
3373
3374 interrupts-extended = <&intc GIC_SPI 494 IRQ_TYPE_EDGE_RISING>,
3375 <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
3376 <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
3377 <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
3378 <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
3379 interrupt-names = "wdog", "fatal", "ready",
3380 "handover", "stop-ack";
3381
3382 clocks = <&rpmhcc RPMH_CXO_CLK>;
3383 clock-names = "xo";
3384
3385 qcom,qmp = <&aoss_qmp>;
3386
3387 power-domains = <&rpmhpd SDM845_CX>,
3388 <&rpmhpd SDM845_MX>;
3389 power-domain-names = "lcx", "lmx";
3390
3391 memory-region = <&slpi_mem>;
3392
3393 qcom,smem-states = <&slpi_smp2p_out 0>;
3394 qcom,smem-state-names = "stop";
3395
3396 status = "disabled";
3397
3398 glink-edge {
3399 interrupts = <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>;
3400 label = "dsps";
3401 qcom,remote-pid = <3>;
3402 mboxes = <&apss_shared 24>;
3403
3404 fastrpc {
3405 compatible = "qcom,fastrpc";
3406 qcom,glink-channels = "fastrpcglink-apps-dsp";
3407 label = "sdsp";
3408 qcom,non-secure-domain;
3409 qcom,vmids = <QCOM_SCM_VMID_HLOS QCOM_SCM_VMID_MSS_MSA
3410 QCOM_SCM_VMID_SSC_Q6 QCOM_SCM_VMID_ADSP_Q6>;
3411 memory-region = <&fastrpc_mem>;
3412 #address-cells = <1>;
3413 #size-cells = <0>;
3414
3415 compute-cb@0 {
3416 compatible = "qcom,fastrpc-compute-cb";
3417 reg = <0>;
3418 };
3419 };
3420 };
3421 };
3422
3423 stm@6002000 {
3424 compatible = "arm,coresight-stm", "arm,primecell";
3425 reg = <0 0x06002000 0 0x1000>,
3426 <0 0x16280000 0 0x180000>;
3427 reg-names = "stm-base", "stm-stimulus-base";
3428
3429 clocks = <&aoss_qmp>;
3430 clock-names = "apb_pclk";
3431
3432 out-ports {
3433 port {
3434 stm_out: endpoint {
3435 remote-endpoint =
3436 <&funnel0_in7>;
3437 };
3438 };
3439 };
3440 };
3441
3442 funnel@6041000 {
3443 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3444 reg = <0 0x06041000 0 0x1000>;
3445
3446 clocks = <&aoss_qmp>;
3447 clock-names = "apb_pclk";
3448
3449 out-ports {
3450 port {
3451 funnel0_out: endpoint {
3452 remote-endpoint =
3453 <&merge_funnel_in0>;
3454 };
3455 };
3456 };
3457
3458 in-ports {
3459 #address-cells = <1>;
3460 #size-cells = <0>;
3461
3462 port@7 {
3463 reg = <7>;
3464 funnel0_in7: endpoint {
3465 remote-endpoint = <&stm_out>;
3466 };
3467 };
3468 };
3469 };
3470
3471 funnel@6043000 {
3472 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3473 reg = <0 0x06043000 0 0x1000>;
3474
3475 clocks = <&aoss_qmp>;
3476 clock-names = "apb_pclk";
3477
3478 out-ports {
3479 port {
3480 funnel2_out: endpoint {
3481 remote-endpoint =
3482 <&merge_funnel_in2>;
3483 };
3484 };
3485 };
3486
3487 in-ports {
3488 #address-cells = <1>;
3489 #size-cells = <0>;
3490
3491 port@5 {
3492 reg = <5>;
3493 funnel2_in5: endpoint {
3494 remote-endpoint =
3495 <&apss_merge_funnel_out>;
3496 };
3497 };
3498 };
3499 };
3500
3501 funnel@6045000 {
3502 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3503 reg = <0 0x06045000 0 0x1000>;
3504
3505 clocks = <&aoss_qmp>;
3506 clock-names = "apb_pclk";
3507
3508 out-ports {
3509 port {
3510 merge_funnel_out: endpoint {
3511 remote-endpoint = <&etf_in>;
3512 };
3513 };
3514 };
3515
3516 in-ports {
3517 #address-cells = <1>;
3518 #size-cells = <0>;
3519
3520 port@0 {
3521 reg = <0>;
3522 merge_funnel_in0: endpoint {
3523 remote-endpoint =
3524 <&funnel0_out>;
3525 };
3526 };
3527
3528 port@2 {
3529 reg = <2>;
3530 merge_funnel_in2: endpoint {
3531 remote-endpoint =
3532 <&funnel2_out>;
3533 };
3534 };
3535 };
3536 };
3537
3538 replicator@6046000 {
3539 compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
3540 reg = <0 0x06046000 0 0x1000>;
3541
3542 clocks = <&aoss_qmp>;
3543 clock-names = "apb_pclk";
3544
3545 out-ports {
3546 port {
3547 replicator_out: endpoint {
3548 remote-endpoint = <&etr_in>;
3549 };
3550 };
3551 };
3552
3553 in-ports {
3554 port {
3555 replicator_in: endpoint {
3556 remote-endpoint = <&etf_out>;
3557 };
3558 };
3559 };
3560 };
3561
3562 etf@6047000 {
3563 compatible = "arm,coresight-tmc", "arm,primecell";
3564 reg = <0 0x06047000 0 0x1000>;
3565
3566 clocks = <&aoss_qmp>;
3567 clock-names = "apb_pclk";
3568
3569 out-ports {
3570 port {
3571 etf_out: endpoint {
3572 remote-endpoint =
3573 <&replicator_in>;
3574 };
3575 };
3576 };
3577
3578 in-ports {
3579 #address-cells = <1>;
3580 #size-cells = <0>;
3581
3582 port@1 {
3583 reg = <1>;
3584 etf_in: endpoint {
3585 remote-endpoint =
3586 <&merge_funnel_out>;
3587 };
3588 };
3589 };
3590 };
3591
3592 etr@6048000 {
3593 compatible = "arm,coresight-tmc", "arm,primecell";
3594 reg = <0 0x06048000 0 0x1000>;
3595
3596 clocks = <&aoss_qmp>;
3597 clock-names = "apb_pclk";
3598 arm,scatter-gather;
3599
3600 in-ports {
3601 port {
3602 etr_in: endpoint {
3603 remote-endpoint =
3604 <&replicator_out>;
3605 };
3606 };
3607 };
3608 };
3609
3610 etm@7040000 {
3611 compatible = "arm,coresight-etm4x", "arm,primecell";
3612 reg = <0 0x07040000 0 0x1000>;
3613
3614 cpu = <&CPU0>;
3615
3616 clocks = <&aoss_qmp>;
3617 clock-names = "apb_pclk";
3618 arm,coresight-loses-context-with-cpu;
3619
3620 out-ports {
3621 port {
3622 etm0_out: endpoint {
3623 remote-endpoint =
3624 <&apss_funnel_in0>;
3625 };
3626 };
3627 };
3628 };
3629
3630 etm@7140000 {
3631 compatible = "arm,coresight-etm4x", "arm,primecell";
3632 reg = <0 0x07140000 0 0x1000>;
3633
3634 cpu = <&CPU1>;
3635
3636 clocks = <&aoss_qmp>;
3637 clock-names = "apb_pclk";
3638 arm,coresight-loses-context-with-cpu;
3639
3640 out-ports {
3641 port {
3642 etm1_out: endpoint {
3643 remote-endpoint =
3644 <&apss_funnel_in1>;
3645 };
3646 };
3647 };
3648 };
3649
3650 etm@7240000 {
3651 compatible = "arm,coresight-etm4x", "arm,primecell";
3652 reg = <0 0x07240000 0 0x1000>;
3653
3654 cpu = <&CPU2>;
3655
3656 clocks = <&aoss_qmp>;
3657 clock-names = "apb_pclk";
3658 arm,coresight-loses-context-with-cpu;
3659
3660 out-ports {
3661 port {
3662 etm2_out: endpoint {
3663 remote-endpoint =
3664 <&apss_funnel_in2>;
3665 };
3666 };
3667 };
3668 };
3669
3670 etm@7340000 {
3671 compatible = "arm,coresight-etm4x", "arm,primecell";
3672 reg = <0 0x07340000 0 0x1000>;
3673
3674 cpu = <&CPU3>;
3675
3676 clocks = <&aoss_qmp>;
3677 clock-names = "apb_pclk";
3678 arm,coresight-loses-context-with-cpu;
3679
3680 out-ports {
3681 port {
3682 etm3_out: endpoint {
3683 remote-endpoint =
3684 <&apss_funnel_in3>;
3685 };
3686 };
3687 };
3688 };
3689
3690 etm@7440000 {
3691 compatible = "arm,coresight-etm4x", "arm,primecell";
3692 reg = <0 0x07440000 0 0x1000>;
3693
3694 cpu = <&CPU4>;
3695
3696 clocks = <&aoss_qmp>;
3697 clock-names = "apb_pclk";
3698 arm,coresight-loses-context-with-cpu;
3699
3700 out-ports {
3701 port {
3702 etm4_out: endpoint {
3703 remote-endpoint =
3704 <&apss_funnel_in4>;
3705 };
3706 };
3707 };
3708 };
3709
3710 etm@7540000 {
3711 compatible = "arm,coresight-etm4x", "arm,primecell";
3712 reg = <0 0x07540000 0 0x1000>;
3713
3714 cpu = <&CPU5>;
3715
3716 clocks = <&aoss_qmp>;
3717 clock-names = "apb_pclk";
3718 arm,coresight-loses-context-with-cpu;
3719
3720 out-ports {
3721 port {
3722 etm5_out: endpoint {
3723 remote-endpoint =
3724 <&apss_funnel_in5>;
3725 };
3726 };
3727 };
3728 };
3729
3730 etm@7640000 {
3731 compatible = "arm,coresight-etm4x", "arm,primecell";
3732 reg = <0 0x07640000 0 0x1000>;
3733
3734 cpu = <&CPU6>;
3735
3736 clocks = <&aoss_qmp>;
3737 clock-names = "apb_pclk";
3738 arm,coresight-loses-context-with-cpu;
3739
3740 out-ports {
3741 port {
3742 etm6_out: endpoint {
3743 remote-endpoint =
3744 <&apss_funnel_in6>;
3745 };
3746 };
3747 };
3748 };
3749
3750 etm@7740000 {
3751 compatible = "arm,coresight-etm4x", "arm,primecell";
3752 reg = <0 0x07740000 0 0x1000>;
3753
3754 cpu = <&CPU7>;
3755
3756 clocks = <&aoss_qmp>;
3757 clock-names = "apb_pclk";
3758 arm,coresight-loses-context-with-cpu;
3759
3760 out-ports {
3761 port {
3762 etm7_out: endpoint {
3763 remote-endpoint =
3764 <&apss_funnel_in7>;
3765 };
3766 };
3767 };
3768 };
3769
3770 funnel@7800000 { /* APSS Funnel */
3771 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3772 reg = <0 0x07800000 0 0x1000>;
3773
3774 clocks = <&aoss_qmp>;
3775 clock-names = "apb_pclk";
3776
3777 out-ports {
3778 port {
3779 apss_funnel_out: endpoint {
3780 remote-endpoint =
3781 <&apss_merge_funnel_in>;
3782 };
3783 };
3784 };
3785
3786 in-ports {
3787 #address-cells = <1>;
3788 #size-cells = <0>;
3789
3790 port@0 {
3791 reg = <0>;
3792 apss_funnel_in0: endpoint {
3793 remote-endpoint =
3794 <&etm0_out>;
3795 };
3796 };
3797
3798 port@1 {
3799 reg = <1>;
3800 apss_funnel_in1: endpoint {
3801 remote-endpoint =
3802 <&etm1_out>;
3803 };
3804 };
3805
3806 port@2 {
3807 reg = <2>;
3808 apss_funnel_in2: endpoint {
3809 remote-endpoint =
3810 <&etm2_out>;
3811 };
3812 };
3813
3814 port@3 {
3815 reg = <3>;
3816 apss_funnel_in3: endpoint {
3817 remote-endpoint =
3818 <&etm3_out>;
3819 };
3820 };
3821
3822 port@4 {
3823 reg = <4>;
3824 apss_funnel_in4: endpoint {
3825 remote-endpoint =
3826 <&etm4_out>;
3827 };
3828 };
3829
3830 port@5 {
3831 reg = <5>;
3832 apss_funnel_in5: endpoint {
3833 remote-endpoint =
3834 <&etm5_out>;
3835 };
3836 };
3837
3838 port@6 {
3839 reg = <6>;
3840 apss_funnel_in6: endpoint {
3841 remote-endpoint =
3842 <&etm6_out>;
3843 };
3844 };
3845
3846 port@7 {
3847 reg = <7>;
3848 apss_funnel_in7: endpoint {
3849 remote-endpoint =
3850 <&etm7_out>;
3851 };
3852 };
3853 };
3854 };
3855
3856 funnel@7810000 {
3857 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3858 reg = <0 0x07810000 0 0x1000>;
3859
3860 clocks = <&aoss_qmp>;
3861 clock-names = "apb_pclk";
3862
3863 out-ports {
3864 port {
3865 apss_merge_funnel_out: endpoint {
3866 remote-endpoint =
3867 <&funnel2_in5>;
3868 };
3869 };
3870 };
3871
3872 in-ports {
3873 port {
3874 apss_merge_funnel_in: endpoint {
3875 remote-endpoint =
3876 <&apss_funnel_out>;
3877 };
3878 };
3879 };
3880 };
3881
3882 sdhc_2: mmc@8804000 {
3883 compatible = "qcom,sdm845-sdhci", "qcom,sdhci-msm-v5";
3884 reg = <0 0x08804000 0 0x1000>;
3885
3886 interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
3887 <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
3888 interrupt-names = "hc_irq", "pwr_irq";
3889
3890 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
3891 <&gcc GCC_SDCC2_APPS_CLK>,
3892 <&rpmhcc RPMH_CXO_CLK>;
3893 clock-names = "iface", "core", "xo";
3894 iommus = <&apps_smmu 0xa0 0xf>;
3895 power-domains = <&rpmhpd SDM845_CX>;
3896 operating-points-v2 = <&sdhc2_opp_table>;
3897
3898 status = "disabled";
3899
3900 sdhc2_opp_table: opp-table {
3901 compatible = "operating-points-v2";
3902
3903 opp-9600000 {
3904 opp-hz = /bits/ 64 <9600000>;
3905 required-opps = <&rpmhpd_opp_min_svs>;
3906 };
3907
3908 opp-19200000 {
3909 opp-hz = /bits/ 64 <19200000>;
3910 required-opps = <&rpmhpd_opp_low_svs>;
3911 };
3912
3913 opp-100000000 {
3914 opp-hz = /bits/ 64 <100000000>;
3915 required-opps = <&rpmhpd_opp_svs>;
3916 };
3917
3918 opp-201500000 {
3919 opp-hz = /bits/ 64 <201500000>;
3920 required-opps = <&rpmhpd_opp_svs_l1>;
3921 };
3922 };
3923 };
3924
3925 qspi: spi@88df000 {
3926 compatible = "qcom,sdm845-qspi", "qcom,qspi-v1";
3927 reg = <0 0x088df000 0 0x600>;
3928 iommus = <&apps_smmu 0x160 0x0>;
3929 #address-cells = <1>;
3930 #size-cells = <0>;
3931 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
3932 clocks = <&gcc GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
3933 <&gcc GCC_QSPI_CORE_CLK>;
3934 clock-names = "iface", "core";
3935 power-domains = <&rpmhpd SDM845_CX>;
3936 operating-points-v2 = <&qspi_opp_table>;
3937 status = "disabled";
3938 };
3939
3940 slim: slim-ngd@171c0000 {
3941 compatible = "qcom,slim-ngd-v2.1.0";
3942 reg = <0 0x171c0000 0 0x2c000>;
3943 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
3944
3945 dmas = <&slimbam 3>, <&slimbam 4>;
3946 dma-names = "rx", "tx";
3947
3948 iommus = <&apps_smmu 0x1806 0x0>;
3949 #address-cells = <1>;
3950 #size-cells = <0>;
3951 status = "disabled";
3952 };
3953
3954 lmh_cluster1: lmh@17d70800 {
3955 compatible = "qcom,sdm845-lmh";
3956 reg = <0 0x17d70800 0 0x400>;
3957 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
3958 cpus = <&CPU4>;
3959 qcom,lmh-temp-arm-millicelsius = <65000>;
3960 qcom,lmh-temp-low-millicelsius = <94500>;
3961 qcom,lmh-temp-high-millicelsius = <95000>;
3962 interrupt-controller;
3963 #interrupt-cells = <1>;
3964 };
3965
3966 lmh_cluster0: lmh@17d78800 {
3967 compatible = "qcom,sdm845-lmh";
3968 reg = <0 0x17d78800 0 0x400>;
3969 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
3970 cpus = <&CPU0>;
3971 qcom,lmh-temp-arm-millicelsius = <65000>;
3972 qcom,lmh-temp-low-millicelsius = <94500>;
3973 qcom,lmh-temp-high-millicelsius = <95000>;
3974 interrupt-controller;
3975 #interrupt-cells = <1>;
3976 };
3977
3978 usb_1_hsphy: phy@88e2000 {
3979 compatible = "qcom,sdm845-qusb2-phy", "qcom,qusb2-v2-phy";
3980 reg = <0 0x088e2000 0 0x400>;
3981 status = "disabled";
3982 #phy-cells = <0>;
3983
3984 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
3985 <&rpmhcc RPMH_CXO_CLK>;
3986 clock-names = "cfg_ahb", "ref";
3987
3988 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
3989
3990 nvmem-cells = <&qusb2p_hstx_trim>;
3991 };
3992
3993 usb_2_hsphy: phy@88e3000 {
3994 compatible = "qcom,sdm845-qusb2-phy", "qcom,qusb2-v2-phy";
3995 reg = <0 0x088e3000 0 0x400>;
3996 status = "disabled";
3997 #phy-cells = <0>;
3998
3999 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
4000 <&rpmhcc RPMH_CXO_CLK>;
4001 clock-names = "cfg_ahb", "ref";
4002
4003 resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
4004
4005 nvmem-cells = <&qusb2s_hstx_trim>;
4006 };
4007
4008 usb_1_qmpphy: phy@88e8000 {
4009 compatible = "qcom,sdm845-qmp-usb3-dp-phy";
4010 reg = <0 0x088e8000 0 0x3000>;
4011 status = "disabled";
4012
4013 clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
4014 <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
4015 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
4016 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>,
4017 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
4018 clock-names = "aux",
4019 "ref",
4020 "com_aux",
4021 "usb3_pipe",
4022 "cfg_ahb";
4023
4024 resets = <&gcc GCC_USB3_PHY_PRIM_BCR>,
4025 <&gcc GCC_USB3_DP_PHY_PRIM_BCR>;
4026 reset-names = "phy", "common";
4027
4028 #clock-cells = <1>;
4029 #phy-cells = <1>;
4030 };
4031
4032 usb_2_qmpphy: phy@88eb000 {
4033 compatible = "qcom,sdm845-qmp-usb3-uni-phy";
4034 reg = <0 0x088eb000 0 0x18c>;
4035 status = "disabled";
4036 #address-cells = <2>;
4037 #size-cells = <2>;
4038 ranges;
4039
4040 clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK>,
4041 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
4042 <&gcc GCC_USB3_SEC_CLKREF_CLK>,
4043 <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>;
4044 clock-names = "aux", "cfg_ahb", "ref", "com_aux";
4045
4046 resets = <&gcc GCC_USB3PHY_PHY_SEC_BCR>,
4047 <&gcc GCC_USB3_PHY_SEC_BCR>;
4048 reset-names = "phy", "common";
4049
4050 usb_2_ssphy: phy@88eb200 {
4051 reg = <0 0x088eb200 0 0x128>,
4052 <0 0x088eb400 0 0x1fc>,
4053 <0 0x088eb800 0 0x218>,
4054 <0 0x088eb600 0 0x70>;
4055 #clock-cells = <0>;
4056 #phy-cells = <0>;
4057 clocks = <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>;
4058 clock-names = "pipe0";
4059 clock-output-names = "usb3_uni_phy_pipe_clk_src";
4060 };
4061 };
4062
4063 usb_1: usb@a6f8800 {
4064 compatible = "qcom,sdm845-dwc3", "qcom,dwc3";
4065 reg = <0 0x0a6f8800 0 0x400>;
4066 status = "disabled";
4067 #address-cells = <2>;
4068 #size-cells = <2>;
4069 ranges;
4070 dma-ranges;
4071
4072 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
4073 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
4074 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
4075 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
4076 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>;
4077 clock-names = "cfg_noc",
4078 "core",
4079 "iface",
4080 "sleep",
4081 "mock_utmi";
4082
4083 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
4084 <&gcc GCC_USB30_PRIM_MASTER_CLK>;
4085 assigned-clock-rates = <19200000>, <150000000>;
4086
4087 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
4088 <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
4089 <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
4090 <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
4091 interrupt-names = "hs_phy_irq", "ss_phy_irq",
4092 "dm_hs_phy_irq", "dp_hs_phy_irq";
4093
4094 power-domains = <&gcc USB30_PRIM_GDSC>;
4095
4096 resets = <&gcc GCC_USB30_PRIM_BCR>;
4097
4098 interconnects = <&aggre2_noc MASTER_USB3_0 0 &mem_noc SLAVE_EBI1 0>,
4099 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_USB3_0 0>;
4100 interconnect-names = "usb-ddr", "apps-usb";
4101
4102 usb_1_dwc3: usb@a600000 {
4103 compatible = "snps,dwc3";
4104 reg = <0 0x0a600000 0 0xcd00>;
4105 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
4106 iommus = <&apps_smmu 0x740 0>;
4107 snps,dis_u2_susphy_quirk;
4108 snps,dis_enblslpm_quirk;
4109 phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
4110 phy-names = "usb2-phy", "usb3-phy";
4111 };
4112 };
4113
4114 usb_2: usb@a8f8800 {
4115 compatible = "qcom,sdm845-dwc3", "qcom,dwc3";
4116 reg = <0 0x0a8f8800 0 0x400>;
4117 status = "disabled";
4118 #address-cells = <2>;
4119 #size-cells = <2>;
4120 ranges;
4121 dma-ranges;
4122
4123 clocks = <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
4124 <&gcc GCC_USB30_SEC_MASTER_CLK>,
4125 <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
4126 <&gcc GCC_USB30_SEC_SLEEP_CLK>,
4127 <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>;
4128 clock-names = "cfg_noc",
4129 "core",
4130 "iface",
4131 "sleep",
4132 "mock_utmi";
4133
4134 assigned-clocks = <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
4135 <&gcc GCC_USB30_SEC_MASTER_CLK>;
4136 assigned-clock-rates = <19200000>, <150000000>;
4137
4138 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
4139 <GIC_SPI 487 IRQ_TYPE_LEVEL_HIGH>,
4140 <GIC_SPI 490 IRQ_TYPE_LEVEL_HIGH>,
4141 <GIC_SPI 491 IRQ_TYPE_LEVEL_HIGH>;
4142 interrupt-names = "hs_phy_irq", "ss_phy_irq",
4143 "dm_hs_phy_irq", "dp_hs_phy_irq";
4144
4145 power-domains = <&gcc USB30_SEC_GDSC>;
4146
4147 resets = <&gcc GCC_USB30_SEC_BCR>;
4148
4149 interconnects = <&aggre2_noc MASTER_USB3_1 0 &mem_noc SLAVE_EBI1 0>,
4150 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_USB3_1 0>;
4151 interconnect-names = "usb-ddr", "apps-usb";
4152
4153 usb_2_dwc3: usb@a800000 {
4154 compatible = "snps,dwc3";
4155 reg = <0 0x0a800000 0 0xcd00>;
4156 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
4157 iommus = <&apps_smmu 0x760 0>;
4158 snps,dis_u2_susphy_quirk;
4159 snps,dis_enblslpm_quirk;
4160 phys = <&usb_2_hsphy>, <&usb_2_ssphy>;
4161 phy-names = "usb2-phy", "usb3-phy";
4162 };
4163 };
4164
4165 venus: video-codec@aa00000 {
4166 compatible = "qcom,sdm845-venus-v2";
4167 reg = <0 0x0aa00000 0 0xff000>;
4168 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
4169 power-domains = <&videocc VENUS_GDSC>,
4170 <&videocc VCODEC0_GDSC>,
4171 <&videocc VCODEC1_GDSC>,
4172 <&rpmhpd SDM845_CX>;
4173 power-domain-names = "venus", "vcodec0", "vcodec1", "cx";
4174 operating-points-v2 = <&venus_opp_table>;
4175 clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
4176 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
4177 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>,
4178 <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
4179 <&videocc VIDEO_CC_VCODEC0_AXI_CLK>,
4180 <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
4181 <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
4182 clock-names = "core", "iface", "bus",
4183 "vcodec0_core", "vcodec0_bus",
4184 "vcodec1_core", "vcodec1_bus";
4185 iommus = <&apps_smmu 0x10a0 0x8>,
4186 <&apps_smmu 0x10b0 0x0>;
4187 memory-region = <&venus_mem>;
4188 interconnects = <&mmss_noc MASTER_VIDEO_P0 0 &mem_noc SLAVE_EBI1 0>,
4189 <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_VENUS_CFG 0>;
4190 interconnect-names = "video-mem", "cpu-cfg";
4191
4192 status = "disabled";
4193
4194 video-core0 {
4195 compatible = "venus-decoder";
4196 };
4197
4198 video-core1 {
4199 compatible = "venus-encoder";
4200 };
4201
4202 venus_opp_table: opp-table {
4203 compatible = "operating-points-v2";
4204
4205 opp-100000000 {
4206 opp-hz = /bits/ 64 <100000000>;
4207 required-opps = <&rpmhpd_opp_min_svs>;
4208 };
4209
4210 opp-200000000 {
4211 opp-hz = /bits/ 64 <200000000>;
4212 required-opps = <&rpmhpd_opp_low_svs>;
4213 };
4214
4215 opp-320000000 {
4216 opp-hz = /bits/ 64 <320000000>;
4217 required-opps = <&rpmhpd_opp_svs>;
4218 };
4219
4220 opp-380000000 {
4221 opp-hz = /bits/ 64 <380000000>;
4222 required-opps = <&rpmhpd_opp_svs_l1>;
4223 };
4224
4225 opp-444000000 {
4226 opp-hz = /bits/ 64 <444000000>;
4227 required-opps = <&rpmhpd_opp_nom>;
4228 };
4229
4230 opp-533000097 {
4231 opp-hz = /bits/ 64 <533000097>;
4232 required-opps = <&rpmhpd_opp_turbo>;
4233 };
4234 };
4235 };
4236
4237 videocc: clock-controller@ab00000 {
4238 compatible = "qcom,sdm845-videocc";
4239 reg = <0 0x0ab00000 0 0x10000>;
4240 clocks = <&rpmhcc RPMH_CXO_CLK>;
4241 clock-names = "bi_tcxo";
4242 #clock-cells = <1>;
4243 #power-domain-cells = <1>;
4244 #reset-cells = <1>;
4245 };
4246
4247 camss: camss@acb3000 {
4248 compatible = "qcom,sdm845-camss";
4249
4250 reg = <0 0x0acb3000 0 0x1000>,
4251 <0 0x0acba000 0 0x1000>,
4252 <0 0x0acc8000 0 0x1000>,
4253 <0 0x0ac65000 0 0x1000>,
4254 <0 0x0ac66000 0 0x1000>,
4255 <0 0x0ac67000 0 0x1000>,
4256 <0 0x0ac68000 0 0x1000>,
4257 <0 0x0acaf000 0 0x4000>,
4258 <0 0x0acb6000 0 0x4000>,
4259 <0 0x0acc4000 0 0x4000>;
4260 reg-names = "csid0",
4261 "csid1",
4262 "csid2",
4263 "csiphy0",
4264 "csiphy1",
4265 "csiphy2",
4266 "csiphy3",
4267 "vfe0",
4268 "vfe1",
4269 "vfe_lite";
4270
4271 interrupts = <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
4272 <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
4273 <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
4274 <GIC_SPI 477 IRQ_TYPE_LEVEL_HIGH>,
4275 <GIC_SPI 478 IRQ_TYPE_LEVEL_HIGH>,
4276 <GIC_SPI 479 IRQ_TYPE_LEVEL_HIGH>,
4277 <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
4278 <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
4279 <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
4280 <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>;
4281 interrupt-names = "csid0",
4282 "csid1",
4283 "csid2",
4284 "csiphy0",
4285 "csiphy1",
4286 "csiphy2",
4287 "csiphy3",
4288 "vfe0",
4289 "vfe1",
4290 "vfe_lite";
4291
4292 power-domains = <&clock_camcc IFE_0_GDSC>,
4293 <&clock_camcc IFE_1_GDSC>,
4294 <&clock_camcc TITAN_TOP_GDSC>;
4295
4296 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
4297 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
4298 <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
4299 <&clock_camcc CAM_CC_IFE_0_CSID_CLK>,
4300 <&clock_camcc CAM_CC_IFE_0_CSID_CLK_SRC>,
4301 <&clock_camcc CAM_CC_IFE_1_CSID_CLK>,
4302 <&clock_camcc CAM_CC_IFE_1_CSID_CLK_SRC>,
4303 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK>,
4304 <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK_SRC>,
4305 <&clock_camcc CAM_CC_CSIPHY0_CLK>,
4306 <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK>,
4307 <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK_SRC>,
4308 <&clock_camcc CAM_CC_CSIPHY1_CLK>,
4309 <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK>,
4310 <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK_SRC>,
4311 <&clock_camcc CAM_CC_CSIPHY2_CLK>,
4312 <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK>,
4313 <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK_SRC>,
4314 <&clock_camcc CAM_CC_CSIPHY3_CLK>,
4315 <&clock_camcc CAM_CC_CSI3PHYTIMER_CLK>,
4316 <&clock_camcc CAM_CC_CSI3PHYTIMER_CLK_SRC>,
4317 <&gcc GCC_CAMERA_AHB_CLK>,
4318 <&gcc GCC_CAMERA_AXI_CLK>,
4319 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
4320 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
4321 <&clock_camcc CAM_CC_IFE_0_AXI_CLK>,
4322 <&clock_camcc CAM_CC_IFE_0_CLK>,
4323 <&clock_camcc CAM_CC_IFE_0_CPHY_RX_CLK>,
4324 <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
4325 <&clock_camcc CAM_CC_IFE_1_AXI_CLK>,
4326 <&clock_camcc CAM_CC_IFE_1_CLK>,
4327 <&clock_camcc CAM_CC_IFE_1_CPHY_RX_CLK>,
4328 <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
4329 <&clock_camcc CAM_CC_IFE_LITE_CLK>,
4330 <&clock_camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>,
4331 <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>;
4332 clock-names = "camnoc_axi",
4333 "cpas_ahb",
4334 "cphy_rx_src",
4335 "csi0",
4336 "csi0_src",
4337 "csi1",
4338 "csi1_src",
4339 "csi2",
4340 "csi2_src",
4341 "csiphy0",
4342 "csiphy0_timer",
4343 "csiphy0_timer_src",
4344 "csiphy1",
4345 "csiphy1_timer",
4346 "csiphy1_timer_src",
4347 "csiphy2",
4348 "csiphy2_timer",
4349 "csiphy2_timer_src",
4350 "csiphy3",
4351 "csiphy3_timer",
4352 "csiphy3_timer_src",
4353 "gcc_camera_ahb",
4354 "gcc_camera_axi",
4355 "slow_ahb_src",
4356 "soc_ahb",
4357 "vfe0_axi",
4358 "vfe0",
4359 "vfe0_cphy_rx",
4360 "vfe0_src",
4361 "vfe1_axi",
4362 "vfe1",
4363 "vfe1_cphy_rx",
4364 "vfe1_src",
4365 "vfe_lite",
4366 "vfe_lite_cphy_rx",
4367 "vfe_lite_src";
4368
4369 iommus = <&apps_smmu 0x0808 0x0>,
4370 <&apps_smmu 0x0810 0x8>,
4371 <&apps_smmu 0x0c08 0x0>,
4372 <&apps_smmu 0x0c10 0x8>;
4373
4374 status = "disabled";
4375
4376 ports {
4377 #address-cells = <1>;
4378 #size-cells = <0>;
4379
4380 port@0 {
4381 reg = <0>;
4382 };
4383
4384 port@1 {
4385 reg = <1>;
4386 };
4387
4388 port@2 {
4389 reg = <2>;
4390 };
4391
4392 port@3 {
4393 reg = <3>;
4394 };
4395 };
4396 };
4397
4398 cci: cci@ac4a000 {
4399 compatible = "qcom,sdm845-cci", "qcom,msm8996-cci";
4400 #address-cells = <1>;
4401 #size-cells = <0>;
4402
4403 reg = <0 0x0ac4a000 0 0x4000>;
4404 interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>;
4405 power-domains = <&clock_camcc TITAN_TOP_GDSC>;
4406
4407 clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
4408 <&clock_camcc CAM_CC_SOC_AHB_CLK>,
4409 <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
4410 <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
4411 <&clock_camcc CAM_CC_CCI_CLK>,
4412 <&clock_camcc CAM_CC_CCI_CLK_SRC>;
4413 clock-names = "camnoc_axi",
4414 "soc_ahb",
4415 "slow_ahb_src",
4416 "cpas_ahb",
4417 "cci",
4418 "cci_src";
4419
4420 assigned-clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
4421 <&clock_camcc CAM_CC_CCI_CLK>;
4422 assigned-clock-rates = <80000000>, <37500000>;
4423
4424 pinctrl-names = "default", "sleep";
4425 pinctrl-0 = <&cci0_default &cci1_default>;
4426 pinctrl-1 = <&cci0_sleep &cci1_sleep>;
4427
4428 status = "disabled";
4429
4430 cci_i2c0: i2c-bus@0 {
4431 reg = <0>;
4432 clock-frequency = <1000000>;
4433 #address-cells = <1>;
4434 #size-cells = <0>;
4435 };
4436
4437 cci_i2c1: i2c-bus@1 {
4438 reg = <1>;
4439 clock-frequency = <1000000>;
4440 #address-cells = <1>;
4441 #size-cells = <0>;
4442 };
4443 };
4444
4445 clock_camcc: clock-controller@ad00000 {
4446 compatible = "qcom,sdm845-camcc";
4447 reg = <0 0x0ad00000 0 0x10000>;
4448 #clock-cells = <1>;
4449 #reset-cells = <1>;
4450 #power-domain-cells = <1>;
4451 clocks = <&rpmhcc RPMH_CXO_CLK>;
4452 clock-names = "bi_tcxo";
4453 };
4454
4455 mdss: display-subsystem@ae00000 {
4456 compatible = "qcom,sdm845-mdss";
4457 reg = <0 0x0ae00000 0 0x1000>;
4458 reg-names = "mdss";
4459
4460 power-domains = <&dispcc MDSS_GDSC>;
4461
4462 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
4463 <&dispcc DISP_CC_MDSS_MDP_CLK>;
4464 clock-names = "iface", "core";
4465
4466 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
4467 interrupt-controller;
4468 #interrupt-cells = <1>;
4469
4470 interconnects = <&mmss_noc MASTER_MDP0 0 &mem_noc SLAVE_EBI1 0>,
4471 <&mmss_noc MASTER_MDP1 0 &mem_noc SLAVE_EBI1 0>;
4472 interconnect-names = "mdp0-mem", "mdp1-mem";
4473
4474 iommus = <&apps_smmu 0x880 0x8>,
4475 <&apps_smmu 0xc80 0x8>;
4476
4477 status = "disabled";
4478
4479 #address-cells = <2>;
4480 #size-cells = <2>;
4481 ranges;
4482
4483 mdss_mdp: display-controller@ae01000 {
4484 compatible = "qcom,sdm845-dpu";
4485 reg = <0 0x0ae01000 0 0x8f000>,
4486 <0 0x0aeb0000 0 0x2008>;
4487 reg-names = "mdp", "vbif";
4488
4489 clocks = <&gcc GCC_DISP_AXI_CLK>,
4490 <&dispcc DISP_CC_MDSS_AHB_CLK>,
4491 <&dispcc DISP_CC_MDSS_AXI_CLK>,
4492 <&dispcc DISP_CC_MDSS_MDP_CLK>,
4493 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
4494 clock-names = "gcc-bus", "iface", "bus", "core", "vsync";
4495
4496 assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
4497 assigned-clock-rates = <19200000>;
4498 operating-points-v2 = <&mdp_opp_table>;
4499 power-domains = <&rpmhpd SDM845_CX>;
4500
4501 interrupt-parent = <&mdss>;
4502 interrupts = <0>;
4503
4504 ports {
4505 #address-cells = <1>;
4506 #size-cells = <0>;
4507
4508 port@0 {
4509 reg = <0>;
4510 dpu_intf0_out: endpoint {
4511 remote-endpoint = <&dp_in>;
4512 };
4513 };
4514
4515 port@1 {
4516 reg = <1>;
4517 dpu_intf1_out: endpoint {
4518 remote-endpoint = <&mdss_dsi0_in>;
4519 };
4520 };
4521
4522 port@2 {
4523 reg = <2>;
4524 dpu_intf2_out: endpoint {
4525 remote-endpoint = <&mdss_dsi1_in>;
4526 };
4527 };
4528 };
4529
4530 mdp_opp_table: opp-table {
4531 compatible = "operating-points-v2";
4532
4533 opp-19200000 {
4534 opp-hz = /bits/ 64 <19200000>;
4535 required-opps = <&rpmhpd_opp_min_svs>;
4536 };
4537
4538 opp-171428571 {
4539 opp-hz = /bits/ 64 <171428571>;
4540 required-opps = <&rpmhpd_opp_low_svs>;
4541 };
4542
4543 opp-344000000 {
4544 opp-hz = /bits/ 64 <344000000>;
4545 required-opps = <&rpmhpd_opp_svs_l1>;
4546 };
4547
4548 opp-430000000 {
4549 opp-hz = /bits/ 64 <430000000>;
4550 required-opps = <&rpmhpd_opp_nom>;
4551 };
4552 };
4553 };
4554
4555 mdss_dp: displayport-controller@ae90000 {
4556 status = "disabled";
4557 compatible = "qcom,sdm845-dp";
4558
4559 reg = <0 0x0ae90000 0 0x200>,
4560 <0 0x0ae90200 0 0x200>,
4561 <0 0x0ae90400 0 0x600>,
4562 <0 0x0ae90a00 0 0x600>,
4563 <0 0x0ae91000 0 0x600>;
4564
4565 interrupt-parent = <&mdss>;
4566 interrupts = <12>;
4567
4568 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
4569 <&dispcc DISP_CC_MDSS_DP_AUX_CLK>,
4570 <&dispcc DISP_CC_MDSS_DP_LINK_CLK>,
4571 <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
4572 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>;
4573 clock-names = "core_iface", "core_aux", "ctrl_link",
4574 "ctrl_link_iface", "stream_pixel";
4575 assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
4576 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
4577 assigned-clock-parents = <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
4578 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
4579 phys = <&usb_1_qmpphy QMP_USB43DP_DP_PHY>;
4580 phy-names = "dp";
4581
4582 operating-points-v2 = <&dp_opp_table>;
4583 power-domains = <&rpmhpd SDM845_CX>;
4584
4585 ports {
4586 #address-cells = <1>;
4587 #size-cells = <0>;
4588 port@0 {
4589 reg = <0>;
4590 dp_in: endpoint {
4591 remote-endpoint = <&dpu_intf0_out>;
4592 };
4593 };
4594
4595 port@1 {
4596 reg = <1>;
4597 dp_out: endpoint { };
4598 };
4599 };
4600
4601 dp_opp_table: opp-table {
4602 compatible = "operating-points-v2";
4603
4604 opp-162000000 {
4605 opp-hz = /bits/ 64 <162000000>;
4606 required-opps = <&rpmhpd_opp_low_svs>;
4607 };
4608
4609 opp-270000000 {
4610 opp-hz = /bits/ 64 <270000000>;
4611 required-opps = <&rpmhpd_opp_svs>;
4612 };
4613
4614 opp-540000000 {
4615 opp-hz = /bits/ 64 <540000000>;
4616 required-opps = <&rpmhpd_opp_svs_l1>;
4617 };
4618
4619 opp-810000000 {
4620 opp-hz = /bits/ 64 <810000000>;
4621 required-opps = <&rpmhpd_opp_nom>;
4622 };
4623 };
4624 };
4625
4626 mdss_dsi0: dsi@ae94000 {
4627 compatible = "qcom,sdm845-dsi-ctrl",
4628 "qcom,mdss-dsi-ctrl";
4629 reg = <0 0x0ae94000 0 0x400>;
4630 reg-names = "dsi_ctrl";
4631
4632 interrupt-parent = <&mdss>;
4633 interrupts = <4>;
4634
4635 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
4636 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
4637 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
4638 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
4639 <&dispcc DISP_CC_MDSS_AHB_CLK>,
4640 <&dispcc DISP_CC_MDSS_AXI_CLK>;
4641 clock-names = "byte",
4642 "byte_intf",
4643 "pixel",
4644 "core",
4645 "iface",
4646 "bus";
4647 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
4648 assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
4649
4650 operating-points-v2 = <&dsi_opp_table>;
4651 power-domains = <&rpmhpd SDM845_CX>;
4652
4653 phys = <&mdss_dsi0_phy>;
4654
4655 status = "disabled";
4656
4657 #address-cells = <1>;
4658 #size-cells = <0>;
4659
4660 ports {
4661 #address-cells = <1>;
4662 #size-cells = <0>;
4663
4664 port@0 {
4665 reg = <0>;
4666 mdss_dsi0_in: endpoint {
4667 remote-endpoint = <&dpu_intf1_out>;
4668 };
4669 };
4670
4671 port@1 {
4672 reg = <1>;
4673 mdss_dsi0_out: endpoint {
4674 };
4675 };
4676 };
4677 };
4678
4679 mdss_dsi0_phy: phy@ae94400 {
4680 compatible = "qcom,dsi-phy-10nm";
4681 reg = <0 0x0ae94400 0 0x200>,
4682 <0 0x0ae94600 0 0x280>,
4683 <0 0x0ae94a00 0 0x1e0>;
4684 reg-names = "dsi_phy",
4685 "dsi_phy_lane",
4686 "dsi_pll";
4687
4688 #clock-cells = <1>;
4689 #phy-cells = <0>;
4690
4691 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
4692 <&rpmhcc RPMH_CXO_CLK>;
4693 clock-names = "iface", "ref";
4694
4695 status = "disabled";
4696 };
4697
4698 mdss_dsi1: dsi@ae96000 {
4699 compatible = "qcom,sdm845-dsi-ctrl",
4700 "qcom,mdss-dsi-ctrl";
4701 reg = <0 0x0ae96000 0 0x400>;
4702 reg-names = "dsi_ctrl";
4703
4704 interrupt-parent = <&mdss>;
4705 interrupts = <5>;
4706
4707 clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
4708 <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
4709 <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
4710 <&dispcc DISP_CC_MDSS_ESC1_CLK>,
4711 <&dispcc DISP_CC_MDSS_AHB_CLK>,
4712 <&dispcc DISP_CC_MDSS_AXI_CLK>;
4713 clock-names = "byte",
4714 "byte_intf",
4715 "pixel",
4716 "core",
4717 "iface",
4718 "bus";
4719 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>;
4720 assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
4721
4722 operating-points-v2 = <&dsi_opp_table>;
4723 power-domains = <&rpmhpd SDM845_CX>;
4724
4725 phys = <&mdss_dsi1_phy>;
4726
4727 status = "disabled";
4728
4729 #address-cells = <1>;
4730 #size-cells = <0>;
4731
4732 ports {
4733 #address-cells = <1>;
4734 #size-cells = <0>;
4735
4736 port@0 {
4737 reg = <0>;
4738 mdss_dsi1_in: endpoint {
4739 remote-endpoint = <&dpu_intf2_out>;
4740 };
4741 };
4742
4743 port@1 {
4744 reg = <1>;
4745 mdss_dsi1_out: endpoint {
4746 };
4747 };
4748 };
4749 };
4750
4751 mdss_dsi1_phy: phy@ae96400 {
4752 compatible = "qcom,dsi-phy-10nm";
4753 reg = <0 0x0ae96400 0 0x200>,
4754 <0 0x0ae96600 0 0x280>,
4755 <0 0x0ae96a00 0 0x10e>;
4756 reg-names = "dsi_phy",
4757 "dsi_phy_lane",
4758 "dsi_pll";
4759
4760 #clock-cells = <1>;
4761 #phy-cells = <0>;
4762
4763 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
4764 <&rpmhcc RPMH_CXO_CLK>;
4765 clock-names = "iface", "ref";
4766
4767 status = "disabled";
4768 };
4769 };
4770
4771 gpu: gpu@5000000 {
4772 compatible = "qcom,adreno-630.2", "qcom,adreno";
4773
4774 reg = <0 0x05000000 0 0x40000>, <0 0x509e000 0 0x10>;
4775 reg-names = "kgsl_3d0_reg_memory", "cx_mem";
4776
4777 /*
4778 * Look ma, no clocks! The GPU clocks and power are
4779 * controlled entirely by the GMU
4780 */
4781
4782 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
4783
4784 iommus = <&adreno_smmu 0>;
4785
4786 operating-points-v2 = <&gpu_opp_table>;
4787
4788 qcom,gmu = <&gmu>;
4789
4790 interconnects = <&mem_noc MASTER_GFX3D 0 &mem_noc SLAVE_EBI1 0>;
4791 interconnect-names = "gfx-mem";
4792
4793 status = "disabled";
4794
4795 gpu_opp_table: opp-table {
4796 compatible = "operating-points-v2";
4797
4798 opp-710000000 {
4799 opp-hz = /bits/ 64 <710000000>;
4800 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
4801 opp-peak-kBps = <7216000>;
4802 };
4803
4804 opp-675000000 {
4805 opp-hz = /bits/ 64 <675000000>;
4806 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
4807 opp-peak-kBps = <7216000>;
4808 };
4809
4810 opp-596000000 {
4811 opp-hz = /bits/ 64 <596000000>;
4812 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
4813 opp-peak-kBps = <6220000>;
4814 };
4815
4816 opp-520000000 {
4817 opp-hz = /bits/ 64 <520000000>;
4818 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
4819 opp-peak-kBps = <6220000>;
4820 };
4821
4822 opp-414000000 {
4823 opp-hz = /bits/ 64 <414000000>;
4824 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
4825 opp-peak-kBps = <4068000>;
4826 };
4827
4828 opp-342000000 {
4829 opp-hz = /bits/ 64 <342000000>;
4830 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
4831 opp-peak-kBps = <2724000>;
4832 };
4833
4834 opp-257000000 {
4835 opp-hz = /bits/ 64 <257000000>;
4836 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
4837 opp-peak-kBps = <1648000>;
4838 };
4839 };
4840 };
4841
4842 adreno_smmu: iommu@5040000 {
4843 compatible = "qcom,sdm845-smmu-v2", "qcom,adreno-smmu", "qcom,smmu-v2";
4844 reg = <0 0x05040000 0 0x10000>;
4845 #iommu-cells = <1>;
4846 #global-interrupts = <2>;
4847 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
4848 <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
4849 <GIC_SPI 364 IRQ_TYPE_EDGE_RISING>,
4850 <GIC_SPI 365 IRQ_TYPE_EDGE_RISING>,
4851 <GIC_SPI 366 IRQ_TYPE_EDGE_RISING>,
4852 <GIC_SPI 367 IRQ_TYPE_EDGE_RISING>,
4853 <GIC_SPI 368 IRQ_TYPE_EDGE_RISING>,
4854 <GIC_SPI 369 IRQ_TYPE_EDGE_RISING>,
4855 <GIC_SPI 370 IRQ_TYPE_EDGE_RISING>,
4856 <GIC_SPI 371 IRQ_TYPE_EDGE_RISING>;
4857 clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
4858 <&gcc GCC_GPU_CFG_AHB_CLK>;
4859 clock-names = "bus", "iface";
4860
4861 power-domains = <&gpucc GPU_CX_GDSC>;
4862 };
4863
4864 gmu: gmu@506a000 {
4865 compatible = "qcom,adreno-gmu-630.2", "qcom,adreno-gmu";
4866
4867 reg = <0 0x0506a000 0 0x30000>,
4868 <0 0x0b280000 0 0x10000>,
4869 <0 0x0b480000 0 0x10000>;
4870 reg-names = "gmu", "gmu_pdc", "gmu_pdc_seq";
4871
4872 interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
4873 <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
4874 interrupt-names = "hfi", "gmu";
4875
4876 clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
4877 <&gpucc GPU_CC_CXO_CLK>,
4878 <&gcc GCC_DDRSS_GPU_AXI_CLK>,
4879 <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
4880 clock-names = "gmu", "cxo", "axi", "memnoc";
4881
4882 power-domains = <&gpucc GPU_CX_GDSC>,
4883 <&gpucc GPU_GX_GDSC>;
4884 power-domain-names = "cx", "gx";
4885
4886 iommus = <&adreno_smmu 5>;
4887
4888 operating-points-v2 = <&gmu_opp_table>;
4889
4890 status = "disabled";
4891
4892 gmu_opp_table: opp-table {
4893 compatible = "operating-points-v2";
4894
4895 opp-400000000 {
4896 opp-hz = /bits/ 64 <400000000>;
4897 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
4898 };
4899
4900 opp-200000000 {
4901 opp-hz = /bits/ 64 <200000000>;
4902 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
4903 };
4904 };
4905 };
4906
4907 dispcc: clock-controller@af00000 {
4908 compatible = "qcom,sdm845-dispcc";
4909 reg = <0 0x0af00000 0 0x10000>;
4910 clocks = <&rpmhcc RPMH_CXO_CLK>,
4911 <&gcc GCC_DISP_GPLL0_CLK_SRC>,
4912 <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>,
4913 <&mdss_dsi0_phy 0>,
4914 <&mdss_dsi0_phy 1>,
4915 <&mdss_dsi1_phy 0>,
4916 <&mdss_dsi1_phy 1>,
4917 <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
4918 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
4919 clock-names = "bi_tcxo",
4920 "gcc_disp_gpll0_clk_src",
4921 "gcc_disp_gpll0_div_clk_src",
4922 "dsi0_phy_pll_out_byteclk",
4923 "dsi0_phy_pll_out_dsiclk",
4924 "dsi1_phy_pll_out_byteclk",
4925 "dsi1_phy_pll_out_dsiclk",
4926 "dp_link_clk_divsel_ten",
4927 "dp_vco_divided_clk_src_mux";
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03004928 #clock-cells = <1>;
4929 #reset-cells = <1>;
4930 #power-domain-cells = <1>;
4931 };
4932
Caleb Connolly1a7474c2023-08-15 17:36:10 +01004933 pdc_intc: interrupt-controller@b220000 {
4934 compatible = "qcom,sdm845-pdc", "qcom,pdc";
4935 reg = <0 0x0b220000 0 0x30000>;
4936 qcom,pdc-ranges = <0 480 94>, <94 609 15>, <115 630 7>;
4937 #interrupt-cells = <2>;
4938 interrupt-parent = <&intc>;
4939 interrupt-controller;
4940 };
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03004941
Caleb Connolly1a7474c2023-08-15 17:36:10 +01004942 pdc_reset: reset-controller@b2e0000 {
4943 compatible = "qcom,sdm845-pdc-global";
4944 reg = <0 0x0b2e0000 0 0x20000>;
4945 #reset-cells = <1>;
4946 };
4947
4948 tsens0: thermal-sensor@c263000 {
4949 compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
4950 reg = <0 0x0c263000 0 0x1ff>, /* TM */
4951 <0 0x0c222000 0 0x1ff>; /* SROT */
4952 #qcom,sensors = <13>;
4953 interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
4954 <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
4955 interrupt-names = "uplow", "critical";
4956 #thermal-sensor-cells = <1>;
4957 };
4958
4959 tsens1: thermal-sensor@c265000 {
4960 compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
4961 reg = <0 0x0c265000 0 0x1ff>, /* TM */
4962 <0 0x0c223000 0 0x1ff>; /* SROT */
4963 #qcom,sensors = <8>;
4964 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>,
4965 <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
4966 interrupt-names = "uplow", "critical";
4967 #thermal-sensor-cells = <1>;
4968 };
4969
4970 aoss_reset: reset-controller@c2a0000 {
4971 compatible = "qcom,sdm845-aoss-cc";
4972 reg = <0 0x0c2a0000 0 0x31000>;
4973 #reset-cells = <1>;
4974 };
4975
4976 aoss_qmp: power-management@c300000 {
4977 compatible = "qcom,sdm845-aoss-qmp", "qcom,aoss-qmp";
4978 reg = <0 0x0c300000 0 0x400>;
4979 interrupts = <GIC_SPI 389 IRQ_TYPE_EDGE_RISING>;
4980 mboxes = <&apss_shared 0>;
4981
4982 #clock-cells = <0>;
4983
4984 cx_cdev: cx {
4985 #cooling-cells = <2>;
4986 };
4987
4988 ebi_cdev: ebi {
4989 #cooling-cells = <2>;
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03004990 };
4991 };
4992
Caleb Connolly1a7474c2023-08-15 17:36:10 +01004993 sram@c3f0000 {
4994 compatible = "qcom,sdm845-rpmh-stats";
4995 reg = <0 0x0c3f0000 0 0x400>;
4996 };
4997
4998 spmi_bus: spmi@c440000 {
4999 compatible = "qcom,spmi-pmic-arb";
5000 reg = <0 0x0c440000 0 0x1100>,
5001 <0 0x0c600000 0 0x2000000>,
5002 <0 0x0e600000 0 0x100000>,
5003 <0 0x0e700000 0 0xa0000>,
5004 <0 0x0c40a000 0 0x26000>;
5005 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
5006 interrupt-names = "periph_irq";
5007 interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>;
5008 qcom,ee = <0>;
5009 qcom,channel = <0>;
5010 #address-cells = <2>;
5011 #size-cells = <0>;
5012 interrupt-controller;
5013 #interrupt-cells = <4>;
5014 };
5015
5016 sram@146bf000 {
5017 compatible = "qcom,sdm845-imem", "syscon", "simple-mfd";
5018 reg = <0 0x146bf000 0 0x1000>;
5019
Vladimir Zapolskiy0e889a72023-04-21 20:50:41 +03005020 #address-cells = <1>;
5021 #size-cells = <1>;
Caleb Connolly1a7474c2023-08-15 17:36:10 +01005022
5023 ranges = <0 0 0x146bf000 0x1000>;
5024
5025 pil-reloc@94c {
5026 compatible = "qcom,pil-reloc-info";
5027 reg = <0x94c 0xc8>;
5028 };
5029 };
5030
5031 apps_smmu: iommu@15000000 {
5032 compatible = "qcom,sdm845-smmu-500", "arm,mmu-500";
5033 reg = <0 0x15000000 0 0x80000>;
5034 #iommu-cells = <2>;
5035 #global-interrupts = <1>;
5036 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
5037 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
5038 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
5039 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
5040 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
5041 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
5042 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
5043 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
5044 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
5045 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
5046 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
5047 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
5048 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
5049 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
5050 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
5051 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
5052 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
5053 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
5054 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
5055 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
5056 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
5057 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
5058 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
5059 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
5060 <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
5061 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
5062 <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
5063 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
5064 <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
5065 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
5066 <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
5067 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
5068 <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
5069 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
5070 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
5071 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
5072 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
5073 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
5074 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
5075 <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
5076 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
5077 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
5078 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
5079 <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
5080 <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
5081 <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
5082 <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
5083 <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
5084 <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
5085 <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
5086 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
5087 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
5088 <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
5089 <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
5090 <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
5091 <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
5092 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
5093 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
5094 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
5095 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
5096 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
5097 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
5098 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
5099 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
5100 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
5101 };
5102
5103 lpasscc: clock-controller@17014000 {
5104 compatible = "qcom,sdm845-lpasscc";
5105 reg = <0 0x17014000 0 0x1f004>, <0 0x17300000 0 0x200>;
5106 reg-names = "cc", "qdsp6ss";
5107 #clock-cells = <1>;
5108 status = "disabled";
5109 };
5110
5111 gladiator_noc: interconnect@17900000 {
5112 compatible = "qcom,sdm845-gladiator-noc";
5113 reg = <0 0x17900000 0 0xd080>;
5114 #interconnect-cells = <2>;
5115 qcom,bcm-voters = <&apps_bcm_voter>;
5116 };
5117
5118 watchdog@17980000 {
5119 compatible = "qcom,apss-wdt-sdm845", "qcom,kpss-wdt";
5120 reg = <0 0x17980000 0 0x1000>;
5121 clocks = <&sleep_clk>;
5122 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
5123 };
5124
5125 apss_shared: mailbox@17990000 {
5126 compatible = "qcom,sdm845-apss-shared";
5127 reg = <0 0x17990000 0 0x1000>;
5128 #mbox-cells = <1>;
5129 };
5130
5131 apps_rsc: rsc@179c0000 {
5132 label = "apps_rsc";
5133 compatible = "qcom,rpmh-rsc";
5134 reg = <0 0x179c0000 0 0x10000>,
5135 <0 0x179d0000 0 0x10000>,
5136 <0 0x179e0000 0 0x10000>;
5137 reg-names = "drv-0", "drv-1", "drv-2";
5138 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
5139 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
5140 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
5141 qcom,tcs-offset = <0xd00>;
5142 qcom,drv-id = <2>;
5143 qcom,tcs-config = <ACTIVE_TCS 2>,
5144 <SLEEP_TCS 3>,
5145 <WAKE_TCS 3>,
5146 <CONTROL_TCS 1>;
5147 power-domains = <&CLUSTER_PD>;
5148
5149 apps_bcm_voter: bcm-voter {
5150 compatible = "qcom,bcm-voter";
5151 };
5152
5153 rpmhcc: clock-controller {
5154 compatible = "qcom,sdm845-rpmh-clk";
5155 #clock-cells = <1>;
5156 clock-names = "xo";
5157 clocks = <&xo_board>;
5158 };
5159
5160 rpmhpd: power-controller {
5161 compatible = "qcom,sdm845-rpmhpd";
5162 #power-domain-cells = <1>;
5163 operating-points-v2 = <&rpmhpd_opp_table>;
5164
5165 rpmhpd_opp_table: opp-table {
5166 compatible = "operating-points-v2";
5167
5168 rpmhpd_opp_ret: opp1 {
5169 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
5170 };
5171
5172 rpmhpd_opp_min_svs: opp2 {
5173 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
5174 };
5175
5176 rpmhpd_opp_low_svs: opp3 {
5177 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
5178 };
5179
5180 rpmhpd_opp_svs: opp4 {
5181 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
5182 };
5183
5184 rpmhpd_opp_svs_l1: opp5 {
5185 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
5186 };
5187
5188 rpmhpd_opp_nom: opp6 {
5189 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
5190 };
5191
5192 rpmhpd_opp_nom_l1: opp7 {
5193 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
5194 };
5195
5196 rpmhpd_opp_nom_l2: opp8 {
5197 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
5198 };
5199
5200 rpmhpd_opp_turbo: opp9 {
5201 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
5202 };
5203
5204 rpmhpd_opp_turbo_l1: opp10 {
5205 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
5206 };
5207 };
5208 };
5209 };
5210
5211 intc: interrupt-controller@17a00000 {
5212 compatible = "arm,gic-v3";
5213 #address-cells = <2>;
5214 #size-cells = <2>;
Vladimir Zapolskiy0e889a72023-04-21 20:50:41 +03005215 ranges;
Caleb Connolly1a7474c2023-08-15 17:36:10 +01005216 #interrupt-cells = <3>;
5217 interrupt-controller;
5218 reg = <0 0x17a00000 0 0x10000>, /* GICD */
5219 <0 0x17a60000 0 0x100000>; /* GICR * 8 */
5220 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
Vladimir Zapolskiy0e889a72023-04-21 20:50:41 +03005221
Caleb Connolly1a7474c2023-08-15 17:36:10 +01005222 msi-controller@17a40000 {
5223 compatible = "arm,gic-v3-its";
5224 msi-controller;
5225 #msi-cells = <1>;
5226 reg = <0 0x17a40000 0 0x20000>;
5227 status = "disabled";
Vladimir Zapolskiy0e889a72023-04-21 20:50:41 +03005228 };
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03005229 };
5230
Caleb Connolly1a7474c2023-08-15 17:36:10 +01005231 slimbam: dma-controller@17184000 {
5232 compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
5233 qcom,controlled-remotely;
5234 reg = <0 0x17184000 0 0x2a000>;
5235 num-channels = <31>;
5236 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
5237 #dma-cells = <1>;
5238 qcom,ee = <1>;
5239 qcom,num-ees = <2>;
5240 iommus = <&apps_smmu 0x1806 0x0>;
5241 };
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03005242
Caleb Connolly1a7474c2023-08-15 17:36:10 +01005243 timer@17c90000 {
5244 #address-cells = <1>;
5245 #size-cells = <1>;
5246 ranges = <0 0 0 0x20000000>;
5247 compatible = "arm,armv7-timer-mem";
5248 reg = <0 0x17c90000 0 0x1000>;
5249
5250 frame@17ca0000 {
5251 frame-number = <0>;
5252 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
5253 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
5254 reg = <0x17ca0000 0x1000>,
5255 <0x17cb0000 0x1000>;
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03005256 };
5257
Caleb Connolly1a7474c2023-08-15 17:36:10 +01005258 frame@17cc0000 {
5259 frame-number = <1>;
5260 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
5261 reg = <0x17cc0000 0x1000>;
5262 status = "disabled";
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03005263 };
5264
Caleb Connolly1a7474c2023-08-15 17:36:10 +01005265 frame@17cd0000 {
5266 frame-number = <2>;
5267 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
5268 reg = <0x17cd0000 0x1000>;
5269 status = "disabled";
5270 };
5271
5272 frame@17ce0000 {
5273 frame-number = <3>;
5274 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
5275 reg = <0x17ce0000 0x1000>;
5276 status = "disabled";
5277 };
5278
5279 frame@17cf0000 {
5280 frame-number = <4>;
5281 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
5282 reg = <0x17cf0000 0x1000>;
5283 status = "disabled";
5284 };
5285
5286 frame@17d00000 {
5287 frame-number = <5>;
5288 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
5289 reg = <0x17d00000 0x1000>;
5290 status = "disabled";
5291 };
5292
5293 frame@17d10000 {
5294 frame-number = <6>;
5295 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
5296 reg = <0x17d10000 0x1000>;
5297 status = "disabled";
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03005298 };
5299 };
Caleb Connolly1a7474c2023-08-15 17:36:10 +01005300
5301 osm_l3: interconnect@17d41000 {
5302 compatible = "qcom,sdm845-osm-l3", "qcom,osm-l3";
5303 reg = <0 0x17d41000 0 0x1400>;
5304
5305 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
5306 clock-names = "xo", "alternate";
5307
5308 #interconnect-cells = <1>;
5309 };
5310
5311 cpufreq_hw: cpufreq@17d43000 {
5312 compatible = "qcom,sdm845-cpufreq-hw", "qcom,cpufreq-hw";
5313 reg = <0 0x17d43000 0 0x1400>, <0 0x17d45800 0 0x1400>;
5314 reg-names = "freq-domain0", "freq-domain1";
5315
5316 interrupts-extended = <&lmh_cluster0 0>, <&lmh_cluster1 0>;
5317
5318 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
5319 clock-names = "xo", "alternate";
5320
5321 #freq-domain-cells = <1>;
5322 #clock-cells = <1>;
5323 };
5324
5325 wifi: wifi@18800000 {
5326 compatible = "qcom,wcn3990-wifi";
5327 status = "disabled";
5328 reg = <0 0x18800000 0 0x800000>;
5329 reg-names = "membase";
5330 memory-region = <&wlan_msa_mem>;
5331 clock-names = "cxo_ref_clk_pin";
5332 clocks = <&rpmhcc RPMH_RF_CLK2>;
5333 interrupts =
5334 <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
5335 <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
5336 <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
5337 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
5338 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
5339 <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
5340 <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
5341 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
5342 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
5343 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
5344 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
5345 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
5346 iommus = <&apps_smmu 0x0040 0x1>;
5347 };
5348 };
5349
5350 sound: sound {
5351 };
5352
5353 thermal-zones {
5354 cpu0-thermal {
5355 polling-delay-passive = <250>;
5356 polling-delay = <1000>;
5357
5358 thermal-sensors = <&tsens0 1>;
5359
5360 trips {
5361 cpu0_alert0: trip-point0 {
5362 temperature = <90000>;
5363 hysteresis = <2000>;
5364 type = "passive";
5365 };
5366
5367 cpu0_alert1: trip-point1 {
5368 temperature = <95000>;
5369 hysteresis = <2000>;
5370 type = "passive";
5371 };
5372
5373 cpu0_crit: cpu-crit {
5374 temperature = <110000>;
5375 hysteresis = <1000>;
5376 type = "critical";
5377 };
5378 };
5379 };
5380
5381 cpu1-thermal {
5382 polling-delay-passive = <250>;
5383 polling-delay = <1000>;
5384
5385 thermal-sensors = <&tsens0 2>;
5386
5387 trips {
5388 cpu1_alert0: trip-point0 {
5389 temperature = <90000>;
5390 hysteresis = <2000>;
5391 type = "passive";
5392 };
5393
5394 cpu1_alert1: trip-point1 {
5395 temperature = <95000>;
5396 hysteresis = <2000>;
5397 type = "passive";
5398 };
5399
5400 cpu1_crit: cpu-crit {
5401 temperature = <110000>;
5402 hysteresis = <1000>;
5403 type = "critical";
5404 };
5405 };
5406 };
5407
5408 cpu2-thermal {
5409 polling-delay-passive = <250>;
5410 polling-delay = <1000>;
5411
5412 thermal-sensors = <&tsens0 3>;
5413
5414 trips {
5415 cpu2_alert0: trip-point0 {
5416 temperature = <90000>;
5417 hysteresis = <2000>;
5418 type = "passive";
5419 };
5420
5421 cpu2_alert1: trip-point1 {
5422 temperature = <95000>;
5423 hysteresis = <2000>;
5424 type = "passive";
5425 };
5426
5427 cpu2_crit: cpu-crit {
5428 temperature = <110000>;
5429 hysteresis = <1000>;
5430 type = "critical";
5431 };
5432 };
5433 };
5434
5435 cpu3-thermal {
5436 polling-delay-passive = <250>;
5437 polling-delay = <1000>;
5438
5439 thermal-sensors = <&tsens0 4>;
5440
5441 trips {
5442 cpu3_alert0: trip-point0 {
5443 temperature = <90000>;
5444 hysteresis = <2000>;
5445 type = "passive";
5446 };
5447
5448 cpu3_alert1: trip-point1 {
5449 temperature = <95000>;
5450 hysteresis = <2000>;
5451 type = "passive";
5452 };
5453
5454 cpu3_crit: cpu-crit {
5455 temperature = <110000>;
5456 hysteresis = <1000>;
5457 type = "critical";
5458 };
5459 };
5460 };
5461
5462 cpu4-thermal {
5463 polling-delay-passive = <250>;
5464 polling-delay = <1000>;
5465
5466 thermal-sensors = <&tsens0 7>;
5467
5468 trips {
5469 cpu4_alert0: trip-point0 {
5470 temperature = <90000>;
5471 hysteresis = <2000>;
5472 type = "passive";
5473 };
5474
5475 cpu4_alert1: trip-point1 {
5476 temperature = <95000>;
5477 hysteresis = <2000>;
5478 type = "passive";
5479 };
5480
5481 cpu4_crit: cpu-crit {
5482 temperature = <110000>;
5483 hysteresis = <1000>;
5484 type = "critical";
5485 };
5486 };
5487 };
5488
5489 cpu5-thermal {
5490 polling-delay-passive = <250>;
5491 polling-delay = <1000>;
5492
5493 thermal-sensors = <&tsens0 8>;
5494
5495 trips {
5496 cpu5_alert0: trip-point0 {
5497 temperature = <90000>;
5498 hysteresis = <2000>;
5499 type = "passive";
5500 };
5501
5502 cpu5_alert1: trip-point1 {
5503 temperature = <95000>;
5504 hysteresis = <2000>;
5505 type = "passive";
5506 };
5507
5508 cpu5_crit: cpu-crit {
5509 temperature = <110000>;
5510 hysteresis = <1000>;
5511 type = "critical";
5512 };
5513 };
5514 };
5515
5516 cpu6-thermal {
5517 polling-delay-passive = <250>;
5518 polling-delay = <1000>;
5519
5520 thermal-sensors = <&tsens0 9>;
5521
5522 trips {
5523 cpu6_alert0: trip-point0 {
5524 temperature = <90000>;
5525 hysteresis = <2000>;
5526 type = "passive";
5527 };
5528
5529 cpu6_alert1: trip-point1 {
5530 temperature = <95000>;
5531 hysteresis = <2000>;
5532 type = "passive";
5533 };
5534
5535 cpu6_crit: cpu-crit {
5536 temperature = <110000>;
5537 hysteresis = <1000>;
5538 type = "critical";
5539 };
5540 };
5541 };
5542
5543 cpu7-thermal {
5544 polling-delay-passive = <250>;
5545 polling-delay = <1000>;
5546
5547 thermal-sensors = <&tsens0 10>;
5548
5549 trips {
5550 cpu7_alert0: trip-point0 {
5551 temperature = <90000>;
5552 hysteresis = <2000>;
5553 type = "passive";
5554 };
5555
5556 cpu7_alert1: trip-point1 {
5557 temperature = <95000>;
5558 hysteresis = <2000>;
5559 type = "passive";
5560 };
5561
5562 cpu7_crit: cpu-crit {
5563 temperature = <110000>;
5564 hysteresis = <1000>;
5565 type = "critical";
5566 };
5567 };
5568 };
5569
5570 aoss0-thermal {
5571 polling-delay-passive = <250>;
5572 polling-delay = <1000>;
5573
5574 thermal-sensors = <&tsens0 0>;
5575
5576 trips {
5577 aoss0_alert0: trip-point0 {
5578 temperature = <90000>;
5579 hysteresis = <2000>;
5580 type = "hot";
5581 };
5582 };
5583 };
5584
5585 cluster0-thermal {
5586 polling-delay-passive = <250>;
5587 polling-delay = <1000>;
5588
5589 thermal-sensors = <&tsens0 5>;
5590
5591 trips {
5592 cluster0_alert0: trip-point0 {
5593 temperature = <90000>;
5594 hysteresis = <2000>;
5595 type = "hot";
5596 };
5597 cluster0_crit: cluster0_crit {
5598 temperature = <110000>;
5599 hysteresis = <2000>;
5600 type = "critical";
5601 };
5602 };
5603 };
5604
5605 cluster1-thermal {
5606 polling-delay-passive = <250>;
5607 polling-delay = <1000>;
5608
5609 thermal-sensors = <&tsens0 6>;
5610
5611 trips {
5612 cluster1_alert0: trip-point0 {
5613 temperature = <90000>;
5614 hysteresis = <2000>;
5615 type = "hot";
5616 };
5617 cluster1_crit: cluster1_crit {
5618 temperature = <110000>;
5619 hysteresis = <2000>;
5620 type = "critical";
5621 };
5622 };
5623 };
5624
5625 gpu-top-thermal {
5626 polling-delay-passive = <250>;
5627 polling-delay = <1000>;
5628
5629 thermal-sensors = <&tsens0 11>;
5630
5631 trips {
5632 gpu1_alert0: trip-point0 {
5633 temperature = <90000>;
5634 hysteresis = <2000>;
5635 type = "hot";
5636 };
5637 };
5638 };
5639
5640 gpu-bottom-thermal {
5641 polling-delay-passive = <250>;
5642 polling-delay = <1000>;
5643
5644 thermal-sensors = <&tsens0 12>;
5645
5646 trips {
5647 gpu2_alert0: trip-point0 {
5648 temperature = <90000>;
5649 hysteresis = <2000>;
5650 type = "hot";
5651 };
5652 };
5653 };
5654
5655 aoss1-thermal {
5656 polling-delay-passive = <250>;
5657 polling-delay = <1000>;
5658
5659 thermal-sensors = <&tsens1 0>;
5660
5661 trips {
5662 aoss1_alert0: trip-point0 {
5663 temperature = <90000>;
5664 hysteresis = <2000>;
5665 type = "hot";
5666 };
5667 };
5668 };
5669
5670 q6-modem-thermal {
5671 polling-delay-passive = <250>;
5672 polling-delay = <1000>;
5673
5674 thermal-sensors = <&tsens1 1>;
5675
5676 trips {
5677 q6_modem_alert0: trip-point0 {
5678 temperature = <90000>;
5679 hysteresis = <2000>;
5680 type = "hot";
5681 };
5682 };
5683 };
5684
5685 mem-thermal {
5686 polling-delay-passive = <250>;
5687 polling-delay = <1000>;
5688
5689 thermal-sensors = <&tsens1 2>;
5690
5691 trips {
5692 mem_alert0: trip-point0 {
5693 temperature = <90000>;
5694 hysteresis = <2000>;
5695 type = "hot";
5696 };
5697 };
5698 };
5699
5700 wlan-thermal {
5701 polling-delay-passive = <250>;
5702 polling-delay = <1000>;
5703
5704 thermal-sensors = <&tsens1 3>;
5705
5706 trips {
5707 wlan_alert0: trip-point0 {
5708 temperature = <90000>;
5709 hysteresis = <2000>;
5710 type = "hot";
5711 };
5712 };
5713 };
5714
5715 q6-hvx-thermal {
5716 polling-delay-passive = <250>;
5717 polling-delay = <1000>;
5718
5719 thermal-sensors = <&tsens1 4>;
5720
5721 trips {
5722 q6_hvx_alert0: trip-point0 {
5723 temperature = <90000>;
5724 hysteresis = <2000>;
5725 type = "hot";
5726 };
5727 };
5728 };
5729
5730 camera-thermal {
5731 polling-delay-passive = <250>;
5732 polling-delay = <1000>;
5733
5734 thermal-sensors = <&tsens1 5>;
5735
5736 trips {
5737 camera_alert0: trip-point0 {
5738 temperature = <90000>;
5739 hysteresis = <2000>;
5740 type = "hot";
5741 };
5742 };
5743 };
5744
5745 video-thermal {
5746 polling-delay-passive = <250>;
5747 polling-delay = <1000>;
5748
5749 thermal-sensors = <&tsens1 6>;
5750
5751 trips {
5752 video_alert0: trip-point0 {
5753 temperature = <90000>;
5754 hysteresis = <2000>;
5755 type = "hot";
5756 };
5757 };
5758 };
5759
5760 modem-thermal {
5761 polling-delay-passive = <250>;
5762 polling-delay = <1000>;
5763
5764 thermal-sensors = <&tsens1 7>;
5765
5766 trips {
5767 modem_alert0: trip-point0 {
5768 temperature = <90000>;
5769 hysteresis = <2000>;
5770 type = "hot";
5771 };
5772 };
5773 };
5774 };
5775
5776 timer {
5777 compatible = "arm,armv8-timer";
5778 interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
5779 <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
5780 <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
5781 <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
Dzmitry Sankouski4cbc16c2021-10-17 13:44:31 +03005782 };
5783};