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-events = <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_0>,
1468 <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_1>;
1469 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1472 smi_common: smi@14002000 {
1473 compatible = "mediatek,mt8192-smi-common";
1474 reg = <0 0x14002000 0 0x1000>;
1475 clocks = <&mmsys CLK_MM_SMI_COMMON>,
1476 <&mmsys CLK_MM_SMI_INFRA>,
1477 <&mmsys CLK_MM_SMI_GALS>,
1478 <&mmsys CLK_MM_SMI_GALS>;
1479 clock-names = "apb", "smi", "gals0", "gals1";
1480 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1483 larb0: larb@14003000 {
1484 compatible = "mediatek,mt8192-smi-larb";
1485 reg = <0 0x14003000 0 0x1000>;
1486 mediatek,larb-id = <0>;
1487 mediatek,smi = <&smi_common>;
1488 clocks = <&clk26m>, <&clk26m>;
1489 clock-names = "apb", "smi";
1490 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1493 larb1: larb@14004000 {
1494 compatible = "mediatek,mt8192-smi-larb";
1495 reg = <0 0x14004000 0 0x1000>;
1496 mediatek,larb-id = <1>;
1497 mediatek,smi = <&smi_common>;
1498 clocks = <&clk26m>, <&clk26m>;
1499 clock-names = "apb", "smi";
1500 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1503 ovl0: ovl@14005000 {
1504 compatible = "mediatek,mt8192-disp-ovl";
1505 reg = <0 0x14005000 0 0x1000>;
1506 interrupts = <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH 0>;
1507 clocks = <&mmsys CLK_MM_DISP_OVL0>;
1508 iommus = <&iommu0 M4U_PORT_L0_OVL_RDMA0>,
1509 <&iommu0 M4U_PORT_L0_OVL_RDMA0_HDR>;
1510 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1511 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x5000 0x1000>;
1514 ovl_2l0: ovl@14006000 {
1515 compatible = "mediatek,mt8192-disp-ovl-2l";
1516 reg = <0 0x14006000 0 0x1000>;
1517 interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH 0>;
1518 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1519 clocks = <&mmsys CLK_MM_DISP_OVL0_2L>;
1520 iommus = <&iommu0 M4U_PORT_L1_OVL_2L_RDMA0>,
1521 <&iommu0 M4U_PORT_L1_OVL_2L_RDMA0_HDR>;
1522 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x6000 0x1000>;
1525 rdma0: rdma@14007000 {
1526 compatible = "mediatek,mt8192-disp-rdma",
1527 "mediatek,mt8183-disp-rdma";
1528 reg = <0 0x14007000 0 0x1000>;
1529 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH 0>;
1530 clocks = <&mmsys CLK_MM_DISP_RDMA0>;
1531 iommus = <&iommu0 M4U_PORT_L0_DISP_RDMA0>;
1532 mediatek,rdma-fifo-size = <5120>;
1533 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1534 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x7000 0x1000>;
1537 color0: color@14009000 {
1538 compatible = "mediatek,mt8192-disp-color",
1539 "mediatek,mt8173-disp-color";
1540 reg = <0 0x14009000 0 0x1000>;
1541 interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH 0>;
1542 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1543 clocks = <&mmsys CLK_MM_DISP_COLOR0>;
1544 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x9000 0x1000>;
1547 ccorr0: ccorr@1400a000 {
1548 compatible = "mediatek,mt8192-disp-ccorr";
1549 reg = <0 0x1400a000 0 0x1000>;
1550 interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH 0>;
1551 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1552 clocks = <&mmsys CLK_MM_DISP_CCORR0>;
1553 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xa000 0x1000>;
1556 aal0: aal@1400b000 {
1557 compatible = "mediatek,mt8192-disp-aal",
1558 "mediatek,mt8183-disp-aal";
1559 reg = <0 0x1400b000 0 0x1000>;
1560 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH 0>;
1561 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1562 clocks = <&mmsys CLK_MM_DISP_AAL0>;
1563 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xb000 0x1000>;
1566 gamma0: gamma@1400c000 {
1567 compatible = "mediatek,mt8192-disp-gamma",
1568 "mediatek,mt8183-disp-gamma";
1569 reg = <0 0x1400c000 0 0x1000>;
1570 interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH 0>;
1571 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1572 clocks = <&mmsys CLK_MM_DISP_GAMMA0>;
1573 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>;
1576 postmask0: postmask@1400d000 {
1577 compatible = "mediatek,mt8192-disp-postmask";
1578 reg = <0 0x1400d000 0 0x1000>;
1579 interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH 0>;
1580 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1581 clocks = <&mmsys CLK_MM_DISP_POSTMASK0>;
1582 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xd000 0x1000>;
1585 dither0: dither@1400e000 {
1586 compatible = "mediatek,mt8192-disp-dither",
1587 "mediatek,mt8183-disp-dither";
1588 reg = <0 0x1400e000 0 0x1000>;
1589 interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH 0>;
1590 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1591 clocks = <&mmsys CLK_MM_DISP_DITHER0>;
1592 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>;
1595 dsi0: dsi@14010000 {
1596 compatible = "mediatek,mt8183-dsi";
1597 reg = <0 0x14010000 0 0x1000>;
1598 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>;
1599 clocks = <&mmsys CLK_MM_DSI0>,
1600 <&mmsys CLK_MM_DSI_DSI0>,
1602 clock-names = "engine", "digital", "hs";
1605 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1606 resets = <&mmsys MT8192_MMSYS_SW0_RST_B_DISP_DSI0>;
1607 status = "disabled";
1610 dsi_out: endpoint { };
1614 ovl_2l2: ovl@14014000 {
1615 compatible = "mediatek,mt8192-disp-ovl-2l";
1616 reg = <0 0x14014000 0 0x1000>;
1617 interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH 0>;
1618 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1619 clocks = <&mmsys CLK_MM_DISP_OVL2_2L>;
1620 iommus = <&iommu0 M4U_PORT_L1_OVL_2L_RDMA2>,
1621 <&iommu0 M4U_PORT_L1_OVL_2L_RDMA2_HDR>;
1622 mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x4000 0x1000>;
1625 rdma4: rdma@14015000 {
1626 compatible = "mediatek,mt8192-disp-rdma",
1627 "mediatek,mt8183-disp-rdma";
1628 reg = <0 0x14015000 0 0x1000>;
1629 interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH 0>;
1630 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1631 clocks = <&mmsys CLK_MM_DISP_RDMA4>;
1632 iommus = <&iommu0 M4U_PORT_L1_DISP_RDMA4>;
1633 mediatek,rdma-fifo-size = <2048>;
1634 mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x5000 0x1000>;
1637 dpi0: dpi@14016000 {
1638 compatible = "mediatek,mt8192-dpi";
1639 reg = <0 0x14016000 0 0x1000>;
1640 interrupts = <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH 0>;
1641 clocks = <&mmsys CLK_MM_DPI_DPI0>,
1642 <&mmsys CLK_MM_DISP_DPI0>,
1643 <&apmixedsys CLK_APMIXED_TVDPLL>;
1644 clock-names = "pixel", "engine", "pll";
1645 status = "disabled";
1648 iommu0: m4u@1401d000 {
1649 compatible = "mediatek,mt8192-m4u";
1650 reg = <0 0x1401d000 0 0x1000>;
1651 mediatek,larbs = <&larb0>, <&larb1>, <&larb2>,
1652 <&larb4>, <&larb5>, <&larb7>,
1653 <&larb9>, <&larb11>, <&larb13>,
1654 <&larb14>, <&larb16>, <&larb17>,
1655 <&larb18>, <&larb19>, <&larb20>;
1656 interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>;
1657 clocks = <&mmsys CLK_MM_SMI_IOMMU>;
1658 clock-names = "bclk";
1659 power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1663 imgsys: clock-controller@15020000 {
1664 compatible = "mediatek,mt8192-imgsys";
1665 reg = <0 0x15020000 0 0x1000>;
1669 larb9: larb@1502e000 {
1670 compatible = "mediatek,mt8192-smi-larb";
1671 reg = <0 0x1502e000 0 0x1000>;
1672 mediatek,larb-id = <9>;
1673 mediatek,smi = <&smi_common>;
1674 clocks = <&imgsys CLK_IMG_LARB9>,
1675 <&imgsys CLK_IMG_LARB9>;
1676 clock-names = "apb", "smi";
1677 power-domains = <&spm MT8192_POWER_DOMAIN_ISP>;
1680 imgsys2: clock-controller@15820000 {
1681 compatible = "mediatek,mt8192-imgsys2";
1682 reg = <0 0x15820000 0 0x1000>;
1686 larb11: larb@1582e000 {
1687 compatible = "mediatek,mt8192-smi-larb";
1688 reg = <0 0x1582e000 0 0x1000>;
1689 mediatek,larb-id = <11>;
1690 mediatek,smi = <&smi_common>;
1691 clocks = <&imgsys2 CLK_IMG2_LARB11>,
1692 <&imgsys2 CLK_IMG2_LARB11>;
1693 clock-names = "apb", "smi";
1694 power-domains = <&spm MT8192_POWER_DOMAIN_ISP2>;
1697 vcodec_dec: video-codec@16000000 {
1698 compatible = "mediatek,mt8192-vcodec-dec";
1699 reg = <0 0x16000000 0 0x1000>;
1700 mediatek,scp = <&scp>;
1701 iommus = <&iommu0 M4U_PORT_L4_VDEC_MC_EXT>;
1702 #address-cells = <2>;
1704 ranges = <0 0 0 0x16000000 0 0x26000>;
1707 compatible = "mediatek,mtk-vcodec-lat";
1708 reg = <0x0 0x10000 0 0x800>;
1709 interrupts = <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH 0>;
1710 iommus = <&iommu0 M4U_PORT_L5_VDEC_LAT0_VLD_EXT>,
1711 <&iommu0 M4U_PORT_L5_VDEC_LAT0_VLD2_EXT>,
1712 <&iommu0 M4U_PORT_L5_VDEC_LAT0_AVC_MV_EXT>,
1713 <&iommu0 M4U_PORT_L5_VDEC_LAT0_PRED_RD_EXT>,
1714 <&iommu0 M4U_PORT_L5_VDEC_LAT0_TILE_EXT>,
1715 <&iommu0 M4U_PORT_L5_VDEC_LAT0_WDMA_EXT>,
1716 <&iommu0 M4U_PORT_L5_VDEC_LAT0_RG_CTRL_DMA_EXT>,
1717 <&iommu0 M4U_PORT_L5_VDEC_UFO_ENC_EXT>;
1718 clocks = <&topckgen CLK_TOP_VDEC_SEL>,
1719 <&vdecsys_soc CLK_VDEC_SOC_VDEC>,
1720 <&vdecsys_soc CLK_VDEC_SOC_LAT>,
1721 <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
1722 <&topckgen CLK_TOP_MAINPLL_D4>;
1723 clock-names = "sel", "soc-vdec", "soc-lat", "vdec", "top";
1724 assigned-clocks = <&topckgen CLK_TOP_VDEC_SEL>;
1725 assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4>;
1726 power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
1730 compatible = "mediatek,mtk-vcodec-core";
1731 reg = <0 0x25000 0 0x1000>;
1732 interrupts = <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH 0>;
1733 iommus = <&iommu0 M4U_PORT_L4_VDEC_MC_EXT>,
1734 <&iommu0 M4U_PORT_L4_VDEC_UFO_EXT>,
1735 <&iommu0 M4U_PORT_L4_VDEC_PP_EXT>,
1736 <&iommu0 M4U_PORT_L4_VDEC_PRED_RD_EXT>,
1737 <&iommu0 M4U_PORT_L4_VDEC_PRED_WR_EXT>,
1738 <&iommu0 M4U_PORT_L4_VDEC_PPWRAP_EXT>,
1739 <&iommu0 M4U_PORT_L4_VDEC_TILE_EXT>,
1740 <&iommu0 M4U_PORT_L4_VDEC_VLD_EXT>,
1741 <&iommu0 M4U_PORT_L4_VDEC_VLD2_EXT>,
1742 <&iommu0 M4U_PORT_L4_VDEC_AVC_MV_EXT>,
1743 <&iommu0 M4U_PORT_L4_VDEC_RG_CTRL_DMA_EXT>;
1744 clocks = <&topckgen CLK_TOP_VDEC_SEL>,
1745 <&vdecsys CLK_VDEC_VDEC>,
1746 <&vdecsys CLK_VDEC_LAT>,
1747 <&vdecsys CLK_VDEC_LARB1>,
1748 <&topckgen CLK_TOP_MAINPLL_D4>;
1749 clock-names = "sel", "soc-vdec", "soc-lat", "vdec", "top";
1750 assigned-clocks = <&topckgen CLK_TOP_VDEC_SEL>;
1751 assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4>;
1752 power-domains = <&spm MT8192_POWER_DOMAIN_VDEC2>;
1756 larb5: larb@1600d000 {
1757 compatible = "mediatek,mt8192-smi-larb";
1758 reg = <0 0x1600d000 0 0x1000>;
1759 mediatek,larb-id = <5>;
1760 mediatek,smi = <&smi_common>;
1761 clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
1762 <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
1763 clock-names = "apb", "smi";
1764 power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
1767 vdecsys_soc: clock-controller@1600f000 {
1768 compatible = "mediatek,mt8192-vdecsys_soc";
1769 reg = <0 0x1600f000 0 0x1000>;
1773 larb4: larb@1602e000 {
1774 compatible = "mediatek,mt8192-smi-larb";
1775 reg = <0 0x1602e000 0 0x1000>;
1776 mediatek,larb-id = <4>;
1777 mediatek,smi = <&smi_common>;
1778 clocks = <&vdecsys CLK_VDEC_SOC_LARB1>,
1779 <&vdecsys CLK_VDEC_SOC_LARB1>;
1780 clock-names = "apb", "smi";
1781 power-domains = <&spm MT8192_POWER_DOMAIN_VDEC2>;
1784 vdecsys: clock-controller@1602f000 {
1785 compatible = "mediatek,mt8192-vdecsys";
1786 reg = <0 0x1602f000 0 0x1000>;
1790 vencsys: clock-controller@17000000 {
1791 compatible = "mediatek,mt8192-vencsys";
1792 reg = <0 0x17000000 0 0x1000>;
1796 larb7: larb@17010000 {
1797 compatible = "mediatek,mt8192-smi-larb";
1798 reg = <0 0x17010000 0 0x1000>;
1799 mediatek,larb-id = <7>;
1800 mediatek,smi = <&smi_common>;
1801 clocks = <&vencsys CLK_VENC_SET0_LARB>,
1802 <&vencsys CLK_VENC_SET1_VENC>;
1803 clock-names = "apb", "smi";
1804 power-domains = <&spm MT8192_POWER_DOMAIN_VENC>;
1807 vcodec_enc: vcodec@17020000 {
1808 compatible = "mediatek,mt8192-vcodec-enc";
1809 reg = <0 0x17020000 0 0x2000>;
1810 iommus = <&iommu0 M4U_PORT_L7_VENC_RCPU>,
1811 <&iommu0 M4U_PORT_L7_VENC_REC>,
1812 <&iommu0 M4U_PORT_L7_VENC_BSDMA>,
1813 <&iommu0 M4U_PORT_L7_VENC_SV_COMV>,
1814 <&iommu0 M4U_PORT_L7_VENC_RD_COMV>,
1815 <&iommu0 M4U_PORT_L7_VENC_CUR_LUMA>,
1816 <&iommu0 M4U_PORT_L7_VENC_CUR_CHROMA>,
1817 <&iommu0 M4U_PORT_L7_VENC_REF_LUMA>,
1818 <&iommu0 M4U_PORT_L7_VENC_REF_CHROMA>,
1819 <&iommu0 M4U_PORT_L7_VENC_SUB_R_LUMA>,
1820 <&iommu0 M4U_PORT_L7_VENC_SUB_W_LUMA>;
1821 interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH 0>;
1822 mediatek,scp = <&scp>;
1823 power-domains = <&spm MT8192_POWER_DOMAIN_VENC>;
1824 clocks = <&vencsys CLK_VENC_SET1_VENC>;
1825 clock-names = "venc_sel";
1826 assigned-clocks = <&topckgen CLK_TOP_VENC_SEL>;
1827 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>;
1830 camsys: clock-controller@1a000000 {
1831 compatible = "mediatek,mt8192-camsys";
1832 reg = <0 0x1a000000 0 0x1000>;
1836 larb13: larb@1a001000 {
1837 compatible = "mediatek,mt8192-smi-larb";
1838 reg = <0 0x1a001000 0 0x1000>;
1839 mediatek,larb-id = <13>;
1840 mediatek,smi = <&smi_common>;
1841 clocks = <&camsys CLK_CAM_CAM>,
1842 <&camsys CLK_CAM_LARB13>;
1843 clock-names = "apb", "smi";
1844 power-domains = <&spm MT8192_POWER_DOMAIN_CAM>;
1847 larb14: larb@1a002000 {
1848 compatible = "mediatek,mt8192-smi-larb";
1849 reg = <0 0x1a002000 0 0x1000>;
1850 mediatek,larb-id = <14>;
1851 mediatek,smi = <&smi_common>;
1852 clocks = <&camsys CLK_CAM_CAM>,
1853 <&camsys CLK_CAM_LARB14>;
1854 clock-names = "apb", "smi";
1855 power-domains = <&spm MT8192_POWER_DOMAIN_CAM>;
1858 larb16: larb@1a00f000 {
1859 compatible = "mediatek,mt8192-smi-larb";
1860 reg = <0 0x1a00f000 0 0x1000>;
1861 mediatek,larb-id = <16>;
1862 mediatek,smi = <&smi_common>;
1863 clocks = <&camsys_rawa CLK_CAM_RAWA_CAM>,
1864 <&camsys_rawa CLK_CAM_RAWA_LARBX>;
1865 clock-names = "apb", "smi";
1866 power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWA>;
1869 larb17: larb@1a010000 {
1870 compatible = "mediatek,mt8192-smi-larb";
1871 reg = <0 0x1a010000 0 0x1000>;
1872 mediatek,larb-id = <17>;
1873 mediatek,smi = <&smi_common>;
1874 clocks = <&camsys_rawb CLK_CAM_RAWB_CAM>,
1875 <&camsys_rawb CLK_CAM_RAWB_LARBX>;
1876 clock-names = "apb", "smi";
1877 power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWB>;
1880 larb18: larb@1a011000 {
1881 compatible = "mediatek,mt8192-smi-larb";
1882 reg = <0 0x1a011000 0 0x1000>;
1883 mediatek,larb-id = <18>;
1884 mediatek,smi = <&smi_common>;
1885 clocks = <&camsys_rawc CLK_CAM_RAWC_LARBX>,
1886 <&camsys_rawc CLK_CAM_RAWC_CAM>;
1887 clock-names = "apb", "smi";
1888 power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWC>;
1891 camsys_rawa: clock-controller@1a04f000 {
1892 compatible = "mediatek,mt8192-camsys_rawa";
1893 reg = <0 0x1a04f000 0 0x1000>;
1897 camsys_rawb: clock-controller@1a06f000 {
1898 compatible = "mediatek,mt8192-camsys_rawb";
1899 reg = <0 0x1a06f000 0 0x1000>;
1903 camsys_rawc: clock-controller@1a08f000 {
1904 compatible = "mediatek,mt8192-camsys_rawc";
1905 reg = <0 0x1a08f000 0 0x1000>;
1909 ipesys: clock-controller@1b000000 {
1910 compatible = "mediatek,mt8192-ipesys";
1911 reg = <0 0x1b000000 0 0x1000>;
1915 larb20: larb@1b00f000 {
1916 compatible = "mediatek,mt8192-smi-larb";
1917 reg = <0 0x1b00f000 0 0x1000>;
1918 mediatek,larb-id = <20>;
1919 mediatek,smi = <&smi_common>;
1920 clocks = <&ipesys CLK_IPE_SMI_SUBCOM>,
1921 <&ipesys CLK_IPE_LARB20>;
1922 clock-names = "apb", "smi";
1923 power-domains = <&spm MT8192_POWER_DOMAIN_IPE>;
1926 larb19: larb@1b10f000 {
1927 compatible = "mediatek,mt8192-smi-larb";
1928 reg = <0 0x1b10f000 0 0x1000>;
1929 mediatek,larb-id = <19>;
1930 mediatek,smi = <&smi_common>;
1931 clocks = <&ipesys CLK_IPE_SMI_SUBCOM>,
1932 <&ipesys CLK_IPE_LARB19>;
1933 clock-names = "apb", "smi";
1934 power-domains = <&spm MT8192_POWER_DOMAIN_IPE>;
1937 mdpsys: clock-controller@1f000000 {
1938 compatible = "mediatek,mt8192-mdpsys";
1939 reg = <0 0x1f000000 0 0x1000>;
1943 larb2: larb@1f002000 {
1944 compatible = "mediatek,mt8192-smi-larb";
1945 reg = <0 0x1f002000 0 0x1000>;
1946 mediatek,larb-id = <2>;
1947 mediatek,smi = <&smi_common>;
1948 clocks = <&mdpsys CLK_MDP_SMI0>,
1949 <&mdpsys CLK_MDP_SMI0>;
1950 clock-names = "apb", "smi";
1951 power-domains = <&spm MT8192_POWER_DOMAIN_MDP>;
1955 thermal_zones: thermal-zones {
1957 polling-delay = <1000>;
1958 polling-delay-passive = <250>;
1959 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU0>;
1962 cpu0_alert: trip-alert {
1963 temperature = <85000>;
1964 hysteresis = <2000>;
1968 cpu0_crit: trip-crit {
1969 temperature = <100000>;
1970 hysteresis = <2000>;
1977 trip = <&cpu0_alert>;
1978 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1979 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1980 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1981 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1987 polling-delay = <1000>;
1988 polling-delay-passive = <250>;
1989 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU1>;
1992 cpu1_alert: trip-alert {
1993 temperature = <85000>;
1994 hysteresis = <2000>;
1998 cpu1_crit: trip-crit {
1999 temperature = <100000>;
2000 hysteresis = <2000>;
2007 trip = <&cpu1_alert>;
2008 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2009 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2010 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2011 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2017 polling-delay = <1000>;
2018 polling-delay-passive = <250>;
2019 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU2>;
2022 cpu2_alert: trip-alert {
2023 temperature = <85000>;
2024 hysteresis = <2000>;
2028 cpu2_crit: trip-crit {
2029 temperature = <100000>;
2030 hysteresis = <2000>;
2037 trip = <&cpu2_alert>;
2038 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2039 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2040 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2041 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2047 polling-delay = <1000>;
2048 polling-delay-passive = <250>;
2049 thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU3>;
2052 cpu3_alert: trip-alert {
2053 temperature = <85000>;
2054 hysteresis = <2000>;
2058 cpu3_crit: trip-crit {
2059 temperature = <100000>;
2060 hysteresis = <2000>;
2067 trip = <&cpu3_alert>;
2068 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2069 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2070 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2071 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2077 polling-delay = <1000>;
2078 polling-delay-passive = <250>;
2079 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU0>;
2082 cpu4_alert: trip-alert {
2083 temperature = <85000>;
2084 hysteresis = <2000>;
2088 cpu4_crit: trip-crit {
2089 temperature = <100000>;
2090 hysteresis = <2000>;
2097 trip = <&cpu4_alert>;
2098 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2099 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2100 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2101 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2107 polling-delay = <1000>;
2108 polling-delay-passive = <250>;
2109 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU1>;
2112 cpu5_alert: trip-alert {
2113 temperature = <85000>;
2114 hysteresis = <2000>;
2118 cpu5_crit: trip-crit {
2119 temperature = <100000>;
2120 hysteresis = <2000>;
2127 trip = <&cpu5_alert>;
2128 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2129 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2130 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2131 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2137 polling-delay = <1000>;
2138 polling-delay-passive = <250>;
2139 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU2>;
2142 cpu6_alert: trip-alert {
2143 temperature = <85000>;
2144 hysteresis = <2000>;
2148 cpu6_crit: trip-crit {
2149 temperature = <100000>;
2150 hysteresis = <2000>;
2157 trip = <&cpu6_alert>;
2158 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2159 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2160 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2161 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2167 polling-delay = <1000>;
2168 polling-delay-passive = <250>;
2169 thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU3>;
2172 cpu7_alert: trip-alert {
2173 temperature = <85000>;
2174 hysteresis = <2000>;
2178 cpu7_crit: trip-crit {
2179 temperature = <100000>;
2180 hysteresis = <2000>;
2187 trip = <&cpu7_alert>;
2188 cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2189 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2190 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2191 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2197 polling-delay = <1000>;
2198 polling-delay-passive = <250>;
2199 thermal-sensors = <&lvts_ap MT8192_AP_VPU0>;
2202 vpu0_alert: trip-alert {
2203 temperature = <85000>;
2204 hysteresis = <2000>;
2208 vpu0_crit: trip-crit {
2209 temperature = <100000>;
2210 hysteresis = <2000>;
2217 polling-delay = <1000>;
2218 polling-delay-passive = <250>;
2219 thermal-sensors = <&lvts_ap MT8192_AP_VPU1>;
2222 vpu1_alert: trip-alert {
2223 temperature = <85000>;
2224 hysteresis = <2000>;
2228 vpu1_crit: trip-crit {
2229 temperature = <100000>;
2230 hysteresis = <2000>;
2237 polling-delay = <1000>;
2238 polling-delay-passive = <250>;
2239 thermal-sensors = <&lvts_ap MT8192_AP_GPU0>;
2242 gpu0_alert: trip-alert {
2243 temperature = <85000>;
2244 hysteresis = <2000>;
2248 gpu0_crit: trip-crit {
2249 temperature = <100000>;
2250 hysteresis = <2000>;
2257 polling-delay = <1000>;
2258 polling-delay-passive = <250>;
2259 thermal-sensors = <&lvts_ap MT8192_AP_GPU1>;
2262 gpu1_alert: trip-alert {
2263 temperature = <85000>;
2264 hysteresis = <2000>;
2268 gpu1_crit: trip-crit {
2269 temperature = <100000>;
2270 hysteresis = <2000>;
2277 polling-delay = <1000>;
2278 polling-delay-passive = <250>;
2279 thermal-sensors = <&lvts_ap MT8192_AP_INFRA>;
2282 infra_alert: trip-alert {
2283 temperature = <85000>;
2284 hysteresis = <2000>;
2288 infra_crit: trip-crit {
2289 temperature = <100000>;
2290 hysteresis = <2000>;
2297 polling-delay = <1000>;
2298 polling-delay-passive = <250>;
2299 thermal-sensors = <&lvts_ap MT8192_AP_CAM>;
2302 cam_alert: trip-alert {
2303 temperature = <85000>;
2304 hysteresis = <2000>;
2308 cam_crit: trip-crit {
2309 temperature = <100000>;
2310 hysteresis = <2000>;
2317 polling-delay = <1000>;
2318 polling-delay-passive = <250>;
2319 thermal-sensors = <&lvts_ap MT8192_AP_MD0>;
2322 md0_alert: trip-alert {
2323 temperature = <85000>;
2324 hysteresis = <2000>;
2328 md0_crit: trip-crit {
2329 temperature = <100000>;
2330 hysteresis = <2000>;
2337 polling-delay = <1000>;
2338 polling-delay-passive = <250>;
2339 thermal-sensors = <&lvts_ap MT8192_AP_MD1>;
2342 md1_alert: trip-alert {
2343 temperature = <85000>;
2344 hysteresis = <2000>;
2348 md1_crit: trip-crit {
2349 temperature = <100000>;
2350 hysteresis = <2000>;
2357 polling-delay = <1000>;
2358 polling-delay-passive = <250>;
2359 thermal-sensors = <&lvts_ap MT8192_AP_MD2>;
2362 md2_alert: trip-alert {
2363 temperature = <85000>;
2364 hysteresis = <2000>;
2368 md2_crit: trip-crit {
2369 temperature = <100000>;
2370 hysteresis = <2000>;