blob: 84cbdf6e9eb0ca06b0187d14ab0c251ca1a9ef05 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright (C) 2020 MediaTek Inc.
4 * Author: Seiya Wang <seiya.wang@mediatek.com>
5 */
6
7/dts-v1/;
8#include <dt-bindings/clock/mt8192-clk.h>
9#include <dt-bindings/gce/mt8192-gce.h>
10#include <dt-bindings/interrupt-controller/arm-gic.h>
11#include <dt-bindings/interrupt-controller/irq.h>
12#include <dt-bindings/memory/mt8192-larb-port.h>
13#include <dt-bindings/pinctrl/mt8192-pinfunc.h>
14#include <dt-bindings/phy/phy.h>
15#include <dt-bindings/power/mt8192-power.h>
16#include <dt-bindings/reset/mt8192-resets.h>
Tom Rini93743d22024-04-01 09:08:13 -040017#include <dt-bindings/thermal/thermal.h>
18#include <dt-bindings/thermal/mediatek,lvts-thermal.h>
Tom Rini53633a82024-02-29 12:33:36 -050019
20/ {
21 compatible = "mediatek,mt8192";
22 interrupt-parent = <&gic>;
23 #address-cells = <2>;
24 #size-cells = <2>;
25
26 aliases {
27 ovl0 = &ovl0;
28 ovl-2l0 = &ovl_2l0;
29 ovl-2l2 = &ovl_2l2;
30 rdma0 = &rdma0;
31 rdma4 = &rdma4;
32 };
33
34 clk13m: fixed-factor-clock-13m {
35 compatible = "fixed-factor-clock";
36 #clock-cells = <0>;
37 clocks = <&clk26m>;
38 clock-div = <2>;
39 clock-mult = <1>;
40 clock-output-names = "clk13m";
41 };
42
43 clk26m: oscillator0 {
44 compatible = "fixed-clock";
45 #clock-cells = <0>;
46 clock-frequency = <26000000>;
47 clock-output-names = "clk26m";
48 };
49
50 clk32k: oscillator1 {
51 compatible = "fixed-clock";
52 #clock-cells = <0>;
53 clock-frequency = <32768>;
54 clock-output-names = "clk32k";
55 };
56
57 cpus {
58 #address-cells = <1>;
59 #size-cells = <0>;
60
61 cpu0: cpu@0 {
62 device_type = "cpu";
63 compatible = "arm,cortex-a55";
64 reg = <0x000>;
65 enable-method = "psci";
66 clock-frequency = <1701000000>;
67 cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
68 i-cache-size = <32768>;
69 i-cache-line-size = <64>;
70 i-cache-sets = <128>;
71 d-cache-size = <32768>;
72 d-cache-line-size = <64>;
73 d-cache-sets = <128>;
74 next-level-cache = <&l2_0>;
75 performance-domains = <&performance 0>;
76 capacity-dmips-mhz = <427>;
Tom Rini93743d22024-04-01 09:08:13 -040077 #cooling-cells = <2>;
Tom Rini53633a82024-02-29 12:33:36 -050078 };
79
80 cpu1: cpu@100 {
81 device_type = "cpu";
82 compatible = "arm,cortex-a55";
83 reg = <0x100>;
84 enable-method = "psci";
85 clock-frequency = <1701000000>;
86 cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
87 i-cache-size = <32768>;
88 i-cache-line-size = <64>;
89 i-cache-sets = <128>;
90 d-cache-size = <32768>;
91 d-cache-line-size = <64>;
92 d-cache-sets = <128>;
93 next-level-cache = <&l2_0>;
94 performance-domains = <&performance 0>;
95 capacity-dmips-mhz = <427>;
Tom Rini93743d22024-04-01 09:08:13 -040096 #cooling-cells = <2>;
Tom Rini53633a82024-02-29 12:33:36 -050097 };
98
99 cpu2: cpu@200 {
100 device_type = "cpu";
101 compatible = "arm,cortex-a55";
102 reg = <0x200>;
103 enable-method = "psci";
104 clock-frequency = <1701000000>;
105 cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
106 i-cache-size = <32768>;
107 i-cache-line-size = <64>;
108 i-cache-sets = <128>;
109 d-cache-size = <32768>;
110 d-cache-line-size = <64>;
111 d-cache-sets = <128>;
112 next-level-cache = <&l2_0>;
113 performance-domains = <&performance 0>;
114 capacity-dmips-mhz = <427>;
Tom Rini93743d22024-04-01 09:08:13 -0400115 #cooling-cells = <2>;
Tom Rini53633a82024-02-29 12:33:36 -0500116 };
117
118 cpu3: cpu@300 {
119 device_type = "cpu";
120 compatible = "arm,cortex-a55";
121 reg = <0x300>;
122 enable-method = "psci";
123 clock-frequency = <1701000000>;
124 cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
125 i-cache-size = <32768>;
126 i-cache-line-size = <64>;
127 i-cache-sets = <128>;
128 d-cache-size = <32768>;
129 d-cache-line-size = <64>;
130 d-cache-sets = <128>;
131 next-level-cache = <&l2_0>;
132 performance-domains = <&performance 0>;
133 capacity-dmips-mhz = <427>;
Tom Rini93743d22024-04-01 09:08:13 -0400134 #cooling-cells = <2>;
Tom Rini53633a82024-02-29 12:33:36 -0500135 };
136
137 cpu4: cpu@400 {
138 device_type = "cpu";
139 compatible = "arm,cortex-a76";
140 reg = <0x400>;
141 enable-method = "psci";
142 clock-frequency = <2171000000>;
143 cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
144 i-cache-size = <65536>;
145 i-cache-line-size = <64>;
146 i-cache-sets = <256>;
147 d-cache-size = <65536>;
148 d-cache-line-size = <64>;
149 d-cache-sets = <256>;
150 next-level-cache = <&l2_1>;
151 performance-domains = <&performance 1>;
152 capacity-dmips-mhz = <1024>;
Tom Rini93743d22024-04-01 09:08:13 -0400153 #cooling-cells = <2>;
Tom Rini53633a82024-02-29 12:33:36 -0500154 };
155
156 cpu5: cpu@500 {
157 device_type = "cpu";
158 compatible = "arm,cortex-a76";
159 reg = <0x500>;
160 enable-method = "psci";
161 clock-frequency = <2171000000>;
162 cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
163 i-cache-size = <65536>;
164 i-cache-line-size = <64>;
165 i-cache-sets = <256>;
166 d-cache-size = <65536>;
167 d-cache-line-size = <64>;
168 d-cache-sets = <256>;
169 next-level-cache = <&l2_1>;
170 performance-domains = <&performance 1>;
171 capacity-dmips-mhz = <1024>;
Tom Rini93743d22024-04-01 09:08:13 -0400172 #cooling-cells = <2>;
Tom Rini53633a82024-02-29 12:33:36 -0500173 };
174
175 cpu6: cpu@600 {
176 device_type = "cpu";
177 compatible = "arm,cortex-a76";
178 reg = <0x600>;
179 enable-method = "psci";
180 clock-frequency = <2171000000>;
181 cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
182 i-cache-size = <65536>;
183 i-cache-line-size = <64>;
184 i-cache-sets = <256>;
185 d-cache-size = <65536>;
186 d-cache-line-size = <64>;
187 d-cache-sets = <256>;
188 next-level-cache = <&l2_1>;
189 performance-domains = <&performance 1>;
190 capacity-dmips-mhz = <1024>;
Tom Rini93743d22024-04-01 09:08:13 -0400191 #cooling-cells = <2>;
Tom Rini53633a82024-02-29 12:33:36 -0500192 };
193
194 cpu7: cpu@700 {
195 device_type = "cpu";
196 compatible = "arm,cortex-a76";
197 reg = <0x700>;
198 enable-method = "psci";
199 clock-frequency = <2171000000>;
200 cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
201 i-cache-size = <65536>;
202 i-cache-line-size = <64>;
203 i-cache-sets = <256>;
204 d-cache-size = <65536>;
205 d-cache-line-size = <64>;
206 d-cache-sets = <256>;
207 next-level-cache = <&l2_1>;
208 performance-domains = <&performance 1>;
209 capacity-dmips-mhz = <1024>;
Tom Rini93743d22024-04-01 09:08:13 -0400210 #cooling-cells = <2>;
Tom Rini53633a82024-02-29 12:33:36 -0500211 };
212
213 cpu-map {
214 cluster0 {
215 core0 {
216 cpu = <&cpu0>;
217 };
218 core1 {
219 cpu = <&cpu1>;
220 };
221 core2 {
222 cpu = <&cpu2>;
223 };
224 core3 {
225 cpu = <&cpu3>;
226 };
227 core4 {
228 cpu = <&cpu4>;
229 };
230 core5 {
231 cpu = <&cpu5>;
232 };
233 core6 {
234 cpu = <&cpu6>;
235 };
236 core7 {
237 cpu = <&cpu7>;
238 };
239 };
240 };
241
242 l2_0: l2-cache0 {
243 compatible = "cache";
244 cache-level = <2>;
245 cache-size = <131072>;
246 cache-line-size = <64>;
247 cache-sets = <512>;
248 next-level-cache = <&l3_0>;
249 cache-unified;
250 };
251
252 l2_1: l2-cache1 {
253 compatible = "cache";
254 cache-level = <2>;
255 cache-size = <262144>;
256 cache-line-size = <64>;
257 cache-sets = <512>;
258 next-level-cache = <&l3_0>;
259 cache-unified;
260 };
261
262 l3_0: l3-cache {
263 compatible = "cache";
264 cache-level = <3>;
265 cache-size = <2097152>;
266 cache-line-size = <64>;
267 cache-sets = <2048>;
268 cache-unified;
269 };
270
271 idle-states {
272 entry-method = "psci";
273 cpu_ret_l: cpu-retention-l {
274 compatible = "arm,idle-state";
275 arm,psci-suspend-param = <0x00010001>;
276 local-timer-stop;
277 entry-latency-us = <55>;
278 exit-latency-us = <140>;
279 min-residency-us = <780>;
280 };
281 cpu_ret_b: cpu-retention-b {
282 compatible = "arm,idle-state";
283 arm,psci-suspend-param = <0x00010001>;
284 local-timer-stop;
285 entry-latency-us = <35>;
286 exit-latency-us = <145>;
287 min-residency-us = <720>;
288 };
289 cpu_off_l: cpu-off-l {
290 compatible = "arm,idle-state";
291 arm,psci-suspend-param = <0x01010002>;
292 local-timer-stop;
293 entry-latency-us = <60>;
294 exit-latency-us = <155>;
295 min-residency-us = <860>;
296 };
297 cpu_off_b: cpu-off-b {
298 compatible = "arm,idle-state";
299 arm,psci-suspend-param = <0x01010002>;
300 local-timer-stop;
301 entry-latency-us = <40>;
302 exit-latency-us = <155>;
303 min-residency-us = <780>;
304 };
305 };
306 };
307
308 pmu-a55 {
309 compatible = "arm,cortex-a55-pmu";
310 interrupt-parent = <&gic>;
311 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>;
312 };
313
314 pmu-a76 {
315 compatible = "arm,cortex-a76-pmu";
316 interrupt-parent = <&gic>;
317 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>;
318 };
319
320 psci {
321 compatible = "arm,psci-1.0";
322 method = "smc";
323 };
324
325 timer: timer {
326 compatible = "arm,armv8-timer";
327 interrupt-parent = <&gic>;
328 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
329 <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>,
330 <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>,
331 <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>;
332 clock-frequency = <13000000>;
333 };
334
335 gpu_opp_table: opp-table-0 {
336 compatible = "operating-points-v2";
337 opp-shared;
338
339 opp-358000000 {
340 opp-hz = /bits/ 64 <358000000>;
341 opp-microvolt = <606250>;
342 };
343
344 opp-399000000 {
345 opp-hz = /bits/ 64 <399000000>;
346 opp-microvolt = <618750>;
347 };
348
349 opp-440000000 {
350 opp-hz = /bits/ 64 <440000000>;
351 opp-microvolt = <631250>;
352 };
353
354 opp-482000000 {
355 opp-hz = /bits/ 64 <482000000>;
356 opp-microvolt = <643750>;
357 };
358
359 opp-523000000 {
360 opp-hz = /bits/ 64 <523000000>;
361 opp-microvolt = <656250>;
362 };
363
364 opp-564000000 {
365 opp-hz = /bits/ 64 <564000000>;
366 opp-microvolt = <668750>;
367 };
368
369 opp-605000000 {
370 opp-hz = /bits/ 64 <605000000>;
371 opp-microvolt = <681250>;
372 };
373
374 opp-647000000 {
375 opp-hz = /bits/ 64 <647000000>;
376 opp-microvolt = <693750>;
377 };
378
379 opp-688000000 {
380 opp-hz = /bits/ 64 <688000000>;
381 opp-microvolt = <706250>;
382 };
383
384 opp-724000000 {
385 opp-hz = /bits/ 64 <724000000>;
386 opp-microvolt = <725000>;
387 };
388
389 opp-748000000 {
390 opp-hz = /bits/ 64 <748000000>;
391 opp-microvolt = <737500>;
392 };
393
394 opp-772000000 {
395 opp-hz = /bits/ 64 <772000000>;
396 opp-microvolt = <750000>;
397 };
398
399 opp-795000000 {
400 opp-hz = /bits/ 64 <795000000>;
401 opp-microvolt = <762500>;
402 };
403
404 opp-819000000 {
405 opp-hz = /bits/ 64 <819000000>;
406 opp-microvolt = <775000>;
407 };
408
409 opp-843000000 {
410 opp-hz = /bits/ 64 <843000000>;
411 opp-microvolt = <787500>;
412 };
413
414 opp-866000000 {
415 opp-hz = /bits/ 64 <866000000>;
416 opp-microvolt = <800000>;
417 };
418 };
419
420 soc {
421 #address-cells = <2>;
422 #size-cells = <2>;
423 compatible = "simple-bus";
424 dma-ranges = <0x0 0x0 0x0 0x0 0x4 0x0>;
425 ranges;
426
427 performance: performance-controller@11bc10 {
428 compatible = "mediatek,cpufreq-hw";
429 reg = <0 0x0011bc10 0 0x120>, <0 0x0011bd30 0 0x120>;
430 #performance-domain-cells = <1>;
431 };
432
433 gic: interrupt-controller@c000000 {
434 compatible = "arm,gic-v3";
435 #interrupt-cells = <4>;
436 #redistributor-regions = <1>;
437 interrupt-parent = <&gic>;
438 interrupt-controller;
439 reg = <0 0x0c000000 0 0x40000>,
440 <0 0x0c040000 0 0x200000>;
441 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
442
443 ppi-partitions {
444 ppi_cluster0: interrupt-partition-0 {
445 affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
446 };
447 ppi_cluster1: interrupt-partition-1 {
448 affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
449 };
450 };
451 };
452
453 topckgen: syscon@10000000 {
454 compatible = "mediatek,mt8192-topckgen", "syscon";
455 reg = <0 0x10000000 0 0x1000>;
456 #clock-cells = <1>;
457 };
458
459 infracfg: syscon@10001000 {
460 compatible = "mediatek,mt8192-infracfg", "syscon";
461 reg = <0 0x10001000 0 0x1000>;
462 #clock-cells = <1>;
463 #reset-cells = <1>;
464 };
465
466 pericfg: syscon@10003000 {
467 compatible = "mediatek,mt8192-pericfg", "syscon";
468 reg = <0 0x10003000 0 0x1000>;
469 #clock-cells = <1>;
470 };
471
472 pio: pinctrl@10005000 {
473 compatible = "mediatek,mt8192-pinctrl";
474 reg = <0 0x10005000 0 0x1000>,
475 <0 0x11c20000 0 0x1000>,
476 <0 0x11d10000 0 0x1000>,
477 <0 0x11d30000 0 0x1000>,
478 <0 0x11d40000 0 0x1000>,
479 <0 0x11e20000 0 0x1000>,
480 <0 0x11e70000 0 0x1000>,
481 <0 0x11ea0000 0 0x1000>,
482 <0 0x11f20000 0 0x1000>,
483 <0 0x11f30000 0 0x1000>,
484 <0 0x1000b000 0 0x1000>;
485 reg-names = "iocfg0", "iocfg_rm", "iocfg_bm",
486 "iocfg_bl", "iocfg_br", "iocfg_lm",
487 "iocfg_lb", "iocfg_rt", "iocfg_lt",
488 "iocfg_tl", "eint";
489 gpio-controller;
490 #gpio-cells = <2>;
491 gpio-ranges = <&pio 0 0 220>;
492 interrupt-controller;
493 interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH 0>;
494 #interrupt-cells = <2>;
495 };
496
497 scpsys: syscon@10006000 {
498 compatible = "mediatek,mt8192-scpsys", "syscon", "simple-mfd";
499 reg = <0 0x10006000 0 0x1000>;
500
501 /* System Power Manager */
502 spm: power-controller {
503 compatible = "mediatek,mt8192-power-controller";
504 #address-cells = <1>;
505 #size-cells = <0>;
506 #power-domain-cells = <1>;
507
508 /* power domain of the SoC */
509 power-domain@MT8192_POWER_DOMAIN_AUDIO {
510 reg = <MT8192_POWER_DOMAIN_AUDIO>;
511 clocks = <&topckgen CLK_TOP_AUD_INTBUS_SEL>,
512 <&infracfg CLK_INFRA_AUDIO_26M_B>,
513 <&infracfg CLK_INFRA_AUDIO>;
514 clock-names = "audio", "audio1", "audio2";
515 mediatek,infracfg = <&infracfg>;
516 #power-domain-cells = <0>;
517 };
518
519 power-domain@MT8192_POWER_DOMAIN_CONN {
520 reg = <MT8192_POWER_DOMAIN_CONN>;
521 clocks = <&infracfg CLK_INFRA_PMIC_CONN>;
522 clock-names = "conn";
523 mediatek,infracfg = <&infracfg>;
524 #power-domain-cells = <0>;
525 };
526
527 mfg0: power-domain@MT8192_POWER_DOMAIN_MFG0 {
528 reg = <MT8192_POWER_DOMAIN_MFG0>;
529 clocks = <&topckgen CLK_TOP_MFG_PLL_SEL>,
530 <&topckgen CLK_TOP_MFG_REF_SEL>;
531 clock-names = "mfg", "alt";
532 #address-cells = <1>;
533 #size-cells = <0>;
534 #power-domain-cells = <1>;
535
536 mfg1: power-domain@MT8192_POWER_DOMAIN_MFG1 {
537 reg = <MT8192_POWER_DOMAIN_MFG1>;
538 mediatek,infracfg = <&infracfg>;
539 #address-cells = <1>;
540 #size-cells = <0>;
541 #power-domain-cells = <1>;
542
543 power-domain@MT8192_POWER_DOMAIN_MFG2 {
544 reg = <MT8192_POWER_DOMAIN_MFG2>;
545 #power-domain-cells = <0>;
546 };
547
548 power-domain@MT8192_POWER_DOMAIN_MFG3 {
549 reg = <MT8192_POWER_DOMAIN_MFG3>;
550 #power-domain-cells = <0>;
551 };
552
553 power-domain@MT8192_POWER_DOMAIN_MFG4 {
554 reg = <MT8192_POWER_DOMAIN_MFG4>;
555 #power-domain-cells = <0>;
556 };
557
558 power-domain@MT8192_POWER_DOMAIN_MFG5 {
559 reg = <MT8192_POWER_DOMAIN_MFG5>;
560 #power-domain-cells = <0>;
561 };
562
563 power-domain@MT8192_POWER_DOMAIN_MFG6 {
564 reg = <MT8192_POWER_DOMAIN_MFG6>;
565 #power-domain-cells = <0>;
566 };
567 };
568 };
569
570 power-domain@MT8192_POWER_DOMAIN_DISP {
571 reg = <MT8192_POWER_DOMAIN_DISP>;
572 clocks = <&topckgen CLK_TOP_DISP_SEL>,
573 <&mmsys CLK_MM_SMI_INFRA>,
574 <&mmsys CLK_MM_SMI_COMMON>,
575 <&mmsys CLK_MM_SMI_GALS>,
576 <&mmsys CLK_MM_SMI_IOMMU>;
577 clock-names = "disp", "disp-0", "disp-1", "disp-2",
578 "disp-3";
579 mediatek,infracfg = <&infracfg>;
580 #address-cells = <1>;
581 #size-cells = <0>;
582 #power-domain-cells = <1>;
583
584 power-domain@MT8192_POWER_DOMAIN_IPE {
585 reg = <MT8192_POWER_DOMAIN_IPE>;
586 clocks = <&topckgen CLK_TOP_IPE_SEL>,
587 <&ipesys CLK_IPE_LARB19>,
588 <&ipesys CLK_IPE_LARB20>,
589 <&ipesys CLK_IPE_SMI_SUBCOM>,
590 <&ipesys CLK_IPE_GALS>;
591 clock-names = "ipe", "ipe-0", "ipe-1", "ipe-2",
592 "ipe-3";
593 mediatek,infracfg = <&infracfg>;
594 #power-domain-cells = <0>;
595 };
596
597 power-domain@MT8192_POWER_DOMAIN_ISP {
598 reg = <MT8192_POWER_DOMAIN_ISP>;
599 clocks = <&topckgen CLK_TOP_IMG1_SEL>,
600 <&imgsys CLK_IMG_LARB9>,
601 <&imgsys CLK_IMG_GALS>;
602 clock-names = "isp", "isp-0", "isp-1";
603 mediatek,infracfg = <&infracfg>;
604 #power-domain-cells = <0>;
605 };
606
607 power-domain@MT8192_POWER_DOMAIN_ISP2 {
608 reg = <MT8192_POWER_DOMAIN_ISP2>;
609 clocks = <&topckgen CLK_TOP_IMG2_SEL>,
610 <&imgsys2 CLK_IMG2_LARB11>,
611 <&imgsys2 CLK_IMG2_GALS>;
612 clock-names = "isp2", "isp2-0", "isp2-1";
613 mediatek,infracfg = <&infracfg>;
614 #power-domain-cells = <0>;
615 };
616
617 power-domain@MT8192_POWER_DOMAIN_MDP {
618 reg = <MT8192_POWER_DOMAIN_MDP>;
619 clocks = <&topckgen CLK_TOP_MDP_SEL>,
620 <&mdpsys CLK_MDP_SMI0>;
621 clock-names = "mdp", "mdp-0";
622 mediatek,infracfg = <&infracfg>;
623 #power-domain-cells = <0>;
624 };
625
626 power-domain@MT8192_POWER_DOMAIN_VENC {
627 reg = <MT8192_POWER_DOMAIN_VENC>;
628 clocks = <&topckgen CLK_TOP_VENC_SEL>,
629 <&vencsys CLK_VENC_SET1_VENC>;
630 clock-names = "venc", "venc-0";
631 mediatek,infracfg = <&infracfg>;
632 #power-domain-cells = <0>;
633 };
634
635 power-domain@MT8192_POWER_DOMAIN_VDEC {
636 reg = <MT8192_POWER_DOMAIN_VDEC>;
637 clocks = <&topckgen CLK_TOP_VDEC_SEL>,
638 <&vdecsys_soc CLK_VDEC_SOC_VDEC>,
639 <&vdecsys_soc CLK_VDEC_SOC_LAT>,
640 <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
641 clock-names = "vdec", "vdec-0", "vdec-1", "vdec-2";
642 mediatek,infracfg = <&infracfg>;
643 #address-cells = <1>;
644 #size-cells = <0>;
645 #power-domain-cells = <1>;
646
647 power-domain@MT8192_POWER_DOMAIN_VDEC2 {
648 reg = <MT8192_POWER_DOMAIN_VDEC2>;
649 clocks = <&vdecsys CLK_VDEC_VDEC>,
650 <&vdecsys CLK_VDEC_LAT>,
651 <&vdecsys CLK_VDEC_LARB1>;
652 clock-names = "vdec2-0", "vdec2-1",
653 "vdec2-2";
654 #power-domain-cells = <0>;
655 };
656 };
657
658 power-domain@MT8192_POWER_DOMAIN_CAM {
659 reg = <MT8192_POWER_DOMAIN_CAM>;
660 clocks = <&topckgen CLK_TOP_CAM_SEL>,
661 <&camsys CLK_CAM_LARB13>,
662 <&camsys CLK_CAM_LARB14>,
663 <&camsys CLK_CAM_CCU_GALS>,
664 <&camsys CLK_CAM_CAM2MM_GALS>;
665 clock-names = "cam", "cam-0", "cam-1", "cam-2",
666 "cam-3";
667 mediatek,infracfg = <&infracfg>;
668 #address-cells = <1>;
669 #size-cells = <0>;
670 #power-domain-cells = <1>;
671
672 power-domain@MT8192_POWER_DOMAIN_CAM_RAWA {
673 reg = <MT8192_POWER_DOMAIN_CAM_RAWA>;
674 clocks = <&camsys_rawa CLK_CAM_RAWA_LARBX>;
675 clock-names = "cam_rawa-0";
676 #power-domain-cells = <0>;
677 };
678
679 power-domain@MT8192_POWER_DOMAIN_CAM_RAWB {
680 reg = <MT8192_POWER_DOMAIN_CAM_RAWB>;
681 clocks = <&camsys_rawb CLK_CAM_RAWB_LARBX>;
682 clock-names = "cam_rawb-0";
683 #power-domain-cells = <0>;
684 };
685
686 power-domain@MT8192_POWER_DOMAIN_CAM_RAWC {
687 reg = <MT8192_POWER_DOMAIN_CAM_RAWC>;
688 clocks = <&camsys_rawc CLK_CAM_RAWC_LARBX>;
689 clock-names = "cam_rawc-0";
690 #power-domain-cells = <0>;
691 };
692 };
693 };
694 };
695 };
696
697 watchdog: watchdog@10007000 {
698 compatible = "mediatek,mt8192-wdt";
699 reg = <0 0x10007000 0 0x100>;
700 #reset-cells = <1>;
701 };
702
703 apmixedsys: syscon@1000c000 {
704 compatible = "mediatek,mt8192-apmixedsys", "syscon";
705 reg = <0 0x1000c000 0 0x1000>;
706 #clock-cells = <1>;
707 };
708
709 systimer: timer@10017000 {
710 compatible = "mediatek,mt8192-timer",
711 "mediatek,mt6765-timer";
712 reg = <0 0x10017000 0 0x1000>;
713 interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH 0>;
714 clocks = <&clk13m>;
715 };
716
717 pwrap: pwrap@10026000 {
718 compatible = "mediatek,mt6873-pwrap";
719 reg = <0 0x10026000 0 0x1000>;
720 reg-names = "pwrap";
721 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>;
722 clocks = <&infracfg CLK_INFRA_PMIC_AP>,
723 <&infracfg CLK_INFRA_PMIC_TMR>;
724 clock-names = "spi", "wrap";
725 assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
726 assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
727 };
728
729 spmi: spmi@10027000 {
730 compatible = "mediatek,mt6873-spmi";
731 reg = <0 0x10027000 0 0x000e00>,
732 <0 0x10029000 0 0x000100>;
733 reg-names = "pmif", "spmimst";
734 clocks = <&infracfg CLK_INFRA_PMIC_AP>,
735 <&infracfg CLK_INFRA_PMIC_TMR>,
736 <&topckgen CLK_TOP_SPMI_MST_SEL>;
737 clock-names = "pmif_sys_ck",
738 "pmif_tmr_ck",
739 "spmimst_clk_mux";
740 assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
741 assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
742 };
743
744 gce: mailbox@10228000 {
745 compatible = "mediatek,mt8192-gce";
746 reg = <0 0x10228000 0 0x4000>;
747 interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 0>;
748 #mbox-cells = <2>;
749 clocks = <&infracfg CLK_INFRA_GCE>;
750 clock-names = "gce";
751 };
752
753 scp_adsp: clock-controller@10720000 {
754 compatible = "mediatek,mt8192-scp_adsp";
755 reg = <0 0x10720000 0 0x1000>;
756 #clock-cells = <1>;
757 /* power domain dependency not upstreamed */
758 status = "fail";
759 };
760
761 uart0: serial@11002000 {
762 compatible = "mediatek,mt8192-uart",
763 "mediatek,mt6577-uart";
764 reg = <0 0x11002000 0 0x1000>;
765 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>;
766 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>;
767 clock-names = "baud", "bus";
768 status = "disabled";
769 };
770
771 uart1: serial@11003000 {
772 compatible = "mediatek,mt8192-uart",
773 "mediatek,mt6577-uart";
774 reg = <0 0x11003000 0 0x1000>;
775 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>;
776 clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>;
777 clock-names = "baud", "bus";
778 status = "disabled";
779 };
780
781 imp_iic_wrap_c: clock-controller@11007000 {
782 compatible = "mediatek,mt8192-imp_iic_wrap_c";
783 reg = <0 0x11007000 0 0x1000>;
784 #clock-cells = <1>;
785 };
786
787 spi0: spi@1100a000 {
788 compatible = "mediatek,mt8192-spi",
789 "mediatek,mt6765-spi";
790 #address-cells = <1>;
791 #size-cells = <0>;
792 reg = <0 0x1100a000 0 0x1000>;
793 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH 0>;
794 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
795 <&topckgen CLK_TOP_SPI_SEL>,
796 <&infracfg CLK_INFRA_SPI0>;
797 clock-names = "parent-clk", "sel-clk", "spi-clk";
798 status = "disabled";
799 };
800
Tom Rini93743d22024-04-01 09:08:13 -0400801 lvts_ap: thermal-sensor@1100b000 {
802 compatible = "mediatek,mt8192-lvts-ap";
803 reg = <0 0x1100b000 0 0xc00>;
804 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH 0>;
805 clocks = <&infracfg CLK_INFRA_THERM>;
806 resets = <&infracfg MT8192_INFRA_RST0_THERM_CTRL_SWRST>;
807 nvmem-cells = <&lvts_e_data1>;
808 nvmem-cell-names = "lvts-calib-data-1";
809 #thermal-sensor-cells = <1>;
810 };
811
812 svs: svs@1100bc00 {
813 compatible = "mediatek,mt8192-svs";
814 reg = <0 0x1100bc00 0 0x400>;
815 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH 0>;
816 clocks = <&infracfg CLK_INFRA_THERM>;
817 clock-names = "main";
818 nvmem-cells = <&svs_calibration>, <&lvts_e_data1>;
819 nvmem-cell-names = "svs-calibration-data", "t-calibration-data";
820 resets = <&infracfg MT8192_INFRA_RST3_THERM_CTRL_PTP_SWRST>;
821 reset-names = "svs_rst";
822 };
823
Tom Rini53633a82024-02-29 12:33:36 -0500824 pwm0: pwm@1100e000 {
825 compatible = "mediatek,mt8183-disp-pwm";
826 reg = <0 0x1100e000 0 0x1000>;
827 interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH 0>;
828 #pwm-cells = <2>;
829 clocks = <&topckgen CLK_TOP_DISP_PWM_SEL>,
830 <&infracfg CLK_INFRA_DISP_PWM>;
831 clock-names = "main", "mm";
832 status = "disabled";
833 };
834
835 spi1: spi@11010000 {
836 compatible = "mediatek,mt8192-spi",
837 "mediatek,mt6765-spi";
838 #address-cells = <1>;
839 #size-cells = <0>;
840 reg = <0 0x11010000 0 0x1000>;
841 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH 0>;
842 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
843 <&topckgen CLK_TOP_SPI_SEL>,
844 <&infracfg CLK_INFRA_SPI1>;
845 clock-names = "parent-clk", "sel-clk", "spi-clk";
846 status = "disabled";
847 };
848
849 spi2: spi@11012000 {
850 compatible = "mediatek,mt8192-spi",
851 "mediatek,mt6765-spi";
852 #address-cells = <1>;
853 #size-cells = <0>;
854 reg = <0 0x11012000 0 0x1000>;
855 interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH 0>;
856 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
857 <&topckgen CLK_TOP_SPI_SEL>,
858 <&infracfg CLK_INFRA_SPI2>;
859 clock-names = "parent-clk", "sel-clk", "spi-clk";
860 status = "disabled";
861 };
862
863 spi3: spi@11013000 {
864 compatible = "mediatek,mt8192-spi",
865 "mediatek,mt6765-spi";
866 #address-cells = <1>;
867 #size-cells = <0>;
868 reg = <0 0x11013000 0 0x1000>;
869 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH 0>;
870 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
871 <&topckgen CLK_TOP_SPI_SEL>,
872 <&infracfg CLK_INFRA_SPI3>;
873 clock-names = "parent-clk", "sel-clk", "spi-clk";
874 status = "disabled";
875 };
876
877 spi4: spi@11018000 {
878 compatible = "mediatek,mt8192-spi",
879 "mediatek,mt6765-spi";
880 #address-cells = <1>;
881 #size-cells = <0>;
882 reg = <0 0x11018000 0 0x1000>;
883 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH 0>;
884 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
885 <&topckgen CLK_TOP_SPI_SEL>,
886 <&infracfg CLK_INFRA_SPI4>;
887 clock-names = "parent-clk", "sel-clk", "spi-clk";
888 status = "disabled";
889 };
890
891 spi5: spi@11019000 {
892 compatible = "mediatek,mt8192-spi",
893 "mediatek,mt6765-spi";
894 #address-cells = <1>;
895 #size-cells = <0>;
896 reg = <0 0x11019000 0 0x1000>;
897 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH 0>;
898 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
899 <&topckgen CLK_TOP_SPI_SEL>,
900 <&infracfg CLK_INFRA_SPI5>;
901 clock-names = "parent-clk", "sel-clk", "spi-clk";
902 status = "disabled";
903 };
904
905 spi6: spi@1101d000 {
906 compatible = "mediatek,mt8192-spi",
907 "mediatek,mt6765-spi";
908 #address-cells = <1>;
909 #size-cells = <0>;
910 reg = <0 0x1101d000 0 0x1000>;
911 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH 0>;
912 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
913 <&topckgen CLK_TOP_SPI_SEL>,
914 <&infracfg CLK_INFRA_SPI6>;
915 clock-names = "parent-clk", "sel-clk", "spi-clk";
916 status = "disabled";
917 };
918
919 spi7: spi@1101e000 {
920 compatible = "mediatek,mt8192-spi",
921 "mediatek,mt6765-spi";
922 #address-cells = <1>;
923 #size-cells = <0>;
924 reg = <0 0x1101e000 0 0x1000>;
925 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH 0>;
926 clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
927 <&topckgen CLK_TOP_SPI_SEL>,
928 <&infracfg CLK_INFRA_SPI7>;
929 clock-names = "parent-clk", "sel-clk", "spi-clk";
930 status = "disabled";
931 };
932
933 scp: scp@10500000 {
934 compatible = "mediatek,mt8192-scp";
935 reg = <0 0x10500000 0 0x100000>,
936 <0 0x10720000 0 0xe0000>,
937 <0 0x10700000 0 0x8000>;
938 reg-names = "sram", "cfg", "l1tcm";
939 interrupts = <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH 0>;
940 clocks = <&infracfg CLK_INFRA_SCPSYS>;
941 clock-names = "main";
942 status = "disabled";
943 };
944
945 xhci: usb@11200000 {
946 compatible = "mediatek,mt8192-xhci",
947 "mediatek,mtk-xhci";
948 reg = <0 0x11200000 0 0x1000>,
949 <0 0x11203e00 0 0x0100>;
950 reg-names = "mac", "ippc";
951 interrupts-extended = <&gic GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>;
952 interrupt-names = "host";
953 phys = <&u2port0 PHY_TYPE_USB2>,
954 <&u3port0 PHY_TYPE_USB3>;
955 assigned-clocks = <&topckgen CLK_TOP_USB_TOP_SEL>,
956 <&topckgen CLK_TOP_SSUSB_XHCI_SEL>;
957 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
958 <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
959 clocks = <&infracfg CLK_INFRA_SSUSB>,
960 <&apmixedsys CLK_APMIXED_USBPLL>,
961 <&clk26m>,
962 <&clk26m>,
963 <&infracfg CLK_INFRA_SSUSB_XHCI>;
964 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
965 "xhci_ck";
966 wakeup-source;
967 mediatek,syscon-wakeup = <&pericfg 0x420 102>;
968 status = "disabled";
969 };
970
971 audsys: syscon@11210000 {
972 compatible = "mediatek,mt8192-audsys", "syscon";
973 reg = <0 0x11210000 0 0x2000>;
974 #clock-cells = <1>;
975
976 afe: mt8192-afe-pcm {
977 compatible = "mediatek,mt8192-audio";
978 interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH 0>;
979 resets = <&watchdog 17>;
980 reset-names = "audiosys";
981 mediatek,apmixedsys = <&apmixedsys>;
982 mediatek,infracfg = <&infracfg>;
983 mediatek,topckgen = <&topckgen>;
984 power-domains = <&spm MT8192_POWER_DOMAIN_AUDIO>;
985 clocks = <&audsys CLK_AUD_AFE>,
986 <&audsys CLK_AUD_DAC>,
987 <&audsys CLK_AUD_DAC_PREDIS>,
988 <&audsys CLK_AUD_ADC>,
989 <&audsys CLK_AUD_ADDA6_ADC>,
990 <&audsys CLK_AUD_22M>,
991 <&audsys CLK_AUD_24M>,
992 <&audsys CLK_AUD_APLL_TUNER>,
993 <&audsys CLK_AUD_APLL2_TUNER>,
994 <&audsys CLK_AUD_TDM>,
995 <&audsys CLK_AUD_TML>,
996 <&audsys CLK_AUD_NLE>,
997 <&audsys CLK_AUD_DAC_HIRES>,
998 <&audsys CLK_AUD_ADC_HIRES>,
999 <&audsys CLK_AUD_ADC_HIRES_TML>,
1000 <&audsys CLK_AUD_ADDA6_ADC_HIRES>,
1001 <&audsys CLK_AUD_3RD_DAC>,
1002 <&audsys CLK_AUD_3RD_DAC_PREDIS>,
1003 <&audsys CLK_AUD_3RD_DAC_TML>,
1004 <&audsys CLK_AUD_3RD_DAC_HIRES>,
1005 <&infracfg CLK_INFRA_AUDIO>,
1006 <&infracfg CLK_INFRA_AUDIO_26M_B>,
1007 <&topckgen CLK_TOP_AUDIO_SEL>,
1008 <&topckgen CLK_TOP_AUD_INTBUS_SEL>,
1009 <&topckgen CLK_TOP_MAINPLL_D4_D4>,
1010 <&topckgen CLK_TOP_AUD_1_SEL>,
1011 <&topckgen CLK_TOP_APLL1>,
1012 <&topckgen CLK_TOP_AUD_2_SEL>,
1013 <&topckgen CLK_TOP_APLL2>,
1014 <&topckgen CLK_TOP_AUD_ENGEN1_SEL>,
1015 <&topckgen CLK_TOP_APLL1_D4>,
1016 <&topckgen CLK_TOP_AUD_ENGEN2_SEL>,
1017 <&topckgen CLK_TOP_APLL2_D4>,
1018 <&topckgen CLK_TOP_APLL_I2S0_M_SEL>,
1019 <&topckgen CLK_TOP_APLL_I2S1_M_SEL>,
1020 <&topckgen CLK_TOP_APLL_I2S2_M_SEL>,
1021 <&topckgen CLK_TOP_APLL_I2S3_M_SEL>,
1022 <&topckgen CLK_TOP_APLL_I2S4_M_SEL>,
1023 <&topckgen CLK_TOP_APLL_I2S5_M_SEL>,
1024 <&topckgen CLK_TOP_APLL_I2S6_M_SEL>,
1025 <&topckgen CLK_TOP_APLL_I2S7_M_SEL>,
1026 <&topckgen CLK_TOP_APLL_I2S8_M_SEL>,
1027 <&topckgen CLK_TOP_APLL_I2S9_M_SEL>,
1028 <&topckgen CLK_TOP_APLL12_DIV0>,
1029 <&topckgen CLK_TOP_APLL12_DIV1>,
1030 <&topckgen CLK_TOP_APLL12_DIV2>,
1031 <&topckgen CLK_TOP_APLL12_DIV3>,
1032 <&topckgen CLK_TOP_APLL12_DIV4>,
1033 <&topckgen CLK_TOP_APLL12_DIVB>,
1034 <&topckgen CLK_TOP_APLL12_DIV5>,
1035 <&topckgen CLK_TOP_APLL12_DIV6>,
1036 <&topckgen CLK_TOP_APLL12_DIV7>,
1037 <&topckgen CLK_TOP_APLL12_DIV8>,
1038 <&topckgen CLK_TOP_APLL12_DIV9>,
1039 <&topckgen CLK_TOP_AUDIO_H_SEL>,
1040 <&clk26m>;
1041 clock-names = "aud_afe_clk",
1042 "aud_dac_clk",
1043 "aud_dac_predis_clk",
1044 "aud_adc_clk",
1045 "aud_adda6_adc_clk",
1046 "aud_apll22m_clk",
1047 "aud_apll24m_clk",
1048 "aud_apll1_tuner_clk",
1049 "aud_apll2_tuner_clk",
1050 "aud_tdm_clk",
1051 "aud_tml_clk",
1052 "aud_nle",
1053 "aud_dac_hires_clk",
1054 "aud_adc_hires_clk",
1055 "aud_adc_hires_tml",
1056 "aud_adda6_adc_hires_clk",
1057 "aud_3rd_dac_clk",
1058 "aud_3rd_dac_predis_clk",
1059 "aud_3rd_dac_tml",
1060 "aud_3rd_dac_hires_clk",
1061 "aud_infra_clk",
1062 "aud_infra_26m_clk",
1063 "top_mux_audio",
1064 "top_mux_audio_int",
1065 "top_mainpll_d4_d4",
1066 "top_mux_aud_1",
1067 "top_apll1_ck",
1068 "top_mux_aud_2",
1069 "top_apll2_ck",
1070 "top_mux_aud_eng1",
1071 "top_apll1_d4",
1072 "top_mux_aud_eng2",
1073 "top_apll2_d4",
1074 "top_i2s0_m_sel",
1075 "top_i2s1_m_sel",
1076 "top_i2s2_m_sel",
1077 "top_i2s3_m_sel",
1078 "top_i2s4_m_sel",
1079 "top_i2s5_m_sel",
1080 "top_i2s6_m_sel",
1081 "top_i2s7_m_sel",
1082 "top_i2s8_m_sel",
1083 "top_i2s9_m_sel",
1084 "top_apll12_div0",
1085 "top_apll12_div1",
1086 "top_apll12_div2",
1087 "top_apll12_div3",
1088 "top_apll12_div4",
1089 "top_apll12_divb",
1090 "top_apll12_div5",
1091 "top_apll12_div6",
1092 "top_apll12_div7",
1093 "top_apll12_div8",
1094 "top_apll12_div9",
1095 "top_mux_audio_h",
1096 "top_clk26m_clk";
1097 };
1098 };
1099
1100 pcie: pcie@11230000 {
1101 compatible = "mediatek,mt8192-pcie";
1102 device_type = "pci";
1103 reg = <0 0x11230000 0 0x2000>;
1104 reg-names = "pcie-mac";
1105 #address-cells = <3>;
1106 #size-cells = <2>;
1107 clocks = <&infracfg CLK_INFRA_PCIE_PL_P_250M>,
1108 <&infracfg CLK_INFRA_PCIE_TL_26M>,
1109 <&infracfg CLK_INFRA_PCIE_TL_96M>,
1110 <&infracfg CLK_INFRA_PCIE_TL_32K>,
1111 <&infracfg CLK_INFRA_PCIE_PERI_26M>,
1112 <&infracfg CLK_INFRA_PCIE_TOP_H_133M>;
1113 clock-names = "pl_250m", "tl_26m", "tl_96m",
1114 "tl_32k", "peri_26m", "top_133m";
1115 assigned-clocks = <&topckgen CLK_TOP_TL_SEL>;
1116 assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D6_D4>;
1117 interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH 0>;
1118 bus-range = <0x00 0xff>;
1119 ranges = <0x82000000 0 0x12000000 0x0 0x12000000 0 0x0800000>,
1120 <0x81000000 0 0x12800000 0x0 0x12800000 0 0x0800000>;
1121 #interrupt-cells = <1>;
1122 interrupt-map-mask = <0 0 0 7>;
1123 interrupt-map = <0 0 0 1 &pcie_intc0 0>,
1124 <0 0 0 2 &pcie_intc0 1>,
1125 <0 0 0 3 &pcie_intc0 2>,
1126 <0 0 0 4 &pcie_intc0 3>;
1127
1128 pcie_intc0: interrupt-controller {
1129 interrupt-controller;
1130 #address-cells = <0>;
1131 #interrupt-cells = <1>;
1132 };
1133 };
1134
1135 nor_flash: spi@11234000 {
1136 compatible = "mediatek,mt8192-nor";
1137 reg = <0 0x11234000 0 0xe0>;
1138 interrupts = <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH 0>;
1139 clocks = <&topckgen CLK_TOP_SFLASH_SEL>,
1140 <&infracfg CLK_INFRA_FLASHIF_SFLASH>,
1141 <&infracfg CLK_INFRA_FLASHIF_TOP_H_133M>;
1142 clock-names = "spi", "sf", "axi";
1143 assigned-clocks = <&topckgen CLK_TOP_SFLASH_SEL>;
1144 assigned-clock-parents = <&clk26m>;
1145 #address-cells = <1>;
1146 #size-cells = <0>;
1147 status = "disabled";
1148 };
1149
Tom Rini93743d22024-04-01 09:08:13 -04001150 lvts_mcu: thermal-sensor@11278000 {
1151 compatible = "mediatek,mt8192-lvts-mcu";
1152 reg = <0 0x11278000 0 0x1000>;
1153 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH 0>;
1154 clocks = <&infracfg CLK_INFRA_THERM>;
1155 resets = <&infracfg MT8192_INFRA_RST4_THERM_CTRL_MCU_SWRST>;
1156 nvmem-cells = <&lvts_e_data1>;
1157 nvmem-cell-names = "lvts-calib-data-1";
1158 #thermal-sensor-cells = <1>;
1159 };
1160
Tom Rini53633a82024-02-29 12:33:36 -05001161 efuse: efuse@11c10000 {
1162 compatible = "mediatek,mt8192-efuse", "mediatek,efuse";
1163 reg = <0 0x11c10000 0 0x1000>;
1164 #address-cells = <1>;
1165 #size-cells = <1>;
1166
Tom Rini6bb92fc2024-05-20 09:54:58 -06001167 socinfo-data1@44 {
1168 reg = <0x044 0x4>;
1169 };
1170
1171 socinfo-data2@50 {
1172 reg = <0x050 0x4>;
1173 };
1174
Tom Rini53633a82024-02-29 12:33:36 -05001175 lvts_e_data1: data1@1c0 {
1176 reg = <0x1c0 0x58>;
1177 };
1178
1179 svs_calibration: calib@580 {
1180 reg = <0x580 0x68>;
1181 };
1182 };
1183
1184 i2c3: i2c@11cb0000 {
1185 compatible = "mediatek,mt8192-i2c";
1186 reg = <0 0x11cb0000 0 0x1000>,
1187 <0 0x10217300 0 0x80>;
1188 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH 0>;
1189 clocks = <&imp_iic_wrap_e CLK_IMP_IIC_WRAP_E_I2C3>,
1190 <&infracfg CLK_INFRA_AP_DMA>;
1191 clock-names = "main", "dma";
1192 clock-div = <1>;
1193 #address-cells = <1>;
1194 #size-cells = <0>;
1195 status = "disabled";
1196 };
1197
1198 imp_iic_wrap_e: clock-controller@11cb1000 {
1199 compatible = "mediatek,mt8192-imp_iic_wrap_e";
1200 reg = <0 0x11cb1000 0 0x1000>;
1201 #clock-cells = <1>;
1202 };
1203
1204 i2c7: i2c@11d00000 {
1205 compatible = "mediatek,mt8192-i2c";
1206 reg = <0 0x11d00000 0 0x1000>,
1207 <0 0x10217600 0 0x180>;
1208 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>;
1209 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>,
1210 <&infracfg CLK_INFRA_AP_DMA>;
1211 clock-names = "main", "dma";
1212 clock-div = <1>;
1213 #address-cells = <1>;
1214 #size-cells = <0>;
1215 status = "disabled";
1216 };
1217
1218 i2c8: i2c@11d01000 {
1219 compatible = "mediatek,mt8192-i2c";
1220 reg = <0 0x11d01000 0 0x1000>,
1221 <0 0x10217780 0 0x180>;
1222 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>;
1223 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C8>,
1224 <&infracfg CLK_INFRA_AP_DMA>;
1225 clock-names = "main", "dma";
1226 clock-div = <1>;
1227 #address-cells = <1>;
1228 #size-cells = <0>;
1229 status = "disabled";
1230 };
1231
1232 i2c9: i2c@11d02000 {
1233 compatible = "mediatek,mt8192-i2c";
1234 reg = <0 0x11d02000 0 0x1000>,
1235 <0 0x10217900 0 0x180>;
1236 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH 0>;
1237 clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C9>,
1238 <&infracfg CLK_INFRA_AP_DMA>;
1239 clock-names = "main", "dma";
1240 clock-div = <1>;
1241 #address-cells = <1>;
1242 #size-cells = <0>;
1243 status = "disabled";
1244 };
1245
1246 imp_iic_wrap_s: clock-controller@11d03000 {
1247 compatible = "mediatek,mt8192-imp_iic_wrap_s";
1248 reg = <0 0x11d03000 0 0x1000>;
1249 #clock-cells = <1>;
1250 };
1251
1252 i2c1: i2c@11d20000 {
1253 compatible = "mediatek,mt8192-i2c";
1254 reg = <0 0x11d20000 0 0x1000>,
1255 <0 0x10217100 0 0x80>;
1256 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 0>;
1257 clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C1>,
1258 <&infracfg CLK_INFRA_AP_DMA>;
1259 clock-names = "main", "dma";
1260 clock-div = <1>;
1261 #address-cells = <1>;
1262 #size-cells = <0>;
1263 status = "disabled";
1264 };
1265
1266 i2c2: i2c@11d21000 {
1267 compatible = "mediatek,mt8192-i2c";
1268 reg = <0 0x11d21000 0 0x1000>,
1269 <0 0x10217180 0 0x180>;
1270 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH 0>;
1271 clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C2>,
1272 <&infracfg CLK_INFRA_AP_DMA>;
1273 clock-names = "main", "dma";
1274 clock-div = <1>;
1275 #address-cells = <1>;
1276 #size-cells = <0>;
1277 status = "disabled";
1278 };
1279
1280 i2c4: i2c@11d22000 {
1281 compatible = "mediatek,mt8192-i2c";
1282 reg = <0 0x11d22000 0 0x1000>,
1283 <0 0x10217380 0 0x180>;
1284 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>;
1285 clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C4>,
1286 <&infracfg CLK_INFRA_AP_DMA>;
1287 clock-names = "main", "dma";
1288 clock-div = <1>;
1289 #address-cells = <1>;
1290 #size-cells = <0>;
1291 status = "disabled";
1292 };
1293
1294 imp_iic_wrap_ws: clock-controller@11d23000 {
1295 compatible = "mediatek,mt8192-imp_iic_wrap_ws";
1296 reg = <0 0x11d23000 0 0x1000>;
1297 #clock-cells = <1>;
1298 };
1299
1300 i2c5: i2c@11e00000 {
1301 compatible = "mediatek,mt8192-i2c";
1302 reg = <0 0x11e00000 0 0x1000>,
1303 <0 0x10217500 0 0x80>;
1304 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH 0>;
1305 clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C5>,
1306 <&infracfg CLK_INFRA_AP_DMA>;
1307 clock-names = "main", "dma";
1308 clock-div = <1>;
1309 #address-cells = <1>;
1310 #size-cells = <0>;
1311 status = "disabled";
1312 };
1313
1314 imp_iic_wrap_w: clock-controller@11e01000 {
1315 compatible = "mediatek,mt8192-imp_iic_wrap_w";
1316 reg = <0 0x11e01000 0 0x1000>;
1317 #clock-cells = <1>;
1318 };
1319
1320 u3phy0: t-phy@11e40000 {
1321 compatible = "mediatek,mt8192-tphy",
1322 "mediatek,generic-tphy-v2";
1323 #address-cells = <1>;
1324 #size-cells = <1>;
1325 ranges = <0x0 0x0 0x11e40000 0x1000>;
1326
1327 u2port0: usb-phy@0 {
1328 reg = <0x0 0x700>;
1329 clocks = <&clk26m>;
1330 clock-names = "ref";
1331 #phy-cells = <1>;
1332 };
1333
1334 u3port0: usb-phy@700 {
1335 reg = <0x700 0x900>;
1336 clocks = <&clk26m>;
1337 clock-names = "ref";
1338 #phy-cells = <1>;
1339 };
1340 };
1341
1342 mipi_tx0: dsi-phy@11e50000 {
1343 compatible = "mediatek,mt8183-mipi-tx";
1344 reg = <0 0x11e50000 0 0x1000>;
1345 clocks = <&apmixedsys CLK_APMIXED_MIPID26M>;
1346 #clock-cells = <0>;
1347 #phy-cells = <0>;
1348 clock-output-names = "mipi_tx0_pll";
1349 status = "disabled";
1350 };
1351
1352 i2c0: i2c@11f00000 {
1353 compatible = "mediatek,mt8192-i2c";
1354 reg = <0 0x11f00000 0 0x1000>,
1355 <0 0x10217080 0 0x80>;
1356 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH 0>;
1357 clocks = <&imp_iic_wrap_n CLK_IMP_IIC_WRAP_N_I2C0>,
1358 <&infracfg CLK_INFRA_AP_DMA>;
1359 clock-names = "main", "dma";
1360 clock-div = <1>;
1361 #address-cells = <1>;
1362 #size-cells = <0>;
1363 status = "disabled";
1364 };
1365
1366 i2c6: i2c@11f01000 {
1367 compatible = "mediatek,mt8192-i2c";
1368 reg = <0 0x11f01000 0 0x1000>,
1369 <0 0x10217580 0 0x80>;
1370 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>;
1371 clocks = <&imp_iic_wrap_n CLK_IMP_IIC_WRAP_N_I2C6>,
1372 <&infracfg CLK_INFRA_AP_DMA>;
1373 clock-names = "main", "dma";
1374 clock-div = <1>;
1375 #address-cells = <1>;
1376 #size-cells = <0>;
1377 status = "disabled";
1378 };
1379
1380 imp_iic_wrap_n: clock-controller@11f02000 {
1381 compatible = "mediatek,mt8192-imp_iic_wrap_n";
1382 reg = <0 0x11f02000 0 0x1000>;
1383 #clock-cells = <1>;
1384 };
1385
1386 msdc_top: clock-controller@11f10000 {
1387 compatible = "mediatek,mt8192-msdc_top";
1388 reg = <0 0x11f10000 0 0x1000>;
1389 #clock-cells = <1>;
1390 };
1391
1392 mmc0: mmc@11f60000 {
1393 compatible = "mediatek,mt8192-mmc", "mediatek,mt8183-mmc";
1394 reg = <0 0x11f60000 0 0x1000>, <0 0x11f50000 0 0x1000>;
1395 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>;
1396 clocks = <&topckgen CLK_TOP_MSDC50_0_SEL>,
1397 <&msdc_top CLK_MSDC_TOP_H_MST_0P>,
1398 <&msdc_top CLK_MSDC_TOP_SRC_0P>,
1399 <&msdc_top CLK_MSDC_TOP_P_CFG>,
1400 <&msdc_top CLK_MSDC_TOP_P_MSDC0>,
1401 <&msdc_top CLK_MSDC_TOP_AXI>,
1402 <&msdc_top CLK_MSDC_TOP_AHB2AXI_BRG_AXI>;
1403 clock-names = "source", "hclk", "source_cg", "sys_cg",
1404 "pclk_cg", "axi_cg", "ahb_cg";
1405 status = "disabled";
1406 };
1407
1408 mmc1: mmc@11f70000 {
1409 compatible = "mediatek,mt8192-mmc", "mediatek,mt8183-mmc";
1410 reg = <0 0x11f70000 0 0x1000>, <0 0x11c70000 0 0x1000>;
1411 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>;
1412 clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>,
1413 <&msdc_top CLK_MSDC_TOP_H_MST_1P>,
1414 <&msdc_top CLK_MSDC_TOP_SRC_1P>,
1415 <&msdc_top CLK_MSDC_TOP_P_CFG>,
1416 <&msdc_top CLK_MSDC_TOP_P_MSDC1>,
1417 <&msdc_top CLK_MSDC_TOP_AXI>,
1418 <&msdc_top CLK_MSDC_TOP_AHB2AXI_BRG_AXI>;
1419 clock-names = "source", "hclk", "source_cg", "sys_cg",
1420 "pclk_cg", "axi_cg", "ahb_cg";
1421 status = "disabled";
1422 };
1423
1424 gpu: gpu@13000000 {
1425 compatible = "mediatek,mt8192-mali", "arm,mali-valhall-jm";
1426 reg = <0 0x13000000 0 0x4000>;
1427 interrupts = <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH 0>,
1428 <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH 0>,
1429 <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH 0>;
1430 interrupt-names = "job", "mmu", "gpu";
1431
1432 clocks = <&apmixedsys CLK_APMIXED_MFGPLL>;
1433
1434 power-domains = <&spm MT8192_POWER_DOMAIN_MFG2>,
1435 <&spm MT8192_POWER_DOMAIN_MFG3>,
1436 <&spm MT8192_POWER_DOMAIN_MFG4>,
1437 <&spm MT8192_POWER_DOMAIN_MFG5>,
1438 <&spm MT8192_POWER_DOMAIN_MFG6>;
1439 power-domain-names = "core0", "core1", "core2", "core3", "core4";
1440
1441 operating-points-v2 = <&gpu_opp_table>;
1442
1443 status = "disabled";
1444 };
1445
1446 mfgcfg: clock-controller@13fbf000 {
1447 compatible = "mediatek,mt8192-mfgcfg";
1448 reg = <0 0x13fbf000 0 0x1000>;
1449 #clock-cells = <1>;
1450 };
1451
1452 mmsys: syscon@14000000 {
1453 compatible = "mediatek,mt8192-mmsys", "syscon";
1454 reg = <0 0x14000000 0 0x1000>;
1455 #clock-cells = <1>;
1456 #reset-cells = <1>;
1457 mboxes = <&gce 0 CMDQ_THR_PRIO_HIGHEST>,
1458 <&gce 1 CMDQ_THR_PRIO_HIGHEST>;
1459 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>;
1460 };
1461
1462 mutex: mutex@14001000 {
1463 compatible = "mediatek,mt8192-disp-mutex";
1464 reg = <0 0x14001000 0 0x1000>;
1465 interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH 0>;
1466 clocks = <&mmsys CLK_MM_DISP_MUTEX0>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06001467 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>;
Tom Rini53633a82024-02-29 12:33:36 -05001468 mediatek,gce-events = <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_0>,
1469 <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_1>;
1470 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1471 };
1472
1473 smi_common: smi@14002000 {
1474 compatible = "mediatek,mt8192-smi-common";
1475 reg = <0 0x14002000 0 0x1000>;
1476 clocks = <&mmsys CLK_MM_SMI_COMMON>,
1477 <&mmsys CLK_MM_SMI_INFRA>,
1478 <&mmsys CLK_MM_SMI_GALS>,
1479 <&mmsys CLK_MM_SMI_GALS>;
1480 clock-names = "apb", "smi", "gals0", "gals1";
1481 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1482 };
1483
1484 larb0: larb@14003000 {
1485 compatible = "mediatek,mt8192-smi-larb";
1486 reg = <0 0x14003000 0 0x1000>;
1487 mediatek,larb-id = <0>;
1488 mediatek,smi = <&smi_common>;
1489 clocks = <&clk26m>, <&clk26m>;
1490 clock-names = "apb", "smi";
1491 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1492 };
1493
1494 larb1: larb@14004000 {
1495 compatible = "mediatek,mt8192-smi-larb";
1496 reg = <0 0x14004000 0 0x1000>;
1497 mediatek,larb-id = <1>;
1498 mediatek,smi = <&smi_common>;
1499 clocks = <&clk26m>, <&clk26m>;
1500 clock-names = "apb", "smi";
1501 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1502 };
1503
1504 ovl0: ovl@14005000 {
1505 compatible = "mediatek,mt8192-disp-ovl";
1506 reg = <0 0x14005000 0 0x1000>;
1507 interrupts = <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH 0>;
1508 clocks = <&mmsys CLK_MM_DISP_OVL0>;
1509 iommus = <&iommu0 M4U_PORT_L0_OVL_RDMA0>,
1510 <&iommu0 M4U_PORT_L0_OVL_RDMA0_HDR>;
1511 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1512 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x5000 0x1000>;
1513 };
1514
1515 ovl_2l0: ovl@14006000 {
1516 compatible = "mediatek,mt8192-disp-ovl-2l";
1517 reg = <0 0x14006000 0 0x1000>;
1518 interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH 0>;
1519 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1520 clocks = <&mmsys CLK_MM_DISP_OVL0_2L>;
1521 iommus = <&iommu0 M4U_PORT_L1_OVL_2L_RDMA0>,
1522 <&iommu0 M4U_PORT_L1_OVL_2L_RDMA0_HDR>;
1523 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x6000 0x1000>;
1524 };
1525
1526 rdma0: rdma@14007000 {
1527 compatible = "mediatek,mt8192-disp-rdma",
1528 "mediatek,mt8183-disp-rdma";
1529 reg = <0 0x14007000 0 0x1000>;
1530 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH 0>;
1531 clocks = <&mmsys CLK_MM_DISP_RDMA0>;
1532 iommus = <&iommu0 M4U_PORT_L0_DISP_RDMA0>;
1533 mediatek,rdma-fifo-size = <5120>;
1534 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1535 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x7000 0x1000>;
1536 };
1537
1538 color0: color@14009000 {
1539 compatible = "mediatek,mt8192-disp-color",
1540 "mediatek,mt8173-disp-color";
1541 reg = <0 0x14009000 0 0x1000>;
1542 interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH 0>;
1543 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1544 clocks = <&mmsys CLK_MM_DISP_COLOR0>;
1545 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x9000 0x1000>;
1546 };
1547
1548 ccorr0: ccorr@1400a000 {
1549 compatible = "mediatek,mt8192-disp-ccorr";
1550 reg = <0 0x1400a000 0 0x1000>;
1551 interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH 0>;
1552 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1553 clocks = <&mmsys CLK_MM_DISP_CCORR0>;
1554 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xa000 0x1000>;
1555 };
1556
1557 aal0: aal@1400b000 {
1558 compatible = "mediatek,mt8192-disp-aal",
1559 "mediatek,mt8183-disp-aal";
1560 reg = <0 0x1400b000 0 0x1000>;
1561 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH 0>;
1562 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1563 clocks = <&mmsys CLK_MM_DISP_AAL0>;
1564 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xb000 0x1000>;
1565 };
1566
1567 gamma0: gamma@1400c000 {
1568 compatible = "mediatek,mt8192-disp-gamma",
1569 "mediatek,mt8183-disp-gamma";
1570 reg = <0 0x1400c000 0 0x1000>;
1571 interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH 0>;
1572 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1573 clocks = <&mmsys CLK_MM_DISP_GAMMA0>;
1574 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>;
1575 };
1576
1577 postmask0: postmask@1400d000 {
1578 compatible = "mediatek,mt8192-disp-postmask";
1579 reg = <0 0x1400d000 0 0x1000>;
1580 interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH 0>;
1581 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1582 clocks = <&mmsys CLK_MM_DISP_POSTMASK0>;
1583 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xd000 0x1000>;
1584 };
1585
1586 dither0: dither@1400e000 {
1587 compatible = "mediatek,mt8192-disp-dither",
1588 "mediatek,mt8183-disp-dither";
1589 reg = <0 0x1400e000 0 0x1000>;
1590 interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH 0>;
1591 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1592 clocks = <&mmsys CLK_MM_DISP_DITHER0>;
1593 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>;
1594 };
1595
1596 dsi0: dsi@14010000 {
1597 compatible = "mediatek,mt8183-dsi";
1598 reg = <0 0x14010000 0 0x1000>;
1599 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>;
1600 clocks = <&mmsys CLK_MM_DSI0>,
1601 <&mmsys CLK_MM_DSI_DSI0>,
1602 <&mipi_tx0>;
1603 clock-names = "engine", "digital", "hs";
1604 phys = <&mipi_tx0>;
1605 phy-names = "dphy";
1606 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1607 resets = <&mmsys MT8192_MMSYS_SW0_RST_B_DISP_DSI0>;
1608 status = "disabled";
1609
1610 port {
1611 dsi_out: endpoint { };
1612 };
1613 };
1614
1615 ovl_2l2: ovl@14014000 {
1616 compatible = "mediatek,mt8192-disp-ovl-2l";
1617 reg = <0 0x14014000 0 0x1000>;
1618 interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH 0>;
1619 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1620 clocks = <&mmsys CLK_MM_DISP_OVL2_2L>;
1621 iommus = <&iommu0 M4U_PORT_L1_OVL_2L_RDMA2>,
1622 <&iommu0 M4U_PORT_L1_OVL_2L_RDMA2_HDR>;
1623 mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x4000 0x1000>;
1624 };
1625
1626 rdma4: rdma@14015000 {
1627 compatible = "mediatek,mt8192-disp-rdma",
1628 "mediatek,mt8183-disp-rdma";
1629 reg = <0 0x14015000 0 0x1000>;
1630 interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH 0>;
1631 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1632 clocks = <&mmsys CLK_MM_DISP_RDMA4>;
1633 iommus = <&iommu0 M4U_PORT_L1_DISP_RDMA4>;
1634 mediatek,rdma-fifo-size = <2048>;
1635 mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x5000 0x1000>;
1636 };
1637
1638 dpi0: dpi@14016000 {
1639 compatible = "mediatek,mt8192-dpi";
1640 reg = <0 0x14016000 0 0x1000>;
1641 interrupts = <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH 0>;
1642 clocks = <&mmsys CLK_MM_DPI_DPI0>,
1643 <&mmsys CLK_MM_DISP_DPI0>,
1644 <&apmixedsys CLK_APMIXED_TVDPLL>;
1645 clock-names = "pixel", "engine", "pll";
1646 status = "disabled";
1647 };
1648
1649 iommu0: m4u@1401d000 {
1650 compatible = "mediatek,mt8192-m4u";
1651 reg = <0 0x1401d000 0 0x1000>;
1652 mediatek,larbs = <&larb0>, <&larb1>, <&larb2>,
1653 <&larb4>, <&larb5>, <&larb7>,
1654 <&larb9>, <&larb11>, <&larb13>,
1655 <&larb14>, <&larb16>, <&larb17>,
1656 <&larb18>, <&larb19>, <&larb20>;
1657 interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>;
1658 clocks = <&mmsys CLK_MM_SMI_IOMMU>;
1659 clock-names = "bclk";
1660 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1661 #iommu-cells = <1>;
1662 };
1663
1664 imgsys: clock-controller@15020000 {
1665 compatible = "mediatek,mt8192-imgsys";
1666 reg = <0 0x15020000 0 0x1000>;
1667 #clock-cells = <1>;
1668 };
1669
1670 larb9: larb@1502e000 {
1671 compatible = "mediatek,mt8192-smi-larb";
1672 reg = <0 0x1502e000 0 0x1000>;
1673 mediatek,larb-id = <9>;
1674 mediatek,smi = <&smi_common>;
1675 clocks = <&imgsys CLK_IMG_LARB9>,
1676 <&imgsys CLK_IMG_LARB9>;
1677 clock-names = "apb", "smi";
1678 power-domains = <&spm MT8192_POWER_DOMAIN_ISP>;
1679 };
1680
1681 imgsys2: clock-controller@15820000 {
1682 compatible = "mediatek,mt8192-imgsys2";
1683 reg = <0 0x15820000 0 0x1000>;
1684 #clock-cells = <1>;
1685 };
1686
1687 larb11: larb@1582e000 {
1688 compatible = "mediatek,mt8192-smi-larb";
1689 reg = <0 0x1582e000 0 0x1000>;
1690 mediatek,larb-id = <11>;
1691 mediatek,smi = <&smi_common>;
1692 clocks = <&imgsys2 CLK_IMG2_LARB11>,
1693 <&imgsys2 CLK_IMG2_LARB11>;
1694 clock-names = "apb", "smi";
1695 power-domains = <&spm MT8192_POWER_DOMAIN_ISP2>;
1696 };
1697
1698 vcodec_dec: video-codec@16000000 {
1699 compatible = "mediatek,mt8192-vcodec-dec";
1700 reg = <0 0x16000000 0 0x1000>;
1701 mediatek,scp = <&scp>;
1702 iommus = <&iommu0 M4U_PORT_L4_VDEC_MC_EXT>;
1703 #address-cells = <2>;
1704 #size-cells = <2>;
1705 ranges = <0 0 0 0x16000000 0 0x26000>;
1706
1707 video-codec@10000 {
1708 compatible = "mediatek,mtk-vcodec-lat";
1709 reg = <0x0 0x10000 0 0x800>;
1710 interrupts = <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH 0>;
1711 iommus = <&iommu0 M4U_PORT_L5_VDEC_LAT0_VLD_EXT>,
1712 <&iommu0 M4U_PORT_L5_VDEC_LAT0_VLD2_EXT>,
1713 <&iommu0 M4U_PORT_L5_VDEC_LAT0_AVC_MV_EXT>,
1714 <&iommu0 M4U_PORT_L5_VDEC_LAT0_PRED_RD_EXT>,
1715 <&iommu0 M4U_PORT_L5_VDEC_LAT0_TILE_EXT>,
1716 <&iommu0 M4U_PORT_L5_VDEC_LAT0_WDMA_EXT>,
1717 <&iommu0 M4U_PORT_L5_VDEC_LAT0_RG_CTRL_DMA_EXT>,
1718 <&iommu0 M4U_PORT_L5_VDEC_UFO_ENC_EXT>;
1719 clocks = <&topckgen CLK_TOP_VDEC_SEL>,
1720 <&vdecsys_soc CLK_VDEC_SOC_VDEC>,
1721 <&vdecsys_soc CLK_VDEC_SOC_LAT>,
1722 <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
1723 <&topckgen CLK_TOP_MAINPLL_D4>;
1724 clock-names = "sel", "soc-vdec", "soc-lat", "vdec", "top";
1725 assigned-clocks = <&topckgen CLK_TOP_VDEC_SEL>;
1726 assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4>;
1727 power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
1728 };
1729
1730 video-codec@25000 {
1731 compatible = "mediatek,mtk-vcodec-core";
1732 reg = <0 0x25000 0 0x1000>;
1733 interrupts = <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH 0>;
1734 iommus = <&iommu0 M4U_PORT_L4_VDEC_MC_EXT>,
1735 <&iommu0 M4U_PORT_L4_VDEC_UFO_EXT>,
1736 <&iommu0 M4U_PORT_L4_VDEC_PP_EXT>,
1737 <&iommu0 M4U_PORT_L4_VDEC_PRED_RD_EXT>,
1738 <&iommu0 M4U_PORT_L4_VDEC_PRED_WR_EXT>,
1739 <&iommu0 M4U_PORT_L4_VDEC_PPWRAP_EXT>,
1740 <&iommu0 M4U_PORT_L4_VDEC_TILE_EXT>,
1741 <&iommu0 M4U_PORT_L4_VDEC_VLD_EXT>,
1742 <&iommu0 M4U_PORT_L4_VDEC_VLD2_EXT>,
1743 <&iommu0 M4U_PORT_L4_VDEC_AVC_MV_EXT>,
1744 <&iommu0 M4U_PORT_L4_VDEC_RG_CTRL_DMA_EXT>;
1745 clocks = <&topckgen CLK_TOP_VDEC_SEL>,
1746 <&vdecsys CLK_VDEC_VDEC>,
1747 <&vdecsys CLK_VDEC_LAT>,
1748 <&vdecsys CLK_VDEC_LARB1>,
1749 <&topckgen CLK_TOP_MAINPLL_D4>;
1750 clock-names = "sel", "soc-vdec", "soc-lat", "vdec", "top";
1751 assigned-clocks = <&topckgen CLK_TOP_VDEC_SEL>;
1752 assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4>;
1753 power-domains = <&spm MT8192_POWER_DOMAIN_VDEC2>;
1754 };
1755 };
1756
1757 larb5: larb@1600d000 {
1758 compatible = "mediatek,mt8192-smi-larb";
1759 reg = <0 0x1600d000 0 0x1000>;
1760 mediatek,larb-id = <5>;
1761 mediatek,smi = <&smi_common>;
1762 clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
1763 <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
1764 clock-names = "apb", "smi";
1765 power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
1766 };
1767
1768 vdecsys_soc: clock-controller@1600f000 {
1769 compatible = "mediatek,mt8192-vdecsys_soc";
1770 reg = <0 0x1600f000 0 0x1000>;
1771 #clock-cells = <1>;
1772 };
1773
1774 larb4: larb@1602e000 {
1775 compatible = "mediatek,mt8192-smi-larb";
1776 reg = <0 0x1602e000 0 0x1000>;
1777 mediatek,larb-id = <4>;
1778 mediatek,smi = <&smi_common>;
1779 clocks = <&vdecsys CLK_VDEC_SOC_LARB1>,
1780 <&vdecsys CLK_VDEC_SOC_LARB1>;
1781 clock-names = "apb", "smi";
1782 power-domains = <&spm MT8192_POWER_DOMAIN_VDEC2>;
1783 };
1784
1785 vdecsys: clock-controller@1602f000 {
1786 compatible = "mediatek,mt8192-vdecsys";
1787 reg = <0 0x1602f000 0 0x1000>;
1788 #clock-cells = <1>;
1789 };
1790
1791 vencsys: clock-controller@17000000 {
1792 compatible = "mediatek,mt8192-vencsys";
1793 reg = <0 0x17000000 0 0x1000>;
1794 #clock-cells = <1>;
1795 };
1796
1797 larb7: larb@17010000 {
1798 compatible = "mediatek,mt8192-smi-larb";
1799 reg = <0 0x17010000 0 0x1000>;
1800 mediatek,larb-id = <7>;
1801 mediatek,smi = <&smi_common>;
1802 clocks = <&vencsys CLK_VENC_SET0_LARB>,
1803 <&vencsys CLK_VENC_SET1_VENC>;
1804 clock-names = "apb", "smi";
1805 power-domains = <&spm MT8192_POWER_DOMAIN_VENC>;
1806 };
1807
1808 vcodec_enc: vcodec@17020000 {
1809 compatible = "mediatek,mt8192-vcodec-enc";
1810 reg = <0 0x17020000 0 0x2000>;
1811 iommus = <&iommu0 M4U_PORT_L7_VENC_RCPU>,
1812 <&iommu0 M4U_PORT_L7_VENC_REC>,
1813 <&iommu0 M4U_PORT_L7_VENC_BSDMA>,
1814 <&iommu0 M4U_PORT_L7_VENC_SV_COMV>,
1815 <&iommu0 M4U_PORT_L7_VENC_RD_COMV>,
1816 <&iommu0 M4U_PORT_L7_VENC_CUR_LUMA>,
1817 <&iommu0 M4U_PORT_L7_VENC_CUR_CHROMA>,
1818 <&iommu0 M4U_PORT_L7_VENC_REF_LUMA>,
1819 <&iommu0 M4U_PORT_L7_VENC_REF_CHROMA>,
1820 <&iommu0 M4U_PORT_L7_VENC_SUB_R_LUMA>,
1821 <&iommu0 M4U_PORT_L7_VENC_SUB_W_LUMA>;
1822 interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH 0>;
1823 mediatek,scp = <&scp>;
1824 power-domains = <&spm MT8192_POWER_DOMAIN_VENC>;
1825 clocks = <&vencsys CLK_VENC_SET1_VENC>;
Tom Rini6bb92fc2024-05-20 09:54:58 -06001826 clock-names = "venc_sel";
Tom Rini53633a82024-02-29 12:33:36 -05001827 assigned-clocks = <&topckgen CLK_TOP_VENC_SEL>;
1828 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>;
1829 };
1830
1831 camsys: clock-controller@1a000000 {
1832 compatible = "mediatek,mt8192-camsys";
1833 reg = <0 0x1a000000 0 0x1000>;
1834 #clock-cells = <1>;
1835 };
1836
1837 larb13: larb@1a001000 {
1838 compatible = "mediatek,mt8192-smi-larb";
1839 reg = <0 0x1a001000 0 0x1000>;
1840 mediatek,larb-id = <13>;
1841 mediatek,smi = <&smi_common>;
1842 clocks = <&camsys CLK_CAM_CAM>,
1843 <&camsys CLK_CAM_LARB13>;
1844 clock-names = "apb", "smi";
1845 power-domains = <&spm MT8192_POWER_DOMAIN_CAM>;
1846 };
1847
1848 larb14: larb@1a002000 {
1849 compatible = "mediatek,mt8192-smi-larb";
1850 reg = <0 0x1a002000 0 0x1000>;
1851 mediatek,larb-id = <14>;
1852 mediatek,smi = <&smi_common>;
1853 clocks = <&camsys CLK_CAM_CAM>,
1854 <&camsys CLK_CAM_LARB14>;
1855 clock-names = "apb", "smi";
1856 power-domains = <&spm MT8192_POWER_DOMAIN_CAM>;
1857 };
1858
1859 larb16: larb@1a00f000 {
1860 compatible = "mediatek,mt8192-smi-larb";
1861 reg = <0 0x1a00f000 0 0x1000>;
1862 mediatek,larb-id = <16>;
1863 mediatek,smi = <&smi_common>;
1864 clocks = <&camsys_rawa CLK_CAM_RAWA_CAM>,
1865 <&camsys_rawa CLK_CAM_RAWA_LARBX>;
1866 clock-names = "apb", "smi";
1867 power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWA>;
1868 };
1869
1870 larb17: larb@1a010000 {
1871 compatible = "mediatek,mt8192-smi-larb";
1872 reg = <0 0x1a010000 0 0x1000>;
1873 mediatek,larb-id = <17>;
1874 mediatek,smi = <&smi_common>;
1875 clocks = <&camsys_rawb CLK_CAM_RAWB_CAM>,
1876 <&camsys_rawb CLK_CAM_RAWB_LARBX>;
1877 clock-names = "apb", "smi";
1878 power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWB>;
1879 };
1880
1881 larb18: larb@1a011000 {
1882 compatible = "mediatek,mt8192-smi-larb";
1883 reg = <0 0x1a011000 0 0x1000>;
1884 mediatek,larb-id = <18>;
1885 mediatek,smi = <&smi_common>;
1886 clocks = <&camsys_rawc CLK_CAM_RAWC_LARBX>,
1887 <&camsys_rawc CLK_CAM_RAWC_CAM>;
1888 clock-names = "apb", "smi";
1889 power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWC>;
1890 };
1891
1892 camsys_rawa: clock-controller@1a04f000 {
1893 compatible = "mediatek,mt8192-camsys_rawa";
1894 reg = <0 0x1a04f000 0 0x1000>;
1895 #clock-cells = <1>;
1896 };
1897
1898 camsys_rawb: clock-controller@1a06f000 {
1899 compatible = "mediatek,mt8192-camsys_rawb";
1900 reg = <0 0x1a06f000 0 0x1000>;
1901 #clock-cells = <1>;
1902 };
1903
1904 camsys_rawc: clock-controller@1a08f000 {
1905 compatible = "mediatek,mt8192-camsys_rawc";
1906 reg = <0 0x1a08f000 0 0x1000>;
1907 #clock-cells = <1>;
1908 };
1909
1910 ipesys: clock-controller@1b000000 {
1911 compatible = "mediatek,mt8192-ipesys";
1912 reg = <0 0x1b000000 0 0x1000>;
1913 #clock-cells = <1>;
1914 };
1915
1916 larb20: larb@1b00f000 {
1917 compatible = "mediatek,mt8192-smi-larb";
1918 reg = <0 0x1b00f000 0 0x1000>;
1919 mediatek,larb-id = <20>;
1920 mediatek,smi = <&smi_common>;
1921 clocks = <&ipesys CLK_IPE_SMI_SUBCOM>,
1922 <&ipesys CLK_IPE_LARB20>;
1923 clock-names = "apb", "smi";
1924 power-domains = <&spm MT8192_POWER_DOMAIN_IPE>;
1925 };
1926
1927 larb19: larb@1b10f000 {
1928 compatible = "mediatek,mt8192-smi-larb";
1929 reg = <0 0x1b10f000 0 0x1000>;
1930 mediatek,larb-id = <19>;
1931 mediatek,smi = <&smi_common>;
1932 clocks = <&ipesys CLK_IPE_SMI_SUBCOM>,
1933 <&ipesys CLK_IPE_LARB19>;
1934 clock-names = "apb", "smi";
1935 power-domains = <&spm MT8192_POWER_DOMAIN_IPE>;
1936 };
1937
1938 mdpsys: clock-controller@1f000000 {
1939 compatible = "mediatek,mt8192-mdpsys";
1940 reg = <0 0x1f000000 0 0x1000>;
1941 #clock-cells = <1>;
1942 };
1943
1944 larb2: larb@1f002000 {
1945 compatible = "mediatek,mt8192-smi-larb";
1946 reg = <0 0x1f002000 0 0x1000>;
1947 mediatek,larb-id = <2>;
1948 mediatek,smi = <&smi_common>;
1949 clocks = <&mdpsys CLK_MDP_SMI0>,
1950 <&mdpsys CLK_MDP_SMI0>;
1951 clock-names = "apb", "smi";
1952 power-domains = <&spm MT8192_POWER_DOMAIN_MDP>;
1953 };
1954 };
Tom Rini93743d22024-04-01 09:08:13 -04001955
1956 thermal_zones: thermal-zones {
1957 cpu0-thermal {
1958 polling-delay = <1000>;
1959 polling-delay-passive = <250>;
1960 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU0>;
1961
1962 trips {
1963 cpu0_alert: trip-alert {
1964 temperature = <85000>;
1965 hysteresis = <2000>;
1966 type = "passive";
1967 };
1968
1969 cpu0_crit: trip-crit {
1970 temperature = <100000>;
1971 hysteresis = <2000>;
1972 type = "critical";
1973 };
1974 };
1975
1976 cooling-maps {
1977 map0 {
1978 trip = <&cpu0_alert>;
1979 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1980 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1981 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1982 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1983 };
1984 };
1985 };
1986
1987 cpu1-thermal {
1988 polling-delay = <1000>;
1989 polling-delay-passive = <250>;
1990 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU1>;
1991
1992 trips {
1993 cpu1_alert: trip-alert {
1994 temperature = <85000>;
1995 hysteresis = <2000>;
1996 type = "passive";
1997 };
1998
1999 cpu1_crit: trip-crit {
2000 temperature = <100000>;
2001 hysteresis = <2000>;
2002 type = "critical";
2003 };
2004 };
2005
2006 cooling-maps {
2007 map0 {
2008 trip = <&cpu1_alert>;
2009 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2010 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2011 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2012 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2013 };
2014 };
2015 };
2016
2017 cpu2-thermal {
2018 polling-delay = <1000>;
2019 polling-delay-passive = <250>;
2020 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU2>;
2021
2022 trips {
2023 cpu2_alert: trip-alert {
2024 temperature = <85000>;
2025 hysteresis = <2000>;
2026 type = "passive";
2027 };
2028
2029 cpu2_crit: trip-crit {
2030 temperature = <100000>;
2031 hysteresis = <2000>;
2032 type = "critical";
2033 };
2034 };
2035
2036 cooling-maps {
2037 map0 {
2038 trip = <&cpu2_alert>;
2039 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2040 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2041 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2042 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2043 };
2044 };
2045 };
2046
2047 cpu3-thermal {
2048 polling-delay = <1000>;
2049 polling-delay-passive = <250>;
2050 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU3>;
2051
2052 trips {
2053 cpu3_alert: trip-alert {
2054 temperature = <85000>;
2055 hysteresis = <2000>;
2056 type = "passive";
2057 };
2058
2059 cpu3_crit: trip-crit {
2060 temperature = <100000>;
2061 hysteresis = <2000>;
2062 type = "critical";
2063 };
2064 };
2065
2066 cooling-maps {
2067 map0 {
2068 trip = <&cpu3_alert>;
2069 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2070 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2071 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2072 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2073 };
2074 };
2075 };
2076
2077 cpu4-thermal {
2078 polling-delay = <1000>;
2079 polling-delay-passive = <250>;
2080 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU0>;
2081
2082 trips {
2083 cpu4_alert: trip-alert {
2084 temperature = <85000>;
2085 hysteresis = <2000>;
2086 type = "passive";
2087 };
2088
2089 cpu4_crit: trip-crit {
2090 temperature = <100000>;
2091 hysteresis = <2000>;
2092 type = "critical";
2093 };
2094 };
2095
2096 cooling-maps {
2097 map0 {
2098 trip = <&cpu4_alert>;
2099 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2100 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2101 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2102 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2103 };
2104 };
2105 };
2106
2107 cpu5-thermal {
2108 polling-delay = <1000>;
2109 polling-delay-passive = <250>;
2110 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU1>;
2111
2112 trips {
2113 cpu5_alert: trip-alert {
2114 temperature = <85000>;
2115 hysteresis = <2000>;
2116 type = "passive";
2117 };
2118
2119 cpu5_crit: trip-crit {
2120 temperature = <100000>;
2121 hysteresis = <2000>;
2122 type = "critical";
2123 };
2124 };
2125
2126 cooling-maps {
2127 map0 {
2128 trip = <&cpu5_alert>;
2129 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2130 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2131 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2132 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2133 };
2134 };
2135 };
2136
2137 cpu6-thermal {
2138 polling-delay = <1000>;
2139 polling-delay-passive = <250>;
2140 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU2>;
2141
2142 trips {
2143 cpu6_alert: trip-alert {
2144 temperature = <85000>;
2145 hysteresis = <2000>;
2146 type = "passive";
2147 };
2148
2149 cpu6_crit: trip-crit {
2150 temperature = <100000>;
2151 hysteresis = <2000>;
2152 type = "critical";
2153 };
2154 };
2155
2156 cooling-maps {
2157 map0 {
2158 trip = <&cpu6_alert>;
2159 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2160 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2161 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2162 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2163 };
2164 };
2165 };
2166
2167 cpu7-thermal {
2168 polling-delay = <1000>;
2169 polling-delay-passive = <250>;
2170 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU3>;
2171
2172 trips {
2173 cpu7_alert: trip-alert {
2174 temperature = <85000>;
2175 hysteresis = <2000>;
2176 type = "passive";
2177 };
2178
2179 cpu7_crit: trip-crit {
2180 temperature = <100000>;
2181 hysteresis = <2000>;
2182 type = "critical";
2183 };
2184 };
2185
2186 cooling-maps {
2187 map0 {
2188 trip = <&cpu7_alert>;
2189 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2190 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2191 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2192 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2193 };
2194 };
2195 };
2196
2197 vpu0-thermal {
2198 polling-delay = <1000>;
2199 polling-delay-passive = <250>;
2200 thermal-sensors = <&lvts_ap MT8192_AP_VPU0>;
2201
2202 trips {
2203 vpu0_alert: trip-alert {
2204 temperature = <85000>;
2205 hysteresis = <2000>;
2206 type = "passive";
2207 };
2208
2209 vpu0_crit: trip-crit {
2210 temperature = <100000>;
2211 hysteresis = <2000>;
2212 type = "critical";
2213 };
2214 };
2215 };
2216
2217 vpu1-thermal {
2218 polling-delay = <1000>;
2219 polling-delay-passive = <250>;
2220 thermal-sensors = <&lvts_ap MT8192_AP_VPU1>;
2221
2222 trips {
2223 vpu1_alert: trip-alert {
2224 temperature = <85000>;
2225 hysteresis = <2000>;
2226 type = "passive";
2227 };
2228
2229 vpu1_crit: trip-crit {
2230 temperature = <100000>;
2231 hysteresis = <2000>;
2232 type = "critical";
2233 };
2234 };
2235 };
2236
2237 gpu0-thermal {
2238 polling-delay = <1000>;
2239 polling-delay-passive = <250>;
2240 thermal-sensors = <&lvts_ap MT8192_AP_GPU0>;
2241
2242 trips {
2243 gpu0_alert: trip-alert {
2244 temperature = <85000>;
2245 hysteresis = <2000>;
2246 type = "passive";
2247 };
2248
2249 gpu0_crit: trip-crit {
2250 temperature = <100000>;
2251 hysteresis = <2000>;
2252 type = "critical";
2253 };
2254 };
2255 };
2256
2257 gpu1-thermal {
2258 polling-delay = <1000>;
2259 polling-delay-passive = <250>;
2260 thermal-sensors = <&lvts_ap MT8192_AP_GPU1>;
2261
2262 trips {
2263 gpu1_alert: trip-alert {
2264 temperature = <85000>;
2265 hysteresis = <2000>;
2266 type = "passive";
2267 };
2268
2269 gpu1_crit: trip-crit {
2270 temperature = <100000>;
2271 hysteresis = <2000>;
2272 type = "critical";
2273 };
2274 };
2275 };
2276
2277 infra-thermal {
2278 polling-delay = <1000>;
2279 polling-delay-passive = <250>;
2280 thermal-sensors = <&lvts_ap MT8192_AP_INFRA>;
2281
2282 trips {
2283 infra_alert: trip-alert {
2284 temperature = <85000>;
2285 hysteresis = <2000>;
2286 type = "passive";
2287 };
2288
2289 infra_crit: trip-crit {
2290 temperature = <100000>;
2291 hysteresis = <2000>;
2292 type = "critical";
2293 };
2294 };
2295 };
2296
2297 cam-thermal {
2298 polling-delay = <1000>;
2299 polling-delay-passive = <250>;
2300 thermal-sensors = <&lvts_ap MT8192_AP_CAM>;
2301
2302 trips {
2303 cam_alert: trip-alert {
2304 temperature = <85000>;
2305 hysteresis = <2000>;
2306 type = "passive";
2307 };
2308
2309 cam_crit: trip-crit {
2310 temperature = <100000>;
2311 hysteresis = <2000>;
2312 type = "critical";
2313 };
2314 };
2315 };
2316
2317 md0-thermal {
2318 polling-delay = <1000>;
2319 polling-delay-passive = <250>;
2320 thermal-sensors = <&lvts_ap MT8192_AP_MD0>;
2321
2322 trips {
2323 md0_alert: trip-alert {
2324 temperature = <85000>;
2325 hysteresis = <2000>;
2326 type = "passive";
2327 };
2328
2329 md0_crit: trip-crit {
2330 temperature = <100000>;
2331 hysteresis = <2000>;
2332 type = "critical";
2333 };
2334 };
2335 };
2336
2337 md1-thermal {
2338 polling-delay = <1000>;
2339 polling-delay-passive = <250>;
2340 thermal-sensors = <&lvts_ap MT8192_AP_MD1>;
2341
2342 trips {
2343 md1_alert: trip-alert {
2344 temperature = <85000>;
2345 hysteresis = <2000>;
2346 type = "passive";
2347 };
2348
2349 md1_crit: trip-crit {
2350 temperature = <100000>;
2351 hysteresis = <2000>;
2352 type = "critical";
2353 };
2354 };
2355 };
2356
2357 md2-thermal {
2358 polling-delay = <1000>;
2359 polling-delay-passive = <250>;
2360 thermal-sensors = <&lvts_ap MT8192_AP_MD2>;
2361
2362 trips {
2363 md2_alert: trip-alert {
2364 temperature = <85000>;
2365 hysteresis = <2000>;
2366 type = "passive";
2367 };
2368
2369 md2_crit: trip-crit {
2370 temperature = <100000>;
2371 hysteresis = <2000>;
2372 type = "critical";
2373 };
2374 };
2375 };
2376 };
Tom Rini53633a82024-02-29 12:33:36 -05002377};