1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright (c) 2021 MediaTek Inc.
4 * Author: Seiya Wang <seiya.wang@mediatek.com>
5 */
6
7/dts-v1/;
8#include <dt-bindings/clock/mt8195-clk.h>
9#include <dt-bindings/gce/mt8195-gce.h>
10#include <dt-bindings/interrupt-controller/arm-gic.h>
11#include <dt-bindings/interrupt-controller/irq.h>
12#include <dt-bindings/memory/mt8195-memory-port.h>
13#include <dt-bindings/phy/phy.h>
14#include <dt-bindings/pinctrl/mt8195-pinfunc.h>
15#include <dt-bindings/power/mt8195-power.h>
16#include <dt-bindings/reset/mt8195-resets.h>
17
18/ {
19	compatible = "mediatek,mt8195";
20	interrupt-parent = <&gic>;
21	#address-cells = <2>;
22	#size-cells = <2>;
23
24	aliases {
25		gce0 = &gce0;
26		gce1 = &gce1;
27	};
28
29	cpus {
30		#address-cells = <1>;
31		#size-cells = <0>;
32
33		cpu0: cpu@0 {
34			device_type = "cpu";
35			compatible = "arm,cortex-a55";
36			reg = <0x000>;
37			enable-method = "psci";
38			performance-domains = <&performance 0>;
39			clock-frequency = <1701000000>;
40			capacity-dmips-mhz = <308>;
41			cpu-idle-states = <&cpu_off_l &cluster_off_l>;
42			next-level-cache = <&l2_0>;
43			#cooling-cells = <2>;
44		};
45
46		cpu1: cpu@100 {
47			device_type = "cpu";
48			compatible = "arm,cortex-a55";
49			reg = <0x100>;
50			enable-method = "psci";
51			performance-domains = <&performance 0>;
52			clock-frequency = <1701000000>;
53			capacity-dmips-mhz = <308>;
54			cpu-idle-states = <&cpu_off_l &cluster_off_l>;
55			next-level-cache = <&l2_0>;
56			#cooling-cells = <2>;
57		};
58
59		cpu2: cpu@200 {
60			device_type = "cpu";
61			compatible = "arm,cortex-a55";
62			reg = <0x200>;
63			enable-method = "psci";
64			performance-domains = <&performance 0>;
65			clock-frequency = <1701000000>;
66			capacity-dmips-mhz = <308>;
67			cpu-idle-states = <&cpu_off_l &cluster_off_l>;
68			next-level-cache = <&l2_0>;
69			#cooling-cells = <2>;
70		};
71
72		cpu3: cpu@300 {
73			device_type = "cpu";
74			compatible = "arm,cortex-a55";
75			reg = <0x300>;
76			enable-method = "psci";
77			performance-domains = <&performance 0>;
78			clock-frequency = <1701000000>;
79			capacity-dmips-mhz = <308>;
80			cpu-idle-states = <&cpu_off_l &cluster_off_l>;
81			next-level-cache = <&l2_0>;
82			#cooling-cells = <2>;
83		};
84
85		cpu4: cpu@400 {
86			device_type = "cpu";
87			compatible = "arm,cortex-a78";
88			reg = <0x400>;
89			enable-method = "psci";
90			performance-domains = <&performance 1>;
91			clock-frequency = <2171000000>;
92			capacity-dmips-mhz = <1024>;
93			cpu-idle-states = <&cpu_off_b &cluster_off_b>;
94			next-level-cache = <&l2_1>;
95			#cooling-cells = <2>;
96		};
97
98		cpu5: cpu@500 {
99			device_type = "cpu";
100			compatible = "arm,cortex-a78";
101			reg = <0x500>;
102			enable-method = "psci";
103			performance-domains = <&performance 1>;
104			clock-frequency = <2171000000>;
105			capacity-dmips-mhz = <1024>;
106			cpu-idle-states = <&cpu_off_b &cluster_off_b>;
107			next-level-cache = <&l2_1>;
108			#cooling-cells = <2>;
109		};
110
111		cpu6: cpu@600 {
112			device_type = "cpu";
113			compatible = "arm,cortex-a78";
114			reg = <0x600>;
115			enable-method = "psci";
116			performance-domains = <&performance 1>;
117			clock-frequency = <2171000000>;
118			capacity-dmips-mhz = <1024>;
119			cpu-idle-states = <&cpu_off_b &cluster_off_b>;
120			next-level-cache = <&l2_1>;
121			#cooling-cells = <2>;
122		};
123
124		cpu7: cpu@700 {
125			device_type = "cpu";
126			compatible = "arm,cortex-a78";
127			reg = <0x700>;
128			enable-method = "psci";
129			performance-domains = <&performance 1>;
130			clock-frequency = <2171000000>;
131			capacity-dmips-mhz = <1024>;
132			cpu-idle-states = <&cpu_off_b &cluster_off_b>;
133			next-level-cache = <&l2_1>;
134			#cooling-cells = <2>;
135		};
136
137		cpu-map {
138			cluster0 {
139				core0 {
140					cpu = <&cpu0>;
141				};
142
143				core1 {
144					cpu = <&cpu1>;
145				};
146
147				core2 {
148					cpu = <&cpu2>;
149				};
150
151				core3 {
152					cpu = <&cpu3>;
153				};
154			};
155
156			cluster1 {
157				core0 {
158					cpu = <&cpu4>;
159				};
160
161				core1 {
162					cpu = <&cpu5>;
163				};
164
165				core2 {
166					cpu = <&cpu6>;
167				};
168
169				core3 {
170					cpu = <&cpu7>;
171				};
172			};
173		};
174
175		idle-states {
176			entry-method = "psci";
177
178			cpu_off_l: cpu-off-l {
179				compatible = "arm,idle-state";
180				arm,psci-suspend-param = <0x00010001>;
181				local-timer-stop;
182				entry-latency-us = <50>;
183				exit-latency-us = <95>;
184				min-residency-us = <580>;
185			};
186
187			cpu_off_b: cpu-off-b {
188				compatible = "arm,idle-state";
189				arm,psci-suspend-param = <0x00010001>;
190				local-timer-stop;
191				entry-latency-us = <45>;
192				exit-latency-us = <140>;
193				min-residency-us = <740>;
194			};
195
196			cluster_off_l: cluster-off-l {
197				compatible = "arm,idle-state";
198				arm,psci-suspend-param = <0x01010002>;
199				local-timer-stop;
200				entry-latency-us = <55>;
201				exit-latency-us = <155>;
202				min-residency-us = <840>;
203			};
204
205			cluster_off_b: cluster-off-b {
206				compatible = "arm,idle-state";
207				arm,psci-suspend-param = <0x01010002>;
208				local-timer-stop;
209				entry-latency-us = <50>;
210				exit-latency-us = <200>;
211				min-residency-us = <1000>;
212			};
213		};
214
215		l2_0: l2-cache0 {
216			compatible = "cache";
217			cache-level = <2>;
218			next-level-cache = <&l3_0>;
219		};
220
221		l2_1: l2-cache1 {
222			compatible = "cache";
223			cache-level = <2>;
224			next-level-cache = <&l3_0>;
225		};
226
227		l3_0: l3-cache {
228			compatible = "cache";
229			cache-level = <3>;
230		};
231	};
232
233	dsu-pmu {
234		compatible = "arm,dsu-pmu";
235		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>;
236		cpus = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>,
237		       <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
238	};
239
240	dmic_codec: dmic-codec {
241		compatible = "dmic-codec";
242		num-channels = <2>;
243		wakeup-delay-ms = <50>;
244	};
245
246	sound: mt8195-sound {
247		mediatek,platform = <&afe>;
248		status = "disabled";
249	};
250
251	clk26m: oscillator-26m {
252		compatible = "fixed-clock";
253		#clock-cells = <0>;
254		clock-frequency = <26000000>;
255		clock-output-names = "clk26m";
256	};
257
258	clk32k: oscillator-32k {
259		compatible = "fixed-clock";
260		#clock-cells = <0>;
261		clock-frequency = <32768>;
262		clock-output-names = "clk32k";
263	};
264
265	performance: performance-controller@11bc10 {
266		compatible = "mediatek,cpufreq-hw";
267		reg = <0 0x0011bc10 0 0x120>, <0 0x0011bd30 0 0x120>;
268		#performance-domain-cells = <1>;
269	};
270
271	pmu-a55 {
272		compatible = "arm,cortex-a55-pmu";
273		interrupt-parent = <&gic>;
274		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>;
275	};
276
277	pmu-a78 {
278		compatible = "arm,cortex-a78-pmu";
279		interrupt-parent = <&gic>;
280		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>;
281	};
282
283	psci {
284		compatible = "arm,psci-1.0";
285		method = "smc";
286	};
287
288	timer: timer {
289		compatible = "arm,armv8-timer";
290		interrupt-parent = <&gic>;
291		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
292			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>,
293			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>,
294			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>;
295	};
296
297	soc {
298		#address-cells = <2>;
299		#size-cells = <2>;
300		compatible = "simple-bus";
301		ranges;
302
303		gic: interrupt-controller@c000000 {
304			compatible = "arm,gic-v3";
305			#interrupt-cells = <4>;
306			#redistributor-regions = <1>;
307			interrupt-parent = <&gic>;
308			interrupt-controller;
309			reg = <0 0x0c000000 0 0x40000>,
310			      <0 0x0c040000 0 0x200000>;
311			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
312
313			ppi-partitions {
314				ppi_cluster0: interrupt-partition-0 {
315					affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
316				};
317
318				ppi_cluster1: interrupt-partition-1 {
319					affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
320				};
321			};
322		};
323
324		topckgen: syscon@10000000 {
325			compatible = "mediatek,mt8195-topckgen", "syscon";
326			reg = <0 0x10000000 0 0x1000>;
327			#clock-cells = <1>;
328		};
329
330		infracfg_ao: syscon@10001000 {
331			compatible = "mediatek,mt8195-infracfg_ao", "syscon", "simple-mfd";
332			reg = <0 0x10001000 0 0x1000>;
333			#clock-cells = <1>;
334			#reset-cells = <1>;
335		};
336
337		pericfg: syscon@10003000 {
338			compatible = "mediatek,mt8195-pericfg", "syscon";
339			reg = <0 0x10003000 0 0x1000>;
340			#clock-cells = <1>;
341		};
342
343		pio: pinctrl@10005000 {
344			compatible = "mediatek,mt8195-pinctrl";
345			reg = <0 0x10005000 0 0x1000>,
346			      <0 0x11d10000 0 0x1000>,
347			      <0 0x11d30000 0 0x1000>,
348			      <0 0x11d40000 0 0x1000>,
349			      <0 0x11e20000 0 0x1000>,
350			      <0 0x11eb0000 0 0x1000>,
351			      <0 0x11f40000 0 0x1000>,
352			      <0 0x1000b000 0 0x1000>;
353			reg-names = "iocfg0", "iocfg_bm", "iocfg_bl",
354				    "iocfg_br", "iocfg_lm", "iocfg_rb",
355				    "iocfg_tl", "eint";
356			gpio-controller;
357			#gpio-cells = <2>;
358			gpio-ranges = <&pio 0 0 144>;
359			interrupt-controller;
360			interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH 0>;
361			#interrupt-cells = <2>;
362		};
363
364		scpsys: syscon@10006000 {
365			compatible = "mediatek,mt8195-scpsys", "syscon", "simple-mfd";
366			reg = <0 0x10006000 0 0x1000>;
367
368			/* System Power Manager */
369			spm: power-controller {
370				compatible = "mediatek,mt8195-power-controller";
371				#address-cells = <1>;
372				#size-cells = <0>;
373				#power-domain-cells = <1>;
374
375				/* power domain of the SoC */
376				mfg0: power-domain@MT8195_POWER_DOMAIN_MFG0 {
377					reg = <MT8195_POWER_DOMAIN_MFG0>;
378					#address-cells = <1>;
379					#size-cells = <0>;
380					#power-domain-cells = <1>;
381
382					power-domain@MT8195_POWER_DOMAIN_MFG1 {
383						reg = <MT8195_POWER_DOMAIN_MFG1>;
384						clocks = <&apmixedsys CLK_APMIXED_MFGPLL>;
385						clock-names = "mfg";
386						mediatek,infracfg = <&infracfg_ao>;
387						#address-cells = <1>;
388						#size-cells = <0>;
389						#power-domain-cells = <1>;
390
391						power-domain@MT8195_POWER_DOMAIN_MFG2 {
392							reg = <MT8195_POWER_DOMAIN_MFG2>;
393							#power-domain-cells = <0>;
394						};
395
396						power-domain@MT8195_POWER_DOMAIN_MFG3 {
397							reg = <MT8195_POWER_DOMAIN_MFG3>;
398							#power-domain-cells = <0>;
399						};
400
401						power-domain@MT8195_POWER_DOMAIN_MFG4 {
402							reg = <MT8195_POWER_DOMAIN_MFG4>;
403							#power-domain-cells = <0>;
404						};
405
406						power-domain@MT8195_POWER_DOMAIN_MFG5 {
407							reg = <MT8195_POWER_DOMAIN_MFG5>;
408							#power-domain-cells = <0>;
409						};
410
411						power-domain@MT8195_POWER_DOMAIN_MFG6 {
412							reg = <MT8195_POWER_DOMAIN_MFG6>;
413							#power-domain-cells = <0>;
414						};
415					};
416				};
417
418				power-domain@MT8195_POWER_DOMAIN_VPPSYS0 {
419					reg = <MT8195_POWER_DOMAIN_VPPSYS0>;
420					clocks = <&topckgen CLK_TOP_VPP>,
421						 <&topckgen CLK_TOP_CAM>,
422						 <&topckgen CLK_TOP_CCU>,
423						 <&topckgen CLK_TOP_IMG>,
424						 <&topckgen CLK_TOP_VENC>,
425						 <&topckgen CLK_TOP_VDEC>,
426						 <&topckgen CLK_TOP_WPE_VPP>,
427						 <&topckgen CLK_TOP_CFG_VPP0>,
428						 <&vppsys0 CLK_VPP0_SMI_COMMON>,
429						 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB0>,
430						 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB1>,
431						 <&vppsys0 CLK_VPP0_GALS_VENCSYS>,
432						 <&vppsys0 CLK_VPP0_GALS_VENCSYS_CORE1>,
433						 <&vppsys0 CLK_VPP0_GALS_INFRA>,
434						 <&vppsys0 CLK_VPP0_GALS_CAMSYS>,
435						 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB5>,
436						 <&vppsys0 CLK_VPP0_GALS_VPP1_LARB6>,
437						 <&vppsys0 CLK_VPP0_SMI_REORDER>,
438						 <&vppsys0 CLK_VPP0_SMI_IOMMU>,
439						 <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>,
440						 <&vppsys0 CLK_VPP0_GALS_EMI0_EMI1>,
441						 <&vppsys0 CLK_VPP0_SMI_SUB_COMMON_REORDER>,
442						 <&vppsys0 CLK_VPP0_SMI_RSI>,
443						 <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>,
444						 <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
445						 <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
446						 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
447					clock-names = "vppsys", "vppsys1", "vppsys2", "vppsys3",
448						      "vppsys4", "vppsys5", "vppsys6", "vppsys7",
449						      "vppsys0-0", "vppsys0-1", "vppsys0-2", "vppsys0-3",
450						      "vppsys0-4", "vppsys0-5", "vppsys0-6", "vppsys0-7",
451						      "vppsys0-8", "vppsys0-9", "vppsys0-10", "vppsys0-11",
452						      "vppsys0-12", "vppsys0-13", "vppsys0-14",
453						      "vppsys0-15", "vppsys0-16", "vppsys0-17",
454						      "vppsys0-18";
455					mediatek,infracfg = <&infracfg_ao>;
456					#address-cells = <1>;
457					#size-cells = <0>;
458					#power-domain-cells = <1>;
459
460					power-domain@MT8195_POWER_DOMAIN_VDEC1 {
461						reg = <MT8195_POWER_DOMAIN_VDEC1>;
462						clocks = <&vdecsys CLK_VDEC_LARB1>;
463						clock-names = "vdec1-0";
464						mediatek,infracfg = <&infracfg_ao>;
465						#power-domain-cells = <0>;
466					};
467
468					power-domain@MT8195_POWER_DOMAIN_VENC_CORE1 {
469						reg = <MT8195_POWER_DOMAIN_VENC_CORE1>;
470						mediatek,infracfg = <&infracfg_ao>;
471						#power-domain-cells = <0>;
472					};
473
474					power-domain@MT8195_POWER_DOMAIN_VDOSYS0 {
475						reg = <MT8195_POWER_DOMAIN_VDOSYS0>;
476						clocks = <&topckgen CLK_TOP_CFG_VDO0>,
477							 <&vdosys0 CLK_VDO0_SMI_GALS>,
478							 <&vdosys0 CLK_VDO0_SMI_COMMON>,
479							 <&vdosys0 CLK_VDO0_SMI_EMI>,
480							 <&vdosys0 CLK_VDO0_SMI_IOMMU>,
481							 <&vdosys0 CLK_VDO0_SMI_LARB>,
482							 <&vdosys0 CLK_VDO0_SMI_RSI>;
483						clock-names = "vdosys0", "vdosys0-0", "vdosys0-1",
484							      "vdosys0-2", "vdosys0-3",
485							      "vdosys0-4", "vdosys0-5";
486						mediatek,infracfg = <&infracfg_ao>;
487						#address-cells = <1>;
488						#size-cells = <0>;
489						#power-domain-cells = <1>;
490
491						power-domain@MT8195_POWER_DOMAIN_VPPSYS1 {
492							reg = <MT8195_POWER_DOMAIN_VPPSYS1>;
493							clocks = <&topckgen CLK_TOP_CFG_VPP1>,
494								 <&vppsys1 CLK_VPP1_VPPSYS1_GALS>,
495								 <&vppsys1 CLK_VPP1_VPPSYS1_LARB>;
496							clock-names = "vppsys1", "vppsys1-0",
497								      "vppsys1-1";
498							mediatek,infracfg = <&infracfg_ao>;
499							#power-domain-cells = <0>;
500						};
501
502						power-domain@MT8195_POWER_DOMAIN_WPESYS {
503							reg = <MT8195_POWER_DOMAIN_WPESYS>;
504							clocks = <&wpesys CLK_WPE_SMI_LARB7>,
505								 <&wpesys CLK_WPE_SMI_LARB8>,
506								 <&wpesys CLK_WPE_SMI_LARB7_P>,
507								 <&wpesys CLK_WPE_SMI_LARB8_P>;
508							clock-names = "wepsys-0", "wepsys-1", "wepsys-2",
509								      "wepsys-3";
510							mediatek,infracfg = <&infracfg_ao>;
511							#power-domain-cells = <0>;
512						};
513
514						power-domain@MT8195_POWER_DOMAIN_VDEC0 {
515							reg = <MT8195_POWER_DOMAIN_VDEC0>;
516							clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
517							clock-names = "vdec0-0";
518							mediatek,infracfg = <&infracfg_ao>;
519							#power-domain-cells = <0>;
520						};
521
522						power-domain@MT8195_POWER_DOMAIN_VDEC2 {
523							reg = <MT8195_POWER_DOMAIN_VDEC2>;
524							clocks = <&vdecsys_core1 CLK_VDEC_CORE1_LARB1>;
525							clock-names = "vdec2-0";
526							mediatek,infracfg = <&infracfg_ao>;
527							#power-domain-cells = <0>;
528						};
529
530						power-domain@MT8195_POWER_DOMAIN_VENC {
531							reg = <MT8195_POWER_DOMAIN_VENC>;
532							mediatek,infracfg = <&infracfg_ao>;
533							#power-domain-cells = <0>;
534						};
535
536						power-domain@MT8195_POWER_DOMAIN_VDOSYS1 {
537							reg = <MT8195_POWER_DOMAIN_VDOSYS1>;
538							clocks = <&topckgen CLK_TOP_CFG_VDO1>,
539								 <&vdosys1 CLK_VDO1_SMI_LARB2>,
540								 <&vdosys1 CLK_VDO1_SMI_LARB3>,
541								 <&vdosys1 CLK_VDO1_GALS>;
542							clock-names = "vdosys1", "vdosys1-0",
543								      "vdosys1-1", "vdosys1-2";
544							mediatek,infracfg = <&infracfg_ao>;
545							#address-cells = <1>;
546							#size-cells = <0>;
547							#power-domain-cells = <1>;
548
549							power-domain@MT8195_POWER_DOMAIN_DP_TX {
550								reg = <MT8195_POWER_DOMAIN_DP_TX>;
551								mediatek,infracfg = <&infracfg_ao>;
552								#power-domain-cells = <0>;
553							};
554
555							power-domain@MT8195_POWER_DOMAIN_EPD_TX {
556								reg = <MT8195_POWER_DOMAIN_EPD_TX>;
557								mediatek,infracfg = <&infracfg_ao>;
558								#power-domain-cells = <0>;
559							};
560
561							power-domain@MT8195_POWER_DOMAIN_HDMI_TX {
562								reg = <MT8195_POWER_DOMAIN_HDMI_TX>;
563								clocks = <&topckgen CLK_TOP_HDMI_APB>;
564								clock-names = "hdmi_tx";
565								#power-domain-cells = <0>;
566							};
567						};
568
569						power-domain@MT8195_POWER_DOMAIN_IMG {
570							reg = <MT8195_POWER_DOMAIN_IMG>;
571							clocks = <&imgsys CLK_IMG_LARB9>,
572								 <&imgsys CLK_IMG_GALS>;
573							clock-names = "img-0", "img-1";
574							mediatek,infracfg = <&infracfg_ao>;
575							#address-cells = <1>;
576							#size-cells = <0>;
577							#power-domain-cells = <1>;
578
579							power-domain@MT8195_POWER_DOMAIN_DIP {
580								reg = <MT8195_POWER_DOMAIN_DIP>;
581								#power-domain-cells = <0>;
582							};
583
584							power-domain@MT8195_POWER_DOMAIN_IPE {
585								reg = <MT8195_POWER_DOMAIN_IPE>;
586								clocks = <&topckgen CLK_TOP_IPE>,
587									 <&imgsys CLK_IMG_IPE>,
588									 <&ipesys CLK_IPE_SMI_LARB12>;
589								clock-names = "ipe", "ipe-0", "ipe-1";
590								mediatek,infracfg = <&infracfg_ao>;
591								#power-domain-cells = <0>;
592							};
593						};
594
595						power-domain@MT8195_POWER_DOMAIN_CAM {
596							reg = <MT8195_POWER_DOMAIN_CAM>;
597							clocks = <&camsys CLK_CAM_LARB13>,
598								 <&camsys CLK_CAM_LARB14>,
599								 <&camsys CLK_CAM_CAM2MM0_GALS>,
600								 <&camsys CLK_CAM_CAM2MM1_GALS>,
601								 <&camsys CLK_CAM_CAM2SYS_GALS>;
602							clock-names = "cam-0", "cam-1", "cam-2", "cam-3",
603								      "cam-4";
604							mediatek,infracfg = <&infracfg_ao>;
605							#address-cells = <1>;
606							#size-cells = <0>;
607							#power-domain-cells = <1>;
608
609							power-domain@MT8195_POWER_DOMAIN_CAM_RAWA {
610								reg = <MT8195_POWER_DOMAIN_CAM_RAWA>;
611								#power-domain-cells = <0>;
612							};
613
614							power-domain@MT8195_POWER_DOMAIN_CAM_RAWB {
615								reg = <MT8195_POWER_DOMAIN_CAM_RAWB>;
616								#power-domain-cells = <0>;
617							};
618
619							power-domain@MT8195_POWER_DOMAIN_CAM_MRAW {
620								reg = <MT8195_POWER_DOMAIN_CAM_MRAW>;
621								#power-domain-cells = <0>;
622							};
623						};
624					};
625				};
626
627				power-domain@MT8195_POWER_DOMAIN_PCIE_MAC_P0 {
628					reg = <MT8195_POWER_DOMAIN_PCIE_MAC_P0>;
629					mediatek,infracfg = <&infracfg_ao>;
630					#power-domain-cells = <0>;
631				};
632
633				power-domain@MT8195_POWER_DOMAIN_PCIE_MAC_P1 {
634					reg = <MT8195_POWER_DOMAIN_PCIE_MAC_P1>;
635					mediatek,infracfg = <&infracfg_ao>;
636					#power-domain-cells = <0>;
637				};
638
639				power-domain@MT8195_POWER_DOMAIN_PCIE_PHY {
640					reg = <MT8195_POWER_DOMAIN_PCIE_PHY>;
641					#power-domain-cells = <0>;
642				};
643
644				power-domain@MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY {
645					reg = <MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY>;
646					#power-domain-cells = <0>;
647				};
648
649				power-domain@MT8195_POWER_DOMAIN_CSI_RX_TOP {
650					reg = <MT8195_POWER_DOMAIN_CSI_RX_TOP>;
651					clocks = <&topckgen CLK_TOP_SENINF>,
652						 <&topckgen CLK_TOP_SENINF2>;
653					clock-names = "csi_rx_top", "csi_rx_top1";
654					#power-domain-cells = <0>;
655				};
656
657				power-domain@MT8195_POWER_DOMAIN_ETHER {
658					reg = <MT8195_POWER_DOMAIN_ETHER>;
659					clocks = <&pericfg_ao CLK_PERI_AO_ETHERNET_MAC>;
660					clock-names = "ether";
661					#power-domain-cells = <0>;
662				};
663
664				power-domain@MT8195_POWER_DOMAIN_ADSP {
665					reg = <MT8195_POWER_DOMAIN_ADSP>;
666					clocks = <&topckgen CLK_TOP_ADSP>,
667						 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>;
668					clock-names = "adsp", "adsp1";
669					#address-cells = <1>;
670					#size-cells = <0>;
671					mediatek,infracfg = <&infracfg_ao>;
672					#power-domain-cells = <1>;
673
674					power-domain@MT8195_POWER_DOMAIN_AUDIO {
675						reg = <MT8195_POWER_DOMAIN_AUDIO>;
676						clocks = <&topckgen CLK_TOP_A1SYS_HP>,
677							 <&topckgen CLK_TOP_AUD_INTBUS>,
678							 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>,
679							 <&infracfg_ao CLK_INFRA_AO_AUDIO_26M_B>;
680						clock-names = "audio", "audio1", "audio2",
681							      "audio3";
682						mediatek,infracfg = <&infracfg_ao>;
683						#power-domain-cells = <0>;
684					};
685				};
686			};
687		};
688
689		watchdog: watchdog@10007000 {
690			compatible = "mediatek,mt8195-wdt",
691				     "mediatek,mt6589-wdt";
692			mediatek,disable-extrst;
693			reg = <0 0x10007000 0 0x100>;
694			#reset-cells = <1>;
695		};
696
697		apmixedsys: syscon@1000c000 {
698			compatible = "mediatek,mt8195-apmixedsys", "syscon";
699			reg = <0 0x1000c000 0 0x1000>;
700			#clock-cells = <1>;
701		};
702
703		systimer: timer@10017000 {
704			compatible = "mediatek,mt8195-timer",
705				     "mediatek,mt6765-timer";
706			reg = <0 0x10017000 0 0x1000>;
707			interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>;
708			clocks = <&topckgen CLK_TOP_CLK26M_D2>;
709		};
710
711		pwrap: pwrap@10024000 {
712			compatible = "mediatek,mt8195-pwrap", "syscon";
713			reg = <0 0x10024000 0 0x1000>;
714			reg-names = "pwrap";
715			interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH 0>;
716			clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>,
717				 <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>;
718			clock-names = "spi", "wrap";
719			assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC>;
720			assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>;
721		};
722
723		spmi: spmi@10027000 {
724			compatible = "mediatek,mt8195-spmi";
725			reg = <0 0x10027000 0 0x000e00>,
726			      <0 0x10029000 0 0x000100>;
727			reg-names = "pmif", "spmimst";
728			clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>,
729				 <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>,
730				 <&topckgen CLK_TOP_SPMI_M_MST>;
731			clock-names = "pmif_sys_ck",
732				      "pmif_tmr_ck",
733				      "spmimst_clk_mux";
734			assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC>;
735			assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>;
736		};
737
738		iommu_infra: infra-iommu@10315000 {
739			compatible = "mediatek,mt8195-iommu-infra";
740			reg = <0 0x10315000 0 0x5000>;
741			interrupts = <GIC_SPI 795 IRQ_TYPE_LEVEL_HIGH 0>,
742				     <GIC_SPI 796 IRQ_TYPE_LEVEL_HIGH 0>,
743				     <GIC_SPI 797 IRQ_TYPE_LEVEL_HIGH 0>,
744				     <GIC_SPI 798 IRQ_TYPE_LEVEL_HIGH 0>,
745				     <GIC_SPI 799 IRQ_TYPE_LEVEL_HIGH 0>;
746			#iommu-cells = <1>;
747		};
748
749		gce0: mailbox@10320000 {
750			compatible = "mediatek,mt8195-gce";
751			reg = <0 0x10320000 0 0x4000>;
752			interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH 0>;
753			#mbox-cells = <2>;
754			clocks = <&infracfg_ao CLK_INFRA_AO_GCE>;
755		};
756
757		gce1: mailbox@10330000 {
758			compatible = "mediatek,mt8195-gce";
759			reg = <0 0x10330000 0 0x4000>;
760			interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH 0>;
761			#mbox-cells = <2>;
762			clocks = <&infracfg_ao CLK_INFRA_AO_GCE2>;
763		};
764
765		scp: scp@10500000 {
766			compatible = "mediatek,mt8195-scp";
767			reg = <0 0x10500000 0 0x100000>,
768			      <0 0x10720000 0 0xe0000>,
769			      <0 0x10700000 0 0x8000>;
770			reg-names = "sram", "cfg", "l1tcm";
771			interrupts = <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH 0>;
772			status = "disabled";
773		};
774
775		scp_adsp: clock-controller@10720000 {
776			compatible = "mediatek,mt8195-scp_adsp";
777			reg = <0 0x10720000 0 0x1000>;
778			#clock-cells = <1>;
779		};
780
781		adsp: dsp@10803000 {
782			compatible = "mediatek,mt8195-dsp";
783			reg = <0 0x10803000 0 0x1000>,
784			      <0 0x10840000 0 0x40000>;
785			reg-names = "cfg", "sram";
786			clocks = <&topckgen CLK_TOP_ADSP>,
787				 <&clk26m>,
788				 <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>,
789				 <&topckgen CLK_TOP_MAINPLL_D7_D2>,
790				 <&scp_adsp CLK_SCP_ADSP_AUDIODSP>,
791				 <&topckgen CLK_TOP_AUDIO_H>;
792			clock-names = "adsp_sel",
793				 "clk26m_ck",
794				 "audio_local_bus",
795				 "mainpll_d7_d2",
796				 "scp_adsp_audiodsp",
797				 "audio_h";
798			power-domains = <&spm MT8195_POWER_DOMAIN_ADSP>;
799			mbox-names = "rx", "tx";
800			mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;
801			status = "disabled";
802		};
803
804		adsp_mailbox0: mailbox@10816000 {
805			compatible = "mediatek,mt8195-adsp-mbox";
806			#mbox-cells = <0>;
807			reg = <0 0x10816000 0 0x1000>;
808			interrupts = <GIC_SPI 702 IRQ_TYPE_LEVEL_HIGH 0>;
809		};
810
811		adsp_mailbox1: mailbox@10817000 {
812			compatible = "mediatek,mt8195-adsp-mbox";
813			#mbox-cells = <0>;
814			reg = <0 0x10817000 0 0x1000>;
815			interrupts = <GIC_SPI 703 IRQ_TYPE_LEVEL_HIGH 0>;
816		};
817
818		afe: mt8195-afe-pcm@10890000 {
819			compatible = "mediatek,mt8195-audio";
820			reg = <0 0x10890000 0 0x10000>;
821			mediatek,topckgen = <&topckgen>;
822			power-domains = <&spm MT8195_POWER_DOMAIN_AUDIO>;
823			interrupts = <GIC_SPI 822 IRQ_TYPE_LEVEL_HIGH 0>;
824			resets = <&watchdog 14>;
825			reset-names = "audiosys";
826			clocks = <&clk26m>,
827				<&apmixedsys CLK_APMIXED_APLL1>,
828				<&apmixedsys CLK_APMIXED_APLL2>,
829				<&topckgen CLK_TOP_APLL12_DIV0>,
830				<&topckgen CLK_TOP_APLL12_DIV1>,
831				<&topckgen CLK_TOP_APLL12_DIV2>,
832				<&topckgen CLK_TOP_APLL12_DIV3>,
833				<&topckgen CLK_TOP_APLL12_DIV9>,
834				<&topckgen CLK_TOP_A1SYS_HP>,
835				<&topckgen CLK_TOP_AUD_INTBUS>,
836				<&topckgen CLK_TOP_AUDIO_H>,
837				<&topckgen CLK_TOP_AUDIO_LOCAL_BUS>,
838				<&topckgen CLK_TOP_DPTX_MCK>,
839				<&topckgen CLK_TOP_I2SO1_MCK>,
840				<&topckgen CLK_TOP_I2SO2_MCK>,
841				<&topckgen CLK_TOP_I2SI1_MCK>,
842				<&topckgen CLK_TOP_I2SI2_MCK>,
843				<&infracfg_ao CLK_INFRA_AO_AUDIO_26M_B>,
844				<&scp_adsp CLK_SCP_ADSP_AUDIODSP>;
845			clock-names = "clk26m",
846				"apll1_ck",
847				"apll2_ck",
848				"apll12_div0",
849				"apll12_div1",
850				"apll12_div2",
851				"apll12_div3",
852				"apll12_div9",
853				"a1sys_hp_sel",
854				"aud_intbus_sel",
855				"audio_h_sel",
856				"audio_local_bus_sel",
857				"dptx_m_sel",
858				"i2so1_m_sel",
859				"i2so2_m_sel",
860				"i2si1_m_sel",
861				"i2si2_m_sel",
862				"infra_ao_audio_26m_b",
863				"scp_adsp_audiodsp";
864			status = "disabled";
865		};
866
867		uart0: serial@11001100 {
868			compatible = "mediatek,mt8195-uart",
869				     "mediatek,mt6577-uart";
870			reg = <0 0x11001100 0 0x100>;
871			interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH 0>;
872			clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART0>;
873			clock-names = "baud", "bus";
874			status = "disabled";
875		};
876
877		uart1: serial@11001200 {
878			compatible = "mediatek,mt8195-uart",
879				     "mediatek,mt6577-uart";
880			reg = <0 0x11001200 0 0x100>;
881			interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH 0>;
882			clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART1>;
883			clock-names = "baud", "bus";
884			status = "disabled";
885		};
886
887		uart2: serial@11001300 {
888			compatible = "mediatek,mt8195-uart",
889				     "mediatek,mt6577-uart";
890			reg = <0 0x11001300 0 0x100>;
891			interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH 0>;
892			clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART2>;
893			clock-names = "baud", "bus";
894			status = "disabled";
895		};
896
897		uart3: serial@11001400 {
898			compatible = "mediatek,mt8195-uart",
899				     "mediatek,mt6577-uart";
900			reg = <0 0x11001400 0 0x100>;
901			interrupts = <GIC_SPI 723 IRQ_TYPE_LEVEL_HIGH 0>;
902			clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART3>;
903			clock-names = "baud", "bus";
904			status = "disabled";
905		};
906
907		uart4: serial@11001500 {
908			compatible = "mediatek,mt8195-uart",
909				     "mediatek,mt6577-uart";
910			reg = <0 0x11001500 0 0x100>;
911			interrupts = <GIC_SPI 724 IRQ_TYPE_LEVEL_HIGH 0>;
912			clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART4>;
913			clock-names = "baud", "bus";
914			status = "disabled";
915		};
916
917		uart5: serial@11001600 {
918			compatible = "mediatek,mt8195-uart",
919				     "mediatek,mt6577-uart";
920			reg = <0 0x11001600 0 0x100>;
921			interrupts = <GIC_SPI 725 IRQ_TYPE_LEVEL_HIGH 0>;
922			clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART5>;
923			clock-names = "baud", "bus";
924			status = "disabled";
925		};
926
927		auxadc: auxadc@11002000 {
928			compatible = "mediatek,mt8195-auxadc",
929				     "mediatek,mt8173-auxadc";
930			reg = <0 0x11002000 0 0x1000>;
931			clocks = <&infracfg_ao CLK_INFRA_AO_AUXADC>;
932			clock-names = "main";
933			#io-channel-cells = <1>;
934			status = "disabled";
935		};
936
937		pericfg_ao: syscon@11003000 {
938			compatible = "mediatek,mt8195-pericfg_ao", "syscon";
939			reg = <0 0x11003000 0 0x1000>;
940			#clock-cells = <1>;
941		};
942
943		spi0: spi@1100a000 {
944			compatible = "mediatek,mt8195-spi",
945				     "mediatek,mt6765-spi";
946			#address-cells = <1>;
947			#size-cells = <0>;
948			reg = <0 0x1100a000 0 0x1000>;
949			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH 0>;
950			clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
951				 <&topckgen CLK_TOP_SPI>,
952				 <&infracfg_ao CLK_INFRA_AO_SPI0>;
953			clock-names = "parent-clk", "sel-clk", "spi-clk";
954			status = "disabled";
955		};
956
957		spi1: spi@11010000 {
958			compatible = "mediatek,mt8195-spi",
959				     "mediatek,mt6765-spi";
960			#address-cells = <1>;
961			#size-cells = <0>;
962			reg = <0 0x11010000 0 0x1000>;
963			interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH 0>;
964			clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
965				 <&topckgen CLK_TOP_SPI>,
966				 <&infracfg_ao CLK_INFRA_AO_SPI1>;
967			clock-names = "parent-clk", "sel-clk", "spi-clk";
968			status = "disabled";
969		};
970
971		spi2: spi@11012000 {
972			compatible = "mediatek,mt8195-spi",
973				     "mediatek,mt6765-spi";
974			#address-cells = <1>;
975			#size-cells = <0>;
976			reg = <0 0x11012000 0 0x1000>;
977			interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH 0>;
978			clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
979				 <&topckgen CLK_TOP_SPI>,
980				 <&infracfg_ao CLK_INFRA_AO_SPI2>;
981			clock-names = "parent-clk", "sel-clk", "spi-clk";
982			status = "disabled";
983		};
984
985		spi3: spi@11013000 {
986			compatible = "mediatek,mt8195-spi",
987				     "mediatek,mt6765-spi";
988			#address-cells = <1>;
989			#size-cells = <0>;
990			reg = <0 0x11013000 0 0x1000>;
991			interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH 0>;
992			clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
993				 <&topckgen CLK_TOP_SPI>,
994				 <&infracfg_ao CLK_INFRA_AO_SPI3>;
995			clock-names = "parent-clk", "sel-clk", "spi-clk";
996			status = "disabled";
997		};
998
999		spi4: spi@11018000 {
1000			compatible = "mediatek,mt8195-spi",
1001				     "mediatek,mt6765-spi";
1002			#address-cells = <1>;
1003			#size-cells = <0>;
1004			reg = <0 0x11018000 0 0x1000>;
1005			interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH 0>;
1006			clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
1007				 <&topckgen CLK_TOP_SPI>,
1008				 <&infracfg_ao CLK_INFRA_AO_SPI4>;
1009			clock-names = "parent-clk", "sel-clk", "spi-clk";
1010			status = "disabled";
1011		};
1012
1013		spi5: spi@11019000 {
1014			compatible = "mediatek,mt8195-spi",
1015				     "mediatek,mt6765-spi";
1016			#address-cells = <1>;
1017			#size-cells = <0>;
1018			reg = <0 0x11019000 0 0x1000>;
1019			interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH 0>;
1020			clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
1021				 <&topckgen CLK_TOP_SPI>,
1022				 <&infracfg_ao CLK_INFRA_AO_SPI5>;
1023			clock-names = "parent-clk", "sel-clk", "spi-clk";
1024			status = "disabled";
1025		};
1026
1027		spis0: spi@1101d000 {
1028			compatible = "mediatek,mt8195-spi-slave";
1029			reg = <0 0x1101d000 0 0x1000>;
1030			interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH 0>;
1031			clocks = <&infracfg_ao CLK_INFRA_AO_SPIS0>;
1032			clock-names = "spi";
1033			assigned-clocks = <&topckgen CLK_TOP_SPIS>;
1034			assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>;
1035			status = "disabled";
1036		};
1037
1038		spis1: spi@1101e000 {
1039			compatible = "mediatek,mt8195-spi-slave";
1040			reg = <0 0x1101e000 0 0x1000>;
1041			interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH 0>;
1042			clocks = <&infracfg_ao CLK_INFRA_AO_SPIS1>;
1043			clock-names = "spi";
1044			assigned-clocks = <&topckgen CLK_TOP_SPIS>;
1045			assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>;
1046			status = "disabled";
1047		};
1048
1049		xhci0: usb@11200000 {
1050			compatible = "mediatek,mt8195-xhci",
1051				     "mediatek,mtk-xhci";
1052			reg = <0 0x11200000 0 0x1000>,
1053			      <0 0x11203e00 0 0x0100>;
1054			reg-names = "mac", "ippc";
1055			interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH 0>;
1056			phys = <&u2port0 PHY_TYPE_USB2>,
1057			       <&u3port0 PHY_TYPE_USB3>;
1058			assigned-clocks = <&topckgen CLK_TOP_USB_TOP>,
1059					  <&topckgen CLK_TOP_SSUSB_XHCI>;
1060			assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
1061						 <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
1062			clocks = <&infracfg_ao CLK_INFRA_AO_SSUSB>,
1063				 <&topckgen CLK_TOP_SSUSB_REF>,
1064				 <&apmixedsys CLK_APMIXED_USB1PLL>,
1065				 <&clk26m>,
1066				 <&infracfg_ao CLK_INFRA_AO_SSUSB_XHCI>;
1067			clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
1068				      "xhci_ck";
1069			mediatek,syscon-wakeup = <&pericfg 0x400 103>;
1070			wakeup-source;
1071			status = "disabled";
1072		};
1073
1074		mmc0: mmc@11230000 {
1075			compatible = "mediatek,mt8195-mmc",
1076				     "mediatek,mt8183-mmc";
1077			reg = <0 0x11230000 0 0x10000>,
1078			      <0 0x11f50000 0 0x1000>;
1079			interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH 0>;
1080			clocks = <&topckgen CLK_TOP_MSDC50_0>,
1081				 <&infracfg_ao CLK_INFRA_AO_MSDC0>,
1082				 <&infracfg_ao CLK_INFRA_AO_MSDC0_SRC>;
1083			clock-names = "source", "hclk", "source_cg";
1084			status = "disabled";
1085		};
1086
1087		mmc1: mmc@11240000 {
1088			compatible = "mediatek,mt8195-mmc",
1089				     "mediatek,mt8183-mmc";
1090			reg = <0 0x11240000 0 0x1000>,
1091			      <0 0x11c70000 0 0x1000>;
1092			interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH 0>;
1093			clocks = <&topckgen CLK_TOP_MSDC30_1>,
1094				 <&infracfg_ao CLK_INFRA_AO_MSDC1>,
1095				 <&infracfg_ao CLK_INFRA_AO_MSDC1_SRC>;
1096			clock-names = "source", "hclk", "source_cg";
1097			assigned-clocks = <&topckgen CLK_TOP_MSDC30_1>;
1098			assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>;
1099			status = "disabled";
1100		};
1101
1102		mmc2: mmc@11250000 {
1103			compatible = "mediatek,mt8195-mmc",
1104				     "mediatek,mt8183-mmc";
1105			reg = <0 0x11250000 0 0x1000>,
1106			      <0 0x11e60000 0 0x1000>;
1107			interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH 0>;
1108			clocks = <&topckgen CLK_TOP_MSDC30_2>,
1109				 <&infracfg_ao CLK_INFRA_AO_CG1_MSDC2>,
1110				 <&infracfg_ao CLK_INFRA_AO_CG3_MSDC2>;
1111			clock-names = "source", "hclk", "source_cg";
1112			assigned-clocks = <&topckgen CLK_TOP_MSDC30_2>;
1113			assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>;
1114			status = "disabled";
1115		};
1116
1117		xhci1: usb@11290000 {
1118			compatible = "mediatek,mt8195-xhci",
1119				     "mediatek,mtk-xhci";
1120			reg = <0 0x11290000 0 0x1000>,
1121			      <0 0x11293e00 0 0x0100>;
1122			reg-names = "mac", "ippc";
1123			interrupts = <GIC_SPI 530 IRQ_TYPE_LEVEL_HIGH 0>;
1124			phys = <&u2port1 PHY_TYPE_USB2>;
1125			assigned-clocks = <&topckgen CLK_TOP_USB_TOP_1P>,
1126					  <&topckgen CLK_TOP_SSUSB_XHCI_1P>;
1127			assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
1128						 <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
1129			clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_1P_BUS>,
1130				 <&topckgen CLK_TOP_SSUSB_P1_REF>,
1131				 <&apmixedsys CLK_APMIXED_USB1PLL>,
1132				 <&clk26m>,
1133				 <&pericfg_ao CLK_PERI_AO_SSUSB_1P_XHCI>;
1134			clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
1135				      "xhci_ck";
1136			mediatek,syscon-wakeup = <&pericfg 0x400 104>;
1137			wakeup-source;
1138			status = "disabled";
1139		};
1140
1141		xhci2: usb@112a0000 {
1142			compatible = "mediatek,mt8195-xhci",
1143				     "mediatek,mtk-xhci";
1144			reg = <0 0x112a0000 0 0x1000>,
1145			      <0 0x112a3e00 0 0x0100>;
1146			reg-names = "mac", "ippc";
1147			interrupts = <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH 0>;
1148			phys = <&u2port2 PHY_TYPE_USB2>;
1149			assigned-clocks = <&topckgen CLK_TOP_USB_TOP_2P>,
1150					  <&topckgen CLK_TOP_SSUSB_XHCI_2P>;
1151			assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
1152						 <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
1153			clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_2P_BUS>,
1154				 <&topckgen CLK_TOP_SSUSB_P2_REF>,
1155				 <&clk26m>,
1156				 <&clk26m>,
1157				 <&pericfg_ao CLK_PERI_AO_SSUSB_2P_XHCI>;
1158			clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
1159				      "xhci_ck";
1160			mediatek,syscon-wakeup = <&pericfg 0x400 105>;
1161			wakeup-source;
1162			status = "disabled";
1163		};
1164
1165		xhci3: usb@112b0000 {
1166			compatible = "mediatek,mt8195-xhci",
1167				     "mediatek,mtk-xhci";
1168			reg = <0 0x112b0000 0 0x1000>,
1169			      <0 0x112b3e00 0 0x0100>;
1170			reg-names = "mac", "ippc";
1171			interrupts = <GIC_SPI 536 IRQ_TYPE_LEVEL_HIGH 0>;
1172			phys = <&u2port3 PHY_TYPE_USB2>;
1173			assigned-clocks = <&topckgen CLK_TOP_USB_TOP_3P>,
1174					  <&topckgen CLK_TOP_SSUSB_XHCI_3P>;
1175			assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
1176						 <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
1177			clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_3P_BUS>,
1178				 <&topckgen CLK_TOP_SSUSB_P3_REF>,
1179				 <&clk26m>,
1180				 <&clk26m>,
1181				 <&pericfg_ao CLK_PERI_AO_SSUSB_3P_XHCI>;
1182			clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
1183				      "xhci_ck";
1184			mediatek,syscon-wakeup = <&pericfg 0x400 106>;
1185			wakeup-source;
1186			status = "disabled";
1187		};
1188
1189		pcie0: pcie@112f0000 {
1190			compatible = "mediatek,mt8195-pcie",
1191				     "mediatek,mt8192-pcie";
1192			device_type = "pci";
1193			#address-cells = <3>;
1194			#size-cells = <2>;
1195			reg = <0 0x112f0000 0 0x4000>;
1196			reg-names = "pcie-mac";
1197			interrupts = <GIC_SPI 791 IRQ_TYPE_LEVEL_HIGH 0>;
1198			bus-range = <0x00 0xff>;
1199			ranges = <0x81000000 0 0x20000000
1200				  0x0 0x20000000 0 0x200000>,
1201				 <0x82000000 0 0x20200000
1202				  0x0 0x20200000 0 0x3e00000>;
1203
1204			iommu-map = <0 &iommu_infra IOMMU_PORT_INFRA_PCIE0 0x2>;
1205			iommu-map-mask = <0x0>;
1206
1207			clocks = <&infracfg_ao CLK_INFRA_AO_PCIE_PL_P_250M_P0>,
1208				 <&infracfg_ao CLK_INFRA_AO_PCIE_TL_26M>,
1209				 <&infracfg_ao CLK_INFRA_AO_PCIE_TL_96M>,
1210				 <&infracfg_ao CLK_INFRA_AO_PCIE_TL_32K>,
1211				 <&infracfg_ao CLK_INFRA_AO_PCIE_PERI_26M>,
1212				 <&pericfg_ao CLK_PERI_AO_PCIE_P0_MEM>;
1213			clock-names = "pl_250m", "tl_26m", "tl_96m",
1214				      "tl_32k", "peri_26m", "peri_mem";
1215			assigned-clocks = <&topckgen CLK_TOP_TL>;
1216			assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4_D4>;
1217
1218			phys = <&pciephy>;
1219			phy-names = "pcie-phy";
1220
1221			power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_MAC_P0>;
1222
1223			resets = <&infracfg_ao MT8195_INFRA_RST2_PCIE_P0_SWRST>;
1224			reset-names = "mac";
1225
1226			#interrupt-cells = <1>;
1227			interrupt-map-mask = <0 0 0 7>;
1228			interrupt-map = <0 0 0 1 &pcie_intc0 0>,
1229					<0 0 0 2 &pcie_intc0 1>,
1230					<0 0 0 3 &pcie_intc0 2>,
1231					<0 0 0 4 &pcie_intc0 3>;
1232			status = "disabled";
1233
1234			pcie_intc0: interrupt-controller {
1235				interrupt-controller;
1236				#address-cells = <0>;
1237				#interrupt-cells = <1>;
1238			};
1239		};
1240
1241		pcie1: pcie@112f8000 {
1242			compatible = "mediatek,mt8195-pcie",
1243				     "mediatek,mt8192-pcie";
1244			device_type = "pci";
1245			#address-cells = <3>;
1246			#size-cells = <2>;
1247			reg = <0 0x112f8000 0 0x4000>;
1248			reg-names = "pcie-mac";
1249			interrupts = <GIC_SPI 792 IRQ_TYPE_LEVEL_HIGH 0>;
1250			bus-range = <0x00 0xff>;
1251			ranges = <0x81000000 0 0x24000000
1252				  0x0 0x24000000 0 0x200000>,
1253				 <0x82000000 0 0x24200000
1254				  0x0 0x24200000 0 0x3e00000>;
1255
1256			iommu-map = <0 &iommu_infra IOMMU_PORT_INFRA_PCIE1 0x2>;
1257			iommu-map-mask = <0x0>;
1258
1259			clocks = <&infracfg_ao CLK_INFRA_AO_PCIE_PL_P_250M_P1>,
1260				 <&clk26m>,
1261				 <&infracfg_ao CLK_INFRA_AO_PCIE_TL_96M>,
1262				 <&clk26m>,
1263				 <&infracfg_ao CLK_INFRA_AO_PCIE_PERI_26M>,
1264				 /* Designer has connect pcie1 with peri_mem_p0 clock */
1265				 <&pericfg_ao CLK_PERI_AO_PCIE_P0_MEM>;
1266			clock-names = "pl_250m", "tl_26m", "tl_96m",
1267				      "tl_32k", "peri_26m", "peri_mem";
1268			assigned-clocks = <&topckgen CLK_TOP_TL_P1>;
1269			assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4_D4>;
1270
1271			phys = <&u3port1 PHY_TYPE_PCIE>;
1272			phy-names = "pcie-phy";
1273			power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_MAC_P1>;
1274
1275			resets = <&infracfg_ao MT8195_INFRA_RST2_PCIE_P1_SWRST>;
1276			reset-names = "mac";
1277
1278			#interrupt-cells = <1>;
1279			interrupt-map-mask = <0 0 0 7>;
1280			interrupt-map = <0 0 0 1 &pcie_intc1 0>,
1281					<0 0 0 2 &pcie_intc1 1>,
1282					<0 0 0 3 &pcie_intc1 2>,
1283					<0 0 0 4 &pcie_intc1 3>;
1284			status = "disabled";
1285
1286			pcie_intc1: interrupt-controller {
1287				interrupt-controller;
1288				#address-cells = <0>;
1289				#interrupt-cells = <1>;
1290			};
1291		};
1292
1293		nor_flash: spi@1132c000 {
1294			compatible = "mediatek,mt8195-nor",
1295				     "mediatek,mt8173-nor";
1296			reg = <0 0x1132c000 0 0x1000>;
1297			interrupts = <GIC_SPI 825 IRQ_TYPE_LEVEL_HIGH 0>;
1298			clocks = <&topckgen CLK_TOP_SPINOR>,
1299				 <&pericfg_ao CLK_PERI_AO_FLASHIF_FLASH>,
1300				 <&pericfg_ao CLK_PERI_AO_FLASHIF_BUS>;
1301			clock-names = "spi", "sf", "axi";
1302			#address-cells = <1>;
1303			#size-cells = <0>;
1304			status = "disabled";
1305		};
1306
1307		efuse: efuse@11c10000 {
1308			compatible = "mediatek,mt8195-efuse", "mediatek,efuse";
1309			reg = <0 0x11c10000 0 0x1000>;
1310			#address-cells = <1>;
1311			#size-cells = <1>;
1312			u3_tx_imp_p0: usb3-tx-imp@184,1 {
1313				reg = <0x184 0x1>;
1314				bits = <0 5>;
1315			};
1316			u3_rx_imp_p0: usb3-rx-imp@184,2 {
1317				reg = <0x184 0x2>;
1318				bits = <5 5>;
1319			};
1320			u3_intr_p0: usb3-intr@185 {
1321				reg = <0x185 0x1>;
1322				bits = <2 6>;
1323			};
1324			comb_tx_imp_p1: usb3-tx-imp@186,1 {
1325				reg = <0x186 0x1>;
1326				bits = <0 5>;
1327			};
1328			comb_rx_imp_p1: usb3-rx-imp@186,2 {
1329				reg = <0x186 0x2>;
1330				bits = <5 5>;
1331			};
1332			comb_intr_p1: usb3-intr@187 {
1333				reg = <0x187 0x1>;
1334				bits = <2 6>;
1335			};
1336			u2_intr_p0: usb2-intr-p0@188,1 {
1337				reg = <0x188 0x1>;
1338				bits = <0 5>;
1339			};
1340			u2_intr_p1: usb2-intr-p1@188,2 {
1341				reg = <0x188 0x2>;
1342				bits = <5 5>;
1343			};
1344			u2_intr_p2: usb2-intr-p2@189,1 {
1345				reg = <0x189 0x1>;
1346				bits = <2 5>;
1347			};
1348			u2_intr_p3: usb2-intr-p3@189,2 {
1349				reg = <0x189 0x2>;
1350				bits = <7 5>;
1351			};
1352			pciephy_rx_ln1: pciephy-rx-ln1@190,1 {
1353				reg = <0x190 0x1>;
1354				bits = <0 4>;
1355			};
1356			pciephy_tx_ln1_nmos: pciephy-tx-ln1-nmos@190,2 {
1357				reg = <0x190 0x1>;
1358				bits = <4 4>;
1359			};
1360			pciephy_tx_ln1_pmos: pciephy-tx-ln1-pmos@191,1 {
1361				reg = <0x191 0x1>;
1362				bits = <0 4>;
1363			};
1364			pciephy_rx_ln0: pciephy-rx-ln0@191,2 {
1365				reg = <0x191 0x1>;
1366				bits = <4 4>;
1367			};
1368			pciephy_tx_ln0_nmos: pciephy-tx-ln0-nmos@192,1 {
1369				reg = <0x192 0x1>;
1370				bits = <0 4>;
1371			};
1372			pciephy_tx_ln0_pmos: pciephy-tx-ln0-pmos@192,2 {
1373				reg = <0x192 0x1>;
1374				bits = <4 4>;
1375			};
1376			pciephy_glb_intr: pciephy-glb-intr@193 {
1377				reg = <0x193 0x1>;
1378				bits = <0 4>;
1379			};
1380			dp_calibration: dp-data@1ac {
1381				reg = <0x1ac 0x10>;
1382			};
1383		};
1384
1385		u3phy2: t-phy@11c40000 {
1386			compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
1387			#address-cells = <1>;
1388			#size-cells = <1>;
1389			ranges = <0 0 0x11c40000 0x700>;
1390			status = "disabled";
1391
1392			u2port2: usb-phy@0 {
1393				reg = <0x0 0x700>;
1394				clocks = <&topckgen CLK_TOP_SSUSB_PHY_P2_REF>;
1395				clock-names = "ref";
1396				#phy-cells = <1>;
1397			};
1398		};
1399
1400		u3phy3: t-phy@11c50000 {
1401			compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
1402			#address-cells = <1>;
1403			#size-cells = <1>;
1404			ranges = <0 0 0x11c50000 0x700>;
1405			status = "disabled";
1406
1407			u2port3: usb-phy@0 {
1408				reg = <0x0 0x700>;
1409				clocks = <&topckgen CLK_TOP_SSUSB_PHY_P3_REF>;
1410				clock-names = "ref";
1411				#phy-cells = <1>;
1412			};
1413		};
1414
1415		i2c5: i2c@11d00000 {
1416			compatible = "mediatek,mt8195-i2c",
1417				     "mediatek,mt8192-i2c";
1418			reg = <0 0x11d00000 0 0x1000>,
1419			      <0 0x10220580 0 0x80>;
1420			interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH 0>;
1421			clock-div = <1>;
1422			clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C5>,
1423				 <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1424			clock-names = "main", "dma";
1425			#address-cells = <1>;
1426			#size-cells = <0>;
1427			status = "disabled";
1428		};
1429
1430		i2c6: i2c@11d01000 {
1431			compatible = "mediatek,mt8195-i2c",
1432				     "mediatek,mt8192-i2c";
1433			reg = <0 0x11d01000 0 0x1000>,
1434			      <0 0x10220600 0 0x80>;
1435			interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH 0>;
1436			clock-div = <1>;
1437			clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C6>,
1438				 <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1439			clock-names = "main", "dma";
1440			#address-cells = <1>;
1441			#size-cells = <0>;
1442			status = "disabled";
1443		};
1444
1445		i2c7: i2c@11d02000 {
1446			compatible = "mediatek,mt8195-i2c",
1447				     "mediatek,mt8192-i2c";
1448			reg = <0 0x11d02000 0 0x1000>,
1449			      <0 0x10220680 0 0x80>;
1450			interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
1451			clock-div = <1>;
1452			clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>,
1453				 <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1454			clock-names = "main", "dma";
1455			#address-cells = <1>;
1456			#size-cells = <0>;
1457			status = "disabled";
1458		};
1459
1460		imp_iic_wrap_s: clock-controller@11d03000 {
1461			compatible = "mediatek,mt8195-imp_iic_wrap_s";
1462			reg = <0 0x11d03000 0 0x1000>;
1463			#clock-cells = <1>;
1464		};
1465
1466		i2c0: i2c@11e00000 {
1467			compatible = "mediatek,mt8195-i2c",
1468				     "mediatek,mt8192-i2c";
1469			reg = <0 0x11e00000 0 0x1000>,
1470			      <0 0x10220080 0 0x80>;
1471			interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH 0>;
1472			clock-div = <1>;
1473			clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C0>,
1474				 <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1475			clock-names = "main", "dma";
1476			#address-cells = <1>;
1477			#size-cells = <0>;
1478			status = "disabled";
1479		};
1480
1481		i2c1: i2c@11e01000 {
1482			compatible = "mediatek,mt8195-i2c",
1483				     "mediatek,mt8192-i2c";
1484			reg = <0 0x11e01000 0 0x1000>,
1485			      <0 0x10220200 0 0x80>;
1486			interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH 0>;
1487			clock-div = <1>;
1488			clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C1>,
1489				 <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1490			clock-names = "main", "dma";
1491			#address-cells = <1>;
1492			#size-cells = <0>;
1493			status = "disabled";
1494		};
1495
1496		i2c2: i2c@11e02000 {
1497			compatible = "mediatek,mt8195-i2c",
1498				     "mediatek,mt8192-i2c";
1499			reg = <0 0x11e02000 0 0x1000>,
1500			      <0 0x10220380 0 0x80>;
1501			interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH 0>;
1502			clock-div = <1>;
1503			clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C2>,
1504				 <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1505			clock-names = "main", "dma";
1506			#address-cells = <1>;
1507			#size-cells = <0>;
1508			status = "disabled";
1509		};
1510
1511		i2c3: i2c@11e03000 {
1512			compatible = "mediatek,mt8195-i2c",
1513				     "mediatek,mt8192-i2c";
1514			reg = <0 0x11e03000 0 0x1000>,
1515			      <0 0x10220480 0 0x80>;
1516			interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH 0>;
1517			clock-div = <1>;
1518			clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C3>,
1519				 <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1520			clock-names = "main", "dma";
1521			#address-cells = <1>;
1522			#size-cells = <0>;
1523			status = "disabled";
1524		};
1525
1526		i2c4: i2c@11e04000 {
1527			compatible = "mediatek,mt8195-i2c",
1528				     "mediatek,mt8192-i2c";
1529			reg = <0 0x11e04000 0 0x1000>,
1530			      <0 0x10220500 0 0x80>;
1531			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH 0>;
1532			clock-div = <1>;
1533			clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C4>,
1534				 <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
1535			clock-names = "main", "dma";
1536			#address-cells = <1>;
1537			#size-cells = <0>;
1538			status = "disabled";
1539		};
1540
1541		imp_iic_wrap_w: clock-controller@11e05000 {
1542			compatible = "mediatek,mt8195-imp_iic_wrap_w";
1543			reg = <0 0x11e05000 0 0x1000>;
1544			#clock-cells = <1>;
1545		};
1546
1547		u3phy1: t-phy@11e30000 {
1548			compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
1549			#address-cells = <1>;
1550			#size-cells = <1>;
1551			ranges = <0 0 0x11e30000 0xe00>;
1552			status = "disabled";
1553
1554			u2port1: usb-phy@0 {
1555				reg = <0x0 0x700>;
1556				clocks = <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>,
1557					 <&clk26m>;
1558				clock-names = "ref", "da_ref";
1559				#phy-cells = <1>;
1560			};
1561
1562			u3port1: usb-phy@700 {
1563				reg = <0x700 0x700>;
1564				clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>,
1565					 <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>;
1566				clock-names = "ref", "da_ref";
1567				nvmem-cells = <&comb_intr_p1>,
1568					      <&comb_rx_imp_p1>,
1569					      <&comb_tx_imp_p1>;
1570				nvmem-cell-names = "intr", "rx_imp", "tx_imp";
1571				#phy-cells = <1>;
1572			};
1573		};
1574
1575		u3phy0: t-phy@11e40000 {
1576			compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
1577			#address-cells = <1>;
1578			#size-cells = <1>;
1579			ranges = <0 0 0x11e40000 0xe00>;
1580			status = "disabled";
1581
1582			u2port0: usb-phy@0 {
1583				reg = <0x0 0x700>;
1584				clocks = <&topckgen CLK_TOP_SSUSB_PHY_REF>,
1585					 <&clk26m>;
1586				clock-names = "ref", "da_ref";
1587				#phy-cells = <1>;
1588			};
1589
1590			u3port0: usb-phy@700 {
1591				reg = <0x700 0x700>;
1592				clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>,
1593					 <&topckgen CLK_TOP_SSUSB_PHY_REF>;
1594				clock-names = "ref", "da_ref";
1595				nvmem-cells = <&u3_intr_p0>,
1596					      <&u3_rx_imp_p0>,
1597					      <&u3_tx_imp_p0>;
1598				nvmem-cell-names = "intr", "rx_imp", "tx_imp";
1599				#phy-cells = <1>;
1600			};
1601		};
1602
1603		pciephy: phy@11e80000 {
1604			compatible = "mediatek,mt8195-pcie-phy";
1605			reg = <0 0x11e80000 0 0x10000>;
1606			reg-names = "sif";
1607			nvmem-cells = <&pciephy_glb_intr>, <&pciephy_tx_ln0_pmos>,
1608				      <&pciephy_tx_ln0_nmos>, <&pciephy_rx_ln0>,
1609				      <&pciephy_tx_ln1_pmos>, <&pciephy_tx_ln1_nmos>,
1610				      <&pciephy_rx_ln1>;
1611			nvmem-cell-names = "glb_intr", "tx_ln0_pmos",
1612					   "tx_ln0_nmos", "rx_ln0",
1613					   "tx_ln1_pmos", "tx_ln1_nmos",
1614					   "rx_ln1";
1615			power-domains = <&spm MT8195_POWER_DOMAIN_PCIE_PHY>;
1616			#phy-cells = <0>;
1617			status = "disabled";
1618		};
1619
1620		ufsphy: ufs-phy@11fa0000 {
1621			compatible = "mediatek,mt8195-ufsphy", "mediatek,mt8183-ufsphy";
1622			reg = <0 0x11fa0000 0 0xc000>;
1623			clocks = <&clk26m>, <&clk26m>;
1624			clock-names = "unipro", "mp";
1625			#phy-cells = <0>;
1626			status = "disabled";
1627		};
1628
1629		mfgcfg: clock-controller@13fbf000 {
1630			compatible = "mediatek,mt8195-mfgcfg";
1631			reg = <0 0x13fbf000 0 0x1000>;
1632			#clock-cells = <1>;
1633		};
1634
1635		vppsys0: clock-controller@14000000 {
1636			compatible = "mediatek,mt8195-vppsys0";
1637			reg = <0 0x14000000 0 0x1000>;
1638			#clock-cells = <1>;
1639		};
1640
1641		smi_sub_common_vpp0_vpp1_2x1: smi@14010000 {
1642			compatible = "mediatek,mt8195-smi-sub-common";
1643			reg = <0 0x14010000 0 0x1000>;
1644			clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
1645			       <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
1646			       <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>;
1647			clock-names = "apb", "smi", "gals0";
1648			mediatek,smi = <&smi_common_vpp>;
1649			power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
1650		};
1651
1652		smi_sub_common_vdec_vpp0_2x1: smi@14011000 {
1653			compatible = "mediatek,mt8195-smi-sub-common";
1654			reg = <0 0x14011000 0 0x1000>;
1655			clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
1656				 <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
1657				 <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>;
1658			clock-names = "apb", "smi", "gals0";
1659			mediatek,smi = <&smi_common_vpp>;
1660			power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
1661		};
1662
1663		smi_common_vpp: smi@14012000 {
1664			compatible = "mediatek,mt8195-smi-common-vpp";
1665			reg = <0 0x14012000 0 0x1000>;
1666			clocks = <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>,
1667			       <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>,
1668			       <&vppsys0 CLK_VPP0_SMI_RSI>,
1669			       <&vppsys0 CLK_VPP0_SMI_RSI>;
1670			clock-names = "apb", "smi", "gals0", "gals1";
1671			power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
1672		};
1673
1674		larb4: larb@14013000 {
1675			compatible = "mediatek,mt8195-smi-larb";
1676			reg = <0 0x14013000 0 0x1000>;
1677			mediatek,larb-id = <4>;
1678			mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>;
1679			clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
1680			       <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>;
1681			clock-names = "apb", "smi";
1682			power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
1683		};
1684
1685		iommu_vpp: iommu@14018000 {
1686			compatible = "mediatek,mt8195-iommu-vpp";
1687			reg = <0 0x14018000 0 0x1000>;
1688			mediatek,larbs = <&larb1 &larb3 &larb4 &larb6 &larb8
1689					  &larb12 &larb14 &larb16 &larb18
1690					  &larb20 &larb22 &larb23 &larb26
1691					  &larb27>;
1692			interrupts = <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH 0>;
1693			clocks = <&vppsys0 CLK_VPP0_SMI_IOMMU>;
1694			clock-names = "bclk";
1695			#iommu-cells = <1>;
1696			power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
1697		};
1698
1699		wpesys: clock-controller@14e00000 {
1700			compatible = "mediatek,mt8195-wpesys";
1701			reg = <0 0x14e00000 0 0x1000>;
1702			#clock-cells = <1>;
1703		};
1704
1705		wpesys_vpp0: clock-controller@14e02000 {
1706			compatible = "mediatek,mt8195-wpesys_vpp0";
1707			reg = <0 0x14e02000 0 0x1000>;
1708			#clock-cells = <1>;
1709		};
1710
1711		wpesys_vpp1: clock-controller@14e03000 {
1712			compatible = "mediatek,mt8195-wpesys_vpp1";
1713			reg = <0 0x14e03000 0 0x1000>;
1714			#clock-cells = <1>;
1715		};
1716
1717		larb7: larb@14e04000 {
1718			compatible = "mediatek,mt8195-smi-larb";
1719			reg = <0 0x14e04000 0 0x1000>;
1720			mediatek,larb-id = <7>;
1721			mediatek,smi = <&smi_common_vdo>;
1722			clocks = <&wpesys CLK_WPE_SMI_LARB7>,
1723				 <&wpesys CLK_WPE_SMI_LARB7>;
1724			clock-names = "apb", "smi";
1725			power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>;
1726		};
1727
1728		larb8: larb@14e05000 {
1729			compatible = "mediatek,mt8195-smi-larb";
1730			reg = <0 0x14e05000 0 0x1000>;
1731			mediatek,larb-id = <8>;
1732			mediatek,smi = <&smi_common_vpp>;
1733			clocks = <&wpesys CLK_WPE_SMI_LARB8>,
1734			       <&wpesys CLK_WPE_SMI_LARB8>,
1735			       <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>;
1736			clock-names = "apb", "smi", "gals";
1737			power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>;
1738		};
1739
1740		vppsys1: clock-controller@14f00000 {
1741			compatible = "mediatek,mt8195-vppsys1";
1742			reg = <0 0x14f00000 0 0x1000>;
1743			#clock-cells = <1>;
1744		};
1745
1746		larb5: larb@14f02000 {
1747			compatible = "mediatek,mt8195-smi-larb";
1748			reg = <0 0x14f02000 0 0x1000>;
1749			mediatek,larb-id = <5>;
1750			mediatek,smi = <&smi_common_vdo>;
1751			clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>,
1752			       <&vppsys1 CLK_VPP1_VPPSYS1_GALS>,
1753			       <&vppsys0 CLK_VPP0_GALS_VPP1_LARB5>;
1754			clock-names = "apb", "smi", "gals";
1755			power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>;
1756		};
1757
1758		larb6: larb@14f03000 {
1759			compatible = "mediatek,mt8195-smi-larb";
1760			reg = <0 0x14f03000 0 0x1000>;
1761			mediatek,larb-id = <6>;
1762			mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>;
1763			clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>,
1764			       <&vppsys1 CLK_VPP1_VPPSYS1_GALS>,
1765			       <&vppsys0 CLK_VPP0_GALS_VPP1_LARB6>;
1766			clock-names = "apb", "smi", "gals";
1767			power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>;
1768		};
1769
1770		imgsys: clock-controller@15000000 {
1771			compatible = "mediatek,mt8195-imgsys";
1772			reg = <0 0x15000000 0 0x1000>;
1773			#clock-cells = <1>;
1774		};
1775
1776		larb9: larb@15001000 {
1777			compatible = "mediatek,mt8195-smi-larb";
1778			reg = <0 0x15001000 0 0x1000>;
1779			mediatek,larb-id = <9>;
1780			mediatek,smi = <&smi_sub_common_img1_3x1>;
1781			clocks = <&imgsys CLK_IMG_LARB9>,
1782				 <&imgsys CLK_IMG_LARB9>,
1783				 <&imgsys CLK_IMG_GALS>;
1784			clock-names = "apb", "smi", "gals";
1785			power-domains = <&spm MT8195_POWER_DOMAIN_IMG>;
1786		};
1787
1788		smi_sub_common_img0_3x1: smi@15002000 {
1789			compatible = "mediatek,mt8195-smi-sub-common";
1790			reg = <0 0x15002000 0 0x1000>;
1791			clocks = <&imgsys CLK_IMG_IPE>,
1792				 <&imgsys CLK_IMG_IPE>,
1793				 <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>;
1794			clock-names = "apb", "smi", "gals0";
1795			mediatek,smi = <&smi_common_vpp>;
1796			power-domains = <&spm MT8195_POWER_DOMAIN_IMG>;
1797		};
1798
1799		smi_sub_common_img1_3x1: smi@15003000 {
1800			compatible = "mediatek,mt8195-smi-sub-common";
1801			reg = <0 0x15003000 0 0x1000>;
1802			clocks = <&imgsys CLK_IMG_LARB9>,
1803				 <&imgsys CLK_IMG_LARB9>,
1804				 <&imgsys CLK_IMG_GALS>;
1805			clock-names = "apb", "smi", "gals0";
1806			mediatek,smi = <&smi_common_vdo>;
1807			power-domains = <&spm MT8195_POWER_DOMAIN_IMG>;
1808		};
1809
1810		imgsys1_dip_top: clock-controller@15110000 {
1811			compatible = "mediatek,mt8195-imgsys1_dip_top";
1812			reg = <0 0x15110000 0 0x1000>;
1813			#clock-cells = <1>;
1814		};
1815
1816		larb10: larb@15120000 {
1817			compatible = "mediatek,mt8195-smi-larb";
1818			reg = <0 0x15120000 0 0x1000>;
1819			mediatek,larb-id = <10>;
1820			mediatek,smi = <&smi_sub_common_img1_3x1>;
1821			clocks = <&imgsys CLK_IMG_DIP0>,
1822			       <&imgsys1_dip_top CLK_IMG1_DIP_TOP_LARB10>;
1823			clock-names = "apb", "smi";
1824			power-domains = <&spm MT8195_POWER_DOMAIN_DIP>;
1825		};
1826
1827		imgsys1_dip_nr: clock-controller@15130000 {
1828			compatible = "mediatek,mt8195-imgsys1_dip_nr";
1829			reg = <0 0x15130000 0 0x1000>;
1830			#clock-cells = <1>;
1831		};
1832
1833		imgsys1_wpe: clock-controller@15220000 {
1834			compatible = "mediatek,mt8195-imgsys1_wpe";
1835			reg = <0 0x15220000 0 0x1000>;
1836			#clock-cells = <1>;
1837		};
1838
1839		larb11: larb@15230000 {
1840			compatible = "mediatek,mt8195-smi-larb";
1841			reg = <0 0x15230000 0 0x1000>;
1842			mediatek,larb-id = <11>;
1843			mediatek,smi = <&smi_sub_common_img1_3x1>;
1844			clocks = <&imgsys CLK_IMG_WPE0>,
1845			       <&imgsys1_wpe CLK_IMG1_WPE_LARB11>;
1846			clock-names = "apb", "smi";
1847			power-domains = <&spm MT8195_POWER_DOMAIN_DIP>;
1848		};
1849
1850		ipesys: clock-controller@15330000 {
1851			compatible = "mediatek,mt8195-ipesys";
1852			reg = <0 0x15330000 0 0x1000>;
1853			#clock-cells = <1>;
1854		};
1855
1856		larb12: larb@15340000 {
1857			compatible = "mediatek,mt8195-smi-larb";
1858			reg = <0 0x15340000 0 0x1000>;
1859			mediatek,larb-id = <12>;
1860			mediatek,smi = <&smi_sub_common_img0_3x1>;
1861			clocks = <&ipesys CLK_IPE_SMI_LARB12>,
1862				 <&ipesys CLK_IPE_SMI_LARB12>;
1863			clock-names = "apb", "smi";
1864			power-domains = <&spm MT8195_POWER_DOMAIN_IPE>;
1865		};
1866
1867		camsys: clock-controller@16000000 {
1868			compatible = "mediatek,mt8195-camsys";
1869			reg = <0 0x16000000 0 0x1000>;
1870			#clock-cells = <1>;
1871		};
1872
1873		larb13: larb@16001000 {
1874			compatible = "mediatek,mt8195-smi-larb";
1875			reg = <0 0x16001000 0 0x1000>;
1876			mediatek,larb-id = <13>;
1877			mediatek,smi = <&smi_sub_common_cam_4x1>;
1878			clocks = <&camsys CLK_CAM_LARB13>,
1879			       <&camsys CLK_CAM_LARB13>,
1880			       <&camsys CLK_CAM_CAM2MM0_GALS>;
1881			clock-names = "apb", "smi", "gals";
1882			power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
1883		};
1884
1885		larb14: larb@16002000 {
1886			compatible = "mediatek,mt8195-smi-larb";
1887			reg = <0 0x16002000 0 0x1000>;
1888			mediatek,larb-id = <14>;
1889			mediatek,smi = <&smi_sub_common_cam_7x1>;
1890			clocks = <&camsys CLK_CAM_LARB14>,
1891				 <&camsys CLK_CAM_LARB14>;
1892			clock-names = "apb", "smi";
1893			power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
1894		};
1895
1896		smi_sub_common_cam_4x1: smi@16004000 {
1897			compatible = "mediatek,mt8195-smi-sub-common";
1898			reg = <0 0x16004000 0 0x1000>;
1899			clocks = <&camsys CLK_CAM_LARB13>,
1900				 <&camsys CLK_CAM_LARB13>,
1901				 <&camsys CLK_CAM_CAM2MM0_GALS>;
1902			clock-names = "apb", "smi", "gals0";
1903			mediatek,smi = <&smi_common_vdo>;
1904			power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
1905		};
1906
1907		smi_sub_common_cam_7x1: smi@16005000 {
1908			compatible = "mediatek,mt8195-smi-sub-common";
1909			reg = <0 0x16005000 0 0x1000>;
1910			clocks = <&camsys CLK_CAM_LARB14>,
1911				 <&camsys CLK_CAM_CAM2MM1_GALS>,
1912				 <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>;
1913			clock-names = "apb", "smi", "gals0";
1914			mediatek,smi = <&smi_common_vpp>;
1915			power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
1916		};
1917
1918		larb16: larb@16012000 {
1919			compatible = "mediatek,mt8195-smi-larb";
1920			reg = <0 0x16012000 0 0x1000>;
1921			mediatek,larb-id = <16>;
1922			mediatek,smi = <&smi_sub_common_cam_7x1>;
1923			clocks = <&camsys_rawa CLK_CAM_RAWA_LARBX>,
1924				 <&camsys_rawa CLK_CAM_RAWA_LARBX>;
1925			clock-names = "apb", "smi";
1926			power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>;
1927		};
1928
1929		larb17: larb@16013000 {
1930			compatible = "mediatek,mt8195-smi-larb";
1931			reg = <0 0x16013000 0 0x1000>;
1932			mediatek,larb-id = <17>;
1933			mediatek,smi = <&smi_sub_common_cam_4x1>;
1934			clocks = <&camsys_yuva CLK_CAM_YUVA_LARBX>,
1935				 <&camsys_yuva CLK_CAM_YUVA_LARBX>;
1936			clock-names = "apb", "smi";
1937			power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>;
1938		};
1939
1940		larb27: larb@16014000 {
1941			compatible = "mediatek,mt8195-smi-larb";
1942			reg = <0 0x16014000 0 0x1000>;
1943			mediatek,larb-id = <27>;
1944			mediatek,smi = <&smi_sub_common_cam_7x1>;
1945			clocks = <&camsys_rawb CLK_CAM_RAWB_LARBX>,
1946				 <&camsys_rawb CLK_CAM_RAWB_LARBX>;
1947			clock-names = "apb", "smi";
1948			power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>;
1949		};
1950
1951		larb28: larb@16015000 {
1952			compatible = "mediatek,mt8195-smi-larb";
1953			reg = <0 0x16015000 0 0x1000>;
1954			mediatek,larb-id = <28>;
1955			mediatek,smi = <&smi_sub_common_cam_4x1>;
1956			clocks = <&camsys_yuvb CLK_CAM_YUVB_LARBX>,
1957				 <&camsys_yuvb CLK_CAM_YUVB_LARBX>;
1958			clock-names = "apb", "smi";
1959			power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>;
1960		};
1961
1962		camsys_rawa: clock-controller@1604f000 {
1963			compatible = "mediatek,mt8195-camsys_rawa";
1964			reg = <0 0x1604f000 0 0x1000>;
1965			#clock-cells = <1>;
1966		};
1967
1968		camsys_yuva: clock-controller@1606f000 {
1969			compatible = "mediatek,mt8195-camsys_yuva";
1970			reg = <0 0x1606f000 0 0x1000>;
1971			#clock-cells = <1>;
1972		};
1973
1974		camsys_rawb: clock-controller@1608f000 {
1975			compatible = "mediatek,mt8195-camsys_rawb";
1976			reg = <0 0x1608f000 0 0x1000>;
1977			#clock-cells = <1>;
1978		};
1979
1980		camsys_yuvb: clock-controller@160af000 {
1981			compatible = "mediatek,mt8195-camsys_yuvb";
1982			reg = <0 0x160af000 0 0x1000>;
1983			#clock-cells = <1>;
1984		};
1985
1986		camsys_mraw: clock-controller@16140000 {
1987			compatible = "mediatek,mt8195-camsys_mraw";
1988			reg = <0 0x16140000 0 0x1000>;
1989			#clock-cells = <1>;
1990		};
1991
1992		larb25: larb@16141000 {
1993			compatible = "mediatek,mt8195-smi-larb";
1994			reg = <0 0x16141000 0 0x1000>;
1995			mediatek,larb-id = <25>;
1996			mediatek,smi = <&smi_sub_common_cam_4x1>;
1997			clocks = <&camsys CLK_CAM_LARB13>,
1998				 <&camsys_mraw CLK_CAM_MRAW_LARBX>,
1999				 <&camsys CLK_CAM_CAM2MM0_GALS>;
2000			clock-names = "apb", "smi", "gals";
2001			power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>;
2002		};
2003
2004		larb26: larb@16142000 {
2005			compatible = "mediatek,mt8195-smi-larb";
2006			reg = <0 0x16142000 0 0x1000>;
2007			mediatek,larb-id = <26>;
2008			mediatek,smi = <&smi_sub_common_cam_7x1>;
2009			clocks = <&camsys_mraw CLK_CAM_MRAW_LARBX>,
2010				 <&camsys_mraw CLK_CAM_MRAW_LARBX>;
2011			clock-names = "apb", "smi";
2012			power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>;
2013
2014		};
2015
2016		ccusys: clock-controller@17200000 {
2017			compatible = "mediatek,mt8195-ccusys";
2018			reg = <0 0x17200000 0 0x1000>;
2019			#clock-cells = <1>;
2020		};
2021
2022		larb18: larb@17201000 {
2023			compatible = "mediatek,mt8195-smi-larb";
2024			reg = <0 0x17201000 0 0x1000>;
2025			mediatek,larb-id = <18>;
2026			mediatek,smi = <&smi_sub_common_cam_7x1>;
2027			clocks = <&ccusys CLK_CCU_LARB18>,
2028				 <&ccusys CLK_CCU_LARB18>;
2029			clock-names = "apb", "smi";
2030			power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
2031		};
2032
2033		larb24: larb@1800d000 {
2034			compatible = "mediatek,mt8195-smi-larb";
2035			reg = <0 0x1800d000 0 0x1000>;
2036			mediatek,larb-id = <24>;
2037			mediatek,smi = <&smi_common_vdo>;
2038			clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
2039				 <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
2040			clock-names = "apb", "smi";
2041			power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>;
2042		};
2043
2044		larb23: larb@1800e000 {
2045			compatible = "mediatek,mt8195-smi-larb";
2046			reg = <0 0x1800e000 0 0x1000>;
2047			mediatek,larb-id = <23>;
2048			mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>;
2049			clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
2050				 <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
2051			clock-names = "apb", "smi";
2052			power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>;
2053		};
2054
2055		vdecsys_soc: clock-controller@1800f000 {
2056			compatible = "mediatek,mt8195-vdecsys_soc";
2057			reg = <0 0x1800f000 0 0x1000>;
2058			#clock-cells = <1>;
2059		};
2060
2061		larb21: larb@1802e000 {
2062			compatible = "mediatek,mt8195-smi-larb";
2063			reg = <0 0x1802e000 0 0x1000>;
2064			mediatek,larb-id = <21>;
2065			mediatek,smi = <&smi_common_vdo>;
2066			clocks = <&vdecsys CLK_VDEC_LARB1>,
2067				 <&vdecsys CLK_VDEC_LARB1>;
2068			clock-names = "apb", "smi";
2069			power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>;
2070		};
2071
2072		vdecsys: clock-controller@1802f000 {
2073			compatible = "mediatek,mt8195-vdecsys";
2074			reg = <0 0x1802f000 0 0x1000>;
2075			#clock-cells = <1>;
2076		};
2077
2078		larb22: larb@1803e000 {
2079			compatible = "mediatek,mt8195-smi-larb";
2080			reg = <0 0x1803e000 0 0x1000>;
2081			mediatek,larb-id = <22>;
2082			mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>;
2083			clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
2084				 <&vdecsys_core1 CLK_VDEC_CORE1_LARB1>;
2085			clock-names = "apb", "smi";
2086			power-domains = <&spm MT8195_POWER_DOMAIN_VDEC2>;
2087		};
2088
2089		vdecsys_core1: clock-controller@1803f000 {
2090			compatible = "mediatek,mt8195-vdecsys_core1";
2091			reg = <0 0x1803f000 0 0x1000>;
2092			#clock-cells = <1>;
2093		};
2094
2095		apusys_pll: clock-controller@190f3000 {
2096			compatible = "mediatek,mt8195-apusys_pll";
2097			reg = <0 0x190f3000 0 0x1000>;
2098			#clock-cells = <1>;
2099		};
2100
2101		vencsys: clock-controller@1a000000 {
2102			compatible = "mediatek,mt8195-vencsys";
2103			reg = <0 0x1a000000 0 0x1000>;
2104			#clock-cells = <1>;
2105		};
2106
2107		larb19: larb@1a010000 {
2108			compatible = "mediatek,mt8195-smi-larb";
2109			reg = <0 0x1a010000 0 0x1000>;
2110			mediatek,larb-id = <19>;
2111			mediatek,smi = <&smi_common_vdo>;
2112			clocks = <&vencsys CLK_VENC_VENC>,
2113				 <&vencsys CLK_VENC_GALS>;
2114			clock-names = "apb", "smi";
2115			power-domains = <&spm MT8195_POWER_DOMAIN_VENC>;
2116		};
2117
2118		venc: video-codec@1a020000 {
2119			compatible = "mediatek,mt8195-vcodec-enc";
2120			reg = <0 0x1a020000 0 0x10000>;
2121			iommus = <&iommu_vdo M4U_PORT_L19_VENC_RCPU>,
2122				 <&iommu_vdo M4U_PORT_L19_VENC_REC>,
2123				 <&iommu_vdo M4U_PORT_L19_VENC_BSDMA>,
2124				 <&iommu_vdo M4U_PORT_L19_VENC_SV_COMV>,
2125				 <&iommu_vdo M4U_PORT_L19_VENC_RD_COMV>,
2126				 <&iommu_vdo M4U_PORT_L19_VENC_CUR_LUMA>,
2127				 <&iommu_vdo M4U_PORT_L19_VENC_CUR_CHROMA>,
2128				 <&iommu_vdo M4U_PORT_L19_VENC_REF_LUMA>,
2129				 <&iommu_vdo M4U_PORT_L19_VENC_REF_CHROMA>;
2130			interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH 0>;
2131			mediatek,scp = <&scp>;
2132			clocks = <&vencsys CLK_VENC_VENC>;
2133			clock-names = "venc_sel";
2134			assigned-clocks = <&topckgen CLK_TOP_VENC>;
2135			assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>;
2136			power-domains = <&spm MT8195_POWER_DOMAIN_VENC>;
2137			#address-cells = <2>;
2138			#size-cells = <2>;
2139			dma-ranges = <0x1 0x0 0x0 0x40000000 0x0 0xfff00000>;
2140		};
2141
2142		vencsys_core1: clock-controller@1b000000 {
2143			compatible = "mediatek,mt8195-vencsys_core1";
2144			reg = <0 0x1b000000 0 0x1000>;
2145			#clock-cells = <1>;
2146		};
2147
2148		vdosys0: syscon@1c01a000 {
2149			compatible = "mediatek,mt8195-mmsys", "syscon";
2150			reg = <0 0x1c01a000 0 0x1000>;
2151			mboxes = <&gce0 0 CMDQ_THR_PRIO_4>;
2152			#clock-cells = <1>;
2153		};
2154
2155		larb20: larb@1b010000 {
2156			compatible = "mediatek,mt8195-smi-larb";
2157			reg = <0 0x1b010000 0 0x1000>;
2158			mediatek,larb-id = <20>;
2159			mediatek,smi = <&smi_common_vpp>;
2160			clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>,
2161				 <&vencsys_core1 CLK_VENC_CORE1_GALS>,
2162				 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
2163			clock-names = "apb", "smi", "gals";
2164			power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>;
2165		};
2166
2167		ovl0: ovl@1c000000 {
2168			compatible = "mediatek,mt8195-disp-ovl", "mediatek,mt8183-disp-ovl";
2169			reg = <0 0x1c000000 0 0x1000>;
2170			interrupts = <GIC_SPI 636 IRQ_TYPE_LEVEL_HIGH 0>;
2171			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2172			clocks = <&vdosys0 CLK_VDO0_DISP_OVL0>;
2173			iommus = <&iommu_vdo M4U_PORT_L0_DISP_OVL0_RDMA0>;
2174			mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x0000 0x1000>;
2175		};
2176
2177		rdma0: rdma@1c002000 {
2178			compatible = "mediatek,mt8195-disp-rdma";
2179			reg = <0 0x1c002000 0 0x1000>;
2180			interrupts = <GIC_SPI 638 IRQ_TYPE_LEVEL_HIGH 0>;
2181			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2182			clocks = <&vdosys0 CLK_VDO0_DISP_RDMA0>;
2183			iommus = <&iommu_vdo M4U_PORT_L0_DISP_RDMA0>;
2184			mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x2000 0x1000>;
2185		};
2186
2187		color0: color@1c003000 {
2188			compatible = "mediatek,mt8195-disp-color", "mediatek,mt8173-disp-color";
2189			reg = <0 0x1c003000 0 0x1000>;
2190			interrupts = <GIC_SPI 639 IRQ_TYPE_LEVEL_HIGH 0>;
2191			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2192			clocks = <&vdosys0 CLK_VDO0_DISP_COLOR0>;
2193			mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x3000 0x1000>;
2194		};
2195
2196		ccorr0: ccorr@1c004000 {
2197			compatible = "mediatek,mt8195-disp-ccorr", "mediatek,mt8192-disp-ccorr";
2198			reg = <0 0x1c004000 0 0x1000>;
2199			interrupts = <GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH 0>;
2200			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2201			clocks = <&vdosys0 CLK_VDO0_DISP_CCORR0>;
2202			mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x4000 0x1000>;
2203		};
2204
2205		aal0: aal@1c005000 {
2206			compatible = "mediatek,mt8195-disp-aal", "mediatek,mt8183-disp-aal";
2207			reg = <0 0x1c005000 0 0x1000>;
2208			interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH 0>;
2209			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2210			clocks = <&vdosys0 CLK_VDO0_DISP_AAL0>;
2211			mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x5000 0x1000>;
2212		};
2213
2214		gamma0: gamma@1c006000 {
2215			compatible = "mediatek,mt8195-disp-gamma", "mediatek,mt8183-disp-gamma";
2216			reg = <0 0x1c006000 0 0x1000>;
2217			interrupts = <GIC_SPI 642 IRQ_TYPE_LEVEL_HIGH 0>;
2218			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2219			clocks = <&vdosys0 CLK_VDO0_DISP_GAMMA0>;
2220			mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x6000 0x1000>;
2221		};
2222
2223		dither0: dither@1c007000 {
2224			compatible = "mediatek,mt8195-disp-dither", "mediatek,mt8183-disp-dither";
2225			reg = <0 0x1c007000 0 0x1000>;
2226			interrupts = <GIC_SPI 643 IRQ_TYPE_LEVEL_HIGH 0>;
2227			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2228			clocks = <&vdosys0 CLK_VDO0_DISP_DITHER0>;
2229			mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x7000 0x1000>;
2230		};
2231
2232		dsc0: dsc@1c009000 {
2233			compatible = "mediatek,mt8195-disp-dsc";
2234			reg = <0 0x1c009000 0 0x1000>;
2235			interrupts = <GIC_SPI 645 IRQ_TYPE_LEVEL_HIGH 0>;
2236			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2237			clocks = <&vdosys0 CLK_VDO0_DSC_WRAP0>;
2238			mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x9000 0x1000>;
2239		};
2240
2241		merge0: merge@1c014000 {
2242			compatible = "mediatek,mt8195-disp-merge";
2243			reg = <0 0x1c014000 0 0x1000>;
2244			interrupts = <GIC_SPI 656 IRQ_TYPE_LEVEL_HIGH 0>;
2245			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2246			clocks = <&vdosys0 CLK_VDO0_VPP_MERGE0>;
2247			mediatek,gce-client-reg = <&gce0 SUBSYS_1c01XXXX 0x4000 0x1000>;
2248		};
2249
2250		dp_intf0: dp-intf@1c015000 {
2251			compatible = "mediatek,mt8195-dp-intf";
2252			reg = <0 0x1c015000 0 0x1000>;
2253			interrupts = <GIC_SPI 657 IRQ_TYPE_LEVEL_HIGH 0>;
2254			clocks = <&vdosys0  CLK_VDO0_DP_INTF0>,
2255				 <&vdosys0 CLK_VDO0_DP_INTF0_DP_INTF>,
2256				 <&apmixedsys CLK_APMIXED_TVDPLL1>;
2257			clock-names = "engine", "pixel", "pll";
2258			status = "disabled";
2259		};
2260
2261		mutex: mutex@1c016000 {
2262			compatible = "mediatek,mt8195-disp-mutex";
2263			reg = <0 0x1c016000 0 0x1000>;
2264			interrupts = <GIC_SPI 658 IRQ_TYPE_LEVEL_HIGH 0>;
2265			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2266			clocks = <&vdosys0 CLK_VDO0_DISP_MUTEX0>;
2267			mediatek,gce-events = <CMDQ_EVENT_VDO0_DISP_STREAM_DONE_0>;
2268		};
2269
2270		larb0: larb@1c018000 {
2271			compatible = "mediatek,mt8195-smi-larb";
2272			reg = <0 0x1c018000 0 0x1000>;
2273			mediatek,larb-id = <0>;
2274			mediatek,smi = <&smi_common_vdo>;
2275			clocks = <&vdosys0 CLK_VDO0_SMI_LARB>,
2276				 <&vdosys0 CLK_VDO0_SMI_LARB>,
2277				 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB0>;
2278			clock-names = "apb", "smi", "gals";
2279			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2280		};
2281
2282		larb1: larb@1c019000 {
2283			compatible = "mediatek,mt8195-smi-larb";
2284			reg = <0 0x1c019000 0 0x1000>;
2285			mediatek,larb-id = <1>;
2286			mediatek,smi = <&smi_common_vpp>;
2287			clocks = <&vdosys0 CLK_VDO0_SMI_LARB>,
2288				 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>,
2289				 <&vppsys0 CLK_VPP0_GALS_VDO0_LARB1>;
2290			clock-names = "apb", "smi", "gals";
2291			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2292		};
2293
2294		vdosys1: syscon@1c100000 {
2295			compatible = "mediatek,mt8195-mmsys", "syscon";
2296			reg = <0 0x1c100000 0 0x1000>;
2297			#clock-cells = <1>;
2298		};
2299
2300		smi_common_vdo: smi@1c01b000 {
2301			compatible = "mediatek,mt8195-smi-common-vdo";
2302			reg = <0 0x1c01b000 0 0x1000>;
2303			clocks = <&vdosys0 CLK_VDO0_SMI_COMMON>,
2304				 <&vdosys0 CLK_VDO0_SMI_EMI>,
2305				 <&vdosys0 CLK_VDO0_SMI_RSI>,
2306				 <&vdosys0 CLK_VDO0_SMI_GALS>;
2307			clock-names = "apb", "smi", "gals0", "gals1";
2308			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2309
2310		};
2311
2312		iommu_vdo: iommu@1c01f000 {
2313			compatible = "mediatek,mt8195-iommu-vdo";
2314			reg = <0 0x1c01f000 0 0x1000>;
2315			mediatek,larbs = <&larb0 &larb2 &larb5 &larb7 &larb9
2316					  &larb10 &larb11 &larb13 &larb17
2317					  &larb19 &larb21 &larb24 &larb25
2318					  &larb28>;
2319			interrupts = <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH 0>;
2320			#iommu-cells = <1>;
2321			clocks = <&vdosys0 CLK_VDO0_SMI_IOMMU>;
2322			clock-names = "bclk";
2323			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
2324		};
2325
2326		larb2: larb@1c102000 {
2327			compatible = "mediatek,mt8195-smi-larb";
2328			reg = <0 0x1c102000 0 0x1000>;
2329			mediatek,larb-id = <2>;
2330			mediatek,smi = <&smi_common_vdo>;
2331			clocks = <&vdosys1 CLK_VDO1_SMI_LARB2>,
2332				 <&vdosys1 CLK_VDO1_SMI_LARB2>,
2333				 <&vdosys1 CLK_VDO1_GALS>;
2334			clock-names = "apb", "smi", "gals";
2335			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2336		};
2337
2338		larb3: larb@1c103000 {
2339			compatible = "mediatek,mt8195-smi-larb";
2340			reg = <0 0x1c103000 0 0x1000>;
2341			mediatek,larb-id = <3>;
2342			mediatek,smi = <&smi_common_vpp>;
2343			clocks = <&vdosys1 CLK_VDO1_SMI_LARB3>,
2344				 <&vdosys1 CLK_VDO1_GALS>,
2345				 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
2346			clock-names = "apb", "smi", "gals";
2347			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2348		};
2349
2350		dp_intf1: dp-intf@1c113000 {
2351			compatible = "mediatek,mt8195-dp-intf";
2352			reg = <0 0x1c113000 0 0x1000>;
2353			interrupts = <GIC_SPI 513 IRQ_TYPE_LEVEL_HIGH 0>;
2354			power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
2355			clocks = <&vdosys1 CLK_VDO1_DP_INTF0_MM>,
2356				 <&vdosys1 CLK_VDO1_DPINTF>,
2357				 <&apmixedsys CLK_APMIXED_TVDPLL2>;
2358			clock-names = "engine", "pixel", "pll";
2359			status = "disabled";
2360		};
2361
2362		edp_tx: edp-tx@1c500000 {
2363			compatible = "mediatek,mt8195-edp-tx";
2364			reg = <0 0x1c500000 0 0x8000>;
2365			nvmem-cells = <&dp_calibration>;
2366			nvmem-cell-names = "dp_calibration_data";
2367			power-domains = <&spm MT8195_POWER_DOMAIN_EPD_TX>;
2368			interrupts = <GIC_SPI 676 IRQ_TYPE_LEVEL_HIGH 0>;
2369			max-linkrate-mhz = <8100>;
2370			status = "disabled";
2371		};
2372
2373		dp_tx: dp-tx@1c600000 {
2374			compatible = "mediatek,mt8195-dp-tx";
2375			reg = <0 0x1c600000 0 0x8000>;
2376			nvmem-cells = <&dp_calibration>;
2377			nvmem-cell-names = "dp_calibration_data";
2378			power-domains = <&spm MT8195_POWER_DOMAIN_DP_TX>;
2379			interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH 0>;
2380			max-linkrate-mhz = <8100>;
2381			status = "disabled";
2382		};
2383	};
2384};
2385