1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright (c) 2018 MediaTek Inc.
4 * Author: Ben Ho <ben.ho@mediatek.com>
5 *	   Erin Lo <erin.lo@mediatek.com>
6 */
7
8#include <dt-bindings/clock/mt8183-clk.h>
9#include <dt-bindings/gce/mt8183-gce.h>
10#include <dt-bindings/interrupt-controller/arm-gic.h>
11#include <dt-bindings/interrupt-controller/irq.h>
12#include <dt-bindings/memory/mt8183-larb-port.h>
13#include <dt-bindings/power/mt8183-power.h>
14#include <dt-bindings/reset-controller/mt8183-resets.h>
15#include <dt-bindings/phy/phy.h>
16#include "mt8183-pinfunc.h"
17
18/ {
19	compatible = "mediatek,mt8183";
20	interrupt-parent = <&sysirq>;
21	#address-cells = <2>;
22	#size-cells = <2>;
23
24	aliases {
25		i2c0 = &i2c0;
26		i2c1 = &i2c1;
27		i2c2 = &i2c2;
28		i2c3 = &i2c3;
29		i2c4 = &i2c4;
30		i2c5 = &i2c5;
31		i2c6 = &i2c6;
32		i2c7 = &i2c7;
33		i2c8 = &i2c8;
34		i2c9 = &i2c9;
35		i2c10 = &i2c10;
36		i2c11 = &i2c11;
37		ovl0 = &ovl0;
38		ovl-2l0 = &ovl_2l0;
39		ovl-2l1 = &ovl_2l1;
40		rdma0 = &rdma0;
41		rdma1 = &rdma1;
42	};
43
44	cpus {
45		#address-cells = <1>;
46		#size-cells = <0>;
47
48		cpu-map {
49			cluster0 {
50				core0 {
51					cpu = <&cpu0>;
52				};
53				core1 {
54					cpu = <&cpu1>;
55				};
56				core2 {
57					cpu = <&cpu2>;
58				};
59				core3 {
60					cpu = <&cpu3>;
61				};
62			};
63
64			cluster1 {
65				core0 {
66					cpu = <&cpu4>;
67				};
68				core1 {
69					cpu = <&cpu5>;
70				};
71				core2 {
72					cpu = <&cpu6>;
73				};
74				core3 {
75					cpu = <&cpu7>;
76				};
77			};
78		};
79
80		cpu0: cpu@0 {
81			device_type = "cpu";
82			compatible = "arm,cortex-a53";
83			reg = <0x000>;
84			enable-method = "psci";
85			capacity-dmips-mhz = <741>;
86			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
87			dynamic-power-coefficient = <84>;
88			#cooling-cells = <2>;
89		};
90
91		cpu1: cpu@1 {
92			device_type = "cpu";
93			compatible = "arm,cortex-a53";
94			reg = <0x001>;
95			enable-method = "psci";
96			capacity-dmips-mhz = <741>;
97			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
98			dynamic-power-coefficient = <84>;
99			#cooling-cells = <2>;
100		};
101
102		cpu2: cpu@2 {
103			device_type = "cpu";
104			compatible = "arm,cortex-a53";
105			reg = <0x002>;
106			enable-method = "psci";
107			capacity-dmips-mhz = <741>;
108			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
109			dynamic-power-coefficient = <84>;
110			#cooling-cells = <2>;
111		};
112
113		cpu3: cpu@3 {
114			device_type = "cpu";
115			compatible = "arm,cortex-a53";
116			reg = <0x003>;
117			enable-method = "psci";
118			capacity-dmips-mhz = <741>;
119			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
120			dynamic-power-coefficient = <84>;
121			#cooling-cells = <2>;
122		};
123
124		cpu4: cpu@100 {
125			device_type = "cpu";
126			compatible = "arm,cortex-a73";
127			reg = <0x100>;
128			enable-method = "psci";
129			capacity-dmips-mhz = <1024>;
130			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
131			dynamic-power-coefficient = <211>;
132			#cooling-cells = <2>;
133		};
134
135		cpu5: cpu@101 {
136			device_type = "cpu";
137			compatible = "arm,cortex-a73";
138			reg = <0x101>;
139			enable-method = "psci";
140			capacity-dmips-mhz = <1024>;
141			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
142			dynamic-power-coefficient = <211>;
143			#cooling-cells = <2>;
144		};
145
146		cpu6: cpu@102 {
147			device_type = "cpu";
148			compatible = "arm,cortex-a73";
149			reg = <0x102>;
150			enable-method = "psci";
151			capacity-dmips-mhz = <1024>;
152			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
153			dynamic-power-coefficient = <211>;
154			#cooling-cells = <2>;
155		};
156
157		cpu7: cpu@103 {
158			device_type = "cpu";
159			compatible = "arm,cortex-a73";
160			reg = <0x103>;
161			enable-method = "psci";
162			capacity-dmips-mhz = <1024>;
163			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
164			dynamic-power-coefficient = <211>;
165			#cooling-cells = <2>;
166		};
167
168		idle-states {
169			entry-method = "psci";
170
171			CPU_SLEEP: cpu-sleep {
172				compatible = "arm,idle-state";
173				local-timer-stop;
174				arm,psci-suspend-param = <0x00010001>;
175				entry-latency-us = <200>;
176				exit-latency-us = <200>;
177				min-residency-us = <800>;
178			};
179
180			CLUSTER_SLEEP0: cluster-sleep-0 {
181				compatible = "arm,idle-state";
182				local-timer-stop;
183				arm,psci-suspend-param = <0x01010001>;
184				entry-latency-us = <250>;
185				exit-latency-us = <400>;
186				min-residency-us = <1000>;
187			};
188			CLUSTER_SLEEP1: cluster-sleep-1 {
189				compatible = "arm,idle-state";
190				local-timer-stop;
191				arm,psci-suspend-param = <0x01010001>;
192				entry-latency-us = <250>;
193				exit-latency-us = <400>;
194				min-residency-us = <1300>;
195			};
196		};
197	};
198
199	pmu-a53 {
200		compatible = "arm,cortex-a53-pmu";
201		interrupt-parent = <&gic>;
202		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>;
203	};
204
205	pmu-a73 {
206		compatible = "arm,cortex-a73-pmu";
207		interrupt-parent = <&gic>;
208		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>;
209	};
210
211	psci {
212		compatible      = "arm,psci-1.0";
213		method          = "smc";
214	};
215
216	clk26m: oscillator {
217		compatible = "fixed-clock";
218		#clock-cells = <0>;
219		clock-frequency = <26000000>;
220		clock-output-names = "clk26m";
221	};
222
223	timer {
224		compatible = "arm,armv8-timer";
225		interrupt-parent = <&gic>;
226		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>,
227			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>,
228			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>,
229			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>;
230	};
231
232	soc {
233		#address-cells = <2>;
234		#size-cells = <2>;
235		compatible = "simple-bus";
236		ranges;
237
238		soc_data: soc_data@8000000 {
239			compatible = "mediatek,mt8183-efuse",
240				     "mediatek,efuse";
241			reg = <0 0x08000000 0 0x0010>;
242			#address-cells = <1>;
243			#size-cells = <1>;
244			status = "disabled";
245		};
246
247		gic: interrupt-controller@c000000 {
248			compatible = "arm,gic-v3";
249			#interrupt-cells = <4>;
250			interrupt-parent = <&gic>;
251			interrupt-controller;
252			reg = <0 0x0c000000 0 0x40000>,  /* GICD */
253			      <0 0x0c100000 0 0x200000>, /* GICR */
254			      <0 0x0c400000 0 0x2000>,   /* GICC */
255			      <0 0x0c410000 0 0x1000>,   /* GICH */
256			      <0 0x0c420000 0 0x2000>;   /* GICV */
257
258			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
259			ppi-partitions {
260				ppi_cluster0: interrupt-partition-0 {
261					affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
262				};
263				ppi_cluster1: interrupt-partition-1 {
264					affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
265				};
266			};
267		};
268
269		mcucfg: syscon@c530000 {
270			compatible = "mediatek,mt8183-mcucfg", "syscon";
271			reg = <0 0x0c530000 0 0x1000>;
272			#clock-cells = <1>;
273		};
274
275		sysirq: interrupt-controller@c530a80 {
276			compatible = "mediatek,mt8183-sysirq",
277				     "mediatek,mt6577-sysirq";
278			interrupt-controller;
279			#interrupt-cells = <3>;
280			interrupt-parent = <&gic>;
281			reg = <0 0x0c530a80 0 0x50>;
282		};
283
284		topckgen: syscon@10000000 {
285			compatible = "mediatek,mt8183-topckgen", "syscon";
286			reg = <0 0x10000000 0 0x1000>;
287			#clock-cells = <1>;
288		};
289
290		infracfg: syscon@10001000 {
291			compatible = "mediatek,mt8183-infracfg", "syscon";
292			reg = <0 0x10001000 0 0x1000>;
293			#clock-cells = <1>;
294			#reset-cells = <1>;
295		};
296
297		pericfg: syscon@10003000 {
298			compatible = "mediatek,mt8183-pericfg", "syscon";
299			reg = <0 0x10003000 0 0x1000>;
300			#clock-cells = <1>;
301		};
302
303		pio: pinctrl@10005000 {
304			compatible = "mediatek,mt8183-pinctrl";
305			reg = <0 0x10005000 0 0x1000>,
306			      <0 0x11f20000 0 0x1000>,
307			      <0 0x11e80000 0 0x1000>,
308			      <0 0x11e70000 0 0x1000>,
309			      <0 0x11e90000 0 0x1000>,
310			      <0 0x11d30000 0 0x1000>,
311			      <0 0x11d20000 0 0x1000>,
312			      <0 0x11c50000 0 0x1000>,
313			      <0 0x11f30000 0 0x1000>,
314			      <0 0x1000b000 0 0x1000>;
315			reg-names = "iocfg0", "iocfg1", "iocfg2",
316				    "iocfg3", "iocfg4", "iocfg5",
317				    "iocfg6", "iocfg7", "iocfg8",
318				    "eint";
319			gpio-controller;
320			#gpio-cells = <2>;
321			gpio-ranges = <&pio 0 0 192>;
322			interrupt-controller;
323			interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
324			#interrupt-cells = <2>;
325		};
326
327		scpsys: syscon@10006000 {
328			compatible = "syscon", "simple-mfd";
329			reg = <0 0x10006000 0 0x1000>;
330			#power-domain-cells = <1>;
331
332			/* System Power Manager */
333			spm: power-controller {
334				compatible = "mediatek,mt8183-power-controller";
335				#address-cells = <1>;
336				#size-cells = <0>;
337				#power-domain-cells = <1>;
338
339				/* power domain of the SoC */
340				power-domain@MT8183_POWER_DOMAIN_AUDIO {
341					reg = <MT8183_POWER_DOMAIN_AUDIO>;
342					clocks = <&topckgen CLK_TOP_MUX_AUD_INTBUS>,
343						 <&infracfg CLK_INFRA_AUDIO>,
344						 <&infracfg CLK_INFRA_AUDIO_26M_BCLK>;
345					clock-names = "audio", "audio1", "audio2";
346					#power-domain-cells = <0>;
347				};
348
349				power-domain@MT8183_POWER_DOMAIN_CONN {
350					reg = <MT8183_POWER_DOMAIN_CONN>;
351					mediatek,infracfg = <&infracfg>;
352					#power-domain-cells = <0>;
353				};
354
355				power-domain@MT8183_POWER_DOMAIN_MFG_ASYNC {
356					reg = <MT8183_POWER_DOMAIN_MFG_ASYNC>;
357					clocks =  <&topckgen CLK_TOP_MUX_MFG>;
358					clock-names = "mfg";
359					#address-cells = <1>;
360					#size-cells = <0>;
361					#power-domain-cells = <1>;
362
363					mfg: power-domain@MT8183_POWER_DOMAIN_MFG {
364						reg = <MT8183_POWER_DOMAIN_MFG>;
365						#address-cells = <1>;
366						#size-cells = <0>;
367						#power-domain-cells = <1>;
368
369						power-domain@MT8183_POWER_DOMAIN_MFG_CORE0 {
370							reg = <MT8183_POWER_DOMAIN_MFG_CORE0>;
371							#power-domain-cells = <0>;
372						};
373
374						power-domain@MT8183_POWER_DOMAIN_MFG_CORE1 {
375							reg = <MT8183_POWER_DOMAIN_MFG_CORE1>;
376							#power-domain-cells = <0>;
377						};
378
379						power-domain@MT8183_POWER_DOMAIN_MFG_2D {
380							reg = <MT8183_POWER_DOMAIN_MFG_2D>;
381							mediatek,infracfg = <&infracfg>;
382							#power-domain-cells = <0>;
383						};
384					};
385				};
386
387				power-domain@MT8183_POWER_DOMAIN_DISP {
388					reg = <MT8183_POWER_DOMAIN_DISP>;
389					clocks = <&topckgen CLK_TOP_MUX_MM>,
390						 <&mmsys CLK_MM_SMI_COMMON>,
391						 <&mmsys CLK_MM_SMI_LARB0>,
392						 <&mmsys CLK_MM_SMI_LARB1>,
393						 <&mmsys CLK_MM_GALS_COMM0>,
394						 <&mmsys CLK_MM_GALS_COMM1>,
395						 <&mmsys CLK_MM_GALS_CCU2MM>,
396						 <&mmsys CLK_MM_GALS_IPU12MM>,
397						 <&mmsys CLK_MM_GALS_IMG2MM>,
398						 <&mmsys CLK_MM_GALS_CAM2MM>,
399						 <&mmsys CLK_MM_GALS_IPU2MM>;
400					clock-names = "mm", "mm-0", "mm-1", "mm-2", "mm-3",
401						      "mm-4", "mm-5", "mm-6", "mm-7",
402						      "mm-8", "mm-9";
403					mediatek,infracfg = <&infracfg>;
404					mediatek,smi = <&smi_common>;
405					#address-cells = <1>;
406					#size-cells = <0>;
407					#power-domain-cells = <1>;
408
409					power-domain@MT8183_POWER_DOMAIN_CAM {
410						reg = <MT8183_POWER_DOMAIN_CAM>;
411						clocks = <&topckgen CLK_TOP_MUX_CAM>,
412							 <&camsys CLK_CAM_LARB6>,
413							 <&camsys CLK_CAM_LARB3>,
414							 <&camsys CLK_CAM_SENINF>,
415							 <&camsys CLK_CAM_CAMSV0>,
416							 <&camsys CLK_CAM_CAMSV1>,
417							 <&camsys CLK_CAM_CAMSV2>,
418							 <&camsys CLK_CAM_CCU>;
419						clock-names = "cam", "cam-0", "cam-1",
420							      "cam-2", "cam-3", "cam-4",
421							      "cam-5", "cam-6";
422						mediatek,infracfg = <&infracfg>;
423						mediatek,smi = <&smi_common>;
424						#power-domain-cells = <0>;
425					};
426
427					power-domain@MT8183_POWER_DOMAIN_ISP {
428						reg = <MT8183_POWER_DOMAIN_ISP>;
429						clocks = <&topckgen CLK_TOP_MUX_IMG>,
430							 <&imgsys CLK_IMG_LARB5>,
431							 <&imgsys CLK_IMG_LARB2>;
432						clock-names = "isp", "isp-0", "isp-1";
433						mediatek,infracfg = <&infracfg>;
434						mediatek,smi = <&smi_common>;
435						#power-domain-cells = <0>;
436					};
437
438					power-domain@MT8183_POWER_DOMAIN_VDEC {
439						reg = <MT8183_POWER_DOMAIN_VDEC>;
440						mediatek,smi = <&smi_common>;
441						#power-domain-cells = <0>;
442					};
443
444					power-domain@MT8183_POWER_DOMAIN_VENC {
445						reg = <MT8183_POWER_DOMAIN_VENC>;
446						mediatek,smi = <&smi_common>;
447						#power-domain-cells = <0>;
448					};
449
450					power-domain@MT8183_POWER_DOMAIN_VPU_TOP {
451						reg = <MT8183_POWER_DOMAIN_VPU_TOP>;
452						clocks = <&topckgen CLK_TOP_MUX_IPU_IF>,
453							 <&topckgen CLK_TOP_MUX_DSP>,
454							 <&ipu_conn CLK_IPU_CONN_IPU>,
455							 <&ipu_conn CLK_IPU_CONN_AHB>,
456							 <&ipu_conn CLK_IPU_CONN_AXI>,
457							 <&ipu_conn CLK_IPU_CONN_ISP>,
458							 <&ipu_conn CLK_IPU_CONN_CAM_ADL>,
459							 <&ipu_conn CLK_IPU_CONN_IMG_ADL>;
460						clock-names = "vpu", "vpu1", "vpu-0", "vpu-1",
461							      "vpu-2", "vpu-3", "vpu-4", "vpu-5";
462						mediatek,infracfg = <&infracfg>;
463						mediatek,smi = <&smi_common>;
464						#address-cells = <1>;
465						#size-cells = <0>;
466						#power-domain-cells = <1>;
467
468						power-domain@MT8183_POWER_DOMAIN_VPU_CORE0 {
469							reg = <MT8183_POWER_DOMAIN_VPU_CORE0>;
470							clocks = <&topckgen CLK_TOP_MUX_DSP1>;
471							clock-names = "vpu2";
472							mediatek,infracfg = <&infracfg>;
473							#power-domain-cells = <0>;
474						};
475
476						power-domain@MT8183_POWER_DOMAIN_VPU_CORE1 {
477							reg = <MT8183_POWER_DOMAIN_VPU_CORE1>;
478							clocks = <&topckgen CLK_TOP_MUX_DSP2>;
479							clock-names = "vpu3";
480							mediatek,infracfg = <&infracfg>;
481							#power-domain-cells = <0>;
482						};
483					};
484				};
485			};
486		};
487
488		watchdog: watchdog@10007000 {
489			compatible = "mediatek,mt8183-wdt";
490			reg = <0 0x10007000 0 0x100>;
491			#reset-cells = <1>;
492		};
493
494		apmixedsys: syscon@1000c000 {
495			compatible = "mediatek,mt8183-apmixedsys", "syscon";
496			reg = <0 0x1000c000 0 0x1000>;
497			#clock-cells = <1>;
498		};
499
500		pwrap: pwrap@1000d000 {
501			compatible = "mediatek,mt8183-pwrap";
502			reg = <0 0x1000d000 0 0x1000>;
503			reg-names = "pwrap";
504			interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
505			clocks = <&topckgen CLK_TOP_MUX_PMICSPI>,
506				 <&infracfg CLK_INFRA_PMIC_AP>;
507			clock-names = "spi", "wrap";
508		};
509
510		scp: scp@10500000 {
511			compatible = "mediatek,mt8183-scp";
512			reg = <0 0x10500000 0 0x80000>,
513			      <0 0x105c0000 0 0x19080>;
514			reg-names = "sram", "cfg";
515			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
516			clocks = <&infracfg CLK_INFRA_SCPSYS>;
517			clock-names = "main";
518			memory-region = <&scp_mem_reserved>;
519			status = "disabled";
520		};
521
522		systimer: timer@10017000 {
523			compatible = "mediatek,mt8183-timer",
524				     "mediatek,mt6765-timer";
525			reg = <0 0x10017000 0 0x1000>;
526			interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
527			clocks = <&topckgen CLK_TOP_CLK13M>;
528			clock-names = "clk13m";
529		};
530
531		iommu: iommu@10205000 {
532			compatible = "mediatek,mt8183-m4u";
533			reg = <0 0x10205000 0 0x1000>;
534			interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_LOW>;
535			mediatek,larbs = <&larb0 &larb1 &larb2 &larb3
536					  &larb4 &larb5 &larb6>;
537			#iommu-cells = <1>;
538		};
539
540		gce: mailbox@10238000 {
541			compatible = "mediatek,mt8183-gce";
542			reg = <0 0x10238000 0 0x4000>;
543			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>;
544			#mbox-cells = <2>;
545			clocks = <&infracfg CLK_INFRA_GCE>;
546			clock-names = "gce";
547		};
548
549		auxadc: auxadc@11001000 {
550			compatible = "mediatek,mt8183-auxadc",
551				     "mediatek,mt8173-auxadc";
552			reg = <0 0x11001000 0 0x1000>;
553			clocks = <&infracfg CLK_INFRA_AUXADC>;
554			clock-names = "main";
555			#io-channel-cells = <1>;
556			status = "disabled";
557		};
558
559		uart0: serial@11002000 {
560			compatible = "mediatek,mt8183-uart",
561				     "mediatek,mt6577-uart";
562			reg = <0 0x11002000 0 0x1000>;
563			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
564			clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>;
565			clock-names = "baud", "bus";
566			status = "disabled";
567		};
568
569		uart1: serial@11003000 {
570			compatible = "mediatek,mt8183-uart",
571				     "mediatek,mt6577-uart";
572			reg = <0 0x11003000 0 0x1000>;
573			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
574			clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>;
575			clock-names = "baud", "bus";
576			status = "disabled";
577		};
578
579		uart2: serial@11004000 {
580			compatible = "mediatek,mt8183-uart",
581				     "mediatek,mt6577-uart";
582			reg = <0 0x11004000 0 0x1000>;
583			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
584			clocks = <&clk26m>, <&infracfg CLK_INFRA_UART2>;
585			clock-names = "baud", "bus";
586			status = "disabled";
587		};
588
589		i2c6: i2c@11005000 {
590			compatible = "mediatek,mt8183-i2c";
591			reg = <0 0x11005000 0 0x1000>,
592			      <0 0x11000600 0 0x80>;
593			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
594			clocks = <&infracfg CLK_INFRA_I2C6>,
595				 <&infracfg CLK_INFRA_AP_DMA>;
596			clock-names = "main", "dma";
597			clock-div = <1>;
598			#address-cells = <1>;
599			#size-cells = <0>;
600			status = "disabled";
601		};
602
603		i2c0: i2c@11007000 {
604			compatible = "mediatek,mt8183-i2c";
605			reg = <0 0x11007000 0 0x1000>,
606			      <0 0x11000080 0 0x80>;
607			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>;
608			clocks = <&infracfg CLK_INFRA_I2C0>,
609				 <&infracfg CLK_INFRA_AP_DMA>;
610			clock-names = "main", "dma";
611			clock-div = <1>;
612			#address-cells = <1>;
613			#size-cells = <0>;
614			status = "disabled";
615		};
616
617		i2c4: i2c@11008000 {
618			compatible = "mediatek,mt8183-i2c";
619			reg = <0 0x11008000 0 0x1000>,
620			      <0 0x11000100 0 0x80>;
621			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>;
622			clocks = <&infracfg CLK_INFRA_I2C1>,
623				 <&infracfg CLK_INFRA_AP_DMA>,
624				 <&infracfg CLK_INFRA_I2C1_ARBITER>;
625			clock-names = "main", "dma","arb";
626			clock-div = <1>;
627			#address-cells = <1>;
628			#size-cells = <0>;
629			status = "disabled";
630		};
631
632		i2c2: i2c@11009000 {
633			compatible = "mediatek,mt8183-i2c";
634			reg = <0 0x11009000 0 0x1000>,
635			      <0 0x11000280 0 0x80>;
636			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>;
637			clocks = <&infracfg CLK_INFRA_I2C2>,
638				 <&infracfg CLK_INFRA_AP_DMA>,
639				 <&infracfg CLK_INFRA_I2C2_ARBITER>;
640			clock-names = "main", "dma", "arb";
641			clock-div = <1>;
642			#address-cells = <1>;
643			#size-cells = <0>;
644			status = "disabled";
645		};
646
647		spi0: spi@1100a000 {
648			compatible = "mediatek,mt8183-spi";
649			#address-cells = <1>;
650			#size-cells = <0>;
651			reg = <0 0x1100a000 0 0x1000>;
652			interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_LOW>;
653			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
654				 <&topckgen CLK_TOP_MUX_SPI>,
655				 <&infracfg CLK_INFRA_SPI0>;
656			clock-names = "parent-clk", "sel-clk", "spi-clk";
657			status = "disabled";
658		};
659
660		pwm0: pwm@1100e000 {
661			compatible = "mediatek,mt8183-disp-pwm";
662			reg = <0 0x1100e000 0 0x1000>;
663			interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_LOW>;
664			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
665			#pwm-cells = <2>;
666			clocks = <&topckgen CLK_TOP_MUX_DISP_PWM>,
667					<&infracfg CLK_INFRA_DISP_PWM>;
668			clock-names = "main", "mm";
669		};
670
671		pwm1: pwm@11006000 {
672			compatible = "mediatek,mt8183-pwm";
673			reg = <0 0x11006000 0 0x1000>;
674			#pwm-cells = <2>;
675			clocks = <&infracfg CLK_INFRA_PWM>,
676				 <&infracfg CLK_INFRA_PWM_HCLK>,
677				 <&infracfg CLK_INFRA_PWM1>,
678				 <&infracfg CLK_INFRA_PWM2>,
679				 <&infracfg CLK_INFRA_PWM3>,
680				 <&infracfg CLK_INFRA_PWM4>;
681			clock-names = "top", "main", "pwm1", "pwm2", "pwm3",
682				      "pwm4";
683		};
684
685		i2c3: i2c@1100f000 {
686			compatible = "mediatek,mt8183-i2c";
687			reg = <0 0x1100f000 0 0x1000>,
688			      <0 0x11000400 0 0x80>;
689			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>;
690			clocks = <&infracfg CLK_INFRA_I2C3>,
691				 <&infracfg CLK_INFRA_AP_DMA>;
692			clock-names = "main", "dma";
693			clock-div = <1>;
694			#address-cells = <1>;
695			#size-cells = <0>;
696			status = "disabled";
697		};
698
699		spi1: spi@11010000 {
700			compatible = "mediatek,mt8183-spi";
701			#address-cells = <1>;
702			#size-cells = <0>;
703			reg = <0 0x11010000 0 0x1000>;
704			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_LOW>;
705			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
706				 <&topckgen CLK_TOP_MUX_SPI>,
707				 <&infracfg CLK_INFRA_SPI1>;
708			clock-names = "parent-clk", "sel-clk", "spi-clk";
709			status = "disabled";
710		};
711
712		i2c1: i2c@11011000 {
713			compatible = "mediatek,mt8183-i2c";
714			reg = <0 0x11011000 0 0x1000>,
715			      <0 0x11000480 0 0x80>;
716			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>;
717			clocks = <&infracfg CLK_INFRA_I2C4>,
718				 <&infracfg CLK_INFRA_AP_DMA>;
719			clock-names = "main", "dma";
720			clock-div = <1>;
721			#address-cells = <1>;
722			#size-cells = <0>;
723			status = "disabled";
724		};
725
726		spi2: spi@11012000 {
727			compatible = "mediatek,mt8183-spi";
728			#address-cells = <1>;
729			#size-cells = <0>;
730			reg = <0 0x11012000 0 0x1000>;
731			interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_LOW>;
732			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
733				 <&topckgen CLK_TOP_MUX_SPI>,
734				 <&infracfg CLK_INFRA_SPI2>;
735			clock-names = "parent-clk", "sel-clk", "spi-clk";
736			status = "disabled";
737		};
738
739		spi3: spi@11013000 {
740			compatible = "mediatek,mt8183-spi";
741			#address-cells = <1>;
742			#size-cells = <0>;
743			reg = <0 0x11013000 0 0x1000>;
744			interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_LOW>;
745			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
746				 <&topckgen CLK_TOP_MUX_SPI>,
747				 <&infracfg CLK_INFRA_SPI3>;
748			clock-names = "parent-clk", "sel-clk", "spi-clk";
749			status = "disabled";
750		};
751
752		i2c9: i2c@11014000 {
753			compatible = "mediatek,mt8183-i2c";
754			reg = <0 0x11014000 0 0x1000>,
755			      <0 0x11000180 0 0x80>;
756			interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_LOW>;
757			clocks = <&infracfg CLK_INFRA_I2C1_IMM>,
758				 <&infracfg CLK_INFRA_AP_DMA>,
759				 <&infracfg CLK_INFRA_I2C1_ARBITER>;
760			clock-names = "main", "dma", "arb";
761			clock-div = <1>;
762			#address-cells = <1>;
763			#size-cells = <0>;
764			status = "disabled";
765		};
766
767		i2c10: i2c@11015000 {
768			compatible = "mediatek,mt8183-i2c";
769			reg = <0 0x11015000 0 0x1000>,
770			      <0 0x11000300 0 0x80>;
771			interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
772			clocks = <&infracfg CLK_INFRA_I2C2_IMM>,
773				 <&infracfg CLK_INFRA_AP_DMA>,
774				 <&infracfg CLK_INFRA_I2C2_ARBITER>;
775			clock-names = "main", "dma", "arb";
776			clock-div = <1>;
777			#address-cells = <1>;
778			#size-cells = <0>;
779			status = "disabled";
780		};
781
782		i2c5: i2c@11016000 {
783			compatible = "mediatek,mt8183-i2c";
784			reg = <0 0x11016000 0 0x1000>,
785			      <0 0x11000500 0 0x80>;
786			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>;
787			clocks = <&infracfg CLK_INFRA_I2C5>,
788				 <&infracfg CLK_INFRA_AP_DMA>,
789				 <&infracfg CLK_INFRA_I2C5_ARBITER>;
790			clock-names = "main", "dma", "arb";
791			clock-div = <1>;
792			#address-cells = <1>;
793			#size-cells = <0>;
794			status = "disabled";
795		};
796
797		i2c11: i2c@11017000 {
798			compatible = "mediatek,mt8183-i2c";
799			reg = <0 0x11017000 0 0x1000>,
800			      <0 0x11000580 0 0x80>;
801			interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_LOW>;
802			clocks = <&infracfg CLK_INFRA_I2C5_IMM>,
803				 <&infracfg CLK_INFRA_AP_DMA>,
804				 <&infracfg CLK_INFRA_I2C5_ARBITER>;
805			clock-names = "main", "dma", "arb";
806			clock-div = <1>;
807			#address-cells = <1>;
808			#size-cells = <0>;
809			status = "disabled";
810		};
811
812		spi4: spi@11018000 {
813			compatible = "mediatek,mt8183-spi";
814			#address-cells = <1>;
815			#size-cells = <0>;
816			reg = <0 0x11018000 0 0x1000>;
817			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_LOW>;
818			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
819				 <&topckgen CLK_TOP_MUX_SPI>,
820				 <&infracfg CLK_INFRA_SPI4>;
821			clock-names = "parent-clk", "sel-clk", "spi-clk";
822			status = "disabled";
823		};
824
825		spi5: spi@11019000 {
826			compatible = "mediatek,mt8183-spi";
827			#address-cells = <1>;
828			#size-cells = <0>;
829			reg = <0 0x11019000 0 0x1000>;
830			interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>;
831			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
832				 <&topckgen CLK_TOP_MUX_SPI>,
833				 <&infracfg CLK_INFRA_SPI5>;
834			clock-names = "parent-clk", "sel-clk", "spi-clk";
835			status = "disabled";
836		};
837
838		i2c7: i2c@1101a000 {
839			compatible = "mediatek,mt8183-i2c";
840			reg = <0 0x1101a000 0 0x1000>,
841			      <0 0x11000680 0 0x80>;
842			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_LOW>;
843			clocks = <&infracfg CLK_INFRA_I2C7>,
844				 <&infracfg CLK_INFRA_AP_DMA>;
845			clock-names = "main", "dma";
846			clock-div = <1>;
847			#address-cells = <1>;
848			#size-cells = <0>;
849			status = "disabled";
850		};
851
852		i2c8: i2c@1101b000 {
853			compatible = "mediatek,mt8183-i2c";
854			reg = <0 0x1101b000 0 0x1000>,
855			      <0 0x11000700 0 0x80>;
856			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_LOW>;
857			clocks = <&infracfg CLK_INFRA_I2C8>,
858				 <&infracfg CLK_INFRA_AP_DMA>;
859			clock-names = "main", "dma";
860			clock-div = <1>;
861			#address-cells = <1>;
862			#size-cells = <0>;
863			status = "disabled";
864		};
865
866		ssusb: usb@11201000 {
867			compatible ="mediatek,mt8183-mtu3", "mediatek,mtu3";
868			reg = <0 0x11201000 0 0x2e00>,
869			      <0 0x11203e00 0 0x0100>;
870			reg-names = "mac", "ippc";
871			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_LOW>;
872			phys = <&u2port0 PHY_TYPE_USB2>,
873			       <&u3port0 PHY_TYPE_USB3>;
874			clocks = <&infracfg CLK_INFRA_UNIPRO_SCK>,
875				 <&infracfg CLK_INFRA_USB>;
876			clock-names = "sys_ck", "ref_ck";
877			mediatek,syscon-wakeup = <&pericfg 0x420 101>;
878			#address-cells = <2>;
879			#size-cells = <2>;
880			ranges;
881			status = "disabled";
882
883			usb_host: usb@11200000 {
884				compatible = "mediatek,mt8183-xhci",
885					     "mediatek,mtk-xhci";
886				reg = <0 0x11200000 0 0x1000>;
887				reg-names = "mac";
888				interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_LOW>;
889				clocks = <&infracfg CLK_INFRA_UNIPRO_SCK>,
890					 <&infracfg CLK_INFRA_USB>;
891				clock-names = "sys_ck", "ref_ck";
892				status = "disabled";
893			};
894		};
895
896		audiosys: syscon@11220000 {
897			compatible = "mediatek,mt8183-audiosys", "syscon";
898			reg = <0 0x11220000 0 0x1000>;
899			#clock-cells = <1>;
900		};
901
902		mmc0: mmc@11230000 {
903			compatible = "mediatek,mt8183-mmc";
904			reg = <0 0x11230000 0 0x1000>,
905			      <0 0x11f50000 0 0x1000>;
906			interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>;
907			clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>,
908				 <&infracfg CLK_INFRA_MSDC0>,
909				 <&infracfg CLK_INFRA_MSDC0_SCK>;
910			clock-names = "source", "hclk", "source_cg";
911			status = "disabled";
912		};
913
914		mmc1: mmc@11240000 {
915			compatible = "mediatek,mt8183-mmc";
916			reg = <0 0x11240000 0 0x1000>,
917			      <0 0x11e10000 0 0x1000>;
918			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>;
919			clocks = <&topckgen CLK_TOP_MUX_MSDC30_1>,
920				 <&infracfg CLK_INFRA_MSDC1>,
921				 <&infracfg CLK_INFRA_MSDC1_SCK>;
922			clock-names = "source", "hclk", "source_cg";
923			status = "disabled";
924		};
925
926		mipi_tx0: dsi-phy@11e50000 {
927			compatible = "mediatek,mt8183-mipi-tx";
928			reg = <0 0x11e50000 0 0x1000>;
929			clocks = <&apmixedsys CLK_APMIXED_MIPID0_26M>;
930			#clock-cells = <0>;
931			#phy-cells = <0>;
932			clock-output-names = "mipi_tx0_pll";
933			nvmem-cells = <&mipi_tx_calibration>;
934			nvmem-cell-names = "calibration-data";
935		};
936
937		efuse: efuse@11f10000 {
938			compatible = "mediatek,mt8183-efuse",
939				     "mediatek,efuse";
940			reg = <0 0x11f10000 0 0x1000>;
941			#address-cells = <1>;
942			#size-cells = <1>;
943			mipi_tx_calibration: calib@190 {
944				reg = <0x190 0xc>;
945			};
946		};
947
948		u3phy: t-phy@11f40000 {
949			compatible = "mediatek,mt8183-tphy",
950				     "mediatek,generic-tphy-v2";
951			#address-cells = <1>;
952			#size-cells = <1>;
953			ranges = <0 0 0x11f40000 0x1000>;
954			status = "okay";
955
956			u2port0: usb-phy@0 {
957				reg = <0x0 0x700>;
958				clocks = <&clk26m>;
959				clock-names = "ref";
960				#phy-cells = <1>;
961				mediatek,discth = <15>;
962				status = "okay";
963			};
964
965			u3port0: usb-phy@0700 {
966				reg = <0x0700 0x900>;
967				clocks = <&clk26m>;
968				clock-names = "ref";
969				#phy-cells = <1>;
970				status = "okay";
971			};
972		};
973
974		mfgcfg: syscon@13000000 {
975			compatible = "mediatek,mt8183-mfgcfg", "syscon";
976			reg = <0 0x13000000 0 0x1000>;
977			#clock-cells = <1>;
978		};
979
980		mmsys: syscon@14000000 {
981			compatible = "mediatek,mt8183-mmsys", "syscon";
982			reg = <0 0x14000000 0 0x1000>;
983			#clock-cells = <1>;
984		};
985
986		ovl0: ovl@14008000 {
987			compatible = "mediatek,mt8183-disp-ovl";
988			reg = <0 0x14008000 0 0x1000>;
989			interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_LOW>;
990			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
991			clocks = <&mmsys CLK_MM_DISP_OVL0>;
992			iommus = <&iommu M4U_PORT_DISP_OVL0>;
993			mediatek,larb = <&larb0>;
994			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x8000 0x1000>;
995		};
996
997		ovl_2l0: ovl@14009000 {
998			compatible = "mediatek,mt8183-disp-ovl-2l";
999			reg = <0 0x14009000 0 0x1000>;
1000			interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_LOW>;
1001			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1002			clocks = <&mmsys CLK_MM_DISP_OVL0_2L>;
1003			iommus = <&iommu M4U_PORT_DISP_2L_OVL0_LARB0>;
1004			mediatek,larb = <&larb0>;
1005			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x9000 0x1000>;
1006		};
1007
1008		ovl_2l1: ovl@1400a000 {
1009			compatible = "mediatek,mt8183-disp-ovl-2l";
1010			reg = <0 0x1400a000 0 0x1000>;
1011			interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_LOW>;
1012			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1013			clocks = <&mmsys CLK_MM_DISP_OVL1_2L>;
1014			iommus = <&iommu M4U_PORT_DISP_2L_OVL1_LARB0>;
1015			mediatek,larb = <&larb0>;
1016			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xa000 0x1000>;
1017		};
1018
1019		rdma0: rdma@1400b000 {
1020			compatible = "mediatek,mt8183-disp-rdma";
1021			reg = <0 0x1400b000 0 0x1000>;
1022			interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_LOW>;
1023			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1024			clocks = <&mmsys CLK_MM_DISP_RDMA0>;
1025			iommus = <&iommu M4U_PORT_DISP_RDMA0>;
1026			mediatek,larb = <&larb0>;
1027			mediatek,rdma-fifo-size = <5120>;
1028			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xb000 0x1000>;
1029		};
1030
1031		rdma1: rdma@1400c000 {
1032			compatible = "mediatek,mt8183-disp-rdma";
1033			reg = <0 0x1400c000 0 0x1000>;
1034			interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>;
1035			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1036			clocks = <&mmsys CLK_MM_DISP_RDMA1>;
1037			iommus = <&iommu M4U_PORT_DISP_RDMA1>;
1038			mediatek,larb = <&larb0>;
1039			mediatek,rdma-fifo-size = <2048>;
1040			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>;
1041		};
1042
1043		color0: color@1400e000 {
1044			compatible = "mediatek,mt8183-disp-color",
1045				     "mediatek,mt8173-disp-color";
1046			reg = <0 0x1400e000 0 0x1000>;
1047			interrupts = <GIC_SPI 231 IRQ_TYPE_LEVEL_LOW>;
1048			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1049			clocks = <&mmsys CLK_MM_DISP_COLOR0>;
1050			mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>;
1051		};
1052
1053		ccorr0: ccorr@1400f000 {
1054			compatible = "mediatek,mt8183-disp-ccorr";
1055			reg = <0 0x1400f000 0 0x1000>;
1056			interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_LOW>;
1057			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1058			clocks = <&mmsys CLK_MM_DISP_CCORR0>;
1059		};
1060
1061		aal0: aal@14010000 {
1062			compatible = "mediatek,mt8183-disp-aal",
1063				     "mediatek,mt8173-disp-aal";
1064			reg = <0 0x14010000 0 0x1000>;
1065			interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_LOW>;
1066			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1067			clocks = <&mmsys CLK_MM_DISP_AAL0>;
1068		};
1069
1070		gamma0: gamma@14011000 {
1071			compatible = "mediatek,mt8183-disp-gamma";
1072			reg = <0 0x14011000 0 0x1000>;
1073			interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_LOW>;
1074			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1075			clocks = <&mmsys CLK_MM_DISP_GAMMA0>;
1076		};
1077
1078		dither0: dither@14012000 {
1079			compatible = "mediatek,mt8183-disp-dither";
1080			reg = <0 0x14012000 0 0x1000>;
1081			interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_LOW>;
1082			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1083			clocks = <&mmsys CLK_MM_DISP_DITHER0>;
1084		};
1085
1086		dsi0: dsi@14014000 {
1087			compatible = "mediatek,mt8183-dsi";
1088			reg = <0 0x14014000 0 0x1000>;
1089			interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_LOW>;
1090			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1091			mediatek,syscon-dsi = <&mmsys 0x140>;
1092			clocks = <&mmsys CLK_MM_DSI0_MM>,
1093				 <&mmsys CLK_MM_DSI0_IF>,
1094				 <&mipi_tx0>;
1095			clock-names = "engine", "digital", "hs";
1096			phys = <&mipi_tx0>;
1097			phy-names = "dphy";
1098		};
1099
1100		mutex: mutex@14016000 {
1101			compatible = "mediatek,mt8183-disp-mutex";
1102			reg = <0 0x14016000 0 0x1000>;
1103			interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_LOW>;
1104			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1105		};
1106
1107		larb0: larb@14017000 {
1108			compatible = "mediatek,mt8183-smi-larb";
1109			reg = <0 0x14017000 0 0x1000>;
1110			mediatek,smi = <&smi_common>;
1111			clocks = <&mmsys CLK_MM_SMI_LARB0>,
1112				 <&mmsys CLK_MM_SMI_LARB0>;
1113			power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
1114			clock-names = "apb", "smi";
1115		};
1116
1117		smi_common: smi@14019000 {
1118			compatible = "mediatek,mt8183-smi-common", "syscon";
1119			reg = <0 0x14019000 0 0x1000>;
1120			clocks = <&mmsys CLK_MM_SMI_COMMON>,
1121				 <&mmsys CLK_MM_SMI_COMMON>,
1122				 <&mmsys CLK_MM_GALS_COMM0>,
1123				 <&mmsys CLK_MM_GALS_COMM1>;
1124			clock-names = "apb", "smi", "gals0", "gals1";
1125		};
1126
1127		imgsys: syscon@15020000 {
1128			compatible = "mediatek,mt8183-imgsys", "syscon";
1129			reg = <0 0x15020000 0 0x1000>;
1130			#clock-cells = <1>;
1131		};
1132
1133		larb5: larb@15021000 {
1134			compatible = "mediatek,mt8183-smi-larb";
1135			reg = <0 0x15021000 0 0x1000>;
1136			mediatek,smi = <&smi_common>;
1137			clocks = <&imgsys CLK_IMG_LARB5>, <&imgsys CLK_IMG_LARB5>,
1138				 <&mmsys CLK_MM_GALS_IMG2MM>;
1139			clock-names = "apb", "smi", "gals";
1140			power-domains = <&spm MT8183_POWER_DOMAIN_ISP>;
1141		};
1142
1143		larb2: larb@1502f000 {
1144			compatible = "mediatek,mt8183-smi-larb";
1145			reg = <0 0x1502f000 0 0x1000>;
1146			mediatek,smi = <&smi_common>;
1147			clocks = <&imgsys CLK_IMG_LARB2>, <&imgsys CLK_IMG_LARB2>,
1148				 <&mmsys CLK_MM_GALS_IPU2MM>;
1149			clock-names = "apb", "smi", "gals";
1150			power-domains = <&spm MT8183_POWER_DOMAIN_ISP>;
1151		};
1152
1153		vdecsys: syscon@16000000 {
1154			compatible = "mediatek,mt8183-vdecsys", "syscon";
1155			reg = <0 0x16000000 0 0x1000>;
1156			#clock-cells = <1>;
1157		};
1158
1159		larb1: larb@16010000 {
1160			compatible = "mediatek,mt8183-smi-larb";
1161			reg = <0 0x16010000 0 0x1000>;
1162			mediatek,smi = <&smi_common>;
1163			clocks = <&vdecsys CLK_VDEC_VDEC>, <&vdecsys CLK_VDEC_LARB1>;
1164			clock-names = "apb", "smi";
1165			power-domains = <&spm MT8183_POWER_DOMAIN_VDEC>;
1166		};
1167
1168		vencsys: syscon@17000000 {
1169			compatible = "mediatek,mt8183-vencsys", "syscon";
1170			reg = <0 0x17000000 0 0x1000>;
1171			#clock-cells = <1>;
1172		};
1173
1174		larb4: larb@17010000 {
1175			compatible = "mediatek,mt8183-smi-larb";
1176			reg = <0 0x17010000 0 0x1000>;
1177			mediatek,smi = <&smi_common>;
1178			clocks = <&vencsys CLK_VENC_LARB>,
1179				 <&vencsys CLK_VENC_LARB>;
1180			clock-names = "apb", "smi";
1181			power-domains = <&spm MT8183_POWER_DOMAIN_VENC>;
1182		};
1183
1184		ipu_conn: syscon@19000000 {
1185			compatible = "mediatek,mt8183-ipu_conn", "syscon";
1186			reg = <0 0x19000000 0 0x1000>;
1187			#clock-cells = <1>;
1188		};
1189
1190		ipu_adl: syscon@19010000 {
1191			compatible = "mediatek,mt8183-ipu_adl", "syscon";
1192			reg = <0 0x19010000 0 0x1000>;
1193			#clock-cells = <1>;
1194		};
1195
1196		ipu_core0: syscon@19180000 {
1197			compatible = "mediatek,mt8183-ipu_core0", "syscon";
1198			reg = <0 0x19180000 0 0x1000>;
1199			#clock-cells = <1>;
1200		};
1201
1202		ipu_core1: syscon@19280000 {
1203			compatible = "mediatek,mt8183-ipu_core1", "syscon";
1204			reg = <0 0x19280000 0 0x1000>;
1205			#clock-cells = <1>;
1206		};
1207
1208		camsys: syscon@1a000000 {
1209			compatible = "mediatek,mt8183-camsys", "syscon";
1210			reg = <0 0x1a000000 0 0x1000>;
1211			#clock-cells = <1>;
1212		};
1213
1214		larb6: larb@1a001000 {
1215			compatible = "mediatek,mt8183-smi-larb";
1216			reg = <0 0x1a001000 0 0x1000>;
1217			mediatek,smi = <&smi_common>;
1218			clocks = <&camsys CLK_CAM_LARB6>, <&camsys CLK_CAM_LARB6>,
1219				 <&mmsys CLK_MM_GALS_CAM2MM>;
1220			clock-names = "apb", "smi", "gals";
1221			power-domains = <&spm MT8183_POWER_DOMAIN_CAM>;
1222		};
1223
1224		larb3: larb@1a002000 {
1225			compatible = "mediatek,mt8183-smi-larb";
1226			reg = <0 0x1a002000 0 0x1000>;
1227			mediatek,smi = <&smi_common>;
1228			clocks = <&camsys CLK_CAM_LARB3>, <&camsys CLK_CAM_LARB3>,
1229				 <&mmsys CLK_MM_GALS_IPU12MM>;
1230			clock-names = "apb", "smi", "gals";
1231			power-domains = <&spm MT8183_POWER_DOMAIN_CAM>;
1232		};
1233	};
1234};
1235