]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm64/mediatek/mt8195.dtsi
Import device-tree files from Linux 6.4
[FreeBSD/FreeBSD.git] / src / arm64 / mediatek / mt8195.dtsi
1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
2 /*
3  * Copyright (c) 2021 MediaTek Inc.
4  * Author: Seiya Wang <seiya.wang@mediatek.com>
5  */
6
7 /dts-v1/;
8 #include <dt-bindings/clock/mt8195-clk.h>
9 #include <dt-bindings/gce/mt8195-gce.h>
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/memory/mt8195-memory-port.h>
13 #include <dt-bindings/phy/phy.h>
14 #include <dt-bindings/pinctrl/mt8195-pinfunc.h>
15 #include <dt-bindings/power/mt8195-power.h>
16 #include <dt-bindings/reset/mt8195-resets.h>
17 #include <dt-bindings/thermal/thermal.h>
18 #include <dt-bindings/thermal/mediatek,lvts-thermal.h>
19
20 / {
21         compatible = "mediatek,mt8195";
22         interrupt-parent = <&gic>;
23         #address-cells = <2>;
24         #size-cells = <2>;
25
26         aliases {
27                 gce0 = &gce0;
28                 gce1 = &gce1;
29                 ethdr0 = &ethdr0;
30                 mutex0 = &mutex;
31                 mutex1 = &mutex1;
32                 merge1 = &merge1;
33                 merge2 = &merge2;
34                 merge3 = &merge3;
35                 merge4 = &merge4;
36                 merge5 = &merge5;
37                 vdo1-rdma0 = &vdo1_rdma0;
38                 vdo1-rdma1 = &vdo1_rdma1;
39                 vdo1-rdma2 = &vdo1_rdma2;
40                 vdo1-rdma3 = &vdo1_rdma3;
41                 vdo1-rdma4 = &vdo1_rdma4;
42                 vdo1-rdma5 = &vdo1_rdma5;
43                 vdo1-rdma6 = &vdo1_rdma6;
44                 vdo1-rdma7 = &vdo1_rdma7;
45         };
46
47         cpus {
48                 #address-cells = <1>;
49                 #size-cells = <0>;
50
51                 cpu0: cpu@0 {
52                         device_type = "cpu";
53                         compatible = "arm,cortex-a55";
54                         reg = <0x000>;
55                         enable-method = "psci";
56                         performance-domains = <&performance 0>;
57                         clock-frequency = <1701000000>;
58                         capacity-dmips-mhz = <308>;
59                         cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
60                         i-cache-size = <32768>;
61                         i-cache-line-size = <64>;
62                         i-cache-sets = <128>;
63                         d-cache-size = <32768>;
64                         d-cache-line-size = <64>;
65                         d-cache-sets = <128>;
66                         next-level-cache = <&l2_0>;
67                         #cooling-cells = <2>;
68                 };
69
70                 cpu1: cpu@100 {
71                         device_type = "cpu";
72                         compatible = "arm,cortex-a55";
73                         reg = <0x100>;
74                         enable-method = "psci";
75                         performance-domains = <&performance 0>;
76                         clock-frequency = <1701000000>;
77                         capacity-dmips-mhz = <308>;
78                         cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
79                         i-cache-size = <32768>;
80                         i-cache-line-size = <64>;
81                         i-cache-sets = <128>;
82                         d-cache-size = <32768>;
83                         d-cache-line-size = <64>;
84                         d-cache-sets = <128>;
85                         next-level-cache = <&l2_0>;
86                         #cooling-cells = <2>;
87                 };
88
89                 cpu2: cpu@200 {
90                         device_type = "cpu";
91                         compatible = "arm,cortex-a55";
92                         reg = <0x200>;
93                         enable-method = "psci";
94                         performance-domains = <&performance 0>;
95                         clock-frequency = <1701000000>;
96                         capacity-dmips-mhz = <308>;
97                         cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
98                         i-cache-size = <32768>;
99                         i-cache-line-size = <64>;
100                         i-cache-sets = <128>;
101                         d-cache-size = <32768>;
102                         d-cache-line-size = <64>;
103                         d-cache-sets = <128>;
104                         next-level-cache = <&l2_0>;
105                         #cooling-cells = <2>;
106                 };
107
108                 cpu3: cpu@300 {
109                         device_type = "cpu";
110                         compatible = "arm,cortex-a55";
111                         reg = <0x300>;
112                         enable-method = "psci";
113                         performance-domains = <&performance 0>;
114                         clock-frequency = <1701000000>;
115                         capacity-dmips-mhz = <308>;
116                         cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
117                         i-cache-size = <32768>;
118                         i-cache-line-size = <64>;
119                         i-cache-sets = <128>;
120                         d-cache-size = <32768>;
121                         d-cache-line-size = <64>;
122                         d-cache-sets = <128>;
123                         next-level-cache = <&l2_0>;
124                         #cooling-cells = <2>;
125                 };
126
127                 cpu4: cpu@400 {
128                         device_type = "cpu";
129                         compatible = "arm,cortex-a78";
130                         reg = <0x400>;
131                         enable-method = "psci";
132                         performance-domains = <&performance 1>;
133                         clock-frequency = <2171000000>;
134                         capacity-dmips-mhz = <1024>;
135                         cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
136                         i-cache-size = <65536>;
137                         i-cache-line-size = <64>;
138                         i-cache-sets = <256>;
139                         d-cache-size = <65536>;
140                         d-cache-line-size = <64>;
141                         d-cache-sets = <256>;
142                         next-level-cache = <&l2_1>;
143                         #cooling-cells = <2>;
144                 };
145
146                 cpu5: cpu@500 {
147                         device_type = "cpu";
148                         compatible = "arm,cortex-a78";
149                         reg = <0x500>;
150                         enable-method = "psci";
151                         performance-domains = <&performance 1>;
152                         clock-frequency = <2171000000>;
153                         capacity-dmips-mhz = <1024>;
154                         cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
155                         i-cache-size = <65536>;
156                         i-cache-line-size = <64>;
157                         i-cache-sets = <256>;
158                         d-cache-size = <65536>;
159                         d-cache-line-size = <64>;
160                         d-cache-sets = <256>;
161                         next-level-cache = <&l2_1>;
162                         #cooling-cells = <2>;
163                 };
164
165                 cpu6: cpu@600 {
166                         device_type = "cpu";
167                         compatible = "arm,cortex-a78";
168                         reg = <0x600>;
169                         enable-method = "psci";
170                         performance-domains = <&performance 1>;
171                         clock-frequency = <2171000000>;
172                         capacity-dmips-mhz = <1024>;
173                         cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
174                         i-cache-size = <65536>;
175                         i-cache-line-size = <64>;
176                         i-cache-sets = <256>;
177                         d-cache-size = <65536>;
178                         d-cache-line-size = <64>;
179                         d-cache-sets = <256>;
180                         next-level-cache = <&l2_1>;
181                         #cooling-cells = <2>;
182                 };
183
184                 cpu7: cpu@700 {
185                         device_type = "cpu";
186                         compatible = "arm,cortex-a78";
187                         reg = <0x700>;
188                         enable-method = "psci";
189                         performance-domains = <&performance 1>;
190                         clock-frequency = <2171000000>;
191                         capacity-dmips-mhz = <1024>;
192                         cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
193                         i-cache-size = <65536>;
194                         i-cache-line-size = <64>;
195                         i-cache-sets = <256>;
196                         d-cache-size = <65536>;
197                         d-cache-line-size = <64>;
198                         d-cache-sets = <256>;
199                         next-level-cache = <&l2_1>;
200                         #cooling-cells = <2>;
201                 };
202
203                 cpu-map {
204                         cluster0 {
205                                 core0 {
206                                         cpu = <&cpu0>;
207                                 };
208
209                                 core1 {
210                                         cpu = <&cpu1>;
211                                 };
212
213                                 core2 {
214                                         cpu = <&cpu2>;
215                                 };
216
217                                 core3 {
218                                         cpu = <&cpu3>;
219                                 };
220
221                                 core4 {
222                                         cpu = <&cpu4>;
223                                 };
224
225                                 core5 {
226                                         cpu = <&cpu5>;
227                                 };
228
229                                 core6 {
230                                         cpu = <&cpu6>;
231                                 };
232
233                                 core7 {
234                                         cpu = <&cpu7>;
235                                 };
236                         };
237                 };
238
239                 idle-states {
240                         entry-method = "psci";
241
242                         cpu_ret_l: cpu-retention-l {
243                                 compatible = "arm,idle-state";
244                                 arm,psci-suspend-param = <0x00010001>;
245                                 local-timer-stop;
246                                 entry-latency-us = <50>;
247                                 exit-latency-us = <95>;
248                                 min-residency-us = <580>;
249                         };
250
251                         cpu_ret_b: cpu-retention-b {
252                                 compatible = "arm,idle-state";
253                                 arm,psci-suspend-param = <0x00010001>;
254                                 local-timer-stop;
255                                 entry-latency-us = <45>;
256                                 exit-latency-us = <140>;
257                                 min-residency-us = <740>;
258                         };
259
260                         cpu_off_l: cpu-off-l {
261                                 compatible = "arm,idle-state";
262                                 arm,psci-suspend-param = <0x01010002>;
263                                 local-timer-stop;
264                                 entry-latency-us = <55>;
265                                 exit-latency-us = <155>;
266                                 min-residency-us = <840>;
267                         };
268
269                         cpu_off_b: cpu-off-b {
270                                 compatible = "arm,idle-state";
271                                 arm,psci-suspend-param = <0x01010002>;
272                                 local-timer-stop;
273                                 entry-latency-us = <50>;
274                                 exit-latency-us = <200>;
275                                 min-residency-us = <1000>;
276                         };
277                 };
278
279                 l2_0: l2-cache0 {
280                         compatible = "cache";
281                         cache-level = <2>;
282                         cache-size = <131072>;
283                         cache-line-size = <64>;
284                         cache-sets = <512>;
285                         next-level-cache = <&l3_0>;
286                 };
287
288                 l2_1: l2-cache1 {
289                         compatible = "cache";
290                         cache-level = <2>;
291                         cache-size = <262144>;
292                         cache-line-size = <64>;
293                         cache-sets = <512>;
294                         next-level-cache = <&l3_0>;
295                 };
296
297                 l3_0: l3-cache {
298                         compatible = "cache";
299                         cache-level = <3>;
300                         cache-size = <2097152>;
301                         cache-line-size = <64>;
302                         cache-sets = <2048>;
303                         cache-unified;
304                 };
305         };
306
307         dsu-pmu {
308                 compatible = "arm,dsu-pmu";
309                 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>;
310                 cpus = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>,
311                        <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
312         };
313
314         dmic_codec: dmic-codec {
315                 compatible = "dmic-codec";
316                 num-channels = <2>;
317                 wakeup-delay-ms = <50>;
318         };
319
320         sound: mt8195-sound {
321                 mediatek,platform = <&afe>;
322                 status = "disabled";
323         };
324
325         clk13m: fixed-factor-clock-13m {
326                 compatible = "fixed-factor-clock";
327                 #clock-cells = <0>;
328                 clocks = <&clk26m>;
329                 clock-div = <2>;
330                 clock-mult = <1>;
331                 clock-output-names = "clk13m";
332         };
333
334         clk26m: oscillator-26m {
335                 compatible = "fixed-clock";
336                 #clock-cells = <0>;
337                 clock-frequency = <26000000>;
338                 clock-output-names = "clk26m";
339         };
340
341         clk32k: oscillator-32k {
342                 compatible = "fixed-clock";
343                 #clock-cells = <0>;
344                 clock-frequency = <32768>;
345                 clock-output-names = "clk32k";
346         };
347
348         performance: performance-controller@11bc10 {
349                 compatible = "mediatek,cpufreq-hw";
350                 reg = <0 0x0011bc10 0 0x120>, <0 0x0011bd30 0 0x120>;
351                 #performance-domain-cells = <1>;
352         };
353
354         gpu_opp_table: opp-table-gpu {
355                 compatible = "operating-points-v2";
356                 opp-shared;
357
358                 opp-390000000 {
359                         opp-hz = /bits/ 64 <390000000>;
360                         opp-microvolt = <625000>;
361                 };
362                 opp-410000000 {
363                         opp-hz = /bits/ 64 <410000000>;
364                         opp-microvolt = <631250>;
365                 };
366                 opp-431000000 {
367                         opp-hz = /bits/ 64 <431000000>;
368                         opp-microvolt = <631250>;
369                 };
370                 opp-473000000 {
371                         opp-hz = /bits/ 64 <473000000>;
372                         opp-microvolt = <637500>;
373                 };
374                 opp-515000000 {
375                         opp-hz = /bits/ 64 <515000000>;
376                         opp-microvolt = <637500>;
377                 };
378                 opp-556000000 {
379                         opp-hz = /bits/ 64 <556000000>;
380                         opp-microvolt = <643750>;
381                 };
382                 opp-598000000 {
383                         opp-hz = /bits/ 64 <598000000>;
384                         opp-microvolt = <650000>;
385                 };
386                 opp-640000000 {
387                         opp-hz = /bits/ 64 <640000000>;
388                         opp-microvolt = <650000>;
389                 };
390                 opp-670000000 {
391                         opp-hz = /bits/ 64 <670000000>;
392                         opp-microvolt = <662500>;
393                 };
394                 opp-700000000 {
395                         opp-hz = /bits/ 64 <700000000>;
396                         opp-microvolt = <675000>;
397                 };
398                 opp-730000000 {
399                         opp-hz = /bits/ 64 <730000000>;
400                         opp-microvolt = <687500>;
401                 };
402                 opp-760000000 {
403                         opp-hz = /bits/ 64 <760000000>;
404                         opp-microvolt = <700000>;
405                 };
406                 opp-790000000 {
407                         opp-hz = /bits/ 64 <790000000>;
408                         opp-microvolt = <712500>;
409                 };
410                 opp-820000000 {
411                         opp-hz = /bits/ 64 <820000000>;
412                         opp-microvolt = <725000>;
413                 };
414                 opp-850000000 {
415                         opp-hz = /bits/ 64 <850000000>;
416                         opp-microvolt = <737500>;
417                 };
418                 opp-880000000 {
419                         opp-hz = /bits/ 64 <880000000>;
420                         opp-microvolt = <750000>;
421                 };
422         };
423
424         pmu-a55 {
425                 compatible = "arm,cortex-a55-pmu";
426                 interrupt-parent = <&gic>;
427                 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>;
428         };
429
430         pmu-a78 {
431                 compatible = "arm,cortex-a78-pmu";
432                 interrupt-parent = <&gic>;
433                 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>;
434         };
435
436         psci {
437                 compatible = "arm,psci-1.0";
438                 method = "smc";
439         };
440
441         timer: timer {
442                 compatible = "arm,armv8-timer";
443                 interrupt-parent = <&gic>;
444                 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
445                              <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>,
446                              <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>,
447                              <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>;
448         };
449
450         soc {
451                 #address-cells = <2>;
452                 #size-cells = <2>;
453                 compatible = "simple-bus";
454                 ranges;
455                 dma-ranges = <0x0 0x0 0x0 0x0 0x4 0x0>;
456
457                 gic: interrupt-controller@c000000 {
458                         compatible = "arm,gic-v3";
459                         #interrupt-cells = <4>;
460                         #redistributor-regions = <1>;
461                         interrupt-parent = <&gic>;
462                         interrupt-controller;
463                         reg = <0 0x0c000000 0 0x40000>,
464                               <0 0x0c040000 0 0x200000>;
465                         interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
466
467                         ppi-partitions {
468                                 ppi_cluster0: interrupt-partition-0 {
469                                         affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
470                                 };
471
472                                 ppi_cluster1: interrupt-partition-1 {
473                                         affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
474                                 };
475                         };
476                 };
477
478                 topckgen: syscon@10000000 {
479                         compatible = "mediatek,mt8195-topckgen", "syscon";
480                         reg = <0 0x10000000 0 0x1000>;
481                         #clock-cells = <1>;
482                 };
483
484                 infracfg_ao: syscon@10001000 {
485                         compatible = "mediatek,mt8195-infracfg_ao", "syscon", "simple-mfd";
486                         reg = <0 0x10001000 0 0x1000>;
487                         #clock-cells = <1>;
488                         #reset-cells = <1>;
489                 };
490
491                 pericfg: syscon@10003000 {
492                         compatible = "mediatek,mt8195-pericfg", "syscon";
493                         reg = <0 0x10003000 0 0x1000>;
494                         #clock-cells = <1>;
495                 };
496
497                 pio: pinctrl@10005000 {
498                         compatible = "mediatek,mt8195-pinctrl";
499                         reg = <0 0x10005000 0 0x1000>,
500                               <0 0x11d10000 0 0x1000>,
501                               <0 0x11d30000 0 0x1000>,
502                               <0 0x11d40000 0 0x1000>,
503                               <0 0x11e20000 0 0x1000>,
504                               <0 0x11eb0000 0 0x1000>,
505                               <0 0x11f40000 0 0x1000>,
506                               <0 0x1000b000 0 0x1000>;
507                         reg-names = "iocfg0", "iocfg_bm", "iocfg_bl",
508                                     "iocfg_br", "iocfg_lm", "iocfg_rb",
509                                     "iocfg_tl", "eint";
510                         gpio-controller;
511                         #gpio-cells = <2>;
512                         gpio-ranges = <&pio 0 0 144>;
513                         interrupt-controller;
514                         interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH 0>;
515                         #interrupt-cells = <2>;
516                 };
517
518                 scpsys: syscon@10006000 {
519                         compatible = "mediatek,mt8195-scpsys", "syscon", "simple-mfd";
520                         reg = <0 0x10006000 0 0x1000>;
521
522                         /* System Power Manager */
523                         spm: power-controller {
524                                 compatible = "mediatek,mt8195-power-controller";
525                                 #address-cells = <1>;
526                                 #size-cells = <0>;
527                                 #power-domain-cells = <1>;
528
529                                 /* power domain of the SoC */
530                                 mfg0: power-domain@MT8195_POWER_DOMAIN_MFG0 {
531                                         reg = <MT8195_POWER_DOMAIN_MFG0>;
532                                         #address-cells = <1>;
533                                         #size-cells = <0>;
534                                         #power-domain-cells = <1>;
535
536                                         power-domain@MT8195_POWER_DOMAIN_MFG1 {
537                                                 reg = <MT8195_POWER_DOMAIN_MFG1>;
538                                                 clocks = <&apmixedsys CLK_APMIXED_MFGPLL>,
539                                                          <&topckgen CLK_TOP_MFG_CORE_TMP>;
540                                                 clock-names = "mfg", "alt";
541                                                 mediatek,infracfg = <&infracfg_ao>;
542                                                 #address-cells = <1>;
543                                                 #size-cells = <0>;
544                                                 #power-domain-cells = <1>;
545
546                                                 power-domain@MT8195_POWER_DOMAIN_MFG2 {
547                                                         reg = <MT8195_POWER_DOMAIN_MFG2>;
548                                                         #power-domain-cells = <0>;
549                                                 };
550
551                                                 power-domain@MT8195_POWER_DOMAIN_MFG3 {
552                                                         reg = <MT8195_POWER_DOMAIN_MFG3>;
553                                                         #power-domain-cells = <0>;
554                                                 };
555
556                                                 power-domain@MT8195_POWER_DOMAIN_MFG4 {
557                                                         reg = <MT8195_POWER_DOMAIN_MFG4>;
558                                                         #power-domain-cells = <0>;
559                                                 };
560
561                                                 power-domain@MT8195_POWER_DOMAIN_MFG5 {
562                                                         reg = <MT8195_POWER_DOMAIN_MFG5>;
563                                                         #power-domain-cells = <0>;
564                                                 };
565
566                                                 power-domain@MT8195_POWER_DOMAIN_MFG6 {
567                                                         reg = <MT8195_POWER_DOMAIN_MFG6>;
568                                                         #power-domain-cells = <0>;
569                                                 };
570                                         };
571                                 };
572
573                                 power-domain@MT8195_POWER_DOMAIN_VPPSYS0 {
574                                         reg = <MT8195_POWER_DOMAIN_VPPSYS0>;
575                                         clocks = <&topckgen CLK_TOP_VPP>,
576                                                  <&topckgen CLK_TOP_CAM>,
577                                                  <&topckgen CLK_TOP_CCU>,
578                                                  <&topckgen CLK_TOP_IMG>,
579                                                  <&topckgen CLK_TOP_VENC>,
580                                                  <&topckgen CLK_TOP_VDEC>,
581                                                  <&topckgen CLK_TOP_WPE_VPP>,
582                                                  <&topckgen CLK_TOP_CFG_VPP0>,
583                                                  <&vppsys0 CLK_VPP0_SMI_COMMON>,
584                                                  <&vppsys0 CLK_VPP0_GALS_VDO0_LARB0>,
585                                                  <&vppsys0 CLK_VPP0_GALS_VDO0_LARB1>,
586                                                  <&vppsys0 CLK_VPP0_GALS_VENCSYS>,
587                                                  <&vppsys0 CLK_VPP0_GALS_VENCSYS_CORE1>,
588                                                  <&vppsys0 CLK_VPP0_GALS_INFRA>,
589                                                  <&vppsys0 CLK_VPP0_GALS_CAMSYS>,
590                                                  <&vppsys0 CLK_VPP0_GALS_VPP1_LARB5>,
591                                                  <&vppsys0 CLK_VPP0_GALS_VPP1_LARB6>,
592                                                  <&vppsys0 CLK_VPP0_SMI_REORDER>,
593                                                  <&vppsys0 CLK_VPP0_SMI_IOMMU>,
594                                                  <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>,
595                                                  <&vppsys0 CLK_VPP0_GALS_EMI0_EMI1>,
596                                                  <&vppsys0 CLK_VPP0_SMI_SUB_COMMON_REORDER>,
597                                                  <&vppsys0 CLK_VPP0_SMI_RSI>,
598                                                  <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>,
599                                                  <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
600                                                  <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
601                                                  <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
602                                         clock-names = "vppsys", "vppsys1", "vppsys2", "vppsys3",
603                                                       "vppsys4", "vppsys5", "vppsys6", "vppsys7",
604                                                       "vppsys0-0", "vppsys0-1", "vppsys0-2", "vppsys0-3",
605                                                       "vppsys0-4", "vppsys0-5", "vppsys0-6", "vppsys0-7",
606                                                       "vppsys0-8", "vppsys0-9", "vppsys0-10", "vppsys0-11",
607                                                       "vppsys0-12", "vppsys0-13", "vppsys0-14",
608                                                       "vppsys0-15", "vppsys0-16", "vppsys0-17",
609                                                       "vppsys0-18";
610                                         mediatek,infracfg = <&infracfg_ao>;
611                                         #address-cells = <1>;
612                                         #size-cells = <0>;
613                                         #power-domain-cells = <1>;
614
615                                         power-domain@MT8195_POWER_DOMAIN_VDEC1 {
616                                                 reg = <MT8195_POWER_DOMAIN_VDEC1>;
617                                                 clocks = <&vdecsys CLK_VDEC_LARB1>;
618                                                 clock-names = "vdec1-0";
619                                                 mediatek,infracfg = <&infracfg_ao>;
620                                                 #power-domain-cells = <0>;
621                                         };
622
623                                         power-domain@MT8195_POWER_DOMAIN_VENC_CORE1 {
624                                                 reg = <MT8195_POWER_DOMAIN_VENC_CORE1>;
625                                                 mediatek,infracfg = <&infracfg_ao>;
626                                                 #power-domain-cells = <0>;
627                                         };
628
629                                         power-domain@MT8195_POWER_DOMAIN_VDOSYS0 {
630                                                 reg = <MT8195_POWER_DOMAIN_VDOSYS0>;
631                                                 clocks = <&topckgen CLK_TOP_CFG_VDO0>,
632                                                          <&vdosys0 CLK_VDO0_SMI_GALS>,
633                                                          <&vdosys0 CLK_VDO0_SMI_COMMON>,
634                                                          <&vdosys0 CLK_VDO0_SMI_EMI>,
635                                                          <&vdosys0 CLK_VDO0_SMI_IOMMU>,
636                                                          <&vdosys0 CLK_VDO0_SMI_LARB>,
637                                                          <&vdosys0 CLK_VDO0_SMI_RSI>;
638                                                 clock-names = "vdosys0", "vdosys0-0", "vdosys0-1",
639                                                               "vdosys0-2", "vdosys0-3",
640                                                               "vdosys0-4", "vdosys0-5";
641                                                 mediatek,infracfg = <&infracfg_ao>;
642                                                 #address-cells = <1>;
643                                                 #size-cells = <0>;
644                                                 #power-domain-cells = <1>;
645
646                                                 power-domain@MT8195_POWER_DOMAIN_VPPSYS1 {
647                                                         reg = <MT8195_POWER_DOMAIN_VPPSYS1>;
648                                                         clocks = <&topckgen CLK_TOP_CFG_VPP1>,
649                                                                  <&vppsys1 CLK_VPP1_VPPSYS1_GALS>,
650                                                                  <&vppsys1 CLK_VPP1_VPPSYS1_LARB>;
651                                                         clock-names = "vppsys1", "vppsys1-0",
652                                                                       "vppsys1-1";
653                                                         mediatek,infracfg = <&infracfg_ao>;
654                                                         #power-domain-cells = <0>;
655                                                 };
656
657                                                 power-domain@MT8195_POWER_DOMAIN_WPESYS {
658                                                         reg = <MT8195_POWER_DOMAIN_WPESYS>;
659                                                         clocks = <&wpesys CLK_WPE_SMI_LARB7>,
660                                                                  <&wpesys CLK_WPE_SMI_LARB8>,
661                                                                  <&wpesys CLK_WPE_SMI_LARB7_P>,
662                                                                  <&wpesys CLK_WPE_SMI_LARB8_P>;
663                                                         clock-names = "wepsys-0", "wepsys-1", "wepsys-2",
664                                                                       "wepsys-3";
665                                                         mediatek,infracfg = <&infracfg_ao>;
666                                                         #power-domain-cells = <0>;
667                                                 };
668
669                                                 power-domain@MT8195_POWER_DOMAIN_VDEC0 {
670                                                         reg = <MT8195_POWER_DOMAIN_VDEC0>;
671                                                         clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
672                                                         clock-names = "vdec0-0";
673                                                         mediatek,infracfg = <&infracfg_ao>;
674                                                         #power-domain-cells = <0>;
675                                                 };
676
677                                                 power-domain@MT8195_POWER_DOMAIN_VDEC2 {
678                                                         reg = <MT8195_POWER_DOMAIN_VDEC2>;
679                                                         clocks = <&vdecsys_core1 CLK_VDEC_CORE1_LARB1>;
680                                                         clock-names = "vdec2-0";
681                                                         mediatek,infracfg = <&infracfg_ao>;
682                                                         #power-domain-cells = <0>;
683                                                 };
684
685                                                 power-domain@MT8195_POWER_DOMAIN_VENC {
686                                                         reg = <MT8195_POWER_DOMAIN_VENC>;
687                                                         mediatek,infracfg = <&infracfg_ao>;
688                                                         #power-domain-cells = <0>;
689                                                 };
690
691                                                 power-domain@MT8195_POWER_DOMAIN_VDOSYS1 {
692                                                         reg = <MT8195_POWER_DOMAIN_VDOSYS1>;
693                                                         clocks = <&topckgen CLK_TOP_CFG_VDO1>,
694                                                                  <&vdosys1 CLK_VDO1_SMI_LARB2>,
695                                                                  <&vdosys1 CLK_VDO1_SMI_LARB3>,
696                                                                  <&vdosys1 CLK_VDO1_GALS>;
697                                                         clock-names = "vdosys1", "vdosys1-0",
698                                                                       "vdosys1-1", "vdosys1-2";
699                                                         mediatek,infracfg = <&infracfg_ao>;
700                                                         #address-cells = <1>;
701                                                         #size-cells = <0>;
702                                                         #power-domain-cells = <1>;
703
704                                                         power-domain@MT8195_POWER_DOMAIN_DP_TX {
705                                                                 reg = <MT8195_POWER_DOMAIN_DP_TX>;
706                                                                 mediatek,infracfg = <&infracfg_ao>;
707                                                                 #power-domain-cells = <0>;
708                                                         };
709
710                                                         power-domain@MT8195_POWER_DOMAIN_EPD_TX {
711                                                                 reg = <MT8195_POWER_DOMAIN_EPD_TX>;
712                                                                 mediatek,infracfg = <&infracfg_ao>;
713                                                                 #power-domain-cells = <0>;
714                                                         };
715
716                                                         power-domain@MT8195_POWER_DOMAIN_HDMI_TX {
717                                                                 reg = <MT8195_POWER_DOMAIN_HDMI_TX>;
718                                                                 clocks = <&topckgen CLK_TOP_HDMI_APB>;
719                                                                 clock-names = "hdmi_tx";
720                                                                 #power-domain-cells = <0>;
721                                                         };
722                                                 };
723
724                                                 power-domain@MT8195_POWER_DOMAIN_IMG {
725                                                         reg = <MT8195_POWER_DOMAIN_IMG>;
726                                                         clocks = <&imgsys CLK_IMG_LARB9>,
727                                                                  <&imgsys CLK_IMG_GALS>;
728                                                         clock-names = "img-0", "img-1";
729                                                         mediatek,infracfg = <&infracfg_ao>;
730                                                         #address-cells = <1>;
731                                                         #size-cells = <0>;
732                                                         #power-domain-cells = <1>;
733
734                                                         power-domain@MT8195_POWER_DOMAIN_DIP {
735                                                                 reg = <MT8195_POWER_DOMAIN_DIP>;
736                                                                 #power-domain-cells = <0>;
737                                                         };
738
739                                                         power-domain@MT8195_POWER_DOMAIN_IPE {
740                                                                 reg = <MT8195_POWER_DOMAIN_IPE>;
741                                                                 clocks = <&topckgen CLK_TOP_IPE>,
742                                                                          <&imgsys CLK_IMG_IPE>,
743                                                                          <&ipesys CLK_IPE_SMI_LARB12>;
744                                                                 clock-names = "ipe", "ipe-0", "ipe-1";
745                                                                 mediatek,infracfg = <&infracfg_ao>;
746                                                                 #power-domain-cells = <0>;
747                                                         };
748                                                 };
749
750                                                 power-domain@MT8195_POWER_DOMAIN_CAM {
751                                                         reg = <MT8195_POWER_DOMAIN_CAM>;
752                                                         clocks = <&camsys CLK_CAM_LARB13>,
753                                                                  <&camsys CLK_CAM_LARB14>,
754                                                                  <&camsys CLK_CAM_CAM2MM0_GALS>,
755                                                                  <&camsys CLK_CAM_CAM2MM1_GALS>,
756                                                                  <&camsys CLK_CAM_CAM2SYS_GALS>;
757                                                         clock-names = "cam-0", "cam-1", "cam-2", "cam-3",
758                                                                       "cam-4";
759                                                         mediatek,infracfg = <&infracfg_ao>;
760                                                         #address-cells = <1>;
761                                                         #size-cells = <0>;
762                                                         #power-domain-cells = <1>;
763
764                                                         power-domain@MT8195_POWER_DOMAIN_CAM_RAWA {
765                                                                 reg = <MT8195_POWER_DOMAIN_CAM_RAWA>;
766                                                                 #power-domain-cells = <0>;
767                                                         };
768
769                                                         power-domain@MT8195_POWER_DOMAIN_CAM_RAWB {
770                                                                 reg = <MT8195_POWER_DOMAIN_CAM_RAWB>;
771                                                                 #power-domain-cells = <0>;
772                                                         };
773
774                                                         power-domain@MT8195_POWER_DOMAIN_CAM_MRAW {
775                                                                 reg = <MT8195_POWER_DOMAIN_CAM_MRAW>;
776                                                                 #power-domain-cells = <0>;
777                                                         };
778                                                 };
779                                         };
780                                 };
781
782                                 power-domain@MT8195_POWER_DOMAIN_PCIE_MAC_P0 {
783                                         reg = <MT8195_POWER_DOMAIN_PCIE_MAC_P0>;
784                                         mediatek,infracfg = <&infracfg_ao>;
785                                         #power-domain-cells = <0>;
786                                 };
787
788                                 power-domain@MT8195_POWER_DOMAIN_PCIE_MAC_P1 {
789                                         reg = <MT8195_POWER_DOMAIN_PCIE_MAC_P1>;
790                                         mediatek,infracfg = <&infracfg_ao>;
791                                         #power-domain-cells = <0>;
792                                 };
793
794                                 power-domain@MT8195_POWER_DOMAIN_PCIE_PHY {
795                                         reg = <MT8195_POWER_DOMAIN_PCIE_PHY>;
796                                         #power-domain-cells = <0>;
797                                 };
798
799                                 power-domain@MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY {
800                                         reg = <MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY>;
801                                         #power-domain-cells = <0>;
802                                 };
803
804                                 power-domain@MT8195_POWER_DOMAIN_CSI_RX_TOP {
805                                         reg = <MT8195_POWER_DOMAIN_CSI_RX_TOP>;
806                                         clocks = <&topckgen CLK_TOP_SENINF>,
807                                                  <&topckgen CLK_TOP_SENINF2>;
808                                         clock-names = "csi_rx_top", "csi_rx_top1";
809                                         #power-domain-cells = <0>;
810                                 };
811
812                                 power-domain@MT8195_POWER_DOMAIN_ETHER {
813                                         reg = <MT8195_POWER_DOMAIN_ETHER>;
814                                         clocks = <&pericfg_ao CLK_PERI_AO_ETHERNET_MAC>;
815                                         clock-names = "ether";
816                                         #power-domain-cells = <0>;
817                                 };
818
819                                 power-domain@MT8195_POWER_DOMAIN_ADSP {
820                                         reg = <MT8195_POWER_DOMAIN_ADSP>;
821                                         clocks = <&topckgen CLK_TOP_ADSP>,
822                                                  <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>;
823                                         clock-names = "adsp", "adsp1";
824                                         #address-cells = <1>;
825                                         #size-cells = <0>;
826                                         mediatek,infracfg = <&infracfg_ao>;
827                                         #power-domain-cells = <1>;
828
829                                         power-domain@MT8195_POWER_DOMAIN_AUDIO {
830                                                 reg = <MT8195_POWER_DOMAIN_AUDIO>;
831                                                 clocks = <&topckgen CLK_TOP_A1SYS_HP>,
832                                                          <&topckgen CLK_TOP_AUD_INTBUS>,
833                                                          <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>,
834                                                          <&infracfg_ao CLK_INFRA_AO_AUDIO_26M_B>;
835                                                 clock-names = "audio", "audio1", "audio2",
836                                                               "audio3";
837                                                 mediatek,infracfg = <&infracfg_ao>;
838                                                 #power-domain-cells = <0>;
839                                         };
840                                 };
841                         };
842                 };
843
844                 watchdog: watchdog@10007000 {
845                         compatible = "mediatek,mt8195-wdt";
846                         mediatek,disable-extrst;
847                         reg = <0 0x10007000 0 0x100>;
848                         #reset-cells = <1>;
849                 };
850
851                 apmixedsys: syscon@1000c000 {
852                         compatible = "mediatek,mt8195-apmixedsys", "syscon";
853                         reg = <0 0x1000c000 0 0x1000>;
854                         #clock-cells = <1>;
855                 };
856
857                 systimer: timer@10017000 {
858                         compatible = "mediatek,mt8195-timer",
859                                      "mediatek,mt6765-timer";
860                         reg = <0 0x10017000 0 0x1000>;
861                         interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>;
862                         clocks = <&clk13m>;
863                 };
864
865                 pwrap: pwrap@10024000 {
866                         compatible = "mediatek,mt8195-pwrap", "syscon";
867                         reg = <0 0x10024000 0 0x1000>;
868                         reg-names = "pwrap";
869                         interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH 0>;
870                         clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>,
871                                  <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>;
872                         clock-names = "spi", "wrap";
873                         assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC>;
874                         assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>;
875                 };
876
877                 spmi: spmi@10027000 {
878                         compatible = "mediatek,mt8195-spmi";
879                         reg = <0 0x10027000 0 0x000e00>,
880                               <0 0x10029000 0 0x000100>;
881                         reg-names = "pmif", "spmimst";
882                         clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>,
883                                  <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>,
884                                  <&topckgen CLK_TOP_SPMI_M_MST>;
885                         clock-names = "pmif_sys_ck",
886                                       "pmif_tmr_ck",
887                                       "spmimst_clk_mux";
888                         assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC>;
889                         assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>;
890                 };
891
892                 iommu_infra: infra-iommu@10315000 {
893                         compatible = "mediatek,mt8195-iommu-infra";
894                         reg = <0 0x10315000 0 0x5000>;
895                         interrupts = <GIC_SPI 795 IRQ_TYPE_LEVEL_HIGH 0>,
896                                      <GIC_SPI 796 IRQ_TYPE_LEVEL_HIGH 0>,
897                                      <GIC_SPI 797 IRQ_TYPE_LEVEL_HIGH 0>,
898                                      <GIC_SPI 798 IRQ_TYPE_LEVEL_HIGH 0>,
899                                      <GIC_SPI 799 IRQ_TYPE_LEVEL_HIGH 0>;
900                         #iommu-cells = <1>;
901                 };
902
903                 gce0: mailbox@10320000 {
904                         compatible = "mediatek,mt8195-gce";
905                         reg = <0 0x10320000 0 0x4000>;
906                         interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH 0>;
907                         #mbox-cells = <2>;
908                         clocks = <&infracfg_ao CLK_INFRA_AO_GCE>;
909                 };
910
911                 gce1: mailbox@10330000 {
912                         compatible = "mediatek,mt8195-gce";
913                         reg = <0 0x10330000 0 0x4000>;
914                         interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH 0>;
915                         #mbox-cells = <2>;
916                         clocks = <&infracfg_ao CLK_INFRA_AO_GCE2>;
917                 };
918
919                 scp: scp@10500000 {
920                         compatible = "mediatek,mt8195-scp";
921                         reg = <0 0x10500000 0 0x100000>,
922                               <0 0x10720000 0 0xe0000>,
923                               <0 0x10700000 0 0x8000>;
924                         reg-names = "sram", "cfg", "l1tcm";
925                         interrupts = <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH 0>;
926                         status = "disabled";
927                 };
928
929                 scp_adsp: clock-controller@10720000 {
930                         compatible = "mediatek,mt8195-scp_adsp";
931                         reg = <0 0x10720000 0 0x1000>;
932                         #clock-cells = <1>;
933                 };
934
935                 adsp: dsp@10803000 {
936                         compatible = "mediatek,mt8195-dsp";
937                         reg = <0 0x10803000 0 0x1000>,
938                               <0 0x10840000 0 0x40000>;
939                         reg-names = "cfg", "sram";
940                         clocks = <&topckgen CLK_TOP_ADSP>,
941                                  <&clk26m>,
942                                  <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>,
943                                  <&topckgen CLK_TOP_MAINPLL_D7_D2>,
944                                  <&scp_adsp CLK_SCP_ADSP_AUDIODSP>,
945                                  <&topckgen CLK_TOP_AUDIO_H>;
946                         clock-names = "adsp_sel",
947                                  "clk26m_ck",
948                                  "audio_local_bus",
949                                  "mainpll_d7_d2",
950                                  "scp_adsp_audiodsp",
951                                  "audio_h";
952                         power-domains = <&spm MT8195_POWER_DOMAIN_ADSP>;
953                         mbox-names = "rx", "tx";
954                         mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;
955                         status = "disabled";
956                 };
957
958                 adsp_mailbox0: mailbox@10816000 {
959                         compatible = "mediatek,mt8195-adsp-mbox";
960                         #mbox-cells = <0>;
961                         reg = <0 0x10816000 0 0x1000>;
962                         interrupts = <GIC_SPI 702 IRQ_TYPE_LEVEL_HIGH 0>;
963                 };
964
965                 adsp_mailbox1: mailbox@10817000 {
966                         compatible = "mediatek,mt8195-adsp-mbox";
967                         #mbox-cells = <0>;
968                         reg = <0 0x10817000 0 0x1000>;
969                         interrupts = <GIC_SPI 703 IRQ_TYPE_LEVEL_HIGH 0>;
970                 };
971
972                 afe: mt8195-afe-pcm@10890000 {
973                         compatible = "mediatek,mt8195-audio";
974                         reg = <0 0x10890000 0 0x10000>;
975                         mediatek,topckgen = <&topckgen>;
976                         power-domains = <&spm MT8195_POWER_DOMAIN_AUDIO>;
977                         interrupts = <GIC_SPI 822 IRQ_TYPE_LEVEL_HIGH 0>;
978                         resets = <&watchdog 14>;
979                         reset-names = "audiosys";
980                         clocks = <&clk26m>,
981                                 <&apmixedsys CLK_APMIXED_APLL1>,
982                                 <&apmixedsys CLK_APMIXED_APLL2>,
983                                 <&topckgen CLK_TOP_APLL12_DIV0>,
984                                 <&topckgen CLK_TOP_APLL12_DIV1>,
985                                 <&topckgen CLK_TOP_APLL12_DIV2>,
986                                 <&topckgen CLK_TOP_APLL12_DIV3>,
987                                 <&topckgen CLK_TOP_APLL12_DIV9>,
988                                 <&topckgen CLK_TOP_A1SYS_HP>,
989                                 <&topckgen CLK_TOP_AUD_INTBUS>,
990                                 <&topckgen CLK_TOP_AUDIO_H>,
991                                 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>,
992                                 <&topckgen CLK_TOP_DPTX_MCK>,
993                                 <&topckgen CLK_TOP_I2SO1_MCK>,
994                                 <&topckgen CLK_TOP_I2SO2_MCK>,
995                                 <&topckgen CLK_TOP_I2SI1_MCK>,
996                                 <&topckgen CLK_TOP_I2SI2_MCK>,
997                                 <&infracfg_ao CLK_INFRA_AO_AUDIO_26M_B>,
998                                 <&scp_adsp CLK_SCP_ADSP_AUDIODSP>;
999                         clock-names = "clk26m",
1000                                 "apll1_ck",
1001                                 "apll2_ck",
1002                                 "apll12_div0",
1003                                 "apll12_div1",
1004                                 "apll12_div2",
1005                                 "apll12_div3",
1006                                 "apll12_div9",
1007                                 "a1sys_hp_sel",
1008                                 "aud_intbus_sel",
1009                                 "audio_h_sel",
1010                                 "audio_local_bus_sel",
1011                                 "dptx_m_sel",
1012                                 "i2so1_m_sel",
1013                                 "i2so2_m_sel",
1014                                 "i2si1_m_sel",
1015                                 "i2si2_m_sel",
1016                                 "infra_ao_audio_26m_b",
1017                                 "scp_adsp_audiodsp";
1018                         status = "disabled";
1019                 };
1020
1021                 uart0: serial@11001100 {
1022                         compatible = "mediatek,mt8195-uart",
1023                                      "mediatek,mt6577-uart";
1024                         reg = <0 0x11001100 0 0x100>;
1025                         interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH 0>;
1026                         clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART0>;
1027                         clock-names = "baud", "bus";
1028                         status = "disabled";
1029                 };
1030
1031                 uart1: serial@11001200 {
1032                         compatible = "mediatek,mt8195-uart",
1033                                      "mediatek,mt6577-uart";
1034                         reg = <0 0x11001200 0 0x100>;
1035                         interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH 0>;
1036                         clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART1>;
1037                         clock-names = "baud", "bus";
1038                         status = "disabled";
1039                 };
1040
1041                 uart2: serial@11001300 {
1042                         compatible = "mediatek,mt8195-uart",
1043                                      "mediatek,mt6577-uart";
1044                         reg = <0 0x11001300 0 0x100>;
1045                         interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH 0>;
1046                         clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART2>;
1047                         clock-names = "baud", "bus";
1048                         status = "disabled";
1049                 };
1050
1051                 uart3: serial@11001400 {
1052                         compatible = "mediatek,mt8195-uart",
1053                                      "mediatek,mt6577-uart";
1054                         reg = <0 0x11001400 0 0x100>;
1055                         interrupts = <GIC_SPI 723 IRQ_TYPE_LEVEL_HIGH 0>;
1056                         clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART3>;
1057                         clock-names = "baud", "bus";
1058                         status = "disabled";
1059                 };
1060
1061                 uart4: serial@11001500 {
1062                         compatible = "mediatek,mt8195-uart",
1063                                      "mediatek,mt6577-uart";
1064                         reg = <0 0x11001500 0 0x100>;
1065                         interrupts = <GIC_SPI 724 IRQ_TYPE_LEVEL_HIGH 0>;
1066                         clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART4>;
1067                         clock-names = "baud", "bus";
1068                         status = "disabled";
1069                 };
1070
1071                 uart5: serial@11001600 {
1072                         compatible = "mediatek,mt8195-uart",
1073                                      "mediatek,mt6577-uart";
1074                         reg = <0 0x11001600 0 0x100>;
1075                         interrupts = <GIC_SPI 725 IRQ_TYPE_LEVEL_HIGH 0>;
1076                         clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART5>;
1077                         clock-names = "baud", "bus";
1078                         status = "disabled";
1079                 };
1080
1081                 auxadc: auxadc@11002000 {
1082                         compatible = "mediatek,mt8195-auxadc",
1083                                      "mediatek,mt8173-auxadc";
1084                         reg = <0 0x11002000 0 0x1000>;
1085                         clocks = <&infracfg_ao CLK_INFRA_AO_AUXADC>;
1086                         clock-names = "main";
1087                         #io-channel-cells = <1>;
1088                         status = "disabled";
1089                 };
1090
1091                 pericfg_ao: syscon@11003000 {
1092                         compatible = "mediatek,mt8195-pericfg_ao", "syscon";
1093                         reg = <0 0x11003000 0 0x1000>;
1094                         #clock-cells = <1>;
1095                 };
1096
1097                 spi0: spi@1100a000 {
1098                         compatible = "mediatek,mt8195-spi",
1099                                      "mediatek,mt6765-spi";
1100                         #address-cells = <1>;
1101                         #size-cells = <0>;
1102                         reg = <0 0x1100a000 0 0x1000>;
1103                         interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH 0>;
1104                         clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
1105                                  <&topckgen CLK_TOP_SPI>,
1106                                  <&infracfg_ao CLK_INFRA_AO_SPI0>;
1107                         clock-names = "parent-clk", "sel-clk", "spi-clk";
1108                         status = "disabled";
1109                 };
1110
1111                 lvts_ap: thermal-sensor@1100b000 {
1112                         compatible = "mediatek,mt8195-lvts-ap";
1113                         reg = <0 0x1100b000 0 0x1000>;
1114                         interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH 0>;
1115                         clocks = <&infracfg_ao CLK_INFRA_AO_THERM>;
1116                         resets = <&infracfg_ao MT8195_INFRA_RST0_THERM_CTRL_SWRST>;
1117                         nvmem-cells = <&lvts_efuse_data1 &lvts_efuse_data2>;
1118                         nvmem-cell-names = "lvts-calib-data-1", "lvts-calib-data-2";
1119                         #thermal-sensor-cells = <1>;
1120                 };
1121
1122                 disp_pwm0: pwm@1100e000 {
1123                         compatible = "mediatek,mt8195-disp-pwm", "mediatek,mt8183-disp-pwm";
1124                         reg = <0 0x1100e000 0 0x1000>;
1125                         interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_LOW 0>;
1126                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
1127                         #pwm-cells = <2>;
1128                         clocks = <&topckgen CLK_TOP_DISP_PWM0>,
1129                                  <&infracfg_ao CLK_INFRA_AO_DISP_PWM>;
1130                         clock-names = "main", "mm";
1131                         status = "disabled";
1132                 };
1133
1134                 disp_pwm1: pwm@1100f000 {
1135                         compatible = "mediatek,mt8195-disp-pwm", "mediatek,mt8183-disp-pwm";
1136                         reg = <0 0x1100f000 0 0x1000>;
1137                         interrupts = <GIC_SPI 793 IRQ_TYPE_LEVEL_HIGH 0>;
1138                         #pwm-cells = <2>;
1139                         clocks = <&topckgen CLK_TOP_DISP_PWM1>,
1140                                  <&infracfg_ao CLK_INFRA_AO_DISP_PWM1>;
1141                         clock-names = "main", "mm";
1142                         status = "disabled";
1143                 };
1144
1145                 spi1: spi@11010000 {
1146                         compatible = "mediatek,mt8195-spi",
1147                                      "mediatek,mt6765-spi";
1148                         #address-cells = <1>;
1149                         #size-cells = <0>;
1150                         reg = <0 0x11010000 0 0x1000>;
1151                         interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH 0>;
1152                         clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
1153                                  <&topckgen CLK_TOP_SPI>,
1154                                  <&infracfg_ao CLK_INFRA_AO_SPI1>;
1155                         clock-names = "parent-clk", "sel-clk", "spi-clk";
1156                         status = "disabled";
1157                 };
1158
1159                 spi2: spi@11012000 {
1160                         compatible = "mediatek,mt8195-spi",
1161                                      "mediatek,mt6765-spi";
1162                         #address-cells = <1>;
1163                         #size-cells = <0>;
1164                         reg = <0 0x11012000 0 0x1000>;
1165                         interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH 0>;
1166                         clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
1167                                  <&topckgen CLK_TOP_SPI>,
1168                                  <&infracfg_ao CLK_INFRA_AO_SPI2>;
1169                         clock-names = "parent-clk", "sel-clk", "spi-clk";
1170                         status = "disabled";
1171                 };
1172
1173                 spi3: spi@11013000 {
1174                         compatible = "mediatek,mt8195-spi",
1175                                      "mediatek,mt6765-spi";
1176                         #address-cells = <1>;
1177                         #size-cells = <0>;
1178                         reg = <0 0x11013000 0 0x1000>;
1179                         interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH 0>;
1180                         clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
1181                                  <&topckgen CLK_TOP_SPI>,
1182                                  <&infracfg_ao CLK_INFRA_AO_SPI3>;
1183                         clock-names = "parent-clk", "sel-clk", "spi-clk";
1184                         status = "disabled";
1185                 };
1186
1187                 spi4: spi@11018000 {
1188                         compatible = "mediatek,mt8195-spi",
1189                                      "mediatek,mt6765-spi";
1190                         #address-cells = <1>;
1191                         #size-cells = <0>;
1192                         reg = <0 0x11018000 0 0x1000>;
1193                         interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH 0>;
1194                         clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
1195                                  <&topckgen CLK_TOP_SPI>,
1196                                  <&infracfg_ao CLK_INFRA_AO_SPI4>;
1197                         clock-names = "parent-clk", "sel-clk", "spi-clk";
1198                         status = "disabled";
1199                 };
1200
1201                 spi5: spi@11019000 {
1202                         compatible = "mediatek,mt8195-spi",
1203                                      "mediatek,mt6765-spi";
1204                         #address-cells = <1>;
1205                         #size-cells = <0>;
1206                         reg = <0 0x11019000 0 0x1000>;
1207                         interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH 0>;
1208                         clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
1209                                  <&topckgen CLK_TOP_SPI>,
1210                                  <&infracfg_ao CLK_INFRA_AO_SPI5>;
1211                         clock-names = "parent-clk", "sel-clk", "spi-clk";
1212                         status = "disabled";
1213                 };
1214
1215                 spis0: spi@1101d000 {
1216                         compatible = "mediatek,mt8195-spi-slave";
1217                         reg = <0 0x1101d000 0 0x1000>;
1218                         interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH 0>;
1219                         clocks = <&infracfg_ao CLK_INFRA_AO_SPIS0>;
1220                         clock-names = "spi";
1221                         assigned-clocks = <&topckgen CLK_TOP_SPIS>;
1222                         assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>;
1223                         status = "disabled";
1224                 };
1225
1226                 spis1: spi@1101e000 {
1227                         compatible = "mediatek,mt8195-spi-slave";
1228                         reg = <0 0x1101e000 0 0x1000>;
1229                         interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH 0>;
1230                         clocks = <&infracfg_ao CLK_INFRA_AO_SPIS1>;
1231                         clock-names = "spi";
1232                         assigned-clocks = <&topckgen CLK_TOP_SPIS>;
1233                         assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>;
1234                         status = "disabled";
1235                 };
1236
1237                 eth: ethernet@11021000 {
1238                         compatible = "mediatek,mt8195-gmac", "snps,dwmac-5.10a";
1239                         reg = <0 0x11021000 0 0x4000>;
1240                         interrupts = <GIC_SPI 716 IRQ_TYPE_LEVEL_HIGH 0>;
1241                         interrupt-names = "macirq";
1242                         clock-names = "axi",
1243                                       "apb",
1244                                       "mac_main",
1245                                       "ptp_ref",
1246                                       "rmii_internal",
1247                                       "mac_cg";
1248                         clocks = <&pericfg_ao CLK_PERI_AO_ETHERNET>,
1249                                  <&pericfg_ao CLK_PERI_AO_ETHERNET_BUS>,
1250                                  <&topckgen CLK_TOP_SNPS_ETH_250M>,
1251                                  <&topckgen CLK_TOP_SNPS_ETH_62P4M_PTP>,
1252                                  <&topckgen CLK_TOP_SNPS_ETH_50M_RMII>,
1253                                  <&pericfg_ao CLK_PERI_AO_ETHERNET_MAC>;
1254                         assigned-clocks = <&topckgen CLK_TOP_SNPS_ETH_250M>,
1255                                           <&topckgen CLK_TOP_SNPS_ETH_62P4M_PTP>,
1256                                           <&topckgen CLK_TOP_SNPS_ETH_50M_RMII>;
1257                         assigned-clock-parents = <&topckgen CLK_TOP_ETHPLL_D2>,
1258                                                  <&topckgen CLK_TOP_ETHPLL_D8>,
1259                                                  <&topckgen CLK_TOP_ETHPLL_D10>;
1260                         power-domains = <&spm MT8195_POWER_DOMAIN_ETHER>;
1261                         mediatek,pericfg = <&infracfg_ao>;
1262                         snps,axi-config = <&stmmac_axi_setup>;
1263                         snps,mtl-rx-config = <&mtl_rx_setup>;
1264                         snps,mtl-tx-config = <&mtl_tx_setup>;
1265                         snps,txpbl = <16>;
1266                         snps,rxpbl = <16>;
1267                         snps,clk-csr = <0>;
1268                         status = "disabled";
1269
1270                         mdio {
1271                                 compatible = "snps,dwmac-mdio";
1272                                 #address-cells = <1>;
1273                                 #size-cells = <0>;
1274                         };
1275
1276                         stmmac_axi_setup: stmmac-axi-config {
1277                                 snps,wr_osr_lmt = <0x7>;
1278                                 snps,rd_osr_lmt = <0x7>;
1279                                 snps,blen = <0 0 0 0 16 8 4>;
1280                         };
1281
1282                         mtl_rx_setup: rx-queues-config {
1283                                 snps,rx-queues-to-use = <4>;
1284                                 snps,rx-sched-sp;
1285                                 queue0 {
1286                                         snps,dcb-algorithm;
1287                                         snps,map-to-dma-channel = <0x0>;
1288                                 };
1289                                 queue1 {
1290                                         snps,dcb-algorithm;
1291                                         snps,map-to-dma-channel = <0x0>;
1292                                 };
1293                                 queue2 {
1294                                         snps,dcb-algorithm;
1295                                         snps,map-to-dma-channel = <0x0>;
1296                                 };
1297                                 queue3 {
1298                                         snps,dcb-algorithm;
1299                                         snps,map-to-dma-channel = <0x0>;
1300                                 };
1301                         };
1302
1303                         mtl_tx_setup: tx-queues-config {
1304                                 snps,tx-queues-to-use = <4>;
1305                                 snps,tx-sched-wrr;
1306                                 queue0 {
1307                                         snps,weight = <0x10>;
1308                                         snps,dcb-algorithm;
1309                                         snps,priority = <0x0>;
1310                                 };
1311                                 queue1 {
1312                                         snps,weight = <0x11>;
1313                                         snps,dcb-algorithm;
1314                                         snps,priority = <0x1>;
1315                                 };
1316                                 queue2 {
1317                                         snps,weight = <0x12>;
1318                                         snps,dcb-algorithm;
1319                                         snps,priority = <0x2>;
1320                                 };
1321                                 queue3 {
1322                                         snps,weight = <0x13>;
1323                                         snps,dcb-algorithm;
1324                                         snps,priority = <0x3>;
1325                                 };
1326                         };
1327                 };
1328
1329                 xhci0: usb@11200000 {
1330                         compatible = "mediatek,mt8195-xhci",
1331                                      "mediatek,mtk-xhci";
1332                         reg = <0 0x11200000 0 0x1000>,
1333                               <0 0x11203e00 0 0x0100>;
1334                         reg-names = "mac", "ippc";
1335                         interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH 0>;
1336                         phys = <&u2port0 PHY_TYPE_USB2>,
1337                                <&u3port0 PHY_TYPE_USB3>;
1338                         assigned-clocks = <&topckgen CLK_TOP_USB_TOP>,
1339                                           <&topckgen CLK_TOP_SSUSB_XHCI>;
1340                         assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
1341                                                  <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
1342                         clocks = <&infracfg_ao CLK_INFRA_AO_SSUSB>,
1343                                  <&topckgen CLK_TOP_SSUSB_REF>,
1344                                  <&apmixedsys CLK_APMIXED_USB1PLL>,
1345                                  <&clk26m>,
1346                                  <&infracfg_ao CLK_INFRA_AO_SSUSB_XHCI>;
1347                         clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
1348                                       "xhci_ck";
1349                         mediatek,syscon-wakeup = <&pericfg 0x400 103>;
1350                         wakeup-source;
1351                         status = "disabled";
1352                 };
1353
1354                 mmc0: mmc@11230000 {
1355                         compatible = "mediatek,mt8195-mmc",
1356                                      "mediatek,mt8183-mmc";
1357                         reg = <0 0x11230000 0 0x10000>,
1358                               <0 0x11f50000 0 0x1000>;
1359                         interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH 0>;
1360                         clocks = <&topckgen CLK_TOP_MSDC50_0>,
1361                                  <&infracfg_ao CLK_INFRA_AO_MSDC0>,
1362                                  <&infracfg_ao CLK_INFRA_AO_MSDC0_SRC>;
1363                         clock-names = "source", "hclk", "source_cg";
1364                         status = "disabled";
1365                 };
1366
1367                 mmc1: mmc@11240000 {
1368                         compatible = "mediatek,mt8195-mmc",
1369                                      "mediatek,mt8183-mmc";
1370                         reg = <0 0x11240000 0 0x1000>,
1371                               <0 0x11c70000 0 0x1000>;
1372                         interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH 0>;
1373                         clocks = <&topckgen CLK_TOP_MSDC30_1>,
1374                                  <&infracfg_ao CLK_INFRA_AO_MSDC1>,
1375                                  <&infracfg_ao CLK_INFRA_AO_MSDC1_SRC>;
1376                         clock-names = "source", "hclk", "source_cg";
1377                         assigned-clocks = <&topckgen CLK_TOP_MSDC30_1>;
1378                         assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>;
1379                         status = "disabled";
1380                 };
1381
1382                 mmc2: mmc@11250000 {
1383                         compatible = "mediatek,mt8195-mmc",
1384                                      "mediatek,mt8183-mmc";
1385                         reg = <0 0x11250000 0 0x1000>,
1386                               <0 0x11e60000 0 0x1000>;
1387                         interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH 0>;
1388                         clocks = <&topckgen CLK_TOP_MSDC30_2>,
1389                                  <&infracfg_ao CLK_INFRA_AO_CG1_MSDC2>,
1390                                  <&infracfg_ao CLK_INFRA_AO_CG3_MSDC2>;
1391                         clock-names = "source", "hclk", "source_cg";
1392                         assigned-clocks = <&topckgen CLK_TOP_MSDC30_2>;
1393                         assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>;
1394                         status = "disabled";
1395                 };
1396
1397                 lvts_mcu: thermal-sensor@11278000 {
1398                         compatible = "mediatek,mt8195-lvts-mcu";
1399                         reg = <0 0x11278000 0 0x1000>;
1400                         interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH 0>;
1401                         clocks = <&infracfg_ao CLK_INFRA_AO_THERM>;
1402                         resets = <&infracfg_ao MT8195_INFRA_RST4_THERM_CTRL_MCU_SWRST>;
1403                         nvmem-cells = <&lvts_efuse_data1 &lvts_efuse_data2>;
1404                         nvmem-cell-names = "lvts-calib-data-1", "lvts-calib-data-2";
1405                         #thermal-sensor-cells = <1>;
1406                 };
1407
1408                 xhci1: usb@11290000 {
1409                         compatible = "mediatek,mt8195-xhci",
1410                                      "mediatek,mtk-xhci";
1411                         reg = <0 0x11290000 0 0x1000>,
1412                               <0 0x11293e00 0 0x0100>;
1413                         reg-names = "mac", "ippc";
1414                         interrupts = <GIC_SPI 530 IRQ_TYPE_LEVEL_HIGH 0>;
1415                         phys = <&u2port1 PHY_TYPE_USB2>;
1416                         assigned-clocks = <&topckgen CLK_TOP_USB_TOP_1P>,
1417                                           <&topckgen CLK_TOP_SSUSB_XHCI_1P>;
1418                         assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
1419                                                  <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
1420                         clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_1P_BUS>,
1421                                  <&topckgen CLK_TOP_SSUSB_P1_REF>,
1422                                  <&apmixedsys CLK_APMIXED_USB1PLL>,
1423                                  <&clk26m>,
1424                                  <&pericfg_ao CLK_PERI_AO_SSUSB_1P_XHCI>;
1425                         clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
1426                                       "xhci_ck";
1427                         mediatek,syscon-wakeup = <&pericfg 0x400 104>;
1428                         wakeup-source;
1429                         status = "disabled";
1430                 };
1431
1432                 xhci2: usb@112a0000 {
1433                         compatible = "mediatek,mt8195-xhci",
1434                                      "mediatek,mtk-xhci";
1435                         reg = <0 0x112a0000 0 0x1000>,
1436                               <0 0x112a3e00 0 0x0100>;
1437                         reg-names = "mac", "ippc";
1438                         interrupts = <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH 0>;
1439                         phys = <&u2port2 PHY_TYPE_USB2>;
1440                         assigned-clocks = <&topckgen CLK_TOP_USB_TOP_2P>,
1441                                           <&topckgen CLK_TOP_SSUSB_XHCI_2P>;
1442                         assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
1443                                                  <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
1444                         clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_2P_BUS>,
1445                                  <&topckgen CLK_TOP_SSUSB_P2_REF>,
1446                                  <&clk26m>,
1447                                  <&clk26m>,
1448                                  <&pericfg_ao CLK_PERI_AO_SSUSB_2P_XHCI>;
1449                         clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
1450                                       "xhci_ck";
1451                         mediatek,syscon-wakeup = <&pericfg 0x400 105>;
1452                         wakeup-source;
1453                         status = "disabled";
1454                 };
1455
1456                 xhci3: usb@112b0000 {
1457                         compatible = "mediatek,mt8195-xhci",
1458                                      "mediatek,mtk-xhci";
1459                         reg = <0 0x112b0000 0 0x1000>,
1460                               <0 0x112b3e00 0 0x0100>;
1461                         reg-names = "mac", "ippc";
1462                         interrupts = <GIC_SPI 536 IRQ_TYPE_LEVEL_HIGH 0>;
1463                         phys = <&u2port3 PHY_TYPE_USB2>;
1464                         assigned-clocks = <&topckgen CLK_TOP_USB_TOP_3P>,
1465                                           <&topckgen CLK_TOP_SSUSB_XHCI_3P>;
1466                         assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
1467                                                  <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
1468                         clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_3P_BUS>,
1469                                  <&topckgen CLK_TOP_SSUSB_P3_REF>,
1470                                  <&clk26m>,
1471                                  <&clk26m>,
1472                                  <&pericfg_ao CLK_PERI_AO_SSUSB_3P_XHCI>;
1473                         clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
1474                                       "xhci_ck";
1475                         mediatek,syscon-wakeup = <&pericfg 0x400 106>;
1476                         wakeup-source;
1477                         status = "disabled";
1478                 };
1479
1480                 pcie0: pcie@112f0000 {
1481                         compatible = "mediatek,mt8195-pcie",
1482                                      "mediatek,mt8192-pcie";
1483                         device_type = "pci";
1484                         #address-cells = <3>;
1485                         #size-cells = <2>;
1486                         reg = <0 0x112f0000 0 0x4000>;
1487                         reg-names = "pcie-mac";
1488                         interrupts = <GIC_SPI 791 IRQ_TYPE_LEVEL_HIGH 0>;
1489                         bus-range = <0x00 0xff>;
1490                         ranges = <0x81000000 0 0x20000000
1491                                   0x0 0x20000000 0 0x200000>,
1492                                  <0x82000000 0 0x20200000
1493                                   0x0 0x20200000 0 0x3e00000>;
1494
1495                         iommu-map = <0 &iommu_infra IOMMU_PORT_INFRA_PCIE0 0x2>;
1496                         iommu-map-mask = <0x0>;
1497
1498                         clocks = <&infracfg_ao CLK_INFRA_AO_PCIE_PL_P_250M_P0>,
1499                                  <&infracfg_ao CLK_INFRA_AO_PCIE_TL_26M>,
1500                                  <&infracfg_ao CLK_INFRA_AO_PCIE_TL_96M>,
1501                                  <&infracfg_ao CLK_INFRA_AO_PCIE_TL_32K>,
1502                                  <&infracfg_ao CLK_INFRA_AO_PCIE_PERI_26M>,
1503                                  <&pericfg_ao CLK_PERI_AO_PCIE_P0_MEM>;
1504                         clock-names = "pl_250m", "tl_26m", "tl_96m",
1505                                       "tl_32k", "peri_26m", "peri_mem";
1506                         assigned-clocks = <&topckgen CLK_TOP_TL>;
1507                         assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4_D4>;
1508
1509                         phys = <&pciephy>;
1510                         phy-names = "pcie-phy";
1511
1512                         power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_MAC_P0>;
1513
1514                         resets = <&infracfg_ao MT8195_INFRA_RST2_PCIE_P0_SWRST>;
1515                         reset-names = "mac";
1516
1517                         #interrupt-cells = <1>;
1518                         interrupt-map-mask = <0 0 0 7>;
1519                         interrupt-map = <0 0 0 1 &pcie_intc0 0>,
1520                                         <0 0 0 2 &pcie_intc0 1>,
1521                                         <0 0 0 3 &pcie_intc0 2>,
1522                                         <0 0 0 4 &pcie_intc0 3>;
1523                         status = "disabled";
1524
1525                         pcie_intc0: interrupt-controller {
1526                                 interrupt-controller;
1527                                 #address-cells = <0>;
1528                                 #interrupt-cells = <1>;
1529                         };
1530                 };
1531
1532                 pcie1: pcie@112f8000 {
1533                         compatible = "mediatek,mt8195-pcie",
1534                                      "mediatek,mt8192-pcie";
1535                         device_type = "pci";
1536                         #address-cells = <3>;
1537                         #size-cells = <2>;
1538                         reg = <0 0x112f8000 0 0x4000>;
1539                         reg-names = "pcie-mac";
1540                         interrupts = <GIC_SPI 792 IRQ_TYPE_LEVEL_HIGH 0>;
1541                         bus-range = <0x00 0xff>;
1542                         ranges = <0x81000000 0 0x24000000
1543                                   0x0 0x24000000 0 0x200000>,
1544                                  <0x82000000 0 0x24200000
1545                                   0x0 0x24200000 0 0x3e00000>;
1546
1547                         iommu-map = <0 &iommu_infra IOMMU_PORT_INFRA_PCIE1 0x2>;
1548                         iommu-map-mask = <0x0>;
1549
1550                         clocks = <&infracfg_ao CLK_INFRA_AO_PCIE_PL_P_250M_P1>,
1551                                  <&clk26m>,
1552                                  <&infracfg_ao CLK_INFRA_AO_PCIE_P1_TL_96M>,
1553                                  <&clk26m>,
1554                                  <&infracfg_ao CLK_INFRA_AO_PCIE_P1_PERI_26M>,
1555                                  /* Designer has connect pcie1 with peri_mem_p0 clock */
1556                                  <&pericfg_ao CLK_PERI_AO_PCIE_P0_MEM>;
1557                         clock-names = "pl_250m", "tl_26m", "tl_96m",
1558                                       "tl_32k", "peri_26m", "peri_mem";
1559                         assigned-clocks = <&topckgen CLK_TOP_TL_P1>;
1560                         assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4_D4>;
1561
1562                         phys = <&u3port1 PHY_TYPE_PCIE>;
1563                         phy-names = "pcie-phy";
1564                         power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_MAC_P1>;
1565
1566                         resets = <&infracfg_ao MT8195_INFRA_RST2_PCIE_P1_SWRST>;
1567                         reset-names = "mac";
1568
1569                         #interrupt-cells = <1>;
1570                         interrupt-map-mask = <0 0 0 7>;
1571                         interrupt-map = <0 0 0 1 &pcie_intc1 0>,
1572                                         <0 0 0 2 &pcie_intc1 1>,
1573                                         <0 0 0 3 &pcie_intc1 2>,
1574                                         <0 0 0 4 &pcie_intc1 3>;
1575                         status = "disabled";
1576
1577                         pcie_intc1: interrupt-controller {
1578                                 interrupt-controller;
1579                                 #address-cells = <0>;
1580                                 #interrupt-cells = <1>;
1581                         };
1582                 };
1583
1584                 nor_flash: spi@1132c000 {
1585                         compatible = "mediatek,mt8195-nor",
1586                                      "mediatek,mt8173-nor";
1587                         reg = <0 0x1132c000 0 0x1000>;
1588                         interrupts = <GIC_SPI 825 IRQ_TYPE_LEVEL_HIGH 0>;
1589                         clocks = <&topckgen CLK_TOP_SPINOR>,
1590                                  <&pericfg_ao CLK_PERI_AO_FLASHIF_FLASH>,
1591                                  <&pericfg_ao CLK_PERI_AO_FLASHIF_BUS>;
1592                         clock-names = "spi", "sf", "axi";
1593                         #address-cells = <1>;
1594                         #size-cells = <0>;
1595                         status = "disabled";
1596                 };
1597
1598                 efuse: efuse@11c10000 {
1599                         compatible = "mediatek,mt8195-efuse", "mediatek,efuse";
1600                         reg = <0 0x11c10000 0 0x1000>;
1601                         #address-cells = <1>;
1602                         #size-cells = <1>;
1603                         u3_tx_imp_p0: usb3-tx-imp@184,1 {
1604                                 reg = <0x184 0x1>;
1605                                 bits = <0 5>;
1606                         };
1607                         u3_rx_imp_p0: usb3-rx-imp@184,2 {
1608                                 reg = <0x184 0x2>;
1609                                 bits = <5 5>;
1610                         };
1611                         u3_intr_p0: usb3-intr@185 {
1612                                 reg = <0x185 0x1>;
1613                                 bits = <2 6>;
1614                         };
1615                         comb_tx_imp_p1: usb3-tx-imp@186,1 {
1616                                 reg = <0x186 0x1>;
1617                                 bits = <0 5>;
1618                         };
1619                         comb_rx_imp_p1: usb3-rx-imp@186,2 {
1620                                 reg = <0x186 0x2>;
1621                                 bits = <5 5>;
1622                         };
1623                         comb_intr_p1: usb3-intr@187 {
1624                                 reg = <0x187 0x1>;
1625                                 bits = <2 6>;
1626                         };
1627                         u2_intr_p0: usb2-intr-p0@188,1 {
1628                                 reg = <0x188 0x1>;
1629                                 bits = <0 5>;
1630                         };
1631                         u2_intr_p1: usb2-intr-p1@188,2 {
1632                                 reg = <0x188 0x2>;
1633                                 bits = <5 5>;
1634                         };
1635                         u2_intr_p2: usb2-intr-p2@189,1 {
1636                                 reg = <0x189 0x1>;
1637                                 bits = <2 5>;
1638                         };
1639                         u2_intr_p3: usb2-intr-p3@189,2 {
1640                                 reg = <0x189 0x2>;
1641                                 bits = <7 5>;
1642                         };
1643                         pciephy_rx_ln1: pciephy-rx-ln1@190,1 {
1644                                 reg = <0x190 0x1>;
1645                                 bits = <0 4>;
1646                         };
1647                         pciephy_tx_ln1_nmos: pciephy-tx-ln1-nmos@190,2 {
1648                                 reg = <0x190 0x1>;
1649                                 bits = <4 4>;
1650                         };
1651                         pciephy_tx_ln1_pmos: pciephy-tx-ln1-pmos@191,1 {
1652                                 reg = <0x191 0x1>;
1653                                 bits = <0 4>;
1654                         };
1655                         pciephy_rx_ln0: pciephy-rx-ln0@191,2 {
1656                                 reg = <0x191 0x1>;
1657                                 bits = <4 4>;
1658                         };
1659                         pciephy_tx_ln0_nmos: pciephy-tx-ln0-nmos@192,1 {
1660                                 reg = <0x192 0x1>;
1661                                 bits = <0 4>;
1662                         };
1663                         pciephy_tx_ln0_pmos: pciephy-tx-ln0-pmos@192,2 {
1664                                 reg = <0x192 0x1>;
1665                                 bits = <4 4>;
1666                         };
1667                         pciephy_glb_intr: pciephy-glb-intr@193 {
1668                                 reg = <0x193 0x1>;
1669                                 bits = <0 4>;
1670                         };
1671                         dp_calibration: dp-data@1ac {
1672                                 reg = <0x1ac 0x10>;
1673                         };
1674                         lvts_efuse_data1: lvts1-calib@1bc {
1675                                 reg = <0x1bc 0x14>;
1676                         };
1677                         lvts_efuse_data2: lvts2-calib@1d0 {
1678                                 reg = <0x1d0 0x38>;
1679                         };
1680                 };
1681
1682                 u3phy2: t-phy@11c40000 {
1683                         compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
1684                         #address-cells = <1>;
1685                         #size-cells = <1>;
1686                         ranges = <0 0 0x11c40000 0x700>;
1687                         status = "disabled";
1688
1689                         u2port2: usb-phy@0 {
1690                                 reg = <0x0 0x700>;
1691                                 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P2_REF>;
1692                                 clock-names = "ref";
1693                                 #phy-cells = <1>;
1694                         };
1695                 };
1696
1697                 u3phy3: t-phy@11c50000 {
1698                         compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
1699                         #address-cells = <1>;
1700                         #size-cells = <1>;
1701                         ranges = <0 0 0x11c50000 0x700>;
1702                         status = "disabled";
1703
1704                         u2port3: usb-phy@0 {
1705                                 reg = <0x0 0x700>;
1706                                 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P3_REF>;
1707                                 clock-names = "ref";
1708                                 #phy-cells = <1>;
1709                         };
1710                 };
1711
1712                 i2c5: i2c@11d00000 {
1713                         compatible = "mediatek,mt8195-i2c",
1714                                      "mediatek,mt8192-i2c";
1715                         reg = <0 0x11d00000 0 0x1000>,
1716                               <0 0x10220580 0 0x80>;
1717                         interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH 0>;
1718                         clock-div = <1>;
1719                         clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C5>,
1720                                  <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1721                         clock-names = "main", "dma";
1722                         #address-cells = <1>;
1723                         #size-cells = <0>;
1724                         status = "disabled";
1725                 };
1726
1727                 i2c6: i2c@11d01000 {
1728                         compatible = "mediatek,mt8195-i2c",
1729                                      "mediatek,mt8192-i2c";
1730                         reg = <0 0x11d01000 0 0x1000>,
1731                               <0 0x10220600 0 0x80>;
1732                         interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH 0>;
1733                         clock-div = <1>;
1734                         clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C6>,
1735                                  <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1736                         clock-names = "main", "dma";
1737                         #address-cells = <1>;
1738                         #size-cells = <0>;
1739                         status = "disabled";
1740                 };
1741
1742                 i2c7: i2c@11d02000 {
1743                         compatible = "mediatek,mt8195-i2c",
1744                                      "mediatek,mt8192-i2c";
1745                         reg = <0 0x11d02000 0 0x1000>,
1746                               <0 0x10220680 0 0x80>;
1747                         interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
1748                         clock-div = <1>;
1749                         clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>,
1750                                  <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1751                         clock-names = "main", "dma";
1752                         #address-cells = <1>;
1753                         #size-cells = <0>;
1754                         status = "disabled";
1755                 };
1756
1757                 imp_iic_wrap_s: clock-controller@11d03000 {
1758                         compatible = "mediatek,mt8195-imp_iic_wrap_s";
1759                         reg = <0 0x11d03000 0 0x1000>;
1760                         #clock-cells = <1>;
1761                 };
1762
1763                 i2c0: i2c@11e00000 {
1764                         compatible = "mediatek,mt8195-i2c",
1765                                      "mediatek,mt8192-i2c";
1766                         reg = <0 0x11e00000 0 0x1000>,
1767                               <0 0x10220080 0 0x80>;
1768                         interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH 0>;
1769                         clock-div = <1>;
1770                         clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C0>,
1771                                  <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1772                         clock-names = "main", "dma";
1773                         #address-cells = <1>;
1774                         #size-cells = <0>;
1775                         status = "disabled";
1776                 };
1777
1778                 i2c1: i2c@11e01000 {
1779                         compatible = "mediatek,mt8195-i2c",
1780                                      "mediatek,mt8192-i2c";
1781                         reg = <0 0x11e01000 0 0x1000>,
1782                               <0 0x10220200 0 0x80>;
1783                         interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH 0>;
1784                         clock-div = <1>;
1785                         clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C1>,
1786                                  <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1787                         clock-names = "main", "dma";
1788                         #address-cells = <1>;
1789                         #size-cells = <0>;
1790                         status = "disabled";
1791                 };
1792
1793                 i2c2: i2c@11e02000 {
1794                         compatible = "mediatek,mt8195-i2c",
1795                                      "mediatek,mt8192-i2c";
1796                         reg = <0 0x11e02000 0 0x1000>,
1797                               <0 0x10220380 0 0x80>;
1798                         interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH 0>;
1799                         clock-div = <1>;
1800                         clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C2>,
1801                                  <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1802                         clock-names = "main", "dma";
1803                         #address-cells = <1>;
1804                         #size-cells = <0>;
1805                         status = "disabled";
1806                 };
1807
1808                 i2c3: i2c@11e03000 {
1809                         compatible = "mediatek,mt8195-i2c",
1810                                      "mediatek,mt8192-i2c";
1811                         reg = <0 0x11e03000 0 0x1000>,
1812                               <0 0x10220480 0 0x80>;
1813                         interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH 0>;
1814                         clock-div = <1>;
1815                         clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C3>,
1816                                  <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1817                         clock-names = "main", "dma";
1818                         #address-cells = <1>;
1819                         #size-cells = <0>;
1820                         status = "disabled";
1821                 };
1822
1823                 i2c4: i2c@11e04000 {
1824                         compatible = "mediatek,mt8195-i2c",
1825                                      "mediatek,mt8192-i2c";
1826                         reg = <0 0x11e04000 0 0x1000>,
1827                               <0 0x10220500 0 0x80>;
1828                         interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH 0>;
1829                         clock-div = <1>;
1830                         clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C4>,
1831                                  <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1832                         clock-names = "main", "dma";
1833                         #address-cells = <1>;
1834                         #size-cells = <0>;
1835                         status = "disabled";
1836                 };
1837
1838                 imp_iic_wrap_w: clock-controller@11e05000 {
1839                         compatible = "mediatek,mt8195-imp_iic_wrap_w";
1840                         reg = <0 0x11e05000 0 0x1000>;
1841                         #clock-cells = <1>;
1842                 };
1843
1844                 u3phy1: t-phy@11e30000 {
1845                         compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
1846                         #address-cells = <1>;
1847                         #size-cells = <1>;
1848                         ranges = <0 0 0x11e30000 0xe00>;
1849                         power-domains = <&spm MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY>;
1850                         status = "disabled";
1851
1852                         u2port1: usb-phy@0 {
1853                                 reg = <0x0 0x700>;
1854                                 clocks = <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>,
1855                                          <&clk26m>;
1856                                 clock-names = "ref", "da_ref";
1857                                 #phy-cells = <1>;
1858                         };
1859
1860                         u3port1: usb-phy@700 {
1861                                 reg = <0x700 0x700>;
1862                                 clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>,
1863                                          <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>;
1864                                 clock-names = "ref", "da_ref";
1865                                 nvmem-cells = <&comb_intr_p1>,
1866                                               <&comb_rx_imp_p1>,
1867                                               <&comb_tx_imp_p1>;
1868                                 nvmem-cell-names = "intr", "rx_imp", "tx_imp";
1869                                 #phy-cells = <1>;
1870                         };
1871                 };
1872
1873                 u3phy0: t-phy@11e40000 {
1874                         compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
1875                         #address-cells = <1>;
1876                         #size-cells = <1>;
1877                         ranges = <0 0 0x11e40000 0xe00>;
1878                         status = "disabled";
1879
1880                         u2port0: usb-phy@0 {
1881                                 reg = <0x0 0x700>;
1882                                 clocks = <&topckgen CLK_TOP_SSUSB_PHY_REF>,
1883                                          <&clk26m>;
1884                                 clock-names = "ref", "da_ref";
1885                                 #phy-cells = <1>;
1886                         };
1887
1888                         u3port0: usb-phy@700 {
1889                                 reg = <0x700 0x700>;
1890                                 clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>,
1891                                          <&topckgen CLK_TOP_SSUSB_PHY_REF>;
1892                                 clock-names = "ref", "da_ref";
1893                                 nvmem-cells = <&u3_intr_p0>,
1894                                               <&u3_rx_imp_p0>,
1895                                               <&u3_tx_imp_p0>;
1896                                 nvmem-cell-names = "intr", "rx_imp", "tx_imp";
1897                                 #phy-cells = <1>;
1898                         };
1899                 };
1900
1901                 pciephy: phy@11e80000 {
1902                         compatible = "mediatek,mt8195-pcie-phy";
1903                         reg = <0 0x11e80000 0 0x10000>;
1904                         reg-names = "sif";
1905                         nvmem-cells = <&pciephy_glb_intr>, <&pciephy_tx_ln0_pmos>,
1906                                       <&pciephy_tx_ln0_nmos>, <&pciephy_rx_ln0>,
1907                                       <&pciephy_tx_ln1_pmos>, <&pciephy_tx_ln1_nmos>,
1908                                       <&pciephy_rx_ln1>;
1909                         nvmem-cell-names = "glb_intr", "tx_ln0_pmos",
1910                                            "tx_ln0_nmos", "rx_ln0",
1911                                            "tx_ln1_pmos", "tx_ln1_nmos",
1912                                            "rx_ln1";
1913                         power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_PHY>;
1914                         #phy-cells = <0>;
1915                         status = "disabled";
1916                 };
1917
1918                 ufsphy: ufs-phy@11fa0000 {
1919                         compatible = "mediatek,mt8195-ufsphy", "mediatek,mt8183-ufsphy";
1920                         reg = <0 0x11fa0000 0 0xc000>;
1921                         clocks = <&clk26m>, <&clk26m>;
1922                         clock-names = "unipro", "mp";
1923                         #phy-cells = <0>;
1924                         status = "disabled";
1925                 };
1926
1927                 gpu: gpu@13000000 {
1928                         compatible = "mediatek,mt8195-mali", "mediatek,mt8192-mali",
1929                                      "arm,mali-valhall-jm";
1930                         reg = <0 0x13000000 0 0x4000>;
1931
1932                         clocks = <&mfgcfg CLK_MFG_BG3D>;
1933                         interrupts = <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH 0>,
1934                                      <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH 0>,
1935                                      <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH 0>;
1936                         interrupt-names = "job", "mmu", "gpu";
1937                         operating-points-v2 = <&gpu_opp_table>;
1938                         power-domains = <&spm MT8195_POWER_DOMAIN_MFG2>,
1939                                         <&spm MT8195_POWER_DOMAIN_MFG3>,
1940                                         <&spm MT8195_POWER_DOMAIN_MFG4>,
1941                                         <&spm MT8195_POWER_DOMAIN_MFG5>,
1942                                         <&spm MT8195_POWER_DOMAIN_MFG6>;
1943                         power-domain-names = "core0", "core1", "core2", "core3", "core4";
1944                         status = "disabled";
1945                 };
1946
1947                 mfgcfg: clock-controller@13fbf000 {
1948                         compatible = "mediatek,mt8195-mfgcfg";
1949                         reg = <0 0x13fbf000 0 0x1000>;
1950                         #clock-cells = <1>;
1951                 };
1952
1953                 vppsys0: syscon@14000000 {
1954                         compatible = "mediatek,mt8195-vppsys0", "syscon";
1955                         reg = <0 0x14000000 0 0x1000>;
1956                         #clock-cells = <1>;
1957                 };
1958
1959                 mutex@1400f000 {
1960                         compatible = "mediatek,mt8195-vpp-mutex";
1961                         reg = <0 0x1400f000 0 0x1000>;
1962                         interrupts = <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH 0>;
1963                         mediatek,gce-client-reg = <&gce1 SUBSYS_1400XXXX 0xf000 0x1000>;
1964                         clocks = <&vppsys0 CLK_VPP0_MUTEX>;
1965                         power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
1966                 };
1967
1968                 smi_sub_common_vpp0_vpp1_2x1: smi@14010000 {
1969                         compatible = "mediatek,mt8195-smi-sub-common";
1970                         reg = <0 0x14010000 0 0x1000>;
1971                         clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
1972                                <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
1973                                <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>;
1974                         clock-names = "apb", "smi", "gals0";
1975                         mediatek,smi = <&smi_common_vpp>;
1976                         power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
1977                 };
1978
1979                 smi_sub_common_vdec_vpp0_2x1: smi@14011000 {
1980                         compatible = "mediatek,mt8195-smi-sub-common";
1981                         reg = <0 0x14011000 0 0x1000>;
1982                         clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
1983                                  <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
1984                                  <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>;
1985                         clock-names = "apb", "smi", "gals0";
1986                         mediatek,smi = <&smi_common_vpp>;
1987                         power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
1988                 };
1989
1990                 smi_common_vpp: smi@14012000 {
1991                         compatible = "mediatek,mt8195-smi-common-vpp";
1992                         reg = <0 0x14012000 0 0x1000>;
1993                         clocks = <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>,
1994                                <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>,
1995                                <&vppsys0 CLK_VPP0_SMI_RSI>,
1996                                <&vppsys0 CLK_VPP0_SMI_RSI>;
1997                         clock-names = "apb", "smi", "gals0", "gals1";
1998                         power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
1999                 };
2000
2001                 larb4: larb@14013000 {
2002                         compatible = "mediatek,mt8195-smi-larb";
2003                         reg = <0 0x14013000 0 0x1000>;
2004                         mediatek,larb-id = <4>;
2005                         mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>;
2006                         clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
2007                                <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>;
2008                         clock-names = "apb", "smi";
2009                         power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
2010                 };
2011
2012                 iommu_vpp: iommu@14018000 {
2013                         compatible = "mediatek,mt8195-iommu-vpp";
2014                         reg = <0 0x14018000 0 0x1000>;
2015                         mediatek,larbs = <&larb1 &larb3 &larb4 &larb6 &larb8
2016                                           &larb12 &larb14 &larb16 &larb18
2017                                           &larb20 &larb22 &larb23 &larb26
2018                                           &larb27>;
2019                         interrupts = <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH 0>;
2020                         clocks = <&vppsys0 CLK_VPP0_SMI_IOMMU>;
2021                         clock-names = "bclk";
2022                         #iommu-cells = <1>;
2023                         power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
2024                 };
2025
2026                 wpesys: clock-controller@14e00000 {
2027                         compatible = "mediatek,mt8195-wpesys";
2028                         reg = <0 0x14e00000 0 0x1000>;
2029                         #clock-cells = <1>;
2030                 };
2031
2032                 wpesys_vpp0: clock-controller@14e02000 {
2033                         compatible = "mediatek,mt8195-wpesys_vpp0";
2034                         reg = <0 0x14e02000 0 0x1000>;
2035                         #clock-cells = <1>;
2036                 };
2037
2038                 wpesys_vpp1: clock-controller@14e03000 {
2039                         compatible = "mediatek,mt8195-wpesys_vpp1";
2040                         reg = <0 0x14e03000 0 0x1000>;
2041                         #clock-cells = <1>;
2042                 };
2043
2044                 larb7: larb@14e04000 {
2045                         compatible = "mediatek,mt8195-smi-larb";
2046                         reg = <0 0x14e04000 0 0x1000>;
2047                         mediatek,larb-id = <7>;
2048                         mediatek,smi = <&smi_common_vdo>;
2049                         clocks = <&wpesys CLK_WPE_SMI_LARB7>,
2050                                  <&wpesys CLK_WPE_SMI_LARB7>;
2051                         clock-names = "apb", "smi";
2052                         power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>;
2053                 };
2054
2055                 larb8: larb@14e05000 {
2056                         compatible = "mediatek,mt8195-smi-larb";
2057                         reg = <0 0x14e05000 0 0x1000>;
2058                         mediatek,larb-id = <8>;
2059                         mediatek,smi = <&smi_common_vpp>;
2060                         clocks = <&wpesys CLK_WPE_SMI_LARB8>,
2061                                <&wpesys CLK_WPE_SMI_LARB8>,
2062                                <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>;
2063                         clock-names = "apb", "smi", "gals";
2064                         power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>;
2065                 };
2066
2067                 vppsys1: syscon@14f00000 {
2068                         compatible = "mediatek,mt8195-vppsys1", "syscon";
2069                         reg = <0 0x14f00000 0 0x1000>;
2070                         #clock-cells = <1>;
2071                 };
2072
2073                 mutex@14f01000 {
2074                         compatible = "mediatek,mt8195-vpp-mutex";
2075                         reg = <0 0x14f01000 0 0x1000>;
2076                         interrupts = <GIC_SPI 635 IRQ_TYPE_LEVEL_HIGH 0>;
2077                         mediatek,gce-client-reg = <&gce1 SUBSYS_14f0XXXX 0x1000 0x1000>;
2078                         clocks = <&vppsys1 CLK_VPP1_DISP_MUTEX>;
2079                         power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>;
2080                 };
2081
2082                 larb5: larb@14f02000 {
2083                         compatible = "mediatek,mt8195-smi-larb";
2084                         reg = <0 0x14f02000 0 0x1000>;
2085                         mediatek,larb-id = <5>;
2086                         mediatek,smi = <&smi_common_vdo>;
2087                         clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>,
2088                                <&vppsys1 CLK_VPP1_VPPSYS1_GALS>,
2089                                <&vppsys0 CLK_VPP0_GALS_VPP1_LARB5>;
2090                         clock-names = "apb", "smi", "gals";
2091                         power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>;
2092                 };
2093
2094                 larb6: larb@14f03000 {
2095                         compatible = "mediatek,mt8195-smi-larb";
2096                         reg = <0 0x14f03000 0 0x1000>;
2097                         mediatek,larb-id = <6>;
2098                         mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>;
2099                         clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>,
2100                                <&vppsys1 CLK_VPP1_VPPSYS1_GALS>,
2101                                <&vppsys0 CLK_VPP0_GALS_VPP1_LARB6>;
2102                         clock-names = "apb", "smi", "gals";
2103                         power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>;
2104                 };
2105
2106                 imgsys: clock-controller@15000000 {
2107                         compatible = "mediatek,mt8195-imgsys";
2108                         reg = <0 0x15000000 0 0x1000>;
2109                         #clock-cells = <1>;
2110                 };
2111
2112                 larb9: larb@15001000 {
2113                         compatible = "mediatek,mt8195-smi-larb";
2114                         reg = <0 0x15001000 0 0x1000>;
2115                         mediatek,larb-id = <9>;
2116                         mediatek,smi = <&smi_sub_common_img1_3x1>;
2117                         clocks = <&imgsys CLK_IMG_LARB9>,
2118                                  <&imgsys CLK_IMG_LARB9>,
2119                                  <&imgsys CLK_IMG_GALS>;
2120                         clock-names = "apb", "smi", "gals";
2121                         power-domains = <&spm MT8195_POWER_DOMAIN_IMG>;
2122                 };
2123
2124                 smi_sub_common_img0_3x1: smi@15002000 {
2125                         compatible = "mediatek,mt8195-smi-sub-common";
2126                         reg = <0 0x15002000 0 0x1000>;
2127                         clocks = <&imgsys CLK_IMG_IPE>,
2128                                  <&imgsys CLK_IMG_IPE>,
2129                                  <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>;
2130                         clock-names = "apb", "smi", "gals0";
2131                         mediatek,smi = <&smi_common_vpp>;
2132                         power-domains = <&spm MT8195_POWER_DOMAIN_IMG>;
2133                 };
2134
2135                 smi_sub_common_img1_3x1: smi@15003000 {
2136                         compatible = "mediatek,mt8195-smi-sub-common";
2137                         reg = <0 0x15003000 0 0x1000>;
2138                         clocks = <&imgsys CLK_IMG_LARB9>,
2139                                  <&imgsys CLK_IMG_LARB9>,
2140                                  <&imgsys CLK_IMG_GALS>;
2141                         clock-names = "apb", "smi", "gals0";
2142                         mediatek,smi = <&smi_common_vdo>;
2143                         power-domains = <&spm MT8195_POWER_DOMAIN_IMG>;
2144                 };
2145
2146                 imgsys1_dip_top: clock-controller@15110000 {
2147                         compatible = "mediatek,mt8195-imgsys1_dip_top";
2148                         reg = <0 0x15110000 0 0x1000>;
2149                         #clock-cells = <1>;
2150                 };
2151
2152                 larb10: larb@15120000 {
2153                         compatible = "mediatek,mt8195-smi-larb";
2154                         reg = <0 0x15120000 0 0x1000>;
2155                         mediatek,larb-id = <10>;
2156                         mediatek,smi = <&smi_sub_common_img1_3x1>;
2157                         clocks = <&imgsys CLK_IMG_DIP0>,
2158                                <&imgsys1_dip_top CLK_IMG1_DIP_TOP_LARB10>;
2159                         clock-names = "apb", "smi";
2160                         power-domains = <&spm MT8195_POWER_DOMAIN_DIP>;
2161                 };
2162
2163                 imgsys1_dip_nr: clock-controller@15130000 {
2164                         compatible = "mediatek,mt8195-imgsys1_dip_nr";
2165                         reg = <0 0x15130000 0 0x1000>;
2166                         #clock-cells = <1>;
2167                 };
2168
2169                 imgsys1_wpe: clock-controller@15220000 {
2170                         compatible = "mediatek,mt8195-imgsys1_wpe";
2171                         reg = <0 0x15220000 0 0x1000>;
2172                         #clock-cells = <1>;
2173                 };
2174
2175                 larb11: larb@15230000 {
2176                         compatible = "mediatek,mt8195-smi-larb";
2177                         reg = <0 0x15230000 0 0x1000>;
2178                         mediatek,larb-id = <11>;
2179                         mediatek,smi = <&smi_sub_common_img1_3x1>;
2180                         clocks = <&imgsys CLK_IMG_WPE0>,
2181                                <&imgsys1_wpe CLK_IMG1_WPE_LARB11>;
2182                         clock-names = "apb", "smi";
2183                         power-domains = <&spm MT8195_POWER_DOMAIN_DIP>;
2184                 };
2185
2186                 ipesys: clock-controller@15330000 {
2187                         compatible = "mediatek,mt8195-ipesys";
2188                         reg = <0 0x15330000 0 0x1000>;
2189                         #clock-cells = <1>;
2190                 };
2191
2192                 larb12: larb@15340000 {
2193                         compatible = "mediatek,mt8195-smi-larb";
2194                         reg = <0 0x15340000 0 0x1000>;
2195                         mediatek,larb-id = <12>;
2196                         mediatek,smi = <&smi_sub_common_img0_3x1>;
2197                         clocks = <&ipesys CLK_IPE_SMI_LARB12>,
2198                                  <&ipesys CLK_IPE_SMI_LARB12>;
2199                         clock-names = "apb", "smi";
2200                         power-domains = <&spm MT8195_POWER_DOMAIN_IPE>;
2201                 };
2202
2203                 camsys: clock-controller@16000000 {
2204                         compatible = "mediatek,mt8195-camsys";
2205                         reg = <0 0x16000000 0 0x1000>;
2206                         #clock-cells = <1>;
2207                 };
2208
2209                 larb13: larb@16001000 {
2210                         compatible = "mediatek,mt8195-smi-larb";
2211                         reg = <0 0x16001000 0 0x1000>;
2212                         mediatek,larb-id = <13>;
2213                         mediatek,smi = <&smi_sub_common_cam_4x1>;
2214                         clocks = <&camsys CLK_CAM_LARB13>,
2215                                <&camsys CLK_CAM_LARB13>,
2216                                <&camsys CLK_CAM_CAM2MM0_GALS>;
2217                         clock-names = "apb", "smi", "gals";
2218                         power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
2219                 };
2220
2221                 larb14: larb@16002000 {
2222                         compatible = "mediatek,mt8195-smi-larb";
2223                         reg = <0 0x16002000 0 0x1000>;
2224                         mediatek,larb-id = <14>;
2225                         mediatek,smi = <&smi_sub_common_cam_7x1>;
2226                         clocks = <&camsys CLK_CAM_LARB14>,
2227                                  <&camsys CLK_CAM_LARB14>;
2228                         clock-names = "apb", "smi";
2229                         power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
2230                 };
2231
2232                 smi_sub_common_cam_4x1: smi@16004000 {
2233                         compatible = "mediatek,mt8195-smi-sub-common";
2234                         reg = <0 0x16004000 0 0x1000>;
2235                         clocks = <&camsys CLK_CAM_LARB13>,
2236                                  <&camsys CLK_CAM_LARB13>,
2237                                  <&camsys CLK_CAM_CAM2MM0_GALS>;
2238                         clock-names = "apb", "smi", "gals0";
2239                         mediatek,smi = <&smi_common_vdo>;
2240                         power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
2241                 };
2242
2243                 smi_sub_common_cam_7x1: smi@16005000 {
2244                         compatible = "mediatek,mt8195-smi-sub-common";
2245                         reg = <0 0x16005000 0 0x1000>;
2246                         clocks = <&camsys CLK_CAM_LARB14>,
2247                                  <&camsys CLK_CAM_CAM2MM1_GALS>,
2248                                  <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>;
2249                         clock-names = "apb", "smi", "gals0";
2250                         mediatek,smi = <&smi_common_vpp>;
2251                         power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
2252                 };
2253
2254                 larb16: larb@16012000 {
2255                         compatible = "mediatek,mt8195-smi-larb";
2256                         reg = <0 0x16012000 0 0x1000>;
2257                         mediatek,larb-id = <16>;
2258                         mediatek,smi = <&smi_sub_common_cam_7x1>;
2259                         clocks = <&camsys_rawa CLK_CAM_RAWA_LARBX>,
2260                                  <&camsys_rawa CLK_CAM_RAWA_LARBX>;
2261                         clock-names = "apb", "smi";
2262                         power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>;
2263                 };
2264
2265                 larb17: larb@16013000 {
2266                         compatible = "mediatek,mt8195-smi-larb";
2267                         reg = <0 0x16013000 0 0x1000>;
2268                         mediatek,larb-id = <17>;
2269                         mediatek,smi = <&smi_sub_common_cam_4x1>;
2270                         clocks = <&camsys_yuva CLK_CAM_YUVA_LARBX>,
2271                                  <&camsys_yuva CLK_CAM_YUVA_LARBX>;
2272                         clock-names = "apb", "smi";
2273                         power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>;
2274                 };
2275
2276                 larb27: larb@16014000 {
2277                         compatible = "mediatek,mt8195-smi-larb";
2278                         reg = <0 0x16014000 0 0x1000>;
2279                         mediatek,larb-id = <27>;
2280                         mediatek,smi = <&smi_sub_common_cam_7x1>;
2281                         clocks = <&camsys_rawb CLK_CAM_RAWB_LARBX>,
2282                                  <&camsys_rawb CLK_CAM_RAWB_LARBX>;
2283                         clock-names = "apb", "smi";
2284                         power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>;
2285                 };
2286
2287                 larb28: larb@16015000 {
2288                         compatible = "mediatek,mt8195-smi-larb";
2289                         reg = <0 0x16015000 0 0x1000>;
2290                         mediatek,larb-id = <28>;
2291                         mediatek,smi = <&smi_sub_common_cam_4x1>;
2292                         clocks = <&camsys_yuvb CLK_CAM_YUVB_LARBX>,
2293                                  <&camsys_yuvb CLK_CAM_YUVB_LARBX>;
2294                         clock-names = "apb", "smi";
2295                         power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>;
2296                 };
2297
2298                 camsys_rawa: clock-controller@1604f000 {
2299                         compatible = "mediatek,mt8195-camsys_rawa";
2300                         reg = <0 0x1604f000 0 0x1000>;
2301                         #clock-cells = <1>;
2302                 };
2303
2304                 camsys_yuva: clock-controller@1606f000 {
2305                         compatible = "mediatek,mt8195-camsys_yuva";
2306                         reg = <0 0x1606f000 0 0x1000>;
2307                         #clock-cells = <1>;
2308                 };
2309
2310                 camsys_rawb: clock-controller@1608f000 {
2311                         compatible = "mediatek,mt8195-camsys_rawb";
2312                         reg = <0 0x1608f000 0 0x1000>;
2313                         #clock-cells = <1>;
2314                 };
2315
2316                 camsys_yuvb: clock-controller@160af000 {
2317                         compatible = "mediatek,mt8195-camsys_yuvb";
2318                         reg = <0 0x160af000 0 0x1000>;
2319                         #clock-cells = <1>;
2320                 };
2321
2322                 camsys_mraw: clock-controller@16140000 {
2323                         compatible = "mediatek,mt8195-camsys_mraw";
2324                         reg = <0 0x16140000 0 0x1000>;
2325                         #clock-cells = <1>;
2326                 };
2327
2328                 larb25: larb@16141000 {
2329                         compatible = "mediatek,mt8195-smi-larb";
2330                         reg = <0 0x16141000 0 0x1000>;
2331                         mediatek,larb-id = <25>;
2332                         mediatek,smi = <&smi_sub_common_cam_4x1>;
2333                         clocks = <&camsys CLK_CAM_LARB13>,
2334                                  <&camsys_mraw CLK_CAM_MRAW_LARBX>,
2335                                  <&camsys CLK_CAM_CAM2MM0_GALS>;
2336                         clock-names = "apb", "smi", "gals";
2337                         power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>;
2338                 };
2339
2340                 larb26: larb@16142000 {
2341                         compatible = "mediatek,mt8195-smi-larb";
2342                         reg = <0 0x16142000 0 0x1000>;
2343                         mediatek,larb-id = <26>;
2344                         mediatek,smi = <&smi_sub_common_cam_7x1>;
2345                         clocks = <&camsys_mraw CLK_CAM_MRAW_LARBX>,
2346                                  <&camsys_mraw CLK_CAM_MRAW_LARBX>;
2347                         clock-names = "apb", "smi";
2348                         power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>;
2349
2350                 };
2351
2352                 ccusys: clock-controller@17200000 {
2353                         compatible = "mediatek,mt8195-ccusys";
2354                         reg = <0 0x17200000 0 0x1000>;
2355                         #clock-cells = <1>;
2356                 };
2357
2358                 larb18: larb@17201000 {
2359                         compatible = "mediatek,mt8195-smi-larb";
2360                         reg = <0 0x17201000 0 0x1000>;
2361                         mediatek,larb-id = <18>;
2362                         mediatek,smi = <&smi_sub_common_cam_7x1>;
2363                         clocks = <&ccusys CLK_CCU_LARB18>,
2364                                  <&ccusys CLK_CCU_LARB18>;
2365                         clock-names = "apb", "smi";
2366                         power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
2367                 };
2368
2369                 larb24: larb@1800d000 {
2370                         compatible = "mediatek,mt8195-smi-larb";
2371                         reg = <0 0x1800d000 0 0x1000>;
2372                         mediatek,larb-id = <24>;
2373                         mediatek,smi = <&smi_common_vdo>;
2374                         clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
2375                                  <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
2376                         clock-names = "apb", "smi";
2377                         power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>;
2378                 };
2379
2380                 larb23: larb@1800e000 {
2381                         compatible = "mediatek,mt8195-smi-larb";
2382                         reg = <0 0x1800e000 0 0x1000>;
2383                         mediatek,larb-id = <23>;
2384                         mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>;
2385                         clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
2386                                  <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
2387                         clock-names = "apb", "smi";
2388                         power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>;
2389                 };
2390
2391                 vdecsys_soc: clock-controller@1800f000 {
2392                         compatible = "mediatek,mt8195-vdecsys_soc";
2393                         reg = <0 0x1800f000 0 0x1000>;
2394                         #clock-cells = <1>;
2395                 };
2396
2397                 larb21: larb@1802e000 {
2398                         compatible = "mediatek,mt8195-smi-larb";
2399                         reg = <0 0x1802e000 0 0x1000>;
2400                         mediatek,larb-id = <21>;
2401                         mediatek,smi = <&smi_common_vdo>;
2402                         clocks = <&vdecsys CLK_VDEC_LARB1>,
2403                                  <&vdecsys CLK_VDEC_LARB1>;
2404                         clock-names = "apb", "smi";
2405                         power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>;
2406                 };
2407
2408                 vdecsys: clock-controller@1802f000 {
2409                         compatible = "mediatek,mt8195-vdecsys";
2410                         reg = <0 0x1802f000 0 0x1000>;
2411                         #clock-cells = <1>;
2412                 };
2413
2414                 larb22: larb@1803e000 {
2415                         compatible = "mediatek,mt8195-smi-larb";
2416                         reg = <0 0x1803e000 0 0x1000>;
2417                         mediatek,larb-id = <22>;
2418                         mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>;
2419                         clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
2420                                  <&vdecsys_core1 CLK_VDEC_CORE1_LARB1>;
2421                         clock-names = "apb", "smi";
2422                         power-domains = <&spm MT8195_POWER_DOMAIN_VDEC2>;
2423                 };
2424
2425                 vdecsys_core1: clock-controller@1803f000 {
2426                         compatible = "mediatek,mt8195-vdecsys_core1";
2427                         reg = <0 0x1803f000 0 0x1000>;
2428                         #clock-cells = <1>;
2429                 };
2430
2431                 apusys_pll: clock-controller@190f3000 {
2432                         compatible = "mediatek,mt8195-apusys_pll";
2433                         reg = <0 0x190f3000 0 0x1000>;
2434                         #clock-cells = <1>;
2435                 };
2436
2437                 vencsys: clock-controller@1a000000 {
2438                         compatible = "mediatek,mt8195-vencsys";
2439                         reg = <0 0x1a000000 0 0x1000>;
2440                         #clock-cells = <1>;
2441                 };
2442
2443                 larb19: larb@1a010000 {
2444                         compatible = "mediatek,mt8195-smi-larb";
2445                         reg = <0 0x1a010000 0 0x1000>;
2446                         mediatek,larb-id = <19>;
2447                         mediatek,smi = <&smi_common_vdo>;
2448                         clocks = <&vencsys CLK_VENC_VENC>,
2449                                  <&vencsys CLK_VENC_GALS>;
2450                         clock-names = "apb", "smi";
2451                         power-domains = <&spm MT8195_POWER_DOMAIN_VENC>;
2452                 };
2453
2454                 venc: video-codec@1a020000 {
2455                         compatible = "mediatek,mt8195-vcodec-enc";
2456                         reg = <0 0x1a020000 0 0x10000>;
2457                         iommus = <&iommu_vdo M4U_PORT_L19_VENC_RCPU>,
2458                                  <&iommu_vdo M4U_PORT_L19_VENC_REC>,
2459                                  <&iommu_vdo M4U_PORT_L19_VENC_BSDMA>,
2460                                  <&iommu_vdo M4U_PORT_L19_VENC_SV_COMV>,
2461                                  <&iommu_vdo M4U_PORT_L19_VENC_RD_COMV>,
2462                                  <&iommu_vdo M4U_PORT_L19_VENC_CUR_LUMA>,
2463                                  <&iommu_vdo M4U_PORT_L19_VENC_CUR_CHROMA>,
2464                                  <&iommu_vdo M4U_PORT_L19_VENC_REF_LUMA>,
2465                                  <&iommu_vdo M4U_PORT_L19_VENC_REF_CHROMA>;
2466                         interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH 0>;
2467                         mediatek,scp = <&scp>;
2468                         clocks = <&vencsys CLK_VENC_VENC>;
2469                         clock-names = "venc_sel";
2470                         assigned-clocks = <&topckgen CLK_TOP_VENC>;
2471                         assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>;
2472                         power-domains = <&spm MT8195_POWER_DOMAIN_VENC>;
2473                         #address-cells = <2>;
2474                         #size-cells = <2>;
2475                 };
2476
2477                 jpgdec-master {
2478                         compatible = "mediatek,mt8195-jpgdec";
2479                         power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>;
2480                         iommus = <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA0>,
2481                                  <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA0>,
2482                                  <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA1>,
2483                                  <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA1>,
2484                                  <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET1>,
2485                                  <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET0>;
2486                         #address-cells = <2>;
2487                         #size-cells = <2>;
2488                         ranges;
2489
2490                         jpgdec@1a040000 {
2491                                 compatible = "mediatek,mt8195-jpgdec-hw";
2492                                 reg = <0 0x1a040000 0 0x10000>;/* JPGDEC_C0 */
2493                                 iommus = <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA0>,
2494                                          <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA0>,
2495                                          <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA1>,
2496                                          <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA1>,
2497                                          <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET1>,
2498                                          <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET0>;
2499                                 interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH 0>;
2500                                 clocks = <&vencsys CLK_VENC_JPGDEC>;
2501                                 clock-names = "jpgdec";
2502                                 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>;
2503                         };
2504
2505                         jpgdec@1a050000 {
2506                                 compatible = "mediatek,mt8195-jpgdec-hw";
2507                                 reg = <0 0x1a050000 0 0x10000>;/* JPGDEC_C1 */
2508                                 iommus = <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA0>,
2509                                          <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA0>,
2510                                          <&iommu_vdo M4U_PORT_L19_JPGDEC_WDMA1>,
2511                                          <&iommu_vdo M4U_PORT_L19_JPGDEC_BSDMA1>,
2512                                          <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET1>,
2513                                          <&iommu_vdo M4U_PORT_L19_JPGDEC_BUFF_OFFSET0>;
2514                                 interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH 0>;
2515                                 clocks = <&vencsys CLK_VENC_JPGDEC_C1>;
2516                                 clock-names = "jpgdec";
2517                                 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>;
2518                         };
2519
2520                         jpgdec@1b040000 {
2521                                 compatible = "mediatek,mt8195-jpgdec-hw";
2522                                 reg = <0 0x1b040000 0 0x10000>;/* JPGDEC_C2 */
2523                                 iommus = <&iommu_vpp M4U_PORT_L20_JPGDEC_WDMA0>,
2524                                          <&iommu_vpp M4U_PORT_L20_JPGDEC_BSDMA0>,
2525                                          <&iommu_vpp M4U_PORT_L20_JPGDEC_WDMA1>,
2526                                          <&iommu_vpp M4U_PORT_L20_JPGDEC_BSDMA1>,
2527                                          <&iommu_vpp M4U_PORT_L20_JPGDEC_BUFF_OFFSET1>,
2528                                          <&iommu_vpp M4U_PORT_L20_JPGDEC_BUFF_OFFSET0>;
2529                                 interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH 0>;
2530                                 clocks = <&vencsys_core1 CLK_VENC_CORE1_JPGDEC>;
2531                                 clock-names = "jpgdec";
2532                                 power-domains = <&spm MT8195_POWER_DOMAIN_VDEC2>;
2533                         };
2534                 };
2535
2536                 vencsys_core1: clock-controller@1b000000 {
2537                         compatible = "mediatek,mt8195-vencsys_core1";
2538                         reg = <0 0x1b000000 0 0x1000>;
2539                         #clock-cells = <1>;
2540                 };
2541
2542                 vdosys0: syscon@1c01a000 {
2543                         compatible = "mediatek,mt8195-vdosys0", "mediatek,mt8195-mmsys", "syscon";
2544                         reg = <0 0x1c01a000 0 0x1000>;
2545                         mboxes = <&gce0 0 CMDQ_THR_PRIO_4>;
2546                         #clock-cells = <1>;
2547                 };
2548
2549
2550                 jpgenc-master {
2551                         compatible = "mediatek,mt8195-jpgenc";
2552                         power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>;
2553                         iommus = <&iommu_vpp M4U_PORT_L20_JPGENC_Y_RDMA>,
2554                                         <&iommu_vpp M4U_PORT_L20_JPGENC_C_RDMA>,
2555                                         <&iommu_vpp M4U_PORT_L20_JPGENC_Q_TABLE>,
2556                                         <&iommu_vpp M4U_PORT_L20_JPGENC_BSDMA>;
2557                         #address-cells = <2>;
2558                         #size-cells = <2>;
2559                         ranges;
2560
2561                         jpgenc@1a030000 {
2562                                 compatible = "mediatek,mt8195-jpgenc-hw";
2563                                 reg = <0 0x1a030000 0 0x10000>;
2564                                 iommus = <&iommu_vdo M4U_PORT_L19_JPGENC_Y_RDMA>,
2565                                                 <&iommu_vdo M4U_PORT_L19_JPGENC_C_RDMA>,
2566                                                 <&iommu_vdo M4U_PORT_L19_JPGENC_Q_TABLE>,
2567                                                 <&iommu_vdo M4U_PORT_L19_JPGENC_BSDMA>;
2568                                 interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH 0>;
2569                                 clocks = <&vencsys CLK_VENC_JPGENC>;
2570                                 clock-names = "jpgenc";
2571                                 power-domains = <&spm MT8195_POWER_DOMAIN_VENC>;
2572                         };
2573
2574                         jpgenc@1b030000 {
2575                                 compatible = "mediatek,mt8195-jpgenc-hw";
2576                                 reg = <0 0x1b030000 0 0x10000>;
2577                                 iommus = <&iommu_vpp M4U_PORT_L20_JPGENC_Y_RDMA>,
2578                                                 <&iommu_vpp M4U_PORT_L20_JPGENC_C_RDMA>,
2579                                                 <&iommu_vpp M4U_PORT_L20_JPGENC_Q_TABLE>,
2580                                                 <&iommu_vpp M4U_PORT_L20_JPGENC_BSDMA>;
2581                                 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH 0>;
2582                                 clocks = <&vencsys_core1 CLK_VENC_CORE1_JPGENC>;
2583                                 clock-names = "jpgenc";
2584                                 power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>;
2585                         };
2586                 };
2587
2588                 larb20: larb@1b010000 {
2589                         compatible = "mediatek,mt8195-smi-larb";
2590                         reg = <0 0x1b010000 0 0x1000>;
2591                         mediatek,larb-id = <20>;
2592                         mediatek,smi = <&smi_common_vpp>;
2593                         clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>,
2594                                  <&vencsys_core1 CLK_VENC_CORE1_GALS>,
2595                                  <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
2596                         clock-names = "apb", "smi", "gals";
2597                         power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>;
2598                 };
2599
2600                 ovl0: ovl@1c000000 {
2601                         compatible = "mediatek,mt8195-disp-ovl", "mediatek,mt8183-disp-ovl";
2602                         reg = <0 0x1c000000 0 0x1000>;
2603                         interrupts = <GIC_SPI 636 IRQ_TYPE_LEVEL_HIGH 0>;
2604                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2605                         clocks = <&vdosys0 CLK_VDO0_DISP_OVL0>;
2606                         iommus = <&iommu_vdo M4U_PORT_L0_DISP_OVL0_RDMA0>;
2607                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x0000 0x1000>;
2608                 };
2609
2610                 rdma0: rdma@1c002000 {
2611                         compatible = "mediatek,mt8195-disp-rdma";
2612                         reg = <0 0x1c002000 0 0x1000>;
2613                         interrupts = <GIC_SPI 638 IRQ_TYPE_LEVEL_HIGH 0>;
2614                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2615                         clocks = <&vdosys0 CLK_VDO0_DISP_RDMA0>;
2616                         iommus = <&iommu_vdo M4U_PORT_L0_DISP_RDMA0>;
2617                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x2000 0x1000>;
2618                 };
2619
2620                 color0: color@1c003000 {
2621                         compatible = "mediatek,mt8195-disp-color", "mediatek,mt8173-disp-color";
2622                         reg = <0 0x1c003000 0 0x1000>;
2623                         interrupts = <GIC_SPI 639 IRQ_TYPE_LEVEL_HIGH 0>;
2624                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2625                         clocks = <&vdosys0 CLK_VDO0_DISP_COLOR0>;
2626                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x3000 0x1000>;
2627                 };
2628
2629                 ccorr0: ccorr@1c004000 {
2630                         compatible = "mediatek,mt8195-disp-ccorr", "mediatek,mt8192-disp-ccorr";
2631                         reg = <0 0x1c004000 0 0x1000>;
2632                         interrupts = <GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH 0>;
2633                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2634                         clocks = <&vdosys0 CLK_VDO0_DISP_CCORR0>;
2635                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x4000 0x1000>;
2636                 };
2637
2638                 aal0: aal@1c005000 {
2639                         compatible = "mediatek,mt8195-disp-aal", "mediatek,mt8183-disp-aal";
2640                         reg = <0 0x1c005000 0 0x1000>;
2641                         interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH 0>;
2642                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2643                         clocks = <&vdosys0 CLK_VDO0_DISP_AAL0>;
2644                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x5000 0x1000>;
2645                 };
2646
2647                 gamma0: gamma@1c006000 {
2648                         compatible = "mediatek,mt8195-disp-gamma", "mediatek,mt8183-disp-gamma";
2649                         reg = <0 0x1c006000 0 0x1000>;
2650                         interrupts = <GIC_SPI 642 IRQ_TYPE_LEVEL_HIGH 0>;
2651                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2652                         clocks = <&vdosys0 CLK_VDO0_DISP_GAMMA0>;
2653                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x6000 0x1000>;
2654                 };
2655
2656                 dither0: dither@1c007000 {
2657                         compatible = "mediatek,mt8195-disp-dither", "mediatek,mt8183-disp-dither";
2658                         reg = <0 0x1c007000 0 0x1000>;
2659                         interrupts = <GIC_SPI 643 IRQ_TYPE_LEVEL_HIGH 0>;
2660                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2661                         clocks = <&vdosys0 CLK_VDO0_DISP_DITHER0>;
2662                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x7000 0x1000>;
2663                 };
2664
2665                 dsc0: dsc@1c009000 {
2666                         compatible = "mediatek,mt8195-disp-dsc";
2667                         reg = <0 0x1c009000 0 0x1000>;
2668                         interrupts = <GIC_SPI 645 IRQ_TYPE_LEVEL_HIGH 0>;
2669                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2670                         clocks = <&vdosys0 CLK_VDO0_DSC_WRAP0>;
2671                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x9000 0x1000>;
2672                 };
2673
2674                 merge0: merge@1c014000 {
2675                         compatible = "mediatek,mt8195-disp-merge";
2676                         reg = <0 0x1c014000 0 0x1000>;
2677                         interrupts = <GIC_SPI 656 IRQ_TYPE_LEVEL_HIGH 0>;
2678                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2679                         clocks = <&vdosys0 CLK_VDO0_VPP_MERGE0>;
2680                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c01XXXX 0x4000 0x1000>;
2681                 };
2682
2683                 dp_intf0: dp-intf@1c015000 {
2684                         compatible = "mediatek,mt8195-dp-intf";
2685                         reg = <0 0x1c015000 0 0x1000>;
2686                         interrupts = <GIC_SPI 657 IRQ_TYPE_LEVEL_HIGH 0>;
2687                         clocks = <&vdosys0  CLK_VDO0_DP_INTF0>,
2688                                  <&vdosys0 CLK_VDO0_DP_INTF0_DP_INTF>,
2689                                  <&apmixedsys CLK_APMIXED_TVDPLL1>;
2690                         clock-names = "engine", "pixel", "pll";
2691                         status = "disabled";
2692                 };
2693
2694                 mutex: mutex@1c016000 {
2695                         compatible = "mediatek,mt8195-disp-mutex";
2696                         reg = <0 0x1c016000 0 0x1000>;
2697                         interrupts = <GIC_SPI 658 IRQ_TYPE_LEVEL_HIGH 0>;
2698                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2699                         clocks = <&vdosys0 CLK_VDO0_DISP_MUTEX0>;
2700                         mediatek,gce-events = <CMDQ_EVENT_VDO0_DISP_STREAM_DONE_0>;
2701                 };
2702
2703                 larb0: larb@1c018000 {
2704                         compatible = "mediatek,mt8195-smi-larb";
2705                         reg = <0 0x1c018000 0 0x1000>;
2706                         mediatek,larb-id = <0>;
2707                         mediatek,smi = <&smi_common_vdo>;
2708                         clocks = <&vdosys0 CLK_VDO0_SMI_LARB>,
2709                                  <&vdosys0 CLK_VDO0_SMI_LARB>,
2710                                  <&vppsys0 CLK_VPP0_GALS_VDO0_LARB0>;
2711                         clock-names = "apb", "smi", "gals";
2712                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2713                 };
2714
2715                 larb1: larb@1c019000 {
2716                         compatible = "mediatek,mt8195-smi-larb";
2717                         reg = <0 0x1c019000 0 0x1000>;
2718                         mediatek,larb-id = <1>;
2719                         mediatek,smi = <&smi_common_vpp>;
2720                         clocks = <&vdosys0 CLK_VDO0_SMI_LARB>,
2721                                  <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>,
2722                                  <&vppsys0 CLK_VPP0_GALS_VDO0_LARB1>;
2723                         clock-names = "apb", "smi", "gals";
2724                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2725                 };
2726
2727                 vdosys1: syscon@1c100000 {
2728                         compatible = "mediatek,mt8195-vdosys1", "syscon";
2729                         reg = <0 0x1c100000 0 0x1000>;
2730                         mboxes = <&gce0 1 CMDQ_THR_PRIO_4>;
2731                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x0000 0x1000>;
2732                         #clock-cells = <1>;
2733                         #reset-cells = <1>;
2734                 };
2735
2736                 smi_common_vdo: smi@1c01b000 {
2737                         compatible = "mediatek,mt8195-smi-common-vdo";
2738                         reg = <0 0x1c01b000 0 0x1000>;
2739                         clocks = <&vdosys0 CLK_VDO0_SMI_COMMON>,
2740                                  <&vdosys0 CLK_VDO0_SMI_EMI>,
2741                                  <&vdosys0 CLK_VDO0_SMI_RSI>,
2742                                  <&vdosys0 CLK_VDO0_SMI_GALS>;
2743                         clock-names = "apb", "smi", "gals0", "gals1";
2744                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2745
2746                 };
2747
2748                 iommu_vdo: iommu@1c01f000 {
2749                         compatible = "mediatek,mt8195-iommu-vdo";
2750                         reg = <0 0x1c01f000 0 0x1000>;
2751                         mediatek,larbs = <&larb0 &larb2 &larb5 &larb7 &larb9
2752                                           &larb10 &larb11 &larb13 &larb17
2753                                           &larb19 &larb21 &larb24 &larb25
2754                                           &larb28>;
2755                         interrupts = <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH 0>;
2756                         #iommu-cells = <1>;
2757                         clocks = <&vdosys0 CLK_VDO0_SMI_IOMMU>;
2758                         clock-names = "bclk";
2759                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2760                 };
2761
2762                 mutex1: mutex@1c101000 {
2763                         compatible = "mediatek,mt8195-disp-mutex";
2764                         reg = <0 0x1c101000 0 0x1000>;
2765                         reg-names = "vdo1_mutex";
2766                         interrupts = <GIC_SPI 494 IRQ_TYPE_LEVEL_HIGH 0>;
2767                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2768                         clocks = <&vdosys1 CLK_VDO1_DISP_MUTEX>;
2769                         clock-names = "vdo1_mutex";
2770                         mediatek,gce-events = <CMDQ_EVENT_VDO1_STREAM_DONE_ENG_0>;
2771                 };
2772
2773                 larb2: larb@1c102000 {
2774                         compatible = "mediatek,mt8195-smi-larb";
2775                         reg = <0 0x1c102000 0 0x1000>;
2776                         mediatek,larb-id = <2>;
2777                         mediatek,smi = <&smi_common_vdo>;
2778                         clocks = <&vdosys1 CLK_VDO1_SMI_LARB2>,
2779                                  <&vdosys1 CLK_VDO1_SMI_LARB2>,
2780                                  <&vdosys1 CLK_VDO1_GALS>;
2781                         clock-names = "apb", "smi", "gals";
2782                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2783                 };
2784
2785                 larb3: larb@1c103000 {
2786                         compatible = "mediatek,mt8195-smi-larb";
2787                         reg = <0 0x1c103000 0 0x1000>;
2788                         mediatek,larb-id = <3>;
2789                         mediatek,smi = <&smi_common_vpp>;
2790                         clocks = <&vdosys1 CLK_VDO1_SMI_LARB3>,
2791                                  <&vdosys1 CLK_VDO1_GALS>,
2792                                  <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
2793                         clock-names = "apb", "smi", "gals";
2794                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2795                 };
2796
2797                 vdo1_rdma0: rdma@1c104000 {
2798                         compatible = "mediatek,mt8195-vdo1-rdma";
2799                         reg = <0 0x1c104000 0 0x1000>;
2800                         interrupts = <GIC_SPI 495 IRQ_TYPE_LEVEL_HIGH 0>;
2801                         clocks = <&vdosys1 CLK_VDO1_MDP_RDMA0>;
2802                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2803                         iommus = <&iommu_vdo M4U_PORT_L2_MDP_RDMA0>;
2804                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x4000 0x1000>;
2805                 };
2806
2807                 vdo1_rdma1: rdma@1c105000 {
2808                         compatible = "mediatek,mt8195-vdo1-rdma";
2809                         reg = <0 0x1c105000 0 0x1000>;
2810                         interrupts = <GIC_SPI 496 IRQ_TYPE_LEVEL_HIGH 0>;
2811                         clocks = <&vdosys1 CLK_VDO1_MDP_RDMA1>;
2812                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2813                         iommus = <&iommu_vpp M4U_PORT_L3_MDP_RDMA1>;
2814                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x5000 0x1000>;
2815                 };
2816
2817                 vdo1_rdma2: rdma@1c106000 {
2818                         compatible = "mediatek,mt8195-vdo1-rdma";
2819                         reg = <0 0x1c106000 0 0x1000>;
2820                         interrupts = <GIC_SPI 497 IRQ_TYPE_LEVEL_HIGH 0>;
2821                         clocks = <&vdosys1 CLK_VDO1_MDP_RDMA2>;
2822                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2823                         iommus = <&iommu_vdo M4U_PORT_L2_MDP_RDMA2>;
2824                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x6000 0x1000>;
2825                 };
2826
2827                 vdo1_rdma3: rdma@1c107000 {
2828                         compatible = "mediatek,mt8195-vdo1-rdma";
2829                         reg = <0 0x1c107000 0 0x1000>;
2830                         interrupts = <GIC_SPI 498 IRQ_TYPE_LEVEL_HIGH 0>;
2831                         clocks = <&vdosys1 CLK_VDO1_MDP_RDMA3>;
2832                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2833                         iommus = <&iommu_vpp M4U_PORT_L3_MDP_RDMA3>;
2834                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x7000 0x1000>;
2835                 };
2836
2837                 vdo1_rdma4: rdma@1c108000 {
2838                         compatible = "mediatek,mt8195-vdo1-rdma";
2839                         reg = <0 0x1c108000 0 0x1000>;
2840                         interrupts = <GIC_SPI 499 IRQ_TYPE_LEVEL_HIGH 0>;
2841                         clocks = <&vdosys1 CLK_VDO1_MDP_RDMA4>;
2842                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2843                         iommus = <&iommu_vdo M4U_PORT_L2_MDP_RDMA4>;
2844                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x8000 0x1000>;
2845                 };
2846
2847                 vdo1_rdma5: rdma@1c109000 {
2848                         compatible = "mediatek,mt8195-vdo1-rdma";
2849                         reg = <0 0x1c109000 0 0x1000>;
2850                         interrupts = <GIC_SPI 500 IRQ_TYPE_LEVEL_HIGH 0>;
2851                         clocks = <&vdosys1 CLK_VDO1_MDP_RDMA5>;
2852                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2853                         iommus = <&iommu_vpp M4U_PORT_L3_MDP_RDMA5>;
2854                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x9000 0x1000>;
2855                 };
2856
2857                 vdo1_rdma6: rdma@1c10a000 {
2858                         compatible = "mediatek,mt8195-vdo1-rdma";
2859                         reg = <0 0x1c10a000 0 0x1000>;
2860                         interrupts = <GIC_SPI 501 IRQ_TYPE_LEVEL_HIGH 0>;
2861                         clocks = <&vdosys1 CLK_VDO1_MDP_RDMA6>;
2862                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2863                         iommus = <&iommu_vdo M4U_PORT_L2_MDP_RDMA6>;
2864                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xa000 0x1000>;
2865                 };
2866
2867                 vdo1_rdma7: rdma@1c10b000 {
2868                         compatible = "mediatek,mt8195-vdo1-rdma";
2869                         reg = <0 0x1c10b000 0 0x1000>;
2870                         interrupts = <GIC_SPI 502 IRQ_TYPE_LEVEL_HIGH 0>;
2871                         clocks = <&vdosys1 CLK_VDO1_MDP_RDMA7>;
2872                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2873                         iommus = <&iommu_vpp M4U_PORT_L3_MDP_RDMA7>;
2874                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xb000 0x1000>;
2875                 };
2876
2877                 merge1: vpp-merge@1c10c000 {
2878                         compatible = "mediatek,mt8195-disp-merge";
2879                         reg = <0 0x1c10c000 0 0x1000>;
2880                         interrupts = <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH 0>;
2881                         clocks = <&vdosys1 CLK_VDO1_VPP_MERGE0>,
2882                                  <&vdosys1 CLK_VDO1_MERGE0_DL_ASYNC>;
2883                         clock-names = "merge","merge_async";
2884                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2885                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xc000 0x1000>;
2886                         mediatek,merge-mute = <1>;
2887                         resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_MERGE0_DL_ASYNC>;
2888                 };
2889
2890                 merge2: vpp-merge@1c10d000 {
2891                         compatible = "mediatek,mt8195-disp-merge";
2892                         reg = <0 0x1c10d000 0 0x1000>;
2893                         interrupts = <GIC_SPI 504 IRQ_TYPE_LEVEL_HIGH 0>;
2894                         clocks = <&vdosys1 CLK_VDO1_VPP_MERGE1>,
2895                                  <&vdosys1 CLK_VDO1_MERGE1_DL_ASYNC>;
2896                         clock-names = "merge","merge_async";
2897                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2898                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xd000 0x1000>;
2899                         mediatek,merge-mute = <1>;
2900                         resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_MERGE1_DL_ASYNC>;
2901                 };
2902
2903                 merge3: vpp-merge@1c10e000 {
2904                         compatible = "mediatek,mt8195-disp-merge";
2905                         reg = <0 0x1c10e000 0 0x1000>;
2906                         interrupts = <GIC_SPI 505 IRQ_TYPE_LEVEL_HIGH 0>;
2907                         clocks = <&vdosys1 CLK_VDO1_VPP_MERGE2>,
2908                                  <&vdosys1 CLK_VDO1_MERGE2_DL_ASYNC>;
2909                         clock-names = "merge","merge_async";
2910                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2911                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xe000 0x1000>;
2912                         mediatek,merge-mute = <1>;
2913                         resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_MERGE2_DL_ASYNC>;
2914                 };
2915
2916                 merge4: vpp-merge@1c10f000 {
2917                         compatible = "mediatek,mt8195-disp-merge";
2918                         reg = <0 0x1c10f000 0 0x1000>;
2919                         interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH 0>;
2920                         clocks = <&vdosys1 CLK_VDO1_VPP_MERGE3>,
2921                                  <&vdosys1 CLK_VDO1_MERGE3_DL_ASYNC>;
2922                         clock-names = "merge","merge_async";
2923                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2924                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0xf000 0x1000>;
2925                         mediatek,merge-mute = <1>;
2926                         resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_MERGE3_DL_ASYNC>;
2927                 };
2928
2929                 merge5: vpp-merge@1c110000 {
2930                         compatible = "mediatek,mt8195-disp-merge";
2931                         reg = <0 0x1c110000 0 0x1000>;
2932                         interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH 0>;
2933                         clocks = <&vdosys1 CLK_VDO1_VPP_MERGE4>,
2934                                  <&vdosys1 CLK_VDO1_MERGE4_DL_ASYNC>;
2935                         clock-names = "merge","merge_async";
2936                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2937                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c11XXXX 0x0000 0x1000>;
2938                         mediatek,merge-fifo-en = <1>;
2939                         resets = <&vdosys1 MT8195_VDOSYS1_SW0_RST_B_MERGE4_DL_ASYNC>;
2940                 };
2941
2942                 dp_intf1: dp-intf@1c113000 {
2943                         compatible = "mediatek,mt8195-dp-intf";
2944                         reg = <0 0x1c113000 0 0x1000>;
2945                         interrupts = <GIC_SPI 513 IRQ_TYPE_LEVEL_HIGH 0>;
2946                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2947                         clocks = <&vdosys1 CLK_VDO1_DP_INTF0_MM>,
2948                                  <&vdosys1 CLK_VDO1_DPINTF>,
2949                                  <&apmixedsys CLK_APMIXED_TVDPLL2>;
2950                         clock-names = "engine", "pixel", "pll";
2951                         status = "disabled";
2952                 };
2953
2954                 ethdr0: hdr-engine@1c114000 {
2955                         compatible = "mediatek,mt8195-disp-ethdr";
2956                         reg = <0 0x1c114000 0 0x1000>,
2957                               <0 0x1c115000 0 0x1000>,
2958                               <0 0x1c117000 0 0x1000>,
2959                               <0 0x1c119000 0 0x1000>,
2960                               <0 0x1c11a000 0 0x1000>,
2961                               <0 0x1c11b000 0 0x1000>,
2962                               <0 0x1c11c000 0 0x1000>;
2963                         reg-names = "mixer", "vdo_fe0", "vdo_fe1", "gfx_fe0", "gfx_fe1",
2964                                     "vdo_be", "adl_ds";
2965                         mediatek,gce-client-reg = <&gce0 SUBSYS_1c11XXXX 0x4000 0x1000>,
2966                                                   <&gce0 SUBSYS_1c11XXXX 0x5000 0x1000>,
2967                                                   <&gce0 SUBSYS_1c11XXXX 0x7000 0x1000>,
2968                                                   <&gce0 SUBSYS_1c11XXXX 0x9000 0x1000>,
2969                                                   <&gce0 SUBSYS_1c11XXXX 0xa000 0x1000>,
2970                                                   <&gce0 SUBSYS_1c11XXXX 0xb000 0x1000>,
2971                                                   <&gce0 SUBSYS_1c11XXXX 0xc000 0x1000>;
2972                         clocks = <&vdosys1 CLK_VDO1_DISP_MIXER>,
2973                                  <&vdosys1 CLK_VDO1_HDR_VDO_FE0>,
2974                                  <&vdosys1 CLK_VDO1_HDR_VDO_FE1>,
2975                                  <&vdosys1 CLK_VDO1_HDR_GFX_FE0>,
2976                                  <&vdosys1 CLK_VDO1_HDR_GFX_FE1>,
2977                                  <&vdosys1 CLK_VDO1_HDR_VDO_BE>,
2978                                  <&vdosys1 CLK_VDO1_26M_SLOW>,
2979                                  <&vdosys1 CLK_VDO1_HDR_VDO_FE0_DL_ASYNC>,
2980                                  <&vdosys1 CLK_VDO1_HDR_VDO_FE1_DL_ASYNC>,
2981                                  <&vdosys1 CLK_VDO1_HDR_GFX_FE0_DL_ASYNC>,
2982                                  <&vdosys1 CLK_VDO1_HDR_GFX_FE1_DL_ASYNC>,
2983                                  <&vdosys1 CLK_VDO1_HDR_VDO_BE_DL_ASYNC>,
2984                                  <&topckgen CLK_TOP_ETHDR>;
2985                         clock-names = "mixer", "vdo_fe0", "vdo_fe1", "gfx_fe0", "gfx_fe1",
2986                                       "vdo_be", "adl_ds", "vdo_fe0_async", "vdo_fe1_async",
2987                                       "gfx_fe0_async", "gfx_fe1_async","vdo_be_async",
2988                                       "ethdr_top";
2989                         power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2990                         iommus = <&iommu_vpp M4U_PORT_L3_HDR_DS>,
2991                                  <&iommu_vpp M4U_PORT_L3_HDR_ADL>;
2992                         interrupts = <GIC_SPI 517 IRQ_TYPE_LEVEL_HIGH 0>; /* disp mixer */
2993                         resets = <&vdosys1 MT8195_VDOSYS1_SW1_RST_B_HDR_VDO_FE0_DL_ASYNC>,
2994                                  <&vdosys1 MT8195_VDOSYS1_SW1_RST_B_HDR_VDO_FE1_DL_ASYNC>,
2995                                  <&vdosys1 MT8195_VDOSYS1_SW1_RST_B_HDR_GFX_FE0_DL_ASYNC>,
2996                                  <&vdosys1 MT8195_VDOSYS1_SW1_RST_B_HDR_GFX_FE1_DL_ASYNC>,
2997                                  <&vdosys1 MT8195_VDOSYS1_SW1_RST_B_HDR_VDO_BE_DL_ASYNC>;
2998                         reset-names = "vdo_fe0_async", "vdo_fe1_async", "gfx_fe0_async",
2999                                       "gfx_fe1_async", "vdo_be_async";
3000                 };
3001
3002                 edp_tx: edp-tx@1c500000 {
3003                         compatible = "mediatek,mt8195-edp-tx";
3004                         reg = <0 0x1c500000 0 0x8000>;
3005                         nvmem-cells = <&dp_calibration>;
3006                         nvmem-cell-names = "dp_calibration_data";
3007                         power-domains = <&spm MT8195_POWER_DOMAIN_EPD_TX>;
3008                         interrupts = <GIC_SPI 676 IRQ_TYPE_LEVEL_HIGH 0>;
3009                         max-linkrate-mhz = <8100>;
3010                         status = "disabled";
3011                 };
3012
3013                 dp_tx: dp-tx@1c600000 {
3014                         compatible = "mediatek,mt8195-dp-tx";
3015                         reg = <0 0x1c600000 0 0x8000>;
3016                         nvmem-cells = <&dp_calibration>;
3017                         nvmem-cell-names = "dp_calibration_data";
3018                         power-domains = <&spm MT8195_POWER_DOMAIN_DP_TX>;
3019                         interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH 0>;
3020                         max-linkrate-mhz = <8100>;
3021                         status = "disabled";
3022                 };
3023         };
3024
3025         thermal_zones: thermal-zones {
3026                 cpu0-thermal {
3027                         polling-delay = <1000>;
3028                         polling-delay-passive = <250>;
3029                         thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU0>;
3030
3031                         trips {
3032                                 cpu0_alert: trip-alert {
3033                                         temperature = <85000>;
3034                                         hysteresis = <2000>;
3035                                         type = "passive";
3036                                 };
3037
3038                                 cpu0_crit: trip-crit {
3039                                         temperature = <100000>;
3040                                         hysteresis = <2000>;
3041                                         type = "critical";
3042                                 };
3043                         };
3044
3045                         cooling-maps {
3046                                 map0 {
3047                                         trip = <&cpu0_alert>;
3048                                         cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3049                                                                 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3050                                                                 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3051                                                                 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3052                                 };
3053                         };
3054                 };
3055
3056                 cpu1-thermal {
3057                         polling-delay = <1000>;
3058                         polling-delay-passive = <250>;
3059                         thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU1>;
3060
3061                         trips {
3062                                 cpu1_alert: trip-alert {
3063                                         temperature = <85000>;
3064                                         hysteresis = <2000>;
3065                                         type = "passive";
3066                                 };
3067
3068                                 cpu1_crit: trip-crit {
3069                                         temperature = <100000>;
3070                                         hysteresis = <2000>;
3071                                         type = "critical";
3072                                 };
3073                         };
3074
3075                         cooling-maps {
3076                                 map0 {
3077                                         trip = <&cpu1_alert>;
3078                                         cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3079                                                                 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3080                                                                 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3081                                                                 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3082                                 };
3083                         };
3084                 };
3085
3086                 cpu2-thermal {
3087                         polling-delay = <1000>;
3088                         polling-delay-passive = <250>;
3089                         thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU2>;
3090
3091                         trips {
3092                                 cpu2_alert: trip-alert {
3093                                         temperature = <85000>;
3094                                         hysteresis = <2000>;
3095                                         type = "passive";
3096                                 };
3097
3098                                 cpu2_crit: trip-crit {
3099                                         temperature = <100000>;
3100                                         hysteresis = <2000>;
3101                                         type = "critical";
3102                                 };
3103                         };
3104
3105                         cooling-maps {
3106                                 map0 {
3107                                         trip = <&cpu2_alert>;
3108                                         cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3109                                                                 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3110                                                                 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3111                                                                 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3112                                 };
3113                         };
3114                 };
3115
3116                 cpu3-thermal {
3117                         polling-delay = <1000>;
3118                         polling-delay-passive = <250>;
3119                         thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU3>;
3120
3121                         trips {
3122                                 cpu3_alert: trip-alert {
3123                                         temperature = <85000>;
3124                                         hysteresis = <2000>;
3125                                         type = "passive";
3126                                 };
3127
3128                                 cpu3_crit: trip-crit {
3129                                         temperature = <100000>;
3130                                         hysteresis = <2000>;
3131                                         type = "critical";
3132                                 };
3133                         };
3134
3135                         cooling-maps {
3136                                 map0 {
3137                                         trip = <&cpu3_alert>;
3138                                         cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3139                                                                 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3140                                                                 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3141                                                                 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3142                                 };
3143                         };
3144                 };
3145
3146                 cpu4-thermal {
3147                         polling-delay = <1000>;
3148                         polling-delay-passive = <250>;
3149                         thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU0>;
3150
3151                         trips {
3152                                 cpu4_alert: trip-alert {
3153                                         temperature = <85000>;
3154                                         hysteresis = <2000>;
3155                                         type = "passive";
3156                                 };
3157
3158                                 cpu4_crit: trip-crit {
3159                                         temperature = <100000>;
3160                                         hysteresis = <2000>;
3161                                         type = "critical";
3162                                 };
3163                         };
3164
3165                         cooling-maps {
3166                                 map0 {
3167                                         trip = <&cpu4_alert>;
3168                                         cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3169                                                                 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3170                                                                 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3171                                                                 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3172                                 };
3173                         };
3174                 };
3175
3176                 cpu5-thermal {
3177                         polling-delay = <1000>;
3178                         polling-delay-passive = <250>;
3179                         thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU1>;
3180
3181                         trips {
3182                                 cpu5_alert: trip-alert {
3183                                         temperature = <85000>;
3184                                         hysteresis = <2000>;
3185                                         type = "passive";
3186                                 };
3187
3188                                 cpu5_crit: trip-crit {
3189                                         temperature = <100000>;
3190                                         hysteresis = <2000>;
3191                                         type = "critical";
3192                                 };
3193                         };
3194
3195                         cooling-maps {
3196                                 map0 {
3197                                         trip = <&cpu5_alert>;
3198                                         cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3199                                                                 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3200                                                                 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3201                                                                 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3202                                 };
3203                         };
3204                 };
3205
3206                 cpu6-thermal {
3207                         polling-delay = <1000>;
3208                         polling-delay-passive = <250>;
3209                         thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU2>;
3210
3211                         trips {
3212                                 cpu6_alert: trip-alert {
3213                                         temperature = <85000>;
3214                                         hysteresis = <2000>;
3215                                         type = "passive";
3216                                 };
3217
3218                                 cpu6_crit: trip-crit {
3219                                         temperature = <100000>;
3220                                         hysteresis = <2000>;
3221                                         type = "critical";
3222                                 };
3223                         };
3224
3225                         cooling-maps {
3226                                 map0 {
3227                                         trip = <&cpu6_alert>;
3228                                         cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3229                                                                 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3230                                                                 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3231                                                                 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3232                                 };
3233                         };
3234                 };
3235
3236                 cpu7-thermal {
3237                         polling-delay = <1000>;
3238                         polling-delay-passive = <250>;
3239                         thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU3>;
3240
3241                         trips {
3242                                 cpu7_alert: trip-alert {
3243                                         temperature = <85000>;
3244                                         hysteresis = <2000>;
3245                                         type = "passive";
3246                                 };
3247
3248                                 cpu7_crit: trip-crit {
3249                                         temperature = <100000>;
3250                                         hysteresis = <2000>;
3251                                         type = "critical";
3252                                 };
3253                         };
3254
3255                         cooling-maps {
3256                                 map0 {
3257                                         trip = <&cpu7_alert>;
3258                                         cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3259                                                                 <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3260                                                                 <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3261                                                                 <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3262                                 };
3263                         };
3264                 };
3265         };
3266 };