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