]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm64/mediatek/mt8192.dtsi
Import device-tree files from Linux 6.3
[FreeBSD/FreeBSD.git] / src / arm64 / 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
18 / {
19         compatible = "mediatek,mt8192";
20         interrupt-parent = <&gic>;
21         #address-cells = <2>;
22         #size-cells = <2>;
23
24         aliases {
25                 ovl0 = &ovl0;
26                 ovl-2l0 = &ovl_2l0;
27                 ovl-2l2 = &ovl_2l2;
28                 rdma0 = &rdma0;
29                 rdma4 = &rdma4;
30         };
31
32         clk13m: fixed-factor-clock-13m {
33                 compatible = "fixed-factor-clock";
34                 #clock-cells = <0>;
35                 clocks = <&clk26m>;
36                 clock-div = <2>;
37                 clock-mult = <1>;
38                 clock-output-names = "clk13m";
39         };
40
41         clk26m: oscillator0 {
42                 compatible = "fixed-clock";
43                 #clock-cells = <0>;
44                 clock-frequency = <26000000>;
45                 clock-output-names = "clk26m";
46         };
47
48         clk32k: oscillator1 {
49                 compatible = "fixed-clock";
50                 #clock-cells = <0>;
51                 clock-frequency = <32768>;
52                 clock-output-names = "clk32k";
53         };
54
55         cpus {
56                 #address-cells = <1>;
57                 #size-cells = <0>;
58
59                 cpu0: cpu@0 {
60                         device_type = "cpu";
61                         compatible = "arm,cortex-a55";
62                         reg = <0x000>;
63                         enable-method = "psci";
64                         clock-frequency = <1701000000>;
65                         cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
66                         i-cache-size = <32768>;
67                         i-cache-line-size = <64>;
68                         i-cache-sets = <128>;
69                         d-cache-size = <32768>;
70                         d-cache-line-size = <64>;
71                         d-cache-sets = <128>;
72                         next-level-cache = <&l2_0>;
73                         capacity-dmips-mhz = <530>;
74                 };
75
76                 cpu1: cpu@100 {
77                         device_type = "cpu";
78                         compatible = "arm,cortex-a55";
79                         reg = <0x100>;
80                         enable-method = "psci";
81                         clock-frequency = <1701000000>;
82                         cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
83                         i-cache-size = <32768>;
84                         i-cache-line-size = <64>;
85                         i-cache-sets = <128>;
86                         d-cache-size = <32768>;
87                         d-cache-line-size = <64>;
88                         d-cache-sets = <128>;
89                         next-level-cache = <&l2_0>;
90                         capacity-dmips-mhz = <530>;
91                 };
92
93                 cpu2: cpu@200 {
94                         device_type = "cpu";
95                         compatible = "arm,cortex-a55";
96                         reg = <0x200>;
97                         enable-method = "psci";
98                         clock-frequency = <1701000000>;
99                         cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
100                         i-cache-size = <32768>;
101                         i-cache-line-size = <64>;
102                         i-cache-sets = <128>;
103                         d-cache-size = <32768>;
104                         d-cache-line-size = <64>;
105                         d-cache-sets = <128>;
106                         next-level-cache = <&l2_0>;
107                         capacity-dmips-mhz = <530>;
108                 };
109
110                 cpu3: cpu@300 {
111                         device_type = "cpu";
112                         compatible = "arm,cortex-a55";
113                         reg = <0x300>;
114                         enable-method = "psci";
115                         clock-frequency = <1701000000>;
116                         cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
117                         i-cache-size = <32768>;
118                         i-cache-line-size = <64>;
119                         i-cache-sets = <128>;
120                         d-cache-size = <32768>;
121                         d-cache-line-size = <64>;
122                         d-cache-sets = <128>;
123                         next-level-cache = <&l2_0>;
124                         capacity-dmips-mhz = <530>;
125                 };
126
127                 cpu4: cpu@400 {
128                         device_type = "cpu";
129                         compatible = "arm,cortex-a76";
130                         reg = <0x400>;
131                         enable-method = "psci";
132                         clock-frequency = <2171000000>;
133                         cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
134                         i-cache-size = <65536>;
135                         i-cache-line-size = <64>;
136                         i-cache-sets = <256>;
137                         d-cache-size = <65536>;
138                         d-cache-line-size = <64>;
139                         d-cache-sets = <256>;
140                         next-level-cache = <&l2_1>;
141                         capacity-dmips-mhz = <1024>;
142                 };
143
144                 cpu5: cpu@500 {
145                         device_type = "cpu";
146                         compatible = "arm,cortex-a76";
147                         reg = <0x500>;
148                         enable-method = "psci";
149                         clock-frequency = <2171000000>;
150                         cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
151                         i-cache-size = <65536>;
152                         i-cache-line-size = <64>;
153                         i-cache-sets = <256>;
154                         d-cache-size = <65536>;
155                         d-cache-line-size = <64>;
156                         d-cache-sets = <256>;
157                         next-level-cache = <&l2_1>;
158                         capacity-dmips-mhz = <1024>;
159                 };
160
161                 cpu6: cpu@600 {
162                         device_type = "cpu";
163                         compatible = "arm,cortex-a76";
164                         reg = <0x600>;
165                         enable-method = "psci";
166                         clock-frequency = <2171000000>;
167                         cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
168                         i-cache-size = <65536>;
169                         i-cache-line-size = <64>;
170                         i-cache-sets = <256>;
171                         d-cache-size = <65536>;
172                         d-cache-line-size = <64>;
173                         d-cache-sets = <256>;
174                         next-level-cache = <&l2_1>;
175                         capacity-dmips-mhz = <1024>;
176                 };
177
178                 cpu7: cpu@700 {
179                         device_type = "cpu";
180                         compatible = "arm,cortex-a76";
181                         reg = <0x700>;
182                         enable-method = "psci";
183                         clock-frequency = <2171000000>;
184                         cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
185                         i-cache-size = <65536>;
186                         i-cache-line-size = <64>;
187                         i-cache-sets = <256>;
188                         d-cache-size = <65536>;
189                         d-cache-line-size = <64>;
190                         d-cache-sets = <256>;
191                         next-level-cache = <&l2_1>;
192                         capacity-dmips-mhz = <1024>;
193                 };
194
195                 cpu-map {
196                         cluster0 {
197                                 core0 {
198                                         cpu = <&cpu0>;
199                                 };
200                                 core1 {
201                                         cpu = <&cpu1>;
202                                 };
203                                 core2 {
204                                         cpu = <&cpu2>;
205                                 };
206                                 core3 {
207                                         cpu = <&cpu3>;
208                                 };
209                                 core4 {
210                                         cpu = <&cpu4>;
211                                 };
212                                 core5 {
213                                         cpu = <&cpu5>;
214                                 };
215                                 core6 {
216                                         cpu = <&cpu6>;
217                                 };
218                                 core7 {
219                                         cpu = <&cpu7>;
220                                 };
221                         };
222                 };
223
224                 l2_0: l2-cache0 {
225                         compatible = "cache";
226                         cache-level = <2>;
227                         cache-size = <131072>;
228                         cache-line-size = <64>;
229                         cache-sets = <512>;
230                         next-level-cache = <&l3_0>;
231                 };
232
233                 l2_1: l2-cache1 {
234                         compatible = "cache";
235                         cache-level = <2>;
236                         cache-size = <262144>;
237                         cache-line-size = <64>;
238                         cache-sets = <512>;
239                         next-level-cache = <&l3_0>;
240                 };
241
242                 l3_0: l3-cache {
243                         compatible = "cache";
244                         cache-level = <3>;
245                         cache-size = <2097152>;
246                         cache-line-size = <64>;
247                         cache-sets = <2048>;
248                         cache-unified;
249                 };
250
251                 idle-states {
252                         entry-method = "psci";
253                         cpu_ret_l: cpu-retention-l {
254                                 compatible = "arm,idle-state";
255                                 arm,psci-suspend-param = <0x00010001>;
256                                 local-timer-stop;
257                                 entry-latency-us = <55>;
258                                 exit-latency-us = <140>;
259                                 min-residency-us = <780>;
260                         };
261                         cpu_ret_b: cpu-retention-b {
262                                 compatible = "arm,idle-state";
263                                 arm,psci-suspend-param = <0x00010001>;
264                                 local-timer-stop;
265                                 entry-latency-us = <35>;
266                                 exit-latency-us = <145>;
267                                 min-residency-us = <720>;
268                         };
269                         cpu_off_l: cpu-off-l {
270                                 compatible = "arm,idle-state";
271                                 arm,psci-suspend-param = <0x01010002>;
272                                 local-timer-stop;
273                                 entry-latency-us = <60>;
274                                 exit-latency-us = <155>;
275                                 min-residency-us = <860>;
276                         };
277                         cpu_off_b: cpu-off-b {
278                                 compatible = "arm,idle-state";
279                                 arm,psci-suspend-param = <0x01010002>;
280                                 local-timer-stop;
281                                 entry-latency-us = <40>;
282                                 exit-latency-us = <155>;
283                                 min-residency-us = <780>;
284                         };
285                 };
286         };
287
288         pmu-a55 {
289                 compatible = "arm,cortex-a55-pmu";
290                 interrupt-parent = <&gic>;
291                 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>;
292         };
293
294         pmu-a76 {
295                 compatible = "arm,cortex-a76-pmu";
296                 interrupt-parent = <&gic>;
297                 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>;
298         };
299
300         psci {
301                 compatible = "arm,psci-1.0";
302                 method = "smc";
303         };
304
305         timer: timer {
306                 compatible = "arm,armv8-timer";
307                 interrupt-parent = <&gic>;
308                 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
309                              <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>,
310                              <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>,
311                              <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>;
312                 clock-frequency = <13000000>;
313         };
314
315         soc {
316                 #address-cells = <2>;
317                 #size-cells = <2>;
318                 compatible = "simple-bus";
319                 ranges;
320
321                 gic: interrupt-controller@c000000 {
322                         compatible = "arm,gic-v3";
323                         #interrupt-cells = <4>;
324                         #redistributor-regions = <1>;
325                         interrupt-parent = <&gic>;
326                         interrupt-controller;
327                         reg = <0 0x0c000000 0 0x40000>,
328                               <0 0x0c040000 0 0x200000>;
329                         interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
330
331                         ppi-partitions {
332                                 ppi_cluster0: interrupt-partition-0 {
333                                         affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
334                                 };
335                                 ppi_cluster1: interrupt-partition-1 {
336                                         affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
337                                 };
338                         };
339                 };
340
341                 topckgen: syscon@10000000 {
342                         compatible = "mediatek,mt8192-topckgen", "syscon";
343                         reg = <0 0x10000000 0 0x1000>;
344                         #clock-cells = <1>;
345                 };
346
347                 infracfg: syscon@10001000 {
348                         compatible = "mediatek,mt8192-infracfg", "syscon";
349                         reg = <0 0x10001000 0 0x1000>;
350                         #clock-cells = <1>;
351                         #reset-cells = <1>;
352                 };
353
354                 pericfg: syscon@10003000 {
355                         compatible = "mediatek,mt8192-pericfg", "syscon";
356                         reg = <0 0x10003000 0 0x1000>;
357                         #clock-cells = <1>;
358                 };
359
360                 pio: pinctrl@10005000 {
361                         compatible = "mediatek,mt8192-pinctrl";
362                         reg = <0 0x10005000 0 0x1000>,
363                               <0 0x11c20000 0 0x1000>,
364                               <0 0x11d10000 0 0x1000>,
365                               <0 0x11d30000 0 0x1000>,
366                               <0 0x11d40000 0 0x1000>,
367                               <0 0x11e20000 0 0x1000>,
368                               <0 0x11e70000 0 0x1000>,
369                               <0 0x11ea0000 0 0x1000>,
370                               <0 0x11f20000 0 0x1000>,
371                               <0 0x11f30000 0 0x1000>,
372                               <0 0x1000b000 0 0x1000>;
373                         reg-names = "iocfg0", "iocfg_rm", "iocfg_bm",
374                                     "iocfg_bl", "iocfg_br", "iocfg_lm",
375                                     "iocfg_lb", "iocfg_rt", "iocfg_lt",
376                                     "iocfg_tl", "eint";
377                         gpio-controller;
378                         #gpio-cells = <2>;
379                         gpio-ranges = <&pio 0 0 220>;
380                         interrupt-controller;
381                         interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH 0>;
382                         #interrupt-cells = <2>;
383                 };
384
385                 scpsys: syscon@10006000 {
386                         compatible = "mediatek,mt8192-scpsys", "syscon", "simple-mfd";
387                         reg = <0 0x10006000 0 0x1000>;
388
389                         /* System Power Manager */
390                         spm: power-controller {
391                                 compatible = "mediatek,mt8192-power-controller";
392                                 #address-cells = <1>;
393                                 #size-cells = <0>;
394                                 #power-domain-cells = <1>;
395
396                                 /* power domain of the SoC */
397                                 power-domain@MT8192_POWER_DOMAIN_AUDIO {
398                                         reg = <MT8192_POWER_DOMAIN_AUDIO>;
399                                         clocks = <&topckgen CLK_TOP_AUD_INTBUS_SEL>,
400                                                  <&infracfg CLK_INFRA_AUDIO_26M_B>,
401                                                  <&infracfg CLK_INFRA_AUDIO>;
402                                         clock-names = "audio", "audio1", "audio2";
403                                         mediatek,infracfg = <&infracfg>;
404                                         #power-domain-cells = <0>;
405                                 };
406
407                                 power-domain@MT8192_POWER_DOMAIN_CONN {
408                                         reg = <MT8192_POWER_DOMAIN_CONN>;
409                                         clocks = <&infracfg CLK_INFRA_PMIC_CONN>;
410                                         clock-names = "conn";
411                                         mediatek,infracfg = <&infracfg>;
412                                         #power-domain-cells = <0>;
413                                 };
414
415                                 power-domain@MT8192_POWER_DOMAIN_MFG0 {
416                                         reg = <MT8192_POWER_DOMAIN_MFG0>;
417                                         clocks = <&topckgen CLK_TOP_MFG_PLL_SEL>;
418                                         clock-names = "mfg";
419                                         #address-cells = <1>;
420                                         #size-cells = <0>;
421                                         #power-domain-cells = <1>;
422
423                                         power-domain@MT8192_POWER_DOMAIN_MFG1 {
424                                                 reg = <MT8192_POWER_DOMAIN_MFG1>;
425                                                 mediatek,infracfg = <&infracfg>;
426                                                 #address-cells = <1>;
427                                                 #size-cells = <0>;
428                                                 #power-domain-cells = <1>;
429
430                                                 power-domain@MT8192_POWER_DOMAIN_MFG2 {
431                                                         reg = <MT8192_POWER_DOMAIN_MFG2>;
432                                                         #power-domain-cells = <0>;
433                                                 };
434
435                                                 power-domain@MT8192_POWER_DOMAIN_MFG3 {
436                                                         reg = <MT8192_POWER_DOMAIN_MFG3>;
437                                                         #power-domain-cells = <0>;
438                                                 };
439
440                                                 power-domain@MT8192_POWER_DOMAIN_MFG4 {
441                                                         reg = <MT8192_POWER_DOMAIN_MFG4>;
442                                                         #power-domain-cells = <0>;
443                                                 };
444
445                                                 power-domain@MT8192_POWER_DOMAIN_MFG5 {
446                                                         reg = <MT8192_POWER_DOMAIN_MFG5>;
447                                                         #power-domain-cells = <0>;
448                                                 };
449
450                                                 power-domain@MT8192_POWER_DOMAIN_MFG6 {
451                                                         reg = <MT8192_POWER_DOMAIN_MFG6>;
452                                                         #power-domain-cells = <0>;
453                                                 };
454                                         };
455                                 };
456
457                                 power-domain@MT8192_POWER_DOMAIN_DISP {
458                                         reg = <MT8192_POWER_DOMAIN_DISP>;
459                                         clocks = <&topckgen CLK_TOP_DISP_SEL>,
460                                                  <&mmsys CLK_MM_SMI_INFRA>,
461                                                  <&mmsys CLK_MM_SMI_COMMON>,
462                                                  <&mmsys CLK_MM_SMI_GALS>,
463                                                  <&mmsys CLK_MM_SMI_IOMMU>;
464                                         clock-names = "disp", "disp-0", "disp-1", "disp-2",
465                                                       "disp-3";
466                                         mediatek,infracfg = <&infracfg>;
467                                         #address-cells = <1>;
468                                         #size-cells = <0>;
469                                         #power-domain-cells = <1>;
470
471                                         power-domain@MT8192_POWER_DOMAIN_IPE {
472                                                 reg = <MT8192_POWER_DOMAIN_IPE>;
473                                                 clocks = <&topckgen CLK_TOP_IPE_SEL>,
474                                                          <&ipesys CLK_IPE_LARB19>,
475                                                          <&ipesys CLK_IPE_LARB20>,
476                                                          <&ipesys CLK_IPE_SMI_SUBCOM>,
477                                                          <&ipesys CLK_IPE_GALS>;
478                                                 clock-names = "ipe", "ipe-0", "ipe-1", "ipe-2",
479                                                               "ipe-3";
480                                                 mediatek,infracfg = <&infracfg>;
481                                                 #power-domain-cells = <0>;
482                                         };
483
484                                         power-domain@MT8192_POWER_DOMAIN_ISP {
485                                                 reg = <MT8192_POWER_DOMAIN_ISP>;
486                                                 clocks = <&topckgen CLK_TOP_IMG1_SEL>,
487                                                          <&imgsys CLK_IMG_LARB9>,
488                                                          <&imgsys CLK_IMG_GALS>;
489                                                 clock-names = "isp", "isp-0", "isp-1";
490                                                 mediatek,infracfg = <&infracfg>;
491                                                 #power-domain-cells = <0>;
492                                         };
493
494                                         power-domain@MT8192_POWER_DOMAIN_ISP2 {
495                                                 reg = <MT8192_POWER_DOMAIN_ISP2>;
496                                                 clocks = <&topckgen CLK_TOP_IMG2_SEL>,
497                                                          <&imgsys2 CLK_IMG2_LARB11>,
498                                                          <&imgsys2 CLK_IMG2_GALS>;
499                                                 clock-names = "isp2", "isp2-0", "isp2-1";
500                                                 mediatek,infracfg = <&infracfg>;
501                                                 #power-domain-cells = <0>;
502                                         };
503
504                                         power-domain@MT8192_POWER_DOMAIN_MDP {
505                                                 reg = <MT8192_POWER_DOMAIN_MDP>;
506                                                 clocks = <&topckgen CLK_TOP_MDP_SEL>,
507                                                          <&mdpsys CLK_MDP_SMI0>;
508                                                 clock-names = "mdp", "mdp-0";
509                                                 mediatek,infracfg = <&infracfg>;
510                                                 #power-domain-cells = <0>;
511                                         };
512
513                                         power-domain@MT8192_POWER_DOMAIN_VENC {
514                                                 reg = <MT8192_POWER_DOMAIN_VENC>;
515                                                 clocks = <&topckgen CLK_TOP_VENC_SEL>,
516                                                          <&vencsys CLK_VENC_SET1_VENC>;
517                                                 clock-names = "venc", "venc-0";
518                                                 mediatek,infracfg = <&infracfg>;
519                                                 #power-domain-cells = <0>;
520                                         };
521
522                                         power-domain@MT8192_POWER_DOMAIN_VDEC {
523                                                 reg = <MT8192_POWER_DOMAIN_VDEC>;
524                                                 clocks = <&topckgen CLK_TOP_VDEC_SEL>,
525                                                          <&vdecsys_soc CLK_VDEC_SOC_VDEC>,
526                                                          <&vdecsys_soc CLK_VDEC_SOC_LAT>,
527                                                          <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
528                                                 clock-names = "vdec", "vdec-0", "vdec-1", "vdec-2";
529                                                 mediatek,infracfg = <&infracfg>;
530                                                 #address-cells = <1>;
531                                                 #size-cells = <0>;
532                                                 #power-domain-cells = <1>;
533
534                                                 power-domain@MT8192_POWER_DOMAIN_VDEC2 {
535                                                         reg = <MT8192_POWER_DOMAIN_VDEC2>;
536                                                         clocks = <&vdecsys CLK_VDEC_VDEC>,
537                                                                  <&vdecsys CLK_VDEC_LAT>,
538                                                                  <&vdecsys CLK_VDEC_LARB1>;
539                                                         clock-names = "vdec2-0", "vdec2-1",
540                                                                       "vdec2-2";
541                                                         #power-domain-cells = <0>;
542                                                 };
543                                         };
544
545                                         power-domain@MT8192_POWER_DOMAIN_CAM {
546                                                 reg = <MT8192_POWER_DOMAIN_CAM>;
547                                                 clocks = <&topckgen CLK_TOP_CAM_SEL>,
548                                                          <&camsys CLK_CAM_LARB13>,
549                                                          <&camsys CLK_CAM_LARB14>,
550                                                          <&camsys CLK_CAM_CCU_GALS>,
551                                                          <&camsys CLK_CAM_CAM2MM_GALS>;
552                                                 clock-names = "cam", "cam-0", "cam-1", "cam-2",
553                                                               "cam-3";
554                                                 mediatek,infracfg = <&infracfg>;
555                                                 #address-cells = <1>;
556                                                 #size-cells = <0>;
557                                                 #power-domain-cells = <1>;
558
559                                                 power-domain@MT8192_POWER_DOMAIN_CAM_RAWA {
560                                                         reg = <MT8192_POWER_DOMAIN_CAM_RAWA>;
561                                                         clocks = <&camsys_rawa CLK_CAM_RAWA_LARBX>;
562                                                         clock-names = "cam_rawa-0";
563                                                         #power-domain-cells = <0>;
564                                                 };
565
566                                                 power-domain@MT8192_POWER_DOMAIN_CAM_RAWB {
567                                                         reg = <MT8192_POWER_DOMAIN_CAM_RAWB>;
568                                                         clocks = <&camsys_rawb CLK_CAM_RAWB_LARBX>;
569                                                         clock-names = "cam_rawb-0";
570                                                         #power-domain-cells = <0>;
571                                                 };
572
573                                                 power-domain@MT8192_POWER_DOMAIN_CAM_RAWC {
574                                                         reg = <MT8192_POWER_DOMAIN_CAM_RAWC>;
575                                                         clocks = <&camsys_rawc CLK_CAM_RAWC_LARBX>;
576                                                         clock-names = "cam_rawc-0";
577                                                         #power-domain-cells = <0>;
578                                                 };
579                                         };
580                                 };
581                         };
582                 };
583
584                 watchdog: watchdog@10007000 {
585                         compatible = "mediatek,mt8192-wdt";
586                         reg = <0 0x10007000 0 0x100>;
587                         #reset-cells = <1>;
588                 };
589
590                 apmixedsys: syscon@1000c000 {
591                         compatible = "mediatek,mt8192-apmixedsys", "syscon";
592                         reg = <0 0x1000c000 0 0x1000>;
593                         #clock-cells = <1>;
594                 };
595
596                 systimer: timer@10017000 {
597                         compatible = "mediatek,mt8192-timer",
598                                      "mediatek,mt6765-timer";
599                         reg = <0 0x10017000 0 0x1000>;
600                         interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH 0>;
601                         clocks = <&clk13m>;
602                 };
603
604                 pwrap: pwrap@10026000 {
605                         compatible = "mediatek,mt6873-pwrap";
606                         reg = <0 0x10026000 0 0x1000>;
607                         reg-names = "pwrap";
608                         interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>;
609                         clocks = <&infracfg CLK_INFRA_PMIC_AP>,
610                                  <&infracfg CLK_INFRA_PMIC_TMR>;
611                         clock-names = "spi", "wrap";
612                         assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
613                         assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
614                 };
615
616                 spmi: spmi@10027000 {
617                         compatible = "mediatek,mt6873-spmi";
618                         reg = <0 0x10027000 0 0x000e00>,
619                               <0 0x10029000 0 0x000100>;
620                         reg-names = "pmif", "spmimst";
621                         clocks = <&infracfg CLK_INFRA_PMIC_AP>,
622                                  <&infracfg CLK_INFRA_PMIC_TMR>,
623                                  <&topckgen CLK_TOP_SPMI_MST_SEL>;
624                         clock-names = "pmif_sys_ck",
625                                       "pmif_tmr_ck",
626                                       "spmimst_clk_mux";
627                         assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
628                         assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
629                 };
630
631                 gce: mailbox@10228000 {
632                         compatible = "mediatek,mt8192-gce";
633                         reg = <0 0x10228000 0 0x4000>;
634                         interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 0>;
635                         #mbox-cells = <2>;
636                         clocks = <&infracfg CLK_INFRA_GCE>;
637                         clock-names = "gce";
638                 };
639
640                 scp_adsp: clock-controller@10720000 {
641                         compatible = "mediatek,mt8192-scp_adsp";
642                         reg = <0 0x10720000 0 0x1000>;
643                         #clock-cells = <1>;
644                         /* power domain dependency not upstreamed */
645                         status = "fail";
646                 };
647
648                 uart0: serial@11002000 {
649                         compatible = "mediatek,mt8192-uart",
650                                      "mediatek,mt6577-uart";
651                         reg = <0 0x11002000 0 0x1000>;
652                         interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>;
653                         clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>;
654                         clock-names = "baud", "bus";
655                         status = "disabled";
656                 };
657
658                 uart1: serial@11003000 {
659                         compatible = "mediatek,mt8192-uart",
660                                      "mediatek,mt6577-uart";
661                         reg = <0 0x11003000 0 0x1000>;
662                         interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>;
663                         clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>;
664                         clock-names = "baud", "bus";
665                         status = "disabled";
666                 };
667
668                 imp_iic_wrap_c: clock-controller@11007000 {
669                         compatible = "mediatek,mt8192-imp_iic_wrap_c";
670                         reg = <0 0x11007000 0 0x1000>;
671                         #clock-cells = <1>;
672                 };
673
674                 spi0: spi@1100a000 {
675                         compatible = "mediatek,mt8192-spi",
676                                      "mediatek,mt6765-spi";
677                         #address-cells = <1>;
678                         #size-cells = <0>;
679                         reg = <0 0x1100a000 0 0x1000>;
680                         interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH 0>;
681                         clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
682                                  <&topckgen CLK_TOP_SPI_SEL>,
683                                  <&infracfg CLK_INFRA_SPI0>;
684                         clock-names = "parent-clk", "sel-clk", "spi-clk";
685                         status = "disabled";
686                 };
687
688                 pwm0: pwm@1100e000 {
689                         compatible = "mediatek,mt8183-disp-pwm";
690                         reg = <0 0x1100e000 0 0x1000>;
691                         interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH 0>;
692                         #pwm-cells = <2>;
693                         clocks = <&topckgen CLK_TOP_DISP_PWM_SEL>,
694                                  <&infracfg CLK_INFRA_DISP_PWM>;
695                         clock-names = "main", "mm";
696                         status = "disabled";
697                 };
698
699                 spi1: spi@11010000 {
700                         compatible = "mediatek,mt8192-spi",
701                                      "mediatek,mt6765-spi";
702                         #address-cells = <1>;
703                         #size-cells = <0>;
704                         reg = <0 0x11010000 0 0x1000>;
705                         interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH 0>;
706                         clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
707                                  <&topckgen CLK_TOP_SPI_SEL>,
708                                  <&infracfg CLK_INFRA_SPI1>;
709                         clock-names = "parent-clk", "sel-clk", "spi-clk";
710                         status = "disabled";
711                 };
712
713                 spi2: spi@11012000 {
714                         compatible = "mediatek,mt8192-spi",
715                                      "mediatek,mt6765-spi";
716                         #address-cells = <1>;
717                         #size-cells = <0>;
718                         reg = <0 0x11012000 0 0x1000>;
719                         interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH 0>;
720                         clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
721                                  <&topckgen CLK_TOP_SPI_SEL>,
722                                  <&infracfg CLK_INFRA_SPI2>;
723                         clock-names = "parent-clk", "sel-clk", "spi-clk";
724                         status = "disabled";
725                 };
726
727                 spi3: spi@11013000 {
728                         compatible = "mediatek,mt8192-spi",
729                                      "mediatek,mt6765-spi";
730                         #address-cells = <1>;
731                         #size-cells = <0>;
732                         reg = <0 0x11013000 0 0x1000>;
733                         interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH 0>;
734                         clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
735                                  <&topckgen CLK_TOP_SPI_SEL>,
736                                  <&infracfg CLK_INFRA_SPI3>;
737                         clock-names = "parent-clk", "sel-clk", "spi-clk";
738                         status = "disabled";
739                 };
740
741                 spi4: spi@11018000 {
742                         compatible = "mediatek,mt8192-spi",
743                                      "mediatek,mt6765-spi";
744                         #address-cells = <1>;
745                         #size-cells = <0>;
746                         reg = <0 0x11018000 0 0x1000>;
747                         interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH 0>;
748                         clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
749                                  <&topckgen CLK_TOP_SPI_SEL>,
750                                  <&infracfg CLK_INFRA_SPI4>;
751                         clock-names = "parent-clk", "sel-clk", "spi-clk";
752                         status = "disabled";
753                 };
754
755                 spi5: spi@11019000 {
756                         compatible = "mediatek,mt8192-spi",
757                                      "mediatek,mt6765-spi";
758                         #address-cells = <1>;
759                         #size-cells = <0>;
760                         reg = <0 0x11019000 0 0x1000>;
761                         interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH 0>;
762                         clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
763                                  <&topckgen CLK_TOP_SPI_SEL>,
764                                  <&infracfg CLK_INFRA_SPI5>;
765                         clock-names = "parent-clk", "sel-clk", "spi-clk";
766                         status = "disabled";
767                 };
768
769                 spi6: spi@1101d000 {
770                         compatible = "mediatek,mt8192-spi",
771                                      "mediatek,mt6765-spi";
772                         #address-cells = <1>;
773                         #size-cells = <0>;
774                         reg = <0 0x1101d000 0 0x1000>;
775                         interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH 0>;
776                         clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
777                                  <&topckgen CLK_TOP_SPI_SEL>,
778                                  <&infracfg CLK_INFRA_SPI6>;
779                         clock-names = "parent-clk", "sel-clk", "spi-clk";
780                         status = "disabled";
781                 };
782
783                 spi7: spi@1101e000 {
784                         compatible = "mediatek,mt8192-spi",
785                                      "mediatek,mt6765-spi";
786                         #address-cells = <1>;
787                         #size-cells = <0>;
788                         reg = <0 0x1101e000 0 0x1000>;
789                         interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH 0>;
790                         clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
791                                  <&topckgen CLK_TOP_SPI_SEL>,
792                                  <&infracfg CLK_INFRA_SPI7>;
793                         clock-names = "parent-clk", "sel-clk", "spi-clk";
794                         status = "disabled";
795                 };
796
797                 scp: scp@10500000 {
798                         compatible = "mediatek,mt8192-scp";
799                         reg = <0 0x10500000 0 0x100000>,
800                               <0 0x10720000 0 0xe0000>,
801                               <0 0x10700000 0 0x8000>;
802                         reg-names = "sram", "cfg", "l1tcm";
803                         interrupts = <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH 0>;
804                         clocks = <&infracfg CLK_INFRA_SCPSYS>;
805                         clock-names = "main";
806                         status = "disabled";
807                 };
808
809                 xhci: usb@11200000 {
810                         compatible = "mediatek,mt8192-xhci",
811                                      "mediatek,mtk-xhci";
812                         reg = <0 0x11200000 0 0x1000>,
813                               <0 0x11203e00 0 0x0100>;
814                         reg-names = "mac", "ippc";
815                         interrupts-extended = <&gic GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>;
816                         interrupt-names = "host";
817                         phys = <&u2port0 PHY_TYPE_USB2>,
818                                <&u3port0 PHY_TYPE_USB3>;
819                         assigned-clocks = <&topckgen CLK_TOP_USB_TOP_SEL>,
820                                           <&topckgen CLK_TOP_SSUSB_XHCI_SEL>;
821                         assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
822                                                  <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
823                         clocks = <&infracfg CLK_INFRA_SSUSB>,
824                                  <&apmixedsys CLK_APMIXED_USBPLL>,
825                                  <&clk26m>,
826                                  <&clk26m>,
827                                  <&infracfg CLK_INFRA_SSUSB_XHCI>;
828                         clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
829                                       "xhci_ck";
830                         wakeup-source;
831                         mediatek,syscon-wakeup = <&pericfg 0x420 102>;
832                         status = "disabled";
833                 };
834
835                 audsys: syscon@11210000 {
836                         compatible = "mediatek,mt8192-audsys", "syscon";
837                         reg = <0 0x11210000 0 0x2000>;
838                         #clock-cells = <1>;
839
840                         afe: mt8192-afe-pcm {
841                                 compatible = "mediatek,mt8192-audio";
842                                 interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH 0>;
843                                 resets = <&watchdog 17>;
844                                 reset-names = "audiosys";
845                                 mediatek,apmixedsys = <&apmixedsys>;
846                                 mediatek,infracfg = <&infracfg>;
847                                 mediatek,topckgen = <&topckgen>;
848                                 power-domains = <&spm MT8192_POWER_DOMAIN_AUDIO>;
849                                 clocks = <&audsys CLK_AUD_AFE>,
850                                          <&audsys CLK_AUD_DAC>,
851                                          <&audsys CLK_AUD_DAC_PREDIS>,
852                                          <&audsys CLK_AUD_ADC>,
853                                          <&audsys CLK_AUD_ADDA6_ADC>,
854                                          <&audsys CLK_AUD_22M>,
855                                          <&audsys CLK_AUD_24M>,
856                                          <&audsys CLK_AUD_APLL_TUNER>,
857                                          <&audsys CLK_AUD_APLL2_TUNER>,
858                                          <&audsys CLK_AUD_TDM>,
859                                          <&audsys CLK_AUD_TML>,
860                                          <&audsys CLK_AUD_NLE>,
861                                          <&audsys CLK_AUD_DAC_HIRES>,
862                                          <&audsys CLK_AUD_ADC_HIRES>,
863                                          <&audsys CLK_AUD_ADC_HIRES_TML>,
864                                          <&audsys CLK_AUD_ADDA6_ADC_HIRES>,
865                                          <&audsys CLK_AUD_3RD_DAC>,
866                                          <&audsys CLK_AUD_3RD_DAC_PREDIS>,
867                                          <&audsys CLK_AUD_3RD_DAC_TML>,
868                                          <&audsys CLK_AUD_3RD_DAC_HIRES>,
869                                          <&infracfg CLK_INFRA_AUDIO>,
870                                          <&infracfg CLK_INFRA_AUDIO_26M_B>,
871                                          <&topckgen CLK_TOP_AUDIO_SEL>,
872                                          <&topckgen CLK_TOP_AUD_INTBUS_SEL>,
873                                          <&topckgen CLK_TOP_MAINPLL_D4_D4>,
874                                          <&topckgen CLK_TOP_AUD_1_SEL>,
875                                          <&topckgen CLK_TOP_APLL1>,
876                                          <&topckgen CLK_TOP_AUD_2_SEL>,
877                                          <&topckgen CLK_TOP_APLL2>,
878                                          <&topckgen CLK_TOP_AUD_ENGEN1_SEL>,
879                                          <&topckgen CLK_TOP_APLL1_D4>,
880                                          <&topckgen CLK_TOP_AUD_ENGEN2_SEL>,
881                                          <&topckgen CLK_TOP_APLL2_D4>,
882                                          <&topckgen CLK_TOP_APLL_I2S0_M_SEL>,
883                                          <&topckgen CLK_TOP_APLL_I2S1_M_SEL>,
884                                          <&topckgen CLK_TOP_APLL_I2S2_M_SEL>,
885                                          <&topckgen CLK_TOP_APLL_I2S3_M_SEL>,
886                                          <&topckgen CLK_TOP_APLL_I2S4_M_SEL>,
887                                          <&topckgen CLK_TOP_APLL_I2S5_M_SEL>,
888                                          <&topckgen CLK_TOP_APLL_I2S6_M_SEL>,
889                                          <&topckgen CLK_TOP_APLL_I2S7_M_SEL>,
890                                          <&topckgen CLK_TOP_APLL_I2S8_M_SEL>,
891                                          <&topckgen CLK_TOP_APLL_I2S9_M_SEL>,
892                                          <&topckgen CLK_TOP_APLL12_DIV0>,
893                                          <&topckgen CLK_TOP_APLL12_DIV1>,
894                                          <&topckgen CLK_TOP_APLL12_DIV2>,
895                                          <&topckgen CLK_TOP_APLL12_DIV3>,
896                                          <&topckgen CLK_TOP_APLL12_DIV4>,
897                                          <&topckgen CLK_TOP_APLL12_DIVB>,
898                                          <&topckgen CLK_TOP_APLL12_DIV5>,
899                                          <&topckgen CLK_TOP_APLL12_DIV6>,
900                                          <&topckgen CLK_TOP_APLL12_DIV7>,
901                                          <&topckgen CLK_TOP_APLL12_DIV8>,
902                                          <&topckgen CLK_TOP_APLL12_DIV9>,
903                                          <&topckgen CLK_TOP_AUDIO_H_SEL>,
904                                          <&clk26m>;
905                                 clock-names = "aud_afe_clk",
906                                               "aud_dac_clk",
907                                               "aud_dac_predis_clk",
908                                               "aud_adc_clk",
909                                               "aud_adda6_adc_clk",
910                                               "aud_apll22m_clk",
911                                               "aud_apll24m_clk",
912                                               "aud_apll1_tuner_clk",
913                                               "aud_apll2_tuner_clk",
914                                               "aud_tdm_clk",
915                                               "aud_tml_clk",
916                                               "aud_nle",
917                                               "aud_dac_hires_clk",
918                                               "aud_adc_hires_clk",
919                                               "aud_adc_hires_tml",
920                                               "aud_adda6_adc_hires_clk",
921                                               "aud_3rd_dac_clk",
922                                               "aud_3rd_dac_predis_clk",
923                                               "aud_3rd_dac_tml",
924                                               "aud_3rd_dac_hires_clk",
925                                               "aud_infra_clk",
926                                               "aud_infra_26m_clk",
927                                               "top_mux_audio",
928                                               "top_mux_audio_int",
929                                               "top_mainpll_d4_d4",
930                                               "top_mux_aud_1",
931                                               "top_apll1_ck",
932                                               "top_mux_aud_2",
933                                               "top_apll2_ck",
934                                               "top_mux_aud_eng1",
935                                               "top_apll1_d4",
936                                               "top_mux_aud_eng2",
937                                               "top_apll2_d4",
938                                               "top_i2s0_m_sel",
939                                               "top_i2s1_m_sel",
940                                               "top_i2s2_m_sel",
941                                               "top_i2s3_m_sel",
942                                               "top_i2s4_m_sel",
943                                               "top_i2s5_m_sel",
944                                               "top_i2s6_m_sel",
945                                               "top_i2s7_m_sel",
946                                               "top_i2s8_m_sel",
947                                               "top_i2s9_m_sel",
948                                               "top_apll12_div0",
949                                               "top_apll12_div1",
950                                               "top_apll12_div2",
951                                               "top_apll12_div3",
952                                               "top_apll12_div4",
953                                               "top_apll12_divb",
954                                               "top_apll12_div5",
955                                               "top_apll12_div6",
956                                               "top_apll12_div7",
957                                               "top_apll12_div8",
958                                               "top_apll12_div9",
959                                               "top_mux_audio_h",
960                                               "top_clk26m_clk";
961                         };
962                 };
963
964                 pcie: pcie@11230000 {
965                         compatible = "mediatek,mt8192-pcie";
966                         device_type = "pci";
967                         reg = <0 0x11230000 0 0x2000>;
968                         reg-names = "pcie-mac";
969                         #address-cells = <3>;
970                         #size-cells = <2>;
971                         clocks = <&infracfg CLK_INFRA_PCIE_PL_P_250M>,
972                                  <&infracfg CLK_INFRA_PCIE_TL_26M>,
973                                  <&infracfg CLK_INFRA_PCIE_TL_96M>,
974                                  <&infracfg CLK_INFRA_PCIE_TL_32K>,
975                                  <&infracfg CLK_INFRA_PCIE_PERI_26M>,
976                                  <&infracfg CLK_INFRA_PCIE_TOP_H_133M>;
977                         clock-names = "pl_250m", "tl_26m", "tl_96m",
978                                       "tl_32k", "peri_26m", "top_133m";
979                         assigned-clocks = <&topckgen CLK_TOP_TL_SEL>;
980                         assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D6_D4>;
981                         interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH 0>;
982                         bus-range = <0x00 0xff>;
983                         ranges = <0x82000000 0 0x12000000 0x0 0x12000000 0 0x0800000>,
984                                  <0x81000000 0 0x12800000 0x0 0x12800000 0 0x0800000>;
985                         #interrupt-cells = <1>;
986                         interrupt-map-mask = <0 0 0 7>;
987                         interrupt-map = <0 0 0 1 &pcie_intc0 0>,
988                                         <0 0 0 2 &pcie_intc0 1>,
989                                         <0 0 0 3 &pcie_intc0 2>,
990                                         <0 0 0 4 &pcie_intc0 3>;
991
992                         pcie_intc0: interrupt-controller {
993                                 interrupt-controller;
994                                 #address-cells = <0>;
995                                 #interrupt-cells = <1>;
996                         };
997                 };
998
999                 nor_flash: spi@11234000 {
1000                         compatible = "mediatek,mt8192-nor";
1001                         reg = <0 0x11234000 0 0xe0>;
1002                         interrupts = <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH 0>;
1003                         clocks = <&topckgen CLK_TOP_SFLASH_SEL>,
1004                                  <&infracfg CLK_INFRA_FLASHIF_SFLASH>,
1005                                  <&infracfg CLK_INFRA_FLASHIF_TOP_H_133M>;
1006                         clock-names = "spi", "sf", "axi";
1007                         assigned-clocks = <&topckgen CLK_TOP_SFLASH_SEL>;
1008                         assigned-clock-parents = <&clk26m>;
1009                         #address-cells = <1>;
1010                         #size-cells = <0>;
1011                         status = "disabled";
1012                 };
1013
1014                 efuse: efuse@11c10000 {
1015                         compatible = "mediatek,mt8192-efuse", "mediatek,efuse";
1016                         reg = <0 0x11c10000 0 0x1000>;
1017                         #address-cells = <1>;
1018                         #size-cells = <1>;
1019
1020                         lvts_e_data1: data1@1c0 {
1021                                 reg = <0x1c0 0x58>;
1022                         };
1023
1024                         svs_calibration: calib@580 {
1025                                 reg = <0x580 0x68>;
1026                         };
1027                 };
1028
1029                 i2c3: i2c@11cb0000 {
1030                         compatible = "mediatek,mt8192-i2c";
1031                         reg = <0 0x11cb0000 0 0x1000>,
1032                               <0 0x10217300 0 0x80>;
1033                         interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH 0>;
1034                         clocks = <&imp_iic_wrap_e CLK_IMP_IIC_WRAP_E_I2C3>,
1035                                  <&infracfg CLK_INFRA_AP_DMA>;
1036                         clock-names = "main", "dma";
1037                         clock-div = <1>;
1038                         #address-cells = <1>;
1039                         #size-cells = <0>;
1040                         status = "disabled";
1041                 };
1042
1043                 imp_iic_wrap_e: clock-controller@11cb1000 {
1044                         compatible = "mediatek,mt8192-imp_iic_wrap_e";
1045                         reg = <0 0x11cb1000 0 0x1000>;
1046                         #clock-cells = <1>;
1047                 };
1048
1049                 i2c7: i2c@11d00000 {
1050                         compatible = "mediatek,mt8192-i2c";
1051                         reg = <0 0x11d00000 0 0x1000>,
1052                               <0 0x10217600 0 0x180>;
1053                         interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>;
1054                         clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>,
1055                                  <&infracfg CLK_INFRA_AP_DMA>;
1056                         clock-names = "main", "dma";
1057                         clock-div = <1>;
1058                         #address-cells = <1>;
1059                         #size-cells = <0>;
1060                         status = "disabled";
1061                 };
1062
1063                 i2c8: i2c@11d01000 {
1064                         compatible = "mediatek,mt8192-i2c";
1065                         reg = <0 0x11d01000 0 0x1000>,
1066                               <0 0x10217780 0 0x180>;
1067                         interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>;
1068                         clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C8>,
1069                                  <&infracfg CLK_INFRA_AP_DMA>;
1070                         clock-names = "main", "dma";
1071                         clock-div = <1>;
1072                         #address-cells = <1>;
1073                         #size-cells = <0>;
1074                         status = "disabled";
1075                 };
1076
1077                 i2c9: i2c@11d02000 {
1078                         compatible = "mediatek,mt8192-i2c";
1079                         reg = <0 0x11d02000 0 0x1000>,
1080                               <0 0x10217900 0 0x180>;
1081                         interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH 0>;
1082                         clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C9>,
1083                                  <&infracfg CLK_INFRA_AP_DMA>;
1084                         clock-names = "main", "dma";
1085                         clock-div = <1>;
1086                         #address-cells = <1>;
1087                         #size-cells = <0>;
1088                         status = "disabled";
1089                 };
1090
1091                 imp_iic_wrap_s: clock-controller@11d03000 {
1092                         compatible = "mediatek,mt8192-imp_iic_wrap_s";
1093                         reg = <0 0x11d03000 0 0x1000>;
1094                         #clock-cells = <1>;
1095                 };
1096
1097                 i2c1: i2c@11d20000 {
1098                         compatible = "mediatek,mt8192-i2c";
1099                         reg = <0 0x11d20000 0 0x1000>,
1100                               <0 0x10217100 0 0x80>;
1101                         interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 0>;
1102                         clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C1>,
1103                                  <&infracfg CLK_INFRA_AP_DMA>;
1104                         clock-names = "main", "dma";
1105                         clock-div = <1>;
1106                         #address-cells = <1>;
1107                         #size-cells = <0>;
1108                         status = "disabled";
1109                 };
1110
1111                 i2c2: i2c@11d21000 {
1112                         compatible = "mediatek,mt8192-i2c";
1113                         reg = <0 0x11d21000 0 0x1000>,
1114                               <0 0x10217180 0 0x180>;
1115                         interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH 0>;
1116                         clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C2>,
1117                                  <&infracfg CLK_INFRA_AP_DMA>;
1118                         clock-names = "main", "dma";
1119                         clock-div = <1>;
1120                         #address-cells = <1>;
1121                         #size-cells = <0>;
1122                         status = "disabled";
1123                 };
1124
1125                 i2c4: i2c@11d22000 {
1126                         compatible = "mediatek,mt8192-i2c";
1127                         reg = <0 0x11d22000 0 0x1000>,
1128                               <0 0x10217380 0 0x180>;
1129                         interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>;
1130                         clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C4>,
1131                                  <&infracfg CLK_INFRA_AP_DMA>;
1132                         clock-names = "main", "dma";
1133                         clock-div = <1>;
1134                         #address-cells = <1>;
1135                         #size-cells = <0>;
1136                         status = "disabled";
1137                 };
1138
1139                 imp_iic_wrap_ws: clock-controller@11d23000 {
1140                         compatible = "mediatek,mt8192-imp_iic_wrap_ws";
1141                         reg = <0 0x11d23000 0 0x1000>;
1142                         #clock-cells = <1>;
1143                 };
1144
1145                 i2c5: i2c@11e00000 {
1146                         compatible = "mediatek,mt8192-i2c";
1147                         reg = <0 0x11e00000 0 0x1000>,
1148                               <0 0x10217500 0 0x80>;
1149                         interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH 0>;
1150                         clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C5>,
1151                                  <&infracfg CLK_INFRA_AP_DMA>;
1152                         clock-names = "main", "dma";
1153                         clock-div = <1>;
1154                         #address-cells = <1>;
1155                         #size-cells = <0>;
1156                         status = "disabled";
1157                 };
1158
1159                 imp_iic_wrap_w: clock-controller@11e01000 {
1160                         compatible = "mediatek,mt8192-imp_iic_wrap_w";
1161                         reg = <0 0x11e01000 0 0x1000>;
1162                         #clock-cells = <1>;
1163                 };
1164
1165                 u3phy0: t-phy@11e40000 {
1166                         compatible = "mediatek,mt8192-tphy",
1167                                      "mediatek,generic-tphy-v2";
1168                         #address-cells = <1>;
1169                         #size-cells = <1>;
1170                         ranges = <0x0 0x0 0x11e40000 0x1000>;
1171
1172                         u2port0: usb-phy@0 {
1173                                 reg = <0x0 0x700>;
1174                                 clocks = <&clk26m>;
1175                                 clock-names = "ref";
1176                                 #phy-cells = <1>;
1177                         };
1178
1179                         u3port0: usb-phy@700 {
1180                                 reg = <0x700 0x900>;
1181                                 clocks = <&clk26m>;
1182                                 clock-names = "ref";
1183                                 #phy-cells = <1>;
1184                         };
1185                 };
1186
1187                 mipi_tx0: dsi-phy@11e50000 {
1188                         compatible = "mediatek,mt8183-mipi-tx";
1189                         reg = <0 0x11e50000 0 0x1000>;
1190                         clocks = <&apmixedsys CLK_APMIXED_MIPID26M>;
1191                         #clock-cells = <0>;
1192                         #phy-cells = <0>;
1193                         clock-output-names = "mipi_tx0_pll";
1194                         status = "disabled";
1195                 };
1196
1197                 i2c0: i2c@11f00000 {
1198                         compatible = "mediatek,mt8192-i2c";
1199                         reg = <0 0x11f00000 0 0x1000>,
1200                               <0 0x10217080 0 0x80>;
1201                         interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH 0>;
1202                         clocks = <&imp_iic_wrap_n CLK_IMP_IIC_WRAP_N_I2C0>,
1203                                  <&infracfg CLK_INFRA_AP_DMA>;
1204                         clock-names = "main", "dma";
1205                         clock-div = <1>;
1206                         #address-cells = <1>;
1207                         #size-cells = <0>;
1208                         status = "disabled";
1209                 };
1210
1211                 i2c6: i2c@11f01000 {
1212                         compatible = "mediatek,mt8192-i2c";
1213                         reg = <0 0x11f01000 0 0x1000>,
1214                               <0 0x10217580 0 0x80>;
1215                         interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>;
1216                         clocks = <&imp_iic_wrap_n CLK_IMP_IIC_WRAP_N_I2C6>,
1217                                  <&infracfg CLK_INFRA_AP_DMA>;
1218                         clock-names = "main", "dma";
1219                         clock-div = <1>;
1220                         #address-cells = <1>;
1221                         #size-cells = <0>;
1222                         status = "disabled";
1223                 };
1224
1225                 imp_iic_wrap_n: clock-controller@11f02000 {
1226                         compatible = "mediatek,mt8192-imp_iic_wrap_n";
1227                         reg = <0 0x11f02000 0 0x1000>;
1228                         #clock-cells = <1>;
1229                 };
1230
1231                 msdc_top: clock-controller@11f10000 {
1232                         compatible = "mediatek,mt8192-msdc_top";
1233                         reg = <0 0x11f10000 0 0x1000>;
1234                         #clock-cells = <1>;
1235                 };
1236
1237                 mmc0: mmc@11f60000 {
1238                         compatible = "mediatek,mt8192-mmc", "mediatek,mt8183-mmc";
1239                         reg = <0 0x11f60000 0 0x1000>, <0 0x11f50000 0 0x1000>;
1240                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>;
1241                         clocks = <&topckgen CLK_TOP_MSDC50_0_SEL>,
1242                                  <&msdc_top CLK_MSDC_TOP_H_MST_0P>,
1243                                  <&msdc_top CLK_MSDC_TOP_SRC_0P>,
1244                                  <&msdc_top CLK_MSDC_TOP_P_CFG>,
1245                                  <&msdc_top CLK_MSDC_TOP_P_MSDC0>,
1246                                  <&msdc_top CLK_MSDC_TOP_AXI>,
1247                                  <&msdc_top CLK_MSDC_TOP_AHB2AXI_BRG_AXI>;
1248                         clock-names = "source", "hclk", "source_cg", "sys_cg",
1249                                       "pclk_cg", "axi_cg", "ahb_cg";
1250                         status = "disabled";
1251                 };
1252
1253                 mmc1: mmc@11f70000 {
1254                         compatible = "mediatek,mt8192-mmc", "mediatek,mt8183-mmc";
1255                         reg = <0 0x11f70000 0 0x1000>, <0 0x11c70000 0 0x1000>;
1256                         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>;
1257                         clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>,
1258                                  <&msdc_top CLK_MSDC_TOP_H_MST_1P>,
1259                                  <&msdc_top CLK_MSDC_TOP_SRC_1P>,
1260                                  <&msdc_top CLK_MSDC_TOP_P_CFG>,
1261                                  <&msdc_top CLK_MSDC_TOP_P_MSDC1>,
1262                                  <&msdc_top CLK_MSDC_TOP_AXI>,
1263                                  <&msdc_top CLK_MSDC_TOP_AHB2AXI_BRG_AXI>;
1264                         clock-names = "source", "hclk", "source_cg", "sys_cg",
1265                                       "pclk_cg", "axi_cg", "ahb_cg";
1266                         status = "disabled";
1267                 };
1268
1269                 mfgcfg: clock-controller@13fbf000 {
1270                         compatible = "mediatek,mt8192-mfgcfg";
1271                         reg = <0 0x13fbf000 0 0x1000>;
1272                         #clock-cells = <1>;
1273                 };
1274
1275                 mmsys: syscon@14000000 {
1276                         compatible = "mediatek,mt8192-mmsys", "syscon";
1277                         reg = <0 0x14000000 0 0x1000>;
1278                         #clock-cells = <1>;
1279                         #reset-cells = <1>;
1280                         mboxes = <&gce 0 CMDQ_THR_PRIO_HIGHEST>,
1281                                  <&gce 1 CMDQ_THR_PRIO_HIGHEST>;
1282                         mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>;
1283                 };
1284
1285                 mutex: mutex@14001000 {
1286                         compatible = "mediatek,mt8192-disp-mutex";
1287                         reg = <0 0x14001000 0 0x1000>;
1288                         interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH 0>;
1289                         clocks = <&mmsys CLK_MM_DISP_MUTEX0>;
1290                         mediatek,gce-events = <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_0>,
1291                                               <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_1>;
1292                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1293                 };
1294
1295                 smi_common: smi@14002000 {
1296                         compatible = "mediatek,mt8192-smi-common";
1297                         reg = <0 0x14002000 0 0x1000>;
1298                         clocks = <&mmsys CLK_MM_SMI_COMMON>,
1299                                  <&mmsys CLK_MM_SMI_INFRA>,
1300                                  <&mmsys CLK_MM_SMI_GALS>,
1301                                  <&mmsys CLK_MM_SMI_GALS>;
1302                         clock-names = "apb", "smi", "gals0", "gals1";
1303                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1304                 };
1305
1306                 larb0: larb@14003000 {
1307                         compatible = "mediatek,mt8192-smi-larb";
1308                         reg = <0 0x14003000 0 0x1000>;
1309                         mediatek,larb-id = <0>;
1310                         mediatek,smi = <&smi_common>;
1311                         clocks = <&clk26m>, <&clk26m>;
1312                         clock-names = "apb", "smi";
1313                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1314                 };
1315
1316                 larb1: larb@14004000 {
1317                         compatible = "mediatek,mt8192-smi-larb";
1318                         reg = <0 0x14004000 0 0x1000>;
1319                         mediatek,larb-id = <1>;
1320                         mediatek,smi = <&smi_common>;
1321                         clocks = <&clk26m>, <&clk26m>;
1322                         clock-names = "apb", "smi";
1323                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1324                 };
1325
1326                 ovl0: ovl@14005000 {
1327                         compatible = "mediatek,mt8192-disp-ovl";
1328                         reg = <0 0x14005000 0 0x1000>;
1329                         interrupts = <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH 0>;
1330                         clocks = <&mmsys CLK_MM_DISP_OVL0>;
1331                         iommus = <&iommu0 M4U_PORT_L0_OVL_RDMA0>,
1332                                  <&iommu0 M4U_PORT_L0_OVL_RDMA0_HDR>;
1333                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1334                         mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x5000 0x1000>;
1335                 };
1336
1337                 ovl_2l0: ovl@14006000 {
1338                         compatible = "mediatek,mt8192-disp-ovl-2l";
1339                         reg = <0 0x14006000 0 0x1000>;
1340                         interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH 0>;
1341                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1342                         clocks = <&mmsys CLK_MM_DISP_OVL0_2L>;
1343                         iommus = <&iommu0 M4U_PORT_L1_OVL_2L_RDMA0>,
1344                                  <&iommu0 M4U_PORT_L1_OVL_2L_RDMA0_HDR>;
1345                         mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x6000 0x1000>;
1346                 };
1347
1348                 rdma0: rdma@14007000 {
1349                         compatible = "mediatek,mt8192-disp-rdma",
1350                                      "mediatek,mt8183-disp-rdma";
1351                         reg = <0 0x14007000 0 0x1000>;
1352                         interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH 0>;
1353                         clocks = <&mmsys CLK_MM_DISP_RDMA0>;
1354                         iommus = <&iommu0 M4U_PORT_L0_DISP_RDMA0>;
1355                         mediatek,rdma-fifo-size = <5120>;
1356                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1357                         mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x7000 0x1000>;
1358                 };
1359
1360                 color0: color@14009000 {
1361                         compatible = "mediatek,mt8192-disp-color",
1362                                      "mediatek,mt8173-disp-color";
1363                         reg = <0 0x14009000 0 0x1000>;
1364                         interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH 0>;
1365                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1366                         clocks = <&mmsys CLK_MM_DISP_COLOR0>;
1367                         mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x9000 0x1000>;
1368                 };
1369
1370                 ccorr0: ccorr@1400a000 {
1371                         compatible = "mediatek,mt8192-disp-ccorr";
1372                         reg = <0 0x1400a000 0 0x1000>;
1373                         interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH 0>;
1374                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1375                         clocks = <&mmsys CLK_MM_DISP_CCORR0>;
1376                         mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xa000 0x1000>;
1377                 };
1378
1379                 aal0: aal@1400b000 {
1380                         compatible = "mediatek,mt8192-disp-aal",
1381                                      "mediatek,mt8183-disp-aal";
1382                         reg = <0 0x1400b000 0 0x1000>;
1383                         interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH 0>;
1384                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1385                         clocks = <&mmsys CLK_MM_DISP_AAL0>;
1386                         mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xb000 0x1000>;
1387                 };
1388
1389                 gamma0: gamma@1400c000 {
1390                         compatible = "mediatek,mt8192-disp-gamma",
1391                                      "mediatek,mt8183-disp-gamma";
1392                         reg = <0 0x1400c000 0 0x1000>;
1393                         interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH 0>;
1394                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1395                         clocks = <&mmsys CLK_MM_DISP_GAMMA0>;
1396                         mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>;
1397                 };
1398
1399                 postmask0: postmask@1400d000 {
1400                         compatible = "mediatek,mt8192-disp-postmask";
1401                         reg = <0 0x1400d000 0 0x1000>;
1402                         interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH 0>;
1403                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1404                         clocks = <&mmsys CLK_MM_DISP_POSTMASK0>;
1405                         mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xd000 0x1000>;
1406                 };
1407
1408                 dither0: dither@1400e000 {
1409                         compatible = "mediatek,mt8192-disp-dither",
1410                                      "mediatek,mt8183-disp-dither";
1411                         reg = <0 0x1400e000 0 0x1000>;
1412                         interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH 0>;
1413                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1414                         clocks = <&mmsys CLK_MM_DISP_DITHER0>;
1415                         mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>;
1416                 };
1417
1418                 dsi0: dsi@14010000 {
1419                         compatible = "mediatek,mt8183-dsi";
1420                         reg = <0 0x14010000 0 0x1000>;
1421                         interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>;
1422                         clocks = <&mmsys CLK_MM_DSI0>,
1423                                  <&mmsys CLK_MM_DSI_DSI0>,
1424                                  <&mipi_tx0>;
1425                         clock-names = "engine", "digital", "hs";
1426                         phys = <&mipi_tx0>;
1427                         phy-names = "dphy";
1428                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1429                         resets = <&mmsys MT8192_MMSYS_SW0_RST_B_DISP_DSI0>;
1430                         status = "disabled";
1431
1432                         port {
1433                                 dsi_out: endpoint { };
1434                         };
1435                 };
1436
1437                 ovl_2l2: ovl@14014000 {
1438                         compatible = "mediatek,mt8192-disp-ovl-2l";
1439                         reg = <0 0x14014000 0 0x1000>;
1440                         interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH 0>;
1441                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1442                         clocks = <&mmsys CLK_MM_DISP_OVL2_2L>;
1443                         iommus = <&iommu0 M4U_PORT_L1_OVL_2L_RDMA2>,
1444                                  <&iommu0 M4U_PORT_L1_OVL_2L_RDMA2_HDR>;
1445                         mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x4000 0x1000>;
1446                 };
1447
1448                 rdma4: rdma@14015000 {
1449                         compatible = "mediatek,mt8192-disp-rdma",
1450                                      "mediatek,mt8183-disp-rdma";
1451                         reg = <0 0x14015000 0 0x1000>;
1452                         interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH 0>;
1453                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1454                         clocks = <&mmsys CLK_MM_DISP_RDMA4>;
1455                         iommus = <&iommu0 M4U_PORT_L1_DISP_RDMA4>;
1456                         mediatek,rdma-fifo-size = <2048>;
1457                         mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x5000 0x1000>;
1458                 };
1459
1460                 dpi0: dpi@14016000 {
1461                         compatible = "mediatek,mt8192-dpi";
1462                         reg = <0 0x14016000 0 0x1000>;
1463                         interrupts = <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH 0>;
1464                         clocks = <&mmsys CLK_MM_DPI_DPI0>,
1465                                  <&mmsys CLK_MM_DISP_DPI0>,
1466                                  <&apmixedsys CLK_APMIXED_TVDPLL>;
1467                         clock-names = "pixel", "engine", "pll";
1468                         status = "disabled";
1469                 };
1470
1471                 iommu0: m4u@1401d000 {
1472                         compatible = "mediatek,mt8192-m4u";
1473                         reg = <0 0x1401d000 0 0x1000>;
1474                         mediatek,larbs = <&larb0>, <&larb1>, <&larb2>,
1475                                          <&larb4>, <&larb5>, <&larb7>,
1476                                          <&larb9>, <&larb11>, <&larb13>,
1477                                          <&larb14>, <&larb16>, <&larb17>,
1478                                          <&larb18>, <&larb19>, <&larb20>;
1479                         interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>;
1480                         clocks = <&mmsys CLK_MM_SMI_IOMMU>;
1481                         clock-names = "bclk";
1482                         power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
1483                         #iommu-cells = <1>;
1484                 };
1485
1486                 imgsys: clock-controller@15020000 {
1487                         compatible = "mediatek,mt8192-imgsys";
1488                         reg = <0 0x15020000 0 0x1000>;
1489                         #clock-cells = <1>;
1490                 };
1491
1492                 larb9: larb@1502e000 {
1493                         compatible = "mediatek,mt8192-smi-larb";
1494                         reg = <0 0x1502e000 0 0x1000>;
1495                         mediatek,larb-id = <9>;
1496                         mediatek,smi = <&smi_common>;
1497                         clocks = <&imgsys CLK_IMG_LARB9>,
1498                                  <&imgsys CLK_IMG_LARB9>;
1499                         clock-names = "apb", "smi";
1500                         power-domains = <&spm MT8192_POWER_DOMAIN_ISP>;
1501                 };
1502
1503                 imgsys2: clock-controller@15820000 {
1504                         compatible = "mediatek,mt8192-imgsys2";
1505                         reg = <0 0x15820000 0 0x1000>;
1506                         #clock-cells = <1>;
1507                 };
1508
1509                 larb11: larb@1582e000 {
1510                         compatible = "mediatek,mt8192-smi-larb";
1511                         reg = <0 0x1582e000 0 0x1000>;
1512                         mediatek,larb-id = <11>;
1513                         mediatek,smi = <&smi_common>;
1514                         clocks = <&imgsys2 CLK_IMG2_LARB11>,
1515                                  <&imgsys2 CLK_IMG2_LARB11>;
1516                         clock-names = "apb", "smi";
1517                         power-domains = <&spm MT8192_POWER_DOMAIN_ISP2>;
1518                 };
1519
1520                 larb5: larb@1600d000 {
1521                         compatible = "mediatek,mt8192-smi-larb";
1522                         reg = <0 0x1600d000 0 0x1000>;
1523                         mediatek,larb-id = <5>;
1524                         mediatek,smi = <&smi_common>;
1525                         clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
1526                                  <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
1527                         clock-names = "apb", "smi";
1528                         power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
1529                 };
1530
1531                 vdecsys_soc: clock-controller@1600f000 {
1532                         compatible = "mediatek,mt8192-vdecsys_soc";
1533                         reg = <0 0x1600f000 0 0x1000>;
1534                         #clock-cells = <1>;
1535                 };
1536
1537                 larb4: larb@1602e000 {
1538                         compatible = "mediatek,mt8192-smi-larb";
1539                         reg = <0 0x1602e000 0 0x1000>;
1540                         mediatek,larb-id = <4>;
1541                         mediatek,smi = <&smi_common>;
1542                         clocks = <&vdecsys CLK_VDEC_SOC_LARB1>,
1543                                  <&vdecsys CLK_VDEC_SOC_LARB1>;
1544                         clock-names = "apb", "smi";
1545                         power-domains = <&spm MT8192_POWER_DOMAIN_VDEC2>;
1546                 };
1547
1548                 vdecsys: clock-controller@1602f000 {
1549                         compatible = "mediatek,mt8192-vdecsys";
1550                         reg = <0 0x1602f000 0 0x1000>;
1551                         #clock-cells = <1>;
1552                 };
1553
1554                 vencsys: clock-controller@17000000 {
1555                         compatible = "mediatek,mt8192-vencsys";
1556                         reg = <0 0x17000000 0 0x1000>;
1557                         #clock-cells = <1>;
1558                 };
1559
1560                 larb7: larb@17010000 {
1561                         compatible = "mediatek,mt8192-smi-larb";
1562                         reg = <0 0x17010000 0 0x1000>;
1563                         mediatek,larb-id = <7>;
1564                         mediatek,smi = <&smi_common>;
1565                         clocks = <&vencsys CLK_VENC_SET0_LARB>,
1566                                  <&vencsys CLK_VENC_SET1_VENC>;
1567                         clock-names = "apb", "smi";
1568                         power-domains = <&spm MT8192_POWER_DOMAIN_VENC>;
1569                 };
1570
1571                 vcodec_enc: vcodec@17020000 {
1572                         compatible = "mediatek,mt8192-vcodec-enc";
1573                         reg = <0 0x17020000 0 0x2000>;
1574                         iommus = <&iommu0 M4U_PORT_L7_VENC_RCPU>,
1575                                  <&iommu0 M4U_PORT_L7_VENC_REC>,
1576                                  <&iommu0 M4U_PORT_L7_VENC_BSDMA>,
1577                                  <&iommu0 M4U_PORT_L7_VENC_SV_COMV>,
1578                                  <&iommu0 M4U_PORT_L7_VENC_RD_COMV>,
1579                                  <&iommu0 M4U_PORT_L7_VENC_CUR_LUMA>,
1580                                  <&iommu0 M4U_PORT_L7_VENC_CUR_CHROMA>,
1581                                  <&iommu0 M4U_PORT_L7_VENC_REF_LUMA>,
1582                                  <&iommu0 M4U_PORT_L7_VENC_REF_CHROMA>,
1583                                  <&iommu0 M4U_PORT_L7_VENC_SUB_R_LUMA>,
1584                                  <&iommu0 M4U_PORT_L7_VENC_SUB_W_LUMA>;
1585                         interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH 0>;
1586                         mediatek,scp = <&scp>;
1587                         power-domains = <&spm MT8192_POWER_DOMAIN_VENC>;
1588                         clocks = <&vencsys CLK_VENC_SET1_VENC>;
1589                         clock-names = "venc-set1";
1590                         assigned-clocks = <&topckgen CLK_TOP_VENC_SEL>;
1591                         assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>;
1592                 };
1593
1594                 camsys: clock-controller@1a000000 {
1595                         compatible = "mediatek,mt8192-camsys";
1596                         reg = <0 0x1a000000 0 0x1000>;
1597                         #clock-cells = <1>;
1598                 };
1599
1600                 larb13: larb@1a001000 {
1601                         compatible = "mediatek,mt8192-smi-larb";
1602                         reg = <0 0x1a001000 0 0x1000>;
1603                         mediatek,larb-id = <13>;
1604                         mediatek,smi = <&smi_common>;
1605                         clocks = <&camsys CLK_CAM_CAM>,
1606                                  <&camsys CLK_CAM_LARB13>;
1607                         clock-names = "apb", "smi";
1608                         power-domains = <&spm MT8192_POWER_DOMAIN_CAM>;
1609                 };
1610
1611                 larb14: larb@1a002000 {
1612                         compatible = "mediatek,mt8192-smi-larb";
1613                         reg = <0 0x1a002000 0 0x1000>;
1614                         mediatek,larb-id = <14>;
1615                         mediatek,smi = <&smi_common>;
1616                         clocks = <&camsys CLK_CAM_CAM>,
1617                                  <&camsys CLK_CAM_LARB14>;
1618                         clock-names = "apb", "smi";
1619                         power-domains = <&spm MT8192_POWER_DOMAIN_CAM>;
1620                 };
1621
1622                 larb16: larb@1a00f000 {
1623                         compatible = "mediatek,mt8192-smi-larb";
1624                         reg = <0 0x1a00f000 0 0x1000>;
1625                         mediatek,larb-id = <16>;
1626                         mediatek,smi = <&smi_common>;
1627                         clocks = <&camsys_rawa CLK_CAM_RAWA_CAM>,
1628                                  <&camsys_rawa CLK_CAM_RAWA_LARBX>;
1629                         clock-names = "apb", "smi";
1630                         power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWA>;
1631                 };
1632
1633                 larb17: larb@1a010000 {
1634                         compatible = "mediatek,mt8192-smi-larb";
1635                         reg = <0 0x1a010000 0 0x1000>;
1636                         mediatek,larb-id = <17>;
1637                         mediatek,smi = <&smi_common>;
1638                         clocks = <&camsys_rawb CLK_CAM_RAWB_CAM>,
1639                                  <&camsys_rawb CLK_CAM_RAWB_LARBX>;
1640                         clock-names = "apb", "smi";
1641                         power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWB>;
1642                 };
1643
1644                 larb18: larb@1a011000 {
1645                         compatible = "mediatek,mt8192-smi-larb";
1646                         reg = <0 0x1a011000 0 0x1000>;
1647                         mediatek,larb-id = <18>;
1648                         mediatek,smi = <&smi_common>;
1649                         clocks = <&camsys_rawc CLK_CAM_RAWC_LARBX>,
1650                                  <&camsys_rawc CLK_CAM_RAWC_CAM>;
1651                         clock-names = "apb", "smi";
1652                         power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWC>;
1653                 };
1654
1655                 camsys_rawa: clock-controller@1a04f000 {
1656                         compatible = "mediatek,mt8192-camsys_rawa";
1657                         reg = <0 0x1a04f000 0 0x1000>;
1658                         #clock-cells = <1>;
1659                 };
1660
1661                 camsys_rawb: clock-controller@1a06f000 {
1662                         compatible = "mediatek,mt8192-camsys_rawb";
1663                         reg = <0 0x1a06f000 0 0x1000>;
1664                         #clock-cells = <1>;
1665                 };
1666
1667                 camsys_rawc: clock-controller@1a08f000 {
1668                         compatible = "mediatek,mt8192-camsys_rawc";
1669                         reg = <0 0x1a08f000 0 0x1000>;
1670                         #clock-cells = <1>;
1671                 };
1672
1673                 ipesys: clock-controller@1b000000 {
1674                         compatible = "mediatek,mt8192-ipesys";
1675                         reg = <0 0x1b000000 0 0x1000>;
1676                         #clock-cells = <1>;
1677                 };
1678
1679                 larb20: larb@1b00f000 {
1680                         compatible = "mediatek,mt8192-smi-larb";
1681                         reg = <0 0x1b00f000 0 0x1000>;
1682                         mediatek,larb-id = <20>;
1683                         mediatek,smi = <&smi_common>;
1684                         clocks = <&ipesys CLK_IPE_SMI_SUBCOM>,
1685                                  <&ipesys CLK_IPE_LARB20>;
1686                         clock-names = "apb", "smi";
1687                         power-domains = <&spm MT8192_POWER_DOMAIN_IPE>;
1688                 };
1689
1690                 larb19: larb@1b10f000 {
1691                         compatible = "mediatek,mt8192-smi-larb";
1692                         reg = <0 0x1b10f000 0 0x1000>;
1693                         mediatek,larb-id = <19>;
1694                         mediatek,smi = <&smi_common>;
1695                         clocks = <&ipesys CLK_IPE_SMI_SUBCOM>,
1696                                  <&ipesys CLK_IPE_LARB19>;
1697                         clock-names = "apb", "smi";
1698                         power-domains = <&spm MT8192_POWER_DOMAIN_IPE>;
1699                 };
1700
1701                 mdpsys: clock-controller@1f000000 {
1702                         compatible = "mediatek,mt8192-mdpsys";
1703                         reg = <0 0x1f000000 0 0x1000>;
1704                         #clock-cells = <1>;
1705                 };
1706
1707                 larb2: larb@1f002000 {
1708                         compatible = "mediatek,mt8192-smi-larb";
1709                         reg = <0 0x1f002000 0 0x1000>;
1710                         mediatek,larb-id = <2>;
1711                         mediatek,smi = <&smi_common>;
1712                         clocks = <&mdpsys CLK_MDP_SMI0>,
1713                                  <&mdpsys CLK_MDP_SMI0>;
1714                         clock-names = "apb", "smi";
1715                         power-domains = <&spm MT8192_POWER_DOMAIN_MDP>;
1716                 };
1717         };
1718 };