1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
3 * Copyright (C) 2020 MediaTek Inc.
4 * Author: Seiya Wang <seiya.wang@mediatek.com>
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>
17 #include <dt-bindings/thermal/thermal.h>
18 #include <dt-bindings/thermal/mediatek,lvts-thermal.h>
21 compatible = "mediatek,mt8192";
22 interrupt-parent = <&gic>;
34 clk13m: fixed-factor-clock-13m {
35 compatible = "fixed-factor-clock";
40 clock-output-names = "clk13m";
44 compatible = "fixed-clock";
46 clock-frequency = <26000000>;
47 clock-output-names = "clk26m";
51 compatible = "fixed-clock";
53 clock-frequency = <32768>;
54 clock-output-names = "clk32k";
63 compatible = "arm,cortex-a55";
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>;
71 d-cache-size = <32768>;
72 d-cache-line-size = <64>;
74 next-level-cache = <&l2_0>;
75 performance-domains = <&performance 0>;
76 capacity-dmips-mhz = <427>;
82 compatible = "arm,cortex-a55";
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>;
90 d-cache-size = <32768>;
91 d-cache-line-size = <64>;
93 next-level-cache = <&l2_0>;
94 performance-domains = <&performance 0>;
95 capacity-dmips-mhz = <427>;
101 compatible = "arm,cortex-a55";
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>;
115 #cooling-cells = <2>;
120 compatible = "arm,cortex-a55";
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>;
134 #cooling-cells = <2>;
139 compatible = "arm,cortex-a76";
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>;
153 #cooling-cells = <2>;
158 compatible = "arm,cortex-a76";
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>;
172 #cooling-cells = <2>;
177 compatible = "arm,cortex-a76";
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>;
191 #cooling-cells = <2>;
196 compatible = "arm,cortex-a76";
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>;
210 #cooling-cells = <2>;
243 compatible = "cache";
245 cache-size = <131072>;
246 cache-line-size = <64>;
248 next-level-cache = <&l3_0>;
253 compatible = "cache";
255 cache-size = <262144>;
256 cache-line-size = <64>;
258 next-level-cache = <&l3_0>;
263 compatible = "cache";
265 cache-size = <2097152>;
266 cache-line-size = <64>;
272 entry-method = "psci";
273 cpu_ret_l: cpu-retention-l {
274 compatible = "arm,idle-state";
275 arm,psci-suspend-param = <0x00010001>;
277 entry-latency-us = <55>;
278 exit-latency-us = <140>;
279 min-residency-us = <780>;
281 cpu_ret_b: cpu-retention-b {
282 compatible = "arm,idle-state";
283 arm,psci-suspend-param = <0x00010001>;
285 entry-latency-us = <35>;
286 exit-latency-us = <145>;
287 min-residency-us = <720>;
289 cpu_off_l: cpu-off-l {
290 compatible = "arm,idle-state";
291 arm,psci-suspend-param = <0x01010002>;
293 entry-latency-us = <60>;
294 exit-latency-us = <155>;
295 min-residency-us = <860>;
297 cpu_off_b: cpu-off-b {
298 compatible = "arm,idle-state";
299 arm,psci-suspend-param = <0x01010002>;
301 entry-latency-us = <40>;
302 exit-latency-us = <155>;
303 min-residency-us = <780>;
309 compatible = "arm,cortex-a55-pmu";
310 interrupt-parent = <&gic>;
311 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>;
315 compatible = "arm,cortex-a76-pmu";
316 interrupt-parent = <&gic>;
317 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>;
321 compatible = "arm,psci-1.0";
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>;
335 gpu_opp_table: opp-table-0 {
336 compatible = "operating-points-v2";
340 opp-hz = /bits/ 64 <358000000>;
341 opp-microvolt = <606250>;
345 opp-hz = /bits/ 64 <399000000>;
346 opp-microvolt = <618750>;
350 opp-hz = /bits/ 64 <440000000>;
351 opp-microvolt = <631250>;
355 opp-hz = /bits/ 64 <482000000>;
356 opp-microvolt = <643750>;
360 opp-hz = /bits/ 64 <523000000>;
361 opp-microvolt = <656250>;
365 opp-hz = /bits/ 64 <564000000>;
366 opp-microvolt = <668750>;
370 opp-hz = /bits/ 64 <605000000>;
371 opp-microvolt = <681250>;
375 opp-hz = /bits/ 64 <647000000>;
376 opp-microvolt = <693750>;
380 opp-hz = /bits/ 64 <688000000>;
381 opp-microvolt = <706250>;
385 opp-hz = /bits/ 64 <724000000>;
386 opp-microvolt = <725000>;
390 opp-hz = /bits/ 64 <748000000>;
391 opp-microvolt = <737500>;
395 opp-hz = /bits/ 64 <772000000>;
396 opp-microvolt = <750000>;
400 opp-hz = /bits/ 64 <795000000>;
401 opp-microvolt = <762500>;
405 opp-hz = /bits/ 64 <819000000>;
406 opp-microvolt = <775000>;
410 opp-hz = /bits/ 64 <843000000>;
411 opp-microvolt = <787500>;
415 opp-hz = /bits/ 64 <866000000>;
416 opp-microvolt = <800000>;
421 #address-cells = <2>;
423 compatible = "simple-bus";
424 dma-ranges = <0x0 0x0 0x0 0x0 0x4 0x0>;
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>;
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>;
444 ppi_cluster0: interrupt-partition-0 {
445 affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
447 ppi_cluster1: interrupt-partition-1 {
448 affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
453 topckgen: syscon@10000000 {
454 compatible = "mediatek,mt8192-topckgen", "syscon";
455 reg = <0 0x10000000 0 0x1000>;
459 infracfg: syscon@10001000 {
460 compatible = "mediatek,mt8192-infracfg", "syscon";
461 reg = <0 0x10001000 0 0x1000>;
466 pericfg: syscon@10003000 {
467 compatible = "mediatek,mt8192-pericfg", "syscon";
468 reg = <0 0x10003000 0 0x1000>;
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",
491 gpio-ranges = <&pio 0 0 220>;
492 interrupt-controller;
493 interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH 0>;
494 #interrupt-cells = <2>;
497 scpsys: syscon@10006000 {
498 compatible = "mediatek,mt8192-scpsys", "syscon", "simple-mfd";
499 reg = <0 0x10006000 0 0x1000>;
501 /* System Power Manager */
502 spm: power-controller {
503 compatible = "mediatek,mt8192-power-controller";
504 #address-cells = <1>;
506 #power-domain-cells = <1>;
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>;
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>;
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>;
534 #power-domain-cells = <1>;
536 mfg1: power-domain@MT8192_POWER_DOMAIN_MFG1 {
537 reg = <MT8192_POWER_DOMAIN_MFG1>;
538 mediatek,infracfg = <&infracfg>;
539 #address-cells = <1>;
541 #power-domain-cells = <1>;
543 power-domain@MT8192_POWER_DOMAIN_MFG2 {
544 reg = <MT8192_POWER_DOMAIN_MFG2>;
545 #power-domain-cells = <0>;
548 power-domain@MT8192_POWER_DOMAIN_MFG3 {
549 reg = <MT8192_POWER_DOMAIN_MFG3>;
550 #power-domain-cells = <0>;
553 power-domain@MT8192_POWER_DOMAIN_MFG4 {
554 reg = <MT8192_POWER_DOMAIN_MFG4>;
555 #power-domain-cells = <0>;
558 power-domain@MT8192_POWER_DOMAIN_MFG5 {
559 reg = <MT8192_POWER_DOMAIN_MFG5>;
560 #power-domain-cells = <0>;
563 power-domain@MT8192_POWER_DOMAIN_MFG6 {
564 reg = <MT8192_POWER_DOMAIN_MFG6>;
565 #power-domain-cells = <0>;
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",
579 mediatek,infracfg = <&infracfg>;
580 #address-cells = <1>;
582 #power-domain-cells = <1>;
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",
593 mediatek,infracfg = <&infracfg>;
594 #power-domain-cells = <0>;
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>;
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>;
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>;
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>;
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>;
645 #power-domain-cells = <1>;
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",
654 #power-domain-cells = <0>;
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",
667 mediatek,infracfg = <&infracfg>;
668 #address-cells = <1>;
670 #power-domain-cells = <1>;
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>;
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>;
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>;
697 watchdog: watchdog@10007000 {
698 compatible = "mediatek,mt8192-wdt";
699 reg = <0 0x10007000 0 0x100>;
703 apmixedsys: syscon@1000c000 {
704 compatible = "mediatek,mt8192-apmixedsys", "syscon";
705 reg = <0 0x1000c000 0 0x1000>;
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>;
717 pwrap: pwrap@10026000 {
718 compatible = "mediatek,mt6873-pwrap";
719 reg = <0 0x10026000 0 0x1000>;
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>;
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",
740 assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
741 assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
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>;
749 clocks = <&infracfg CLK_INFRA_GCE>;
753 scp_adsp: clock-controller@10720000 {
754 compatible = "mediatek,mt8192-scp_adsp";
755 reg = <0 0x10720000 0 0x1000>;
757 /* power domain dependency not upstreamed */
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";
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";
781 imp_iic_wrap_c: clock-controller@11007000 {
782 compatible = "mediatek,mt8192-imp_iic_wrap_c";
783 reg = <0 0x11007000 0 0x1000>;
788 compatible = "mediatek,mt8192-spi",
789 "mediatek,mt6765-spi";
790 #address-cells = <1>;
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";
801 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>;
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";
825 compatible = "mediatek,mt8183-disp-pwm";
826 reg = <0 0x1100e000 0 0x1000>;
827 interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH 0>;
829 clocks = <&topckgen CLK_TOP_DISP_PWM_SEL>,
830 <&infracfg CLK_INFRA_DISP_PWM>;
831 clock-names = "main", "mm";
836 compatible = "mediatek,mt8192-spi",
837 "mediatek,mt6765-spi";
838 #address-cells = <1>;
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";
850 compatible = "mediatek,mt8192-spi",
851 "mediatek,mt6765-spi";
852 #address-cells = <1>;
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";
864 compatible = "mediatek,mt8192-spi",
865 "mediatek,mt6765-spi";
866 #address-cells = <1>;
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";
878 compatible = "mediatek,mt8192-spi",
879 "mediatek,mt6765-spi";
880 #address-cells = <1>;
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";
892 compatible = "mediatek,mt8192-spi",
893 "mediatek,mt6765-spi";
894 #address-cells = <1>;
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";
906 compatible = "mediatek,mt8192-spi",
907 "mediatek,mt6765-spi";
908 #address-cells = <1>;
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";
920 compatible = "mediatek,mt8192-spi",
921 "mediatek,mt6765-spi";
922 #address-cells = <1>;
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";
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";
946 compatible = "mediatek,mt8192-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>,
963 <&infracfg CLK_INFRA_SSUSB_XHCI>;
964 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
967 mediatek,syscon-wakeup = <&pericfg 0x420 102>;
971 audsys: syscon@11210000 {
972 compatible = "mediatek,mt8192-audsys", "syscon";
973 reg = <0 0x11210000 0 0x2000>;
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>,
1041 clock-names = "aud_afe_clk",
1043 "aud_dac_predis_clk",
1045 "aud_adda6_adc_clk",
1048 "aud_apll1_tuner_clk",
1049 "aud_apll2_tuner_clk",
1053 "aud_dac_hires_clk",
1054 "aud_adc_hires_clk",
1055 "aud_adc_hires_tml",
1056 "aud_adda6_adc_hires_clk",
1058 "aud_3rd_dac_predis_clk",
1060 "aud_3rd_dac_hires_clk",
1062 "aud_infra_26m_clk",
1064 "top_mux_audio_int",
1065 "top_mainpll_d4_d4",
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>;
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>;
1128 pcie_intc0: interrupt-controller {
1129 interrupt-controller;
1130 #address-cells = <0>;
1131 #interrupt-cells = <1>;
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>;
1147 status = "disabled";
1150 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>;
1161 efuse: efuse@11c10000 {
1162 compatible = "mediatek,mt8192-efuse", "mediatek,efuse";
1163 reg = <0 0x11c10000 0 0x1000>;
1164 #address-cells = <1>;
1175 lvts_e_data1: data1@1c0 {
1179 svs_calibration: calib@580 {
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";
1193 #address-cells = <1>;
1195 status = "disabled";
1198 imp_iic_wrap_e: clock-controller@11cb1000 {
1199 compatible = "mediatek,mt8192-imp_iic_wrap_e";
1200 reg = <0 0x11cb1000 0 0x1000>;
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";
1213 #address-cells = <1>;
1215 status = "disabled";
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";
1227 #address-cells = <1>;
1229 status = "disabled";
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";
1241 #address-cells = <1>;
1243 status = "disabled";
1246 imp_iic_wrap_s: clock-controller@11d03000 {
1247 compatible = "mediatek,mt8192-imp_iic_wrap_s";
1248 reg = <0 0x11d03000 0 0x1000>;
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";
1261 #address-cells = <1>;
1263 status = "disabled";
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";
1275 #address-cells = <1>;
1277 status = "disabled";
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";
1289 #address-cells = <1>;
1291 status = "disabled";
1294 imp_iic_wrap_ws: clock-controller@11d23000 {
1295 compatible = "mediatek,mt8192-imp_iic_wrap_ws";
1296 reg = <0 0x11d23000 0 0x1000>;
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";
1309 #address-cells = <1>;
1311 status = "disabled";
1314 imp_iic_wrap_w: clock-controller@11e01000 {
1315 compatible = "mediatek,mt8192-imp_iic_wrap_w";
1316 reg = <0 0x11e01000 0 0x1000>;
1320 u3phy0: t-phy@11e40000 {
1321 compatible = "mediatek,mt8192-tphy",
1322 "mediatek,generic-tphy-v2";
1323 #address-cells = <1>;
1325 ranges = <0x0 0x0 0x11e40000 0x1000>;
1327 u2port0: usb-phy@0 {
1330 clock-names = "ref";
1334 u3port0: usb-phy@700 {
1335 reg = <0x700 0x900>;
1337 clock-names = "ref";
1342 mipi_tx0: dsi-phy@11e50000 {
1343 compatible = "mediatek,mt8183-mipi-tx";
1344 reg = <0 0x11e50000 0 0x1000>;
1345 clocks = <&apmixedsys CLK_APMIXED_MIPID26M>;
1348 clock-output-names = "mipi_tx0_pll";
1349 status = "disabled";
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";
1361 #address-cells = <1>;
1363 status = "disabled";
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";
1375 #address-cells = <1>;
1377 status = "disabled";
1380 imp_iic_wrap_n: clock-controller@11f02000 {
1381 compatible = "mediatek,mt8192-imp_iic_wrap_n";
1382 reg = <0 0x11f02000 0 0x1000>;
1386 msdc_top: clock-controller@11f10000 {
1387 compatible = "mediatek,mt8192-msdc_top";
1388 reg = <0 0x11f10000 0 0x1000>;
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";
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";
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";
1432 clocks = <&apmixedsys CLK_APMIXED_MFGPLL>;
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";
1441 operating-points-v2 = <&gpu_opp_table>;
1443 status = "disabled";
1446 mfgcfg: clock-controller@13fbf000 {
1447 compatible = "mediatek,mt8192-mfgcfg";
1448 reg = <0 0x13fbf000 0 0x1000>;
1452 mmsys: syscon@14000000 {
1453 compatible = "mediatek,mt8192-mmsys", "syscon";
1454 reg = <0 0x14000000 0 0x1000>;
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>;
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>;
1467 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>;
1468 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>;
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>;
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>;
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>;
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>;
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>;
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>;
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>;
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>;
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>;
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>;
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>;
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>;
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>,
1603 clock-names = "engine", "digital", "hs";
1606 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1607 resets = <&mmsys MT8192_MMSYS_SW0_RST_B_DISP_DSI0>;
1608 status = "disabled";
1611 dsi_out: endpoint { };
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>;
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>;
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";
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>;
1664 imgsys: clock-controller@15020000 {
1665 compatible = "mediatek,mt8192-imgsys";
1666 reg = <0 0x15020000 0 0x1000>;
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>;
1681 imgsys2: clock-controller@15820000 {
1682 compatible = "mediatek,mt8192-imgsys2";
1683 reg = <0 0x15820000 0 0x1000>;
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>;
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>;
1705 ranges = <0 0 0 0x16000000 0 0x26000>;
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>;
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>;
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>;
1768 vdecsys_soc: clock-controller@1600f000 {
1769 compatible = "mediatek,mt8192-vdecsys_soc";
1770 reg = <0 0x1600f000 0 0x1000>;
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>;
1785 vdecsys: clock-controller@1602f000 {
1786 compatible = "mediatek,mt8192-vdecsys";
1787 reg = <0 0x1602f000 0 0x1000>;
1791 vencsys: clock-controller@17000000 {
1792 compatible = "mediatek,mt8192-vencsys";
1793 reg = <0 0x17000000 0 0x1000>;
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>;
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>;
1826 clock-names = "venc_sel";
1827 assigned-clocks = <&topckgen CLK_TOP_VENC_SEL>;
1828 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>;
1831 camsys: clock-controller@1a000000 {
1832 compatible = "mediatek,mt8192-camsys";
1833 reg = <0 0x1a000000 0 0x1000>;
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>;
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>;
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>;
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>;
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>;
1892 camsys_rawa: clock-controller@1a04f000 {
1893 compatible = "mediatek,mt8192-camsys_rawa";
1894 reg = <0 0x1a04f000 0 0x1000>;
1898 camsys_rawb: clock-controller@1a06f000 {
1899 compatible = "mediatek,mt8192-camsys_rawb";
1900 reg = <0 0x1a06f000 0 0x1000>;
1904 camsys_rawc: clock-controller@1a08f000 {
1905 compatible = "mediatek,mt8192-camsys_rawc";
1906 reg = <0 0x1a08f000 0 0x1000>;
1910 ipesys: clock-controller@1b000000 {
1911 compatible = "mediatek,mt8192-ipesys";
1912 reg = <0 0x1b000000 0 0x1000>;
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>;
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>;
1938 mdpsys: clock-controller@1f000000 {
1939 compatible = "mediatek,mt8192-mdpsys";
1940 reg = <0 0x1f000000 0 0x1000>;
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>;
1956 thermal_zones: thermal-zones {
1958 polling-delay = <1000>;
1959 polling-delay-passive = <250>;
1960 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU0>;
1963 cpu0_alert: trip-alert {
1964 temperature = <85000>;
1965 hysteresis = <2000>;
1969 cpu0_crit: trip-crit {
1970 temperature = <100000>;
1971 hysteresis = <2000>;
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>;
1988 polling-delay = <1000>;
1989 polling-delay-passive = <250>;
1990 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU1>;
1993 cpu1_alert: trip-alert {
1994 temperature = <85000>;
1995 hysteresis = <2000>;
1999 cpu1_crit: trip-crit {
2000 temperature = <100000>;
2001 hysteresis = <2000>;
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>;
2018 polling-delay = <1000>;
2019 polling-delay-passive = <250>;
2020 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU2>;
2023 cpu2_alert: trip-alert {
2024 temperature = <85000>;
2025 hysteresis = <2000>;
2029 cpu2_crit: trip-crit {
2030 temperature = <100000>;
2031 hysteresis = <2000>;
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>;
2048 polling-delay = <1000>;
2049 polling-delay-passive = <250>;
2050 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU3>;
2053 cpu3_alert: trip-alert {
2054 temperature = <85000>;
2055 hysteresis = <2000>;
2059 cpu3_crit: trip-crit {
2060 temperature = <100000>;
2061 hysteresis = <2000>;
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>;
2078 polling-delay = <1000>;
2079 polling-delay-passive = <250>;
2080 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU0>;
2083 cpu4_alert: trip-alert {
2084 temperature = <85000>;
2085 hysteresis = <2000>;
2089 cpu4_crit: trip-crit {
2090 temperature = <100000>;
2091 hysteresis = <2000>;
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>;
2108 polling-delay = <1000>;
2109 polling-delay-passive = <250>;
2110 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU1>;
2113 cpu5_alert: trip-alert {
2114 temperature = <85000>;
2115 hysteresis = <2000>;
2119 cpu5_crit: trip-crit {
2120 temperature = <100000>;
2121 hysteresis = <2000>;
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>;
2138 polling-delay = <1000>;
2139 polling-delay-passive = <250>;
2140 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU2>;
2143 cpu6_alert: trip-alert {
2144 temperature = <85000>;
2145 hysteresis = <2000>;
2149 cpu6_crit: trip-crit {
2150 temperature = <100000>;
2151 hysteresis = <2000>;
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>;
2168 polling-delay = <1000>;
2169 polling-delay-passive = <250>;
2170 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU3>;
2173 cpu7_alert: trip-alert {
2174 temperature = <85000>;
2175 hysteresis = <2000>;
2179 cpu7_crit: trip-crit {
2180 temperature = <100000>;
2181 hysteresis = <2000>;
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>;
2198 polling-delay = <1000>;
2199 polling-delay-passive = <250>;
2200 thermal-sensors = <&lvts_ap MT8192_AP_VPU0>;
2203 vpu0_alert: trip-alert {
2204 temperature = <85000>;
2205 hysteresis = <2000>;
2209 vpu0_crit: trip-crit {
2210 temperature = <100000>;
2211 hysteresis = <2000>;
2218 polling-delay = <1000>;
2219 polling-delay-passive = <250>;
2220 thermal-sensors = <&lvts_ap MT8192_AP_VPU1>;
2223 vpu1_alert: trip-alert {
2224 temperature = <85000>;
2225 hysteresis = <2000>;
2229 vpu1_crit: trip-crit {
2230 temperature = <100000>;
2231 hysteresis = <2000>;
2238 polling-delay = <1000>;
2239 polling-delay-passive = <250>;
2240 thermal-sensors = <&lvts_ap MT8192_AP_GPU0>;
2243 gpu0_alert: trip-alert {
2244 temperature = <85000>;
2245 hysteresis = <2000>;
2249 gpu0_crit: trip-crit {
2250 temperature = <100000>;
2251 hysteresis = <2000>;
2258 polling-delay = <1000>;
2259 polling-delay-passive = <250>;
2260 thermal-sensors = <&lvts_ap MT8192_AP_GPU1>;
2263 gpu1_alert: trip-alert {
2264 temperature = <85000>;
2265 hysteresis = <2000>;
2269 gpu1_crit: trip-crit {
2270 temperature = <100000>;
2271 hysteresis = <2000>;
2278 polling-delay = <1000>;
2279 polling-delay-passive = <250>;
2280 thermal-sensors = <&lvts_ap MT8192_AP_INFRA>;
2283 infra_alert: trip-alert {
2284 temperature = <85000>;
2285 hysteresis = <2000>;
2289 infra_crit: trip-crit {
2290 temperature = <100000>;
2291 hysteresis = <2000>;
2298 polling-delay = <1000>;
2299 polling-delay-passive = <250>;
2300 thermal-sensors = <&lvts_ap MT8192_AP_CAM>;
2303 cam_alert: trip-alert {
2304 temperature = <85000>;
2305 hysteresis = <2000>;
2309 cam_crit: trip-crit {
2310 temperature = <100000>;
2311 hysteresis = <2000>;
2318 polling-delay = <1000>;
2319 polling-delay-passive = <250>;
2320 thermal-sensors = <&lvts_ap MT8192_AP_MD0>;
2323 md0_alert: trip-alert {
2324 temperature = <85000>;
2325 hysteresis = <2000>;
2329 md0_crit: trip-crit {
2330 temperature = <100000>;
2331 hysteresis = <2000>;
2338 polling-delay = <1000>;
2339 polling-delay-passive = <250>;
2340 thermal-sensors = <&lvts_ap MT8192_AP_MD1>;
2343 md1_alert: trip-alert {
2344 temperature = <85000>;
2345 hysteresis = <2000>;
2349 md1_crit: trip-crit {
2350 temperature = <100000>;
2351 hysteresis = <2000>;
2358 polling-delay = <1000>;
2359 polling-delay-passive = <250>;
2360 thermal-sensors = <&lvts_ap MT8192_AP_MD2>;
2363 md2_alert: trip-alert {
2364 temperature = <85000>;
2365 hysteresis = <2000>;
2369 md2_crit: trip-crit {
2370 temperature = <100000>;
2371 hysteresis = <2000>;