xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/mediatek/mt8183.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (c) 2018 MediaTek Inc.
4*4882a593Smuzhiyun * Author: Ben Ho <ben.ho@mediatek.com>
5*4882a593Smuzhiyun *	   Erin Lo <erin.lo@mediatek.com>
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun#include <dt-bindings/clock/mt8183-clk.h>
9*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
10*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
11*4882a593Smuzhiyun#include <dt-bindings/reset-controller/mt8183-resets.h>
12*4882a593Smuzhiyun#include <dt-bindings/phy/phy.h>
13*4882a593Smuzhiyun#include "mt8183-pinfunc.h"
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun/ {
16*4882a593Smuzhiyun	compatible = "mediatek,mt8183";
17*4882a593Smuzhiyun	interrupt-parent = <&sysirq>;
18*4882a593Smuzhiyun	#address-cells = <2>;
19*4882a593Smuzhiyun	#size-cells = <2>;
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	aliases {
22*4882a593Smuzhiyun		i2c0 = &i2c0;
23*4882a593Smuzhiyun		i2c1 = &i2c1;
24*4882a593Smuzhiyun		i2c2 = &i2c2;
25*4882a593Smuzhiyun		i2c3 = &i2c3;
26*4882a593Smuzhiyun		i2c4 = &i2c4;
27*4882a593Smuzhiyun		i2c5 = &i2c5;
28*4882a593Smuzhiyun		i2c6 = &i2c6;
29*4882a593Smuzhiyun		i2c7 = &i2c7;
30*4882a593Smuzhiyun		i2c8 = &i2c8;
31*4882a593Smuzhiyun		i2c9 = &i2c9;
32*4882a593Smuzhiyun		i2c10 = &i2c10;
33*4882a593Smuzhiyun		i2c11 = &i2c11;
34*4882a593Smuzhiyun	};
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun	cpus {
37*4882a593Smuzhiyun		#address-cells = <1>;
38*4882a593Smuzhiyun		#size-cells = <0>;
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun		cpu-map {
41*4882a593Smuzhiyun			cluster0 {
42*4882a593Smuzhiyun				core0 {
43*4882a593Smuzhiyun					cpu = <&cpu0>;
44*4882a593Smuzhiyun				};
45*4882a593Smuzhiyun				core1 {
46*4882a593Smuzhiyun					cpu = <&cpu1>;
47*4882a593Smuzhiyun				};
48*4882a593Smuzhiyun				core2 {
49*4882a593Smuzhiyun					cpu = <&cpu2>;
50*4882a593Smuzhiyun				};
51*4882a593Smuzhiyun				core3 {
52*4882a593Smuzhiyun					cpu = <&cpu3>;
53*4882a593Smuzhiyun				};
54*4882a593Smuzhiyun			};
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun			cluster1 {
57*4882a593Smuzhiyun				core0 {
58*4882a593Smuzhiyun					cpu = <&cpu4>;
59*4882a593Smuzhiyun				};
60*4882a593Smuzhiyun				core1 {
61*4882a593Smuzhiyun					cpu = <&cpu5>;
62*4882a593Smuzhiyun				};
63*4882a593Smuzhiyun				core2 {
64*4882a593Smuzhiyun					cpu = <&cpu6>;
65*4882a593Smuzhiyun				};
66*4882a593Smuzhiyun				core3 {
67*4882a593Smuzhiyun					cpu = <&cpu7>;
68*4882a593Smuzhiyun				};
69*4882a593Smuzhiyun			};
70*4882a593Smuzhiyun		};
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun		cpu0: cpu@0 {
73*4882a593Smuzhiyun			device_type = "cpu";
74*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
75*4882a593Smuzhiyun			reg = <0x000>;
76*4882a593Smuzhiyun			enable-method = "psci";
77*4882a593Smuzhiyun			capacity-dmips-mhz = <741>;
78*4882a593Smuzhiyun			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
79*4882a593Smuzhiyun			dynamic-power-coefficient = <84>;
80*4882a593Smuzhiyun			#cooling-cells = <2>;
81*4882a593Smuzhiyun		};
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun		cpu1: cpu@1 {
84*4882a593Smuzhiyun			device_type = "cpu";
85*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
86*4882a593Smuzhiyun			reg = <0x001>;
87*4882a593Smuzhiyun			enable-method = "psci";
88*4882a593Smuzhiyun			capacity-dmips-mhz = <741>;
89*4882a593Smuzhiyun			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
90*4882a593Smuzhiyun			dynamic-power-coefficient = <84>;
91*4882a593Smuzhiyun			#cooling-cells = <2>;
92*4882a593Smuzhiyun		};
93*4882a593Smuzhiyun
94*4882a593Smuzhiyun		cpu2: cpu@2 {
95*4882a593Smuzhiyun			device_type = "cpu";
96*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
97*4882a593Smuzhiyun			reg = <0x002>;
98*4882a593Smuzhiyun			enable-method = "psci";
99*4882a593Smuzhiyun			capacity-dmips-mhz = <741>;
100*4882a593Smuzhiyun			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
101*4882a593Smuzhiyun			dynamic-power-coefficient = <84>;
102*4882a593Smuzhiyun			#cooling-cells = <2>;
103*4882a593Smuzhiyun		};
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun		cpu3: cpu@3 {
106*4882a593Smuzhiyun			device_type = "cpu";
107*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
108*4882a593Smuzhiyun			reg = <0x003>;
109*4882a593Smuzhiyun			enable-method = "psci";
110*4882a593Smuzhiyun			capacity-dmips-mhz = <741>;
111*4882a593Smuzhiyun			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
112*4882a593Smuzhiyun			dynamic-power-coefficient = <84>;
113*4882a593Smuzhiyun			#cooling-cells = <2>;
114*4882a593Smuzhiyun		};
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun		cpu4: cpu@100 {
117*4882a593Smuzhiyun			device_type = "cpu";
118*4882a593Smuzhiyun			compatible = "arm,cortex-a73";
119*4882a593Smuzhiyun			reg = <0x100>;
120*4882a593Smuzhiyun			enable-method = "psci";
121*4882a593Smuzhiyun			capacity-dmips-mhz = <1024>;
122*4882a593Smuzhiyun			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
123*4882a593Smuzhiyun			dynamic-power-coefficient = <211>;
124*4882a593Smuzhiyun			#cooling-cells = <2>;
125*4882a593Smuzhiyun		};
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun		cpu5: cpu@101 {
128*4882a593Smuzhiyun			device_type = "cpu";
129*4882a593Smuzhiyun			compatible = "arm,cortex-a73";
130*4882a593Smuzhiyun			reg = <0x101>;
131*4882a593Smuzhiyun			enable-method = "psci";
132*4882a593Smuzhiyun			capacity-dmips-mhz = <1024>;
133*4882a593Smuzhiyun			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
134*4882a593Smuzhiyun			dynamic-power-coefficient = <211>;
135*4882a593Smuzhiyun			#cooling-cells = <2>;
136*4882a593Smuzhiyun		};
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun		cpu6: cpu@102 {
139*4882a593Smuzhiyun			device_type = "cpu";
140*4882a593Smuzhiyun			compatible = "arm,cortex-a73";
141*4882a593Smuzhiyun			reg = <0x102>;
142*4882a593Smuzhiyun			enable-method = "psci";
143*4882a593Smuzhiyun			capacity-dmips-mhz = <1024>;
144*4882a593Smuzhiyun			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
145*4882a593Smuzhiyun			dynamic-power-coefficient = <211>;
146*4882a593Smuzhiyun			#cooling-cells = <2>;
147*4882a593Smuzhiyun		};
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun		cpu7: cpu@103 {
150*4882a593Smuzhiyun			device_type = "cpu";
151*4882a593Smuzhiyun			compatible = "arm,cortex-a73";
152*4882a593Smuzhiyun			reg = <0x103>;
153*4882a593Smuzhiyun			enable-method = "psci";
154*4882a593Smuzhiyun			capacity-dmips-mhz = <1024>;
155*4882a593Smuzhiyun			cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
156*4882a593Smuzhiyun			dynamic-power-coefficient = <211>;
157*4882a593Smuzhiyun			#cooling-cells = <2>;
158*4882a593Smuzhiyun		};
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun		idle-states {
161*4882a593Smuzhiyun			entry-method = "psci";
162*4882a593Smuzhiyun
163*4882a593Smuzhiyun			CPU_SLEEP: cpu-sleep {
164*4882a593Smuzhiyun				compatible = "arm,idle-state";
165*4882a593Smuzhiyun				local-timer-stop;
166*4882a593Smuzhiyun				arm,psci-suspend-param = <0x00010001>;
167*4882a593Smuzhiyun				entry-latency-us = <200>;
168*4882a593Smuzhiyun				exit-latency-us = <200>;
169*4882a593Smuzhiyun				min-residency-us = <800>;
170*4882a593Smuzhiyun			};
171*4882a593Smuzhiyun
172*4882a593Smuzhiyun			CLUSTER_SLEEP0: cluster-sleep-0 {
173*4882a593Smuzhiyun				compatible = "arm,idle-state";
174*4882a593Smuzhiyun				local-timer-stop;
175*4882a593Smuzhiyun				arm,psci-suspend-param = <0x01010001>;
176*4882a593Smuzhiyun				entry-latency-us = <250>;
177*4882a593Smuzhiyun				exit-latency-us = <400>;
178*4882a593Smuzhiyun				min-residency-us = <1000>;
179*4882a593Smuzhiyun			};
180*4882a593Smuzhiyun			CLUSTER_SLEEP1: cluster-sleep-1 {
181*4882a593Smuzhiyun				compatible = "arm,idle-state";
182*4882a593Smuzhiyun				local-timer-stop;
183*4882a593Smuzhiyun				arm,psci-suspend-param = <0x01010001>;
184*4882a593Smuzhiyun				entry-latency-us = <250>;
185*4882a593Smuzhiyun				exit-latency-us = <400>;
186*4882a593Smuzhiyun				min-residency-us = <1300>;
187*4882a593Smuzhiyun			};
188*4882a593Smuzhiyun		};
189*4882a593Smuzhiyun	};
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun	pmu-a53 {
192*4882a593Smuzhiyun		compatible = "arm,cortex-a53-pmu";
193*4882a593Smuzhiyun		interrupt-parent = <&gic>;
194*4882a593Smuzhiyun		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>;
195*4882a593Smuzhiyun	};
196*4882a593Smuzhiyun
197*4882a593Smuzhiyun	pmu-a73 {
198*4882a593Smuzhiyun		compatible = "arm,cortex-a73-pmu";
199*4882a593Smuzhiyun		interrupt-parent = <&gic>;
200*4882a593Smuzhiyun		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>;
201*4882a593Smuzhiyun	};
202*4882a593Smuzhiyun
203*4882a593Smuzhiyun	psci {
204*4882a593Smuzhiyun		compatible      = "arm,psci-1.0";
205*4882a593Smuzhiyun		method          = "smc";
206*4882a593Smuzhiyun	};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun	clk26m: oscillator {
209*4882a593Smuzhiyun		compatible = "fixed-clock";
210*4882a593Smuzhiyun		#clock-cells = <0>;
211*4882a593Smuzhiyun		clock-frequency = <26000000>;
212*4882a593Smuzhiyun		clock-output-names = "clk26m";
213*4882a593Smuzhiyun	};
214*4882a593Smuzhiyun
215*4882a593Smuzhiyun	timer {
216*4882a593Smuzhiyun		compatible = "arm,armv8-timer";
217*4882a593Smuzhiyun		interrupt-parent = <&gic>;
218*4882a593Smuzhiyun		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>,
219*4882a593Smuzhiyun			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>,
220*4882a593Smuzhiyun			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>,
221*4882a593Smuzhiyun			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>;
222*4882a593Smuzhiyun	};
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun	soc {
225*4882a593Smuzhiyun		#address-cells = <2>;
226*4882a593Smuzhiyun		#size-cells = <2>;
227*4882a593Smuzhiyun		compatible = "simple-bus";
228*4882a593Smuzhiyun		ranges;
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun		soc_data: soc_data@8000000 {
231*4882a593Smuzhiyun			compatible = "mediatek,mt8183-efuse",
232*4882a593Smuzhiyun				     "mediatek,efuse";
233*4882a593Smuzhiyun			reg = <0 0x08000000 0 0x0010>;
234*4882a593Smuzhiyun			#address-cells = <1>;
235*4882a593Smuzhiyun			#size-cells = <1>;
236*4882a593Smuzhiyun			status = "disabled";
237*4882a593Smuzhiyun		};
238*4882a593Smuzhiyun
239*4882a593Smuzhiyun		gic: interrupt-controller@c000000 {
240*4882a593Smuzhiyun			compatible = "arm,gic-v3";
241*4882a593Smuzhiyun			#interrupt-cells = <4>;
242*4882a593Smuzhiyun			interrupt-parent = <&gic>;
243*4882a593Smuzhiyun			interrupt-controller;
244*4882a593Smuzhiyun			reg = <0 0x0c000000 0 0x40000>,  /* GICD */
245*4882a593Smuzhiyun			      <0 0x0c100000 0 0x200000>, /* GICR */
246*4882a593Smuzhiyun			      <0 0x0c400000 0 0x2000>,   /* GICC */
247*4882a593Smuzhiyun			      <0 0x0c410000 0 0x1000>,   /* GICH */
248*4882a593Smuzhiyun			      <0 0x0c420000 0 0x2000>;   /* GICV */
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
251*4882a593Smuzhiyun			ppi-partitions {
252*4882a593Smuzhiyun				ppi_cluster0: interrupt-partition-0 {
253*4882a593Smuzhiyun					affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
254*4882a593Smuzhiyun				};
255*4882a593Smuzhiyun				ppi_cluster1: interrupt-partition-1 {
256*4882a593Smuzhiyun					affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
257*4882a593Smuzhiyun				};
258*4882a593Smuzhiyun			};
259*4882a593Smuzhiyun		};
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun		mcucfg: syscon@c530000 {
262*4882a593Smuzhiyun			compatible = "mediatek,mt8183-mcucfg", "syscon";
263*4882a593Smuzhiyun			reg = <0 0x0c530000 0 0x1000>;
264*4882a593Smuzhiyun			#clock-cells = <1>;
265*4882a593Smuzhiyun		};
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun		sysirq: interrupt-controller@c530a80 {
268*4882a593Smuzhiyun			compatible = "mediatek,mt8183-sysirq",
269*4882a593Smuzhiyun				     "mediatek,mt6577-sysirq";
270*4882a593Smuzhiyun			interrupt-controller;
271*4882a593Smuzhiyun			#interrupt-cells = <3>;
272*4882a593Smuzhiyun			interrupt-parent = <&gic>;
273*4882a593Smuzhiyun			reg = <0 0x0c530a80 0 0x50>;
274*4882a593Smuzhiyun		};
275*4882a593Smuzhiyun
276*4882a593Smuzhiyun		topckgen: syscon@10000000 {
277*4882a593Smuzhiyun			compatible = "mediatek,mt8183-topckgen", "syscon";
278*4882a593Smuzhiyun			reg = <0 0x10000000 0 0x1000>;
279*4882a593Smuzhiyun			#clock-cells = <1>;
280*4882a593Smuzhiyun		};
281*4882a593Smuzhiyun
282*4882a593Smuzhiyun		infracfg: syscon@10001000 {
283*4882a593Smuzhiyun			compatible = "mediatek,mt8183-infracfg", "syscon";
284*4882a593Smuzhiyun			reg = <0 0x10001000 0 0x1000>;
285*4882a593Smuzhiyun			#clock-cells = <1>;
286*4882a593Smuzhiyun			#reset-cells = <1>;
287*4882a593Smuzhiyun		};
288*4882a593Smuzhiyun
289*4882a593Smuzhiyun		pericfg: syscon@10003000 {
290*4882a593Smuzhiyun			compatible = "mediatek,mt8183-pericfg", "syscon";
291*4882a593Smuzhiyun			reg = <0 0x10003000 0 0x1000>;
292*4882a593Smuzhiyun			#clock-cells = <1>;
293*4882a593Smuzhiyun		};
294*4882a593Smuzhiyun
295*4882a593Smuzhiyun		pio: pinctrl@10005000 {
296*4882a593Smuzhiyun			compatible = "mediatek,mt8183-pinctrl";
297*4882a593Smuzhiyun			reg = <0 0x10005000 0 0x1000>,
298*4882a593Smuzhiyun			      <0 0x11f20000 0 0x1000>,
299*4882a593Smuzhiyun			      <0 0x11e80000 0 0x1000>,
300*4882a593Smuzhiyun			      <0 0x11e70000 0 0x1000>,
301*4882a593Smuzhiyun			      <0 0x11e90000 0 0x1000>,
302*4882a593Smuzhiyun			      <0 0x11d30000 0 0x1000>,
303*4882a593Smuzhiyun			      <0 0x11d20000 0 0x1000>,
304*4882a593Smuzhiyun			      <0 0x11c50000 0 0x1000>,
305*4882a593Smuzhiyun			      <0 0x11f30000 0 0x1000>,
306*4882a593Smuzhiyun			      <0 0x1000b000 0 0x1000>;
307*4882a593Smuzhiyun			reg-names = "iocfg0", "iocfg1", "iocfg2",
308*4882a593Smuzhiyun				    "iocfg3", "iocfg4", "iocfg5",
309*4882a593Smuzhiyun				    "iocfg6", "iocfg7", "iocfg8",
310*4882a593Smuzhiyun				    "eint";
311*4882a593Smuzhiyun			gpio-controller;
312*4882a593Smuzhiyun			#gpio-cells = <2>;
313*4882a593Smuzhiyun			gpio-ranges = <&pio 0 0 192>;
314*4882a593Smuzhiyun			interrupt-controller;
315*4882a593Smuzhiyun			interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
316*4882a593Smuzhiyun			#interrupt-cells = <2>;
317*4882a593Smuzhiyun		};
318*4882a593Smuzhiyun
319*4882a593Smuzhiyun		watchdog: watchdog@10007000 {
320*4882a593Smuzhiyun			compatible = "mediatek,mt8183-wdt";
321*4882a593Smuzhiyun			reg = <0 0x10007000 0 0x100>;
322*4882a593Smuzhiyun			#reset-cells = <1>;
323*4882a593Smuzhiyun		};
324*4882a593Smuzhiyun
325*4882a593Smuzhiyun		apmixedsys: syscon@1000c000 {
326*4882a593Smuzhiyun			compatible = "mediatek,mt8183-apmixedsys", "syscon";
327*4882a593Smuzhiyun			reg = <0 0x1000c000 0 0x1000>;
328*4882a593Smuzhiyun			#clock-cells = <1>;
329*4882a593Smuzhiyun		};
330*4882a593Smuzhiyun
331*4882a593Smuzhiyun		pwrap: pwrap@1000d000 {
332*4882a593Smuzhiyun			compatible = "mediatek,mt8183-pwrap";
333*4882a593Smuzhiyun			reg = <0 0x1000d000 0 0x1000>;
334*4882a593Smuzhiyun			reg-names = "pwrap";
335*4882a593Smuzhiyun			interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
336*4882a593Smuzhiyun			clocks = <&topckgen CLK_TOP_MUX_PMICSPI>,
337*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_PMIC_AP>;
338*4882a593Smuzhiyun			clock-names = "spi", "wrap";
339*4882a593Smuzhiyun		};
340*4882a593Smuzhiyun
341*4882a593Smuzhiyun		scp: scp@10500000 {
342*4882a593Smuzhiyun			compatible = "mediatek,mt8183-scp";
343*4882a593Smuzhiyun			reg = <0 0x10500000 0 0x80000>,
344*4882a593Smuzhiyun			      <0 0x105c0000 0 0x19080>;
345*4882a593Smuzhiyun			reg-names = "sram", "cfg";
346*4882a593Smuzhiyun			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
347*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_SCPSYS>;
348*4882a593Smuzhiyun			clock-names = "main";
349*4882a593Smuzhiyun			memory-region = <&scp_mem_reserved>;
350*4882a593Smuzhiyun			status = "disabled";
351*4882a593Smuzhiyun		};
352*4882a593Smuzhiyun
353*4882a593Smuzhiyun		systimer: timer@10017000 {
354*4882a593Smuzhiyun			compatible = "mediatek,mt8183-timer",
355*4882a593Smuzhiyun				     "mediatek,mt6765-timer";
356*4882a593Smuzhiyun			reg = <0 0x10017000 0 0x1000>;
357*4882a593Smuzhiyun			interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
358*4882a593Smuzhiyun			clocks = <&topckgen CLK_TOP_CLK13M>;
359*4882a593Smuzhiyun			clock-names = "clk13m";
360*4882a593Smuzhiyun		};
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun		gce: mailbox@10238000 {
363*4882a593Smuzhiyun			compatible = "mediatek,mt8183-gce";
364*4882a593Smuzhiyun			reg = <0 0x10238000 0 0x4000>;
365*4882a593Smuzhiyun			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>;
366*4882a593Smuzhiyun			#mbox-cells = <2>;
367*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_GCE>;
368*4882a593Smuzhiyun			clock-names = "gce";
369*4882a593Smuzhiyun		};
370*4882a593Smuzhiyun
371*4882a593Smuzhiyun		auxadc: auxadc@11001000 {
372*4882a593Smuzhiyun			compatible = "mediatek,mt8183-auxadc",
373*4882a593Smuzhiyun				     "mediatek,mt8173-auxadc";
374*4882a593Smuzhiyun			reg = <0 0x11001000 0 0x1000>;
375*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_AUXADC>;
376*4882a593Smuzhiyun			clock-names = "main";
377*4882a593Smuzhiyun			#io-channel-cells = <1>;
378*4882a593Smuzhiyun			status = "disabled";
379*4882a593Smuzhiyun		};
380*4882a593Smuzhiyun
381*4882a593Smuzhiyun		uart0: serial@11002000 {
382*4882a593Smuzhiyun			compatible = "mediatek,mt8183-uart",
383*4882a593Smuzhiyun				     "mediatek,mt6577-uart";
384*4882a593Smuzhiyun			reg = <0 0x11002000 0 0x1000>;
385*4882a593Smuzhiyun			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
386*4882a593Smuzhiyun			clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>;
387*4882a593Smuzhiyun			clock-names = "baud", "bus";
388*4882a593Smuzhiyun			status = "disabled";
389*4882a593Smuzhiyun		};
390*4882a593Smuzhiyun
391*4882a593Smuzhiyun		uart1: serial@11003000 {
392*4882a593Smuzhiyun			compatible = "mediatek,mt8183-uart",
393*4882a593Smuzhiyun				     "mediatek,mt6577-uart";
394*4882a593Smuzhiyun			reg = <0 0x11003000 0 0x1000>;
395*4882a593Smuzhiyun			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
396*4882a593Smuzhiyun			clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>;
397*4882a593Smuzhiyun			clock-names = "baud", "bus";
398*4882a593Smuzhiyun			status = "disabled";
399*4882a593Smuzhiyun		};
400*4882a593Smuzhiyun
401*4882a593Smuzhiyun		uart2: serial@11004000 {
402*4882a593Smuzhiyun			compatible = "mediatek,mt8183-uart",
403*4882a593Smuzhiyun				     "mediatek,mt6577-uart";
404*4882a593Smuzhiyun			reg = <0 0x11004000 0 0x1000>;
405*4882a593Smuzhiyun			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
406*4882a593Smuzhiyun			clocks = <&clk26m>, <&infracfg CLK_INFRA_UART2>;
407*4882a593Smuzhiyun			clock-names = "baud", "bus";
408*4882a593Smuzhiyun			status = "disabled";
409*4882a593Smuzhiyun		};
410*4882a593Smuzhiyun
411*4882a593Smuzhiyun		i2c6: i2c@11005000 {
412*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
413*4882a593Smuzhiyun			reg = <0 0x11005000 0 0x1000>,
414*4882a593Smuzhiyun			      <0 0x11000600 0 0x80>;
415*4882a593Smuzhiyun			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
416*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C6>,
417*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>;
418*4882a593Smuzhiyun			clock-names = "main", "dma";
419*4882a593Smuzhiyun			clock-div = <1>;
420*4882a593Smuzhiyun			#address-cells = <1>;
421*4882a593Smuzhiyun			#size-cells = <0>;
422*4882a593Smuzhiyun			status = "disabled";
423*4882a593Smuzhiyun		};
424*4882a593Smuzhiyun
425*4882a593Smuzhiyun		i2c0: i2c@11007000 {
426*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
427*4882a593Smuzhiyun			reg = <0 0x11007000 0 0x1000>,
428*4882a593Smuzhiyun			      <0 0x11000080 0 0x80>;
429*4882a593Smuzhiyun			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>;
430*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C0>,
431*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>;
432*4882a593Smuzhiyun			clock-names = "main", "dma";
433*4882a593Smuzhiyun			clock-div = <1>;
434*4882a593Smuzhiyun			#address-cells = <1>;
435*4882a593Smuzhiyun			#size-cells = <0>;
436*4882a593Smuzhiyun			status = "disabled";
437*4882a593Smuzhiyun		};
438*4882a593Smuzhiyun
439*4882a593Smuzhiyun		i2c4: i2c@11008000 {
440*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
441*4882a593Smuzhiyun			reg = <0 0x11008000 0 0x1000>,
442*4882a593Smuzhiyun			      <0 0x11000100 0 0x80>;
443*4882a593Smuzhiyun			interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>;
444*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C1>,
445*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>,
446*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_I2C1_ARBITER>;
447*4882a593Smuzhiyun			clock-names = "main", "dma","arb";
448*4882a593Smuzhiyun			clock-div = <1>;
449*4882a593Smuzhiyun			#address-cells = <1>;
450*4882a593Smuzhiyun			#size-cells = <0>;
451*4882a593Smuzhiyun			status = "disabled";
452*4882a593Smuzhiyun		};
453*4882a593Smuzhiyun
454*4882a593Smuzhiyun		i2c2: i2c@11009000 {
455*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
456*4882a593Smuzhiyun			reg = <0 0x11009000 0 0x1000>,
457*4882a593Smuzhiyun			      <0 0x11000280 0 0x80>;
458*4882a593Smuzhiyun			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>;
459*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C2>,
460*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>,
461*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_I2C2_ARBITER>;
462*4882a593Smuzhiyun			clock-names = "main", "dma", "arb";
463*4882a593Smuzhiyun			clock-div = <1>;
464*4882a593Smuzhiyun			#address-cells = <1>;
465*4882a593Smuzhiyun			#size-cells = <0>;
466*4882a593Smuzhiyun			status = "disabled";
467*4882a593Smuzhiyun		};
468*4882a593Smuzhiyun
469*4882a593Smuzhiyun		spi0: spi@1100a000 {
470*4882a593Smuzhiyun			compatible = "mediatek,mt8183-spi";
471*4882a593Smuzhiyun			#address-cells = <1>;
472*4882a593Smuzhiyun			#size-cells = <0>;
473*4882a593Smuzhiyun			reg = <0 0x1100a000 0 0x1000>;
474*4882a593Smuzhiyun			interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_LOW>;
475*4882a593Smuzhiyun			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
476*4882a593Smuzhiyun				 <&topckgen CLK_TOP_MUX_SPI>,
477*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_SPI0>;
478*4882a593Smuzhiyun			clock-names = "parent-clk", "sel-clk", "spi-clk";
479*4882a593Smuzhiyun			status = "disabled";
480*4882a593Smuzhiyun		};
481*4882a593Smuzhiyun
482*4882a593Smuzhiyun		i2c3: i2c@1100f000 {
483*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
484*4882a593Smuzhiyun			reg = <0 0x1100f000 0 0x1000>,
485*4882a593Smuzhiyun			      <0 0x11000400 0 0x80>;
486*4882a593Smuzhiyun			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>;
487*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C3>,
488*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>;
489*4882a593Smuzhiyun			clock-names = "main", "dma";
490*4882a593Smuzhiyun			clock-div = <1>;
491*4882a593Smuzhiyun			#address-cells = <1>;
492*4882a593Smuzhiyun			#size-cells = <0>;
493*4882a593Smuzhiyun			status = "disabled";
494*4882a593Smuzhiyun		};
495*4882a593Smuzhiyun
496*4882a593Smuzhiyun		spi1: spi@11010000 {
497*4882a593Smuzhiyun			compatible = "mediatek,mt8183-spi";
498*4882a593Smuzhiyun			#address-cells = <1>;
499*4882a593Smuzhiyun			#size-cells = <0>;
500*4882a593Smuzhiyun			reg = <0 0x11010000 0 0x1000>;
501*4882a593Smuzhiyun			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_LOW>;
502*4882a593Smuzhiyun			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
503*4882a593Smuzhiyun				 <&topckgen CLK_TOP_MUX_SPI>,
504*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_SPI1>;
505*4882a593Smuzhiyun			clock-names = "parent-clk", "sel-clk", "spi-clk";
506*4882a593Smuzhiyun			status = "disabled";
507*4882a593Smuzhiyun		};
508*4882a593Smuzhiyun
509*4882a593Smuzhiyun		i2c1: i2c@11011000 {
510*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
511*4882a593Smuzhiyun			reg = <0 0x11011000 0 0x1000>,
512*4882a593Smuzhiyun			      <0 0x11000480 0 0x80>;
513*4882a593Smuzhiyun			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>;
514*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C4>,
515*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>;
516*4882a593Smuzhiyun			clock-names = "main", "dma";
517*4882a593Smuzhiyun			clock-div = <1>;
518*4882a593Smuzhiyun			#address-cells = <1>;
519*4882a593Smuzhiyun			#size-cells = <0>;
520*4882a593Smuzhiyun			status = "disabled";
521*4882a593Smuzhiyun		};
522*4882a593Smuzhiyun
523*4882a593Smuzhiyun		spi2: spi@11012000 {
524*4882a593Smuzhiyun			compatible = "mediatek,mt8183-spi";
525*4882a593Smuzhiyun			#address-cells = <1>;
526*4882a593Smuzhiyun			#size-cells = <0>;
527*4882a593Smuzhiyun			reg = <0 0x11012000 0 0x1000>;
528*4882a593Smuzhiyun			interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_LOW>;
529*4882a593Smuzhiyun			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
530*4882a593Smuzhiyun				 <&topckgen CLK_TOP_MUX_SPI>,
531*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_SPI2>;
532*4882a593Smuzhiyun			clock-names = "parent-clk", "sel-clk", "spi-clk";
533*4882a593Smuzhiyun			status = "disabled";
534*4882a593Smuzhiyun		};
535*4882a593Smuzhiyun
536*4882a593Smuzhiyun		spi3: spi@11013000 {
537*4882a593Smuzhiyun			compatible = "mediatek,mt8183-spi";
538*4882a593Smuzhiyun			#address-cells = <1>;
539*4882a593Smuzhiyun			#size-cells = <0>;
540*4882a593Smuzhiyun			reg = <0 0x11013000 0 0x1000>;
541*4882a593Smuzhiyun			interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_LOW>;
542*4882a593Smuzhiyun			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
543*4882a593Smuzhiyun				 <&topckgen CLK_TOP_MUX_SPI>,
544*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_SPI3>;
545*4882a593Smuzhiyun			clock-names = "parent-clk", "sel-clk", "spi-clk";
546*4882a593Smuzhiyun			status = "disabled";
547*4882a593Smuzhiyun		};
548*4882a593Smuzhiyun
549*4882a593Smuzhiyun		i2c9: i2c@11014000 {
550*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
551*4882a593Smuzhiyun			reg = <0 0x11014000 0 0x1000>,
552*4882a593Smuzhiyun			      <0 0x11000180 0 0x80>;
553*4882a593Smuzhiyun			interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_LOW>;
554*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C1_IMM>,
555*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>,
556*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_I2C1_ARBITER>;
557*4882a593Smuzhiyun			clock-names = "main", "dma", "arb";
558*4882a593Smuzhiyun			clock-div = <1>;
559*4882a593Smuzhiyun			#address-cells = <1>;
560*4882a593Smuzhiyun			#size-cells = <0>;
561*4882a593Smuzhiyun			status = "disabled";
562*4882a593Smuzhiyun		};
563*4882a593Smuzhiyun
564*4882a593Smuzhiyun		i2c10: i2c@11015000 {
565*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
566*4882a593Smuzhiyun			reg = <0 0x11015000 0 0x1000>,
567*4882a593Smuzhiyun			      <0 0x11000300 0 0x80>;
568*4882a593Smuzhiyun			interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
569*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C2_IMM>,
570*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>,
571*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_I2C2_ARBITER>;
572*4882a593Smuzhiyun			clock-names = "main", "dma", "arb";
573*4882a593Smuzhiyun			clock-div = <1>;
574*4882a593Smuzhiyun			#address-cells = <1>;
575*4882a593Smuzhiyun			#size-cells = <0>;
576*4882a593Smuzhiyun			status = "disabled";
577*4882a593Smuzhiyun		};
578*4882a593Smuzhiyun
579*4882a593Smuzhiyun		i2c5: i2c@11016000 {
580*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
581*4882a593Smuzhiyun			reg = <0 0x11016000 0 0x1000>,
582*4882a593Smuzhiyun			      <0 0x11000500 0 0x80>;
583*4882a593Smuzhiyun			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>;
584*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C5>,
585*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>,
586*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_I2C5_ARBITER>;
587*4882a593Smuzhiyun			clock-names = "main", "dma", "arb";
588*4882a593Smuzhiyun			clock-div = <1>;
589*4882a593Smuzhiyun			#address-cells = <1>;
590*4882a593Smuzhiyun			#size-cells = <0>;
591*4882a593Smuzhiyun			status = "disabled";
592*4882a593Smuzhiyun		};
593*4882a593Smuzhiyun
594*4882a593Smuzhiyun		i2c11: i2c@11017000 {
595*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
596*4882a593Smuzhiyun			reg = <0 0x11017000 0 0x1000>,
597*4882a593Smuzhiyun			      <0 0x11000580 0 0x80>;
598*4882a593Smuzhiyun			interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_LOW>;
599*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C5_IMM>,
600*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>,
601*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_I2C5_ARBITER>;
602*4882a593Smuzhiyun			clock-names = "main", "dma", "arb";
603*4882a593Smuzhiyun			clock-div = <1>;
604*4882a593Smuzhiyun			#address-cells = <1>;
605*4882a593Smuzhiyun			#size-cells = <0>;
606*4882a593Smuzhiyun			status = "disabled";
607*4882a593Smuzhiyun		};
608*4882a593Smuzhiyun
609*4882a593Smuzhiyun		spi4: spi@11018000 {
610*4882a593Smuzhiyun			compatible = "mediatek,mt8183-spi";
611*4882a593Smuzhiyun			#address-cells = <1>;
612*4882a593Smuzhiyun			#size-cells = <0>;
613*4882a593Smuzhiyun			reg = <0 0x11018000 0 0x1000>;
614*4882a593Smuzhiyun			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_LOW>;
615*4882a593Smuzhiyun			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
616*4882a593Smuzhiyun				 <&topckgen CLK_TOP_MUX_SPI>,
617*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_SPI4>;
618*4882a593Smuzhiyun			clock-names = "parent-clk", "sel-clk", "spi-clk";
619*4882a593Smuzhiyun			status = "disabled";
620*4882a593Smuzhiyun		};
621*4882a593Smuzhiyun
622*4882a593Smuzhiyun		spi5: spi@11019000 {
623*4882a593Smuzhiyun			compatible = "mediatek,mt8183-spi";
624*4882a593Smuzhiyun			#address-cells = <1>;
625*4882a593Smuzhiyun			#size-cells = <0>;
626*4882a593Smuzhiyun			reg = <0 0x11019000 0 0x1000>;
627*4882a593Smuzhiyun			interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>;
628*4882a593Smuzhiyun			clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
629*4882a593Smuzhiyun				 <&topckgen CLK_TOP_MUX_SPI>,
630*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_SPI5>;
631*4882a593Smuzhiyun			clock-names = "parent-clk", "sel-clk", "spi-clk";
632*4882a593Smuzhiyun			status = "disabled";
633*4882a593Smuzhiyun		};
634*4882a593Smuzhiyun
635*4882a593Smuzhiyun		i2c7: i2c@1101a000 {
636*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
637*4882a593Smuzhiyun			reg = <0 0x1101a000 0 0x1000>,
638*4882a593Smuzhiyun			      <0 0x11000680 0 0x80>;
639*4882a593Smuzhiyun			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_LOW>;
640*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C7>,
641*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>;
642*4882a593Smuzhiyun			clock-names = "main", "dma";
643*4882a593Smuzhiyun			clock-div = <1>;
644*4882a593Smuzhiyun			#address-cells = <1>;
645*4882a593Smuzhiyun			#size-cells = <0>;
646*4882a593Smuzhiyun			status = "disabled";
647*4882a593Smuzhiyun		};
648*4882a593Smuzhiyun
649*4882a593Smuzhiyun		i2c8: i2c@1101b000 {
650*4882a593Smuzhiyun			compatible = "mediatek,mt8183-i2c";
651*4882a593Smuzhiyun			reg = <0 0x1101b000 0 0x1000>,
652*4882a593Smuzhiyun			      <0 0x11000700 0 0x80>;
653*4882a593Smuzhiyun			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_LOW>;
654*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_I2C8>,
655*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_AP_DMA>;
656*4882a593Smuzhiyun			clock-names = "main", "dma";
657*4882a593Smuzhiyun			clock-div = <1>;
658*4882a593Smuzhiyun			#address-cells = <1>;
659*4882a593Smuzhiyun			#size-cells = <0>;
660*4882a593Smuzhiyun			status = "disabled";
661*4882a593Smuzhiyun		};
662*4882a593Smuzhiyun
663*4882a593Smuzhiyun		ssusb: usb@11201000 {
664*4882a593Smuzhiyun			compatible ="mediatek,mt8183-mtu3", "mediatek,mtu3";
665*4882a593Smuzhiyun			reg = <0 0x11201000 0 0x2e00>,
666*4882a593Smuzhiyun			      <0 0x11203e00 0 0x0100>;
667*4882a593Smuzhiyun			reg-names = "mac", "ippc";
668*4882a593Smuzhiyun			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_LOW>;
669*4882a593Smuzhiyun			phys = <&u2port0 PHY_TYPE_USB2>,
670*4882a593Smuzhiyun			       <&u3port0 PHY_TYPE_USB3>;
671*4882a593Smuzhiyun			clocks = <&infracfg CLK_INFRA_UNIPRO_SCK>,
672*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_USB>;
673*4882a593Smuzhiyun			clock-names = "sys_ck", "ref_ck";
674*4882a593Smuzhiyun			mediatek,syscon-wakeup = <&pericfg 0x400 0>;
675*4882a593Smuzhiyun			#address-cells = <2>;
676*4882a593Smuzhiyun			#size-cells = <2>;
677*4882a593Smuzhiyun			ranges;
678*4882a593Smuzhiyun			status = "disabled";
679*4882a593Smuzhiyun
680*4882a593Smuzhiyun			usb_host: xhci@11200000 {
681*4882a593Smuzhiyun				compatible = "mediatek,mt8183-xhci",
682*4882a593Smuzhiyun					     "mediatek,mtk-xhci";
683*4882a593Smuzhiyun				reg = <0 0x11200000 0 0x1000>;
684*4882a593Smuzhiyun				reg-names = "mac";
685*4882a593Smuzhiyun				interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_LOW>;
686*4882a593Smuzhiyun				clocks = <&infracfg CLK_INFRA_UNIPRO_SCK>,
687*4882a593Smuzhiyun					 <&infracfg CLK_INFRA_USB>;
688*4882a593Smuzhiyun				clock-names = "sys_ck", "ref_ck";
689*4882a593Smuzhiyun				status = "disabled";
690*4882a593Smuzhiyun			};
691*4882a593Smuzhiyun		};
692*4882a593Smuzhiyun
693*4882a593Smuzhiyun		audiosys: syscon@11220000 {
694*4882a593Smuzhiyun			compatible = "mediatek,mt8183-audiosys", "syscon";
695*4882a593Smuzhiyun			reg = <0 0x11220000 0 0x1000>;
696*4882a593Smuzhiyun			#clock-cells = <1>;
697*4882a593Smuzhiyun		};
698*4882a593Smuzhiyun
699*4882a593Smuzhiyun		mmc0: mmc@11230000 {
700*4882a593Smuzhiyun			compatible = "mediatek,mt8183-mmc";
701*4882a593Smuzhiyun			reg = <0 0x11230000 0 0x1000>,
702*4882a593Smuzhiyun			      <0 0x11f50000 0 0x1000>;
703*4882a593Smuzhiyun			interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>;
704*4882a593Smuzhiyun			clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>,
705*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_MSDC0>,
706*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_MSDC0_SCK>;
707*4882a593Smuzhiyun			clock-names = "source", "hclk", "source_cg";
708*4882a593Smuzhiyun			status = "disabled";
709*4882a593Smuzhiyun		};
710*4882a593Smuzhiyun
711*4882a593Smuzhiyun		mmc1: mmc@11240000 {
712*4882a593Smuzhiyun			compatible = "mediatek,mt8183-mmc";
713*4882a593Smuzhiyun			reg = <0 0x11240000 0 0x1000>,
714*4882a593Smuzhiyun			      <0 0x11e10000 0 0x1000>;
715*4882a593Smuzhiyun			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>;
716*4882a593Smuzhiyun			clocks = <&topckgen CLK_TOP_MUX_MSDC30_1>,
717*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_MSDC1>,
718*4882a593Smuzhiyun				 <&infracfg CLK_INFRA_MSDC1_SCK>;
719*4882a593Smuzhiyun			clock-names = "source", "hclk", "source_cg";
720*4882a593Smuzhiyun			status = "disabled";
721*4882a593Smuzhiyun		};
722*4882a593Smuzhiyun
723*4882a593Smuzhiyun		efuse: efuse@11f10000 {
724*4882a593Smuzhiyun			compatible = "mediatek,mt8183-efuse",
725*4882a593Smuzhiyun				     "mediatek,efuse";
726*4882a593Smuzhiyun			reg = <0 0x11f10000 0 0x1000>;
727*4882a593Smuzhiyun		};
728*4882a593Smuzhiyun
729*4882a593Smuzhiyun		u3phy: usb-phy@11f40000 {
730*4882a593Smuzhiyun			compatible = "mediatek,mt8183-tphy",
731*4882a593Smuzhiyun				     "mediatek,generic-tphy-v2";
732*4882a593Smuzhiyun			#address-cells = <1>;
733*4882a593Smuzhiyun			#phy-cells = <1>;
734*4882a593Smuzhiyun			#size-cells = <1>;
735*4882a593Smuzhiyun			ranges = <0 0 0x11f40000 0x1000>;
736*4882a593Smuzhiyun			status = "okay";
737*4882a593Smuzhiyun
738*4882a593Smuzhiyun			u2port0: usb-phy@0 {
739*4882a593Smuzhiyun				reg = <0x0 0x700>;
740*4882a593Smuzhiyun				clocks = <&clk26m>;
741*4882a593Smuzhiyun				clock-names = "ref";
742*4882a593Smuzhiyun				#phy-cells = <1>;
743*4882a593Smuzhiyun				mediatek,discth = <15>;
744*4882a593Smuzhiyun				status = "okay";
745*4882a593Smuzhiyun			};
746*4882a593Smuzhiyun
747*4882a593Smuzhiyun			u3port0: usb-phy@0700 {
748*4882a593Smuzhiyun				reg = <0x0700 0x900>;
749*4882a593Smuzhiyun				clocks = <&clk26m>;
750*4882a593Smuzhiyun				clock-names = "ref";
751*4882a593Smuzhiyun				#phy-cells = <1>;
752*4882a593Smuzhiyun				status = "okay";
753*4882a593Smuzhiyun			};
754*4882a593Smuzhiyun		};
755*4882a593Smuzhiyun
756*4882a593Smuzhiyun		mfgcfg: syscon@13000000 {
757*4882a593Smuzhiyun			compatible = "mediatek,mt8183-mfgcfg", "syscon";
758*4882a593Smuzhiyun			reg = <0 0x13000000 0 0x1000>;
759*4882a593Smuzhiyun			#clock-cells = <1>;
760*4882a593Smuzhiyun		};
761*4882a593Smuzhiyun
762*4882a593Smuzhiyun		mmsys: syscon@14000000 {
763*4882a593Smuzhiyun			compatible = "mediatek,mt8183-mmsys", "syscon";
764*4882a593Smuzhiyun			reg = <0 0x14000000 0 0x1000>;
765*4882a593Smuzhiyun			#clock-cells = <1>;
766*4882a593Smuzhiyun		};
767*4882a593Smuzhiyun
768*4882a593Smuzhiyun		imgsys: syscon@15020000 {
769*4882a593Smuzhiyun			compatible = "mediatek,mt8183-imgsys", "syscon";
770*4882a593Smuzhiyun			reg = <0 0x15020000 0 0x1000>;
771*4882a593Smuzhiyun			#clock-cells = <1>;
772*4882a593Smuzhiyun		};
773*4882a593Smuzhiyun
774*4882a593Smuzhiyun		vdecsys: syscon@16000000 {
775*4882a593Smuzhiyun			compatible = "mediatek,mt8183-vdecsys", "syscon";
776*4882a593Smuzhiyun			reg = <0 0x16000000 0 0x1000>;
777*4882a593Smuzhiyun			#clock-cells = <1>;
778*4882a593Smuzhiyun		};
779*4882a593Smuzhiyun
780*4882a593Smuzhiyun		vencsys: syscon@17000000 {
781*4882a593Smuzhiyun			compatible = "mediatek,mt8183-vencsys", "syscon";
782*4882a593Smuzhiyun			reg = <0 0x17000000 0 0x1000>;
783*4882a593Smuzhiyun			#clock-cells = <1>;
784*4882a593Smuzhiyun		};
785*4882a593Smuzhiyun
786*4882a593Smuzhiyun		ipu_conn: syscon@19000000 {
787*4882a593Smuzhiyun			compatible = "mediatek,mt8183-ipu_conn", "syscon";
788*4882a593Smuzhiyun			reg = <0 0x19000000 0 0x1000>;
789*4882a593Smuzhiyun			#clock-cells = <1>;
790*4882a593Smuzhiyun		};
791*4882a593Smuzhiyun
792*4882a593Smuzhiyun		ipu_adl: syscon@19010000 {
793*4882a593Smuzhiyun			compatible = "mediatek,mt8183-ipu_adl", "syscon";
794*4882a593Smuzhiyun			reg = <0 0x19010000 0 0x1000>;
795*4882a593Smuzhiyun			#clock-cells = <1>;
796*4882a593Smuzhiyun		};
797*4882a593Smuzhiyun
798*4882a593Smuzhiyun		ipu_core0: syscon@19180000 {
799*4882a593Smuzhiyun			compatible = "mediatek,mt8183-ipu_core0", "syscon";
800*4882a593Smuzhiyun			reg = <0 0x19180000 0 0x1000>;
801*4882a593Smuzhiyun			#clock-cells = <1>;
802*4882a593Smuzhiyun		};
803*4882a593Smuzhiyun
804*4882a593Smuzhiyun		ipu_core1: syscon@19280000 {
805*4882a593Smuzhiyun			compatible = "mediatek,mt8183-ipu_core1", "syscon";
806*4882a593Smuzhiyun			reg = <0 0x19280000 0 0x1000>;
807*4882a593Smuzhiyun			#clock-cells = <1>;
808*4882a593Smuzhiyun		};
809*4882a593Smuzhiyun
810*4882a593Smuzhiyun		camsys: syscon@1a000000 {
811*4882a593Smuzhiyun			compatible = "mediatek,mt8183-camsys", "syscon";
812*4882a593Smuzhiyun			reg = <0 0x1a000000 0 0x1000>;
813*4882a593Smuzhiyun			#clock-cells = <1>;
814*4882a593Smuzhiyun		};
815*4882a593Smuzhiyun	};
816*4882a593Smuzhiyun};
817