xref: /freebsd-src/sys/contrib/device-tree/src/arm/mediatek/mt2701.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (c) 2015 MediaTek Inc.
4*f126890aSEmmanuel Vadot * Author: Erin.Lo <erin.lo@mediatek.com>
5*f126890aSEmmanuel Vadot *
6*f126890aSEmmanuel Vadot */
7*f126890aSEmmanuel Vadot
8*f126890aSEmmanuel Vadot#include <dt-bindings/clock/mt2701-clk.h>
9*f126890aSEmmanuel Vadot#include <dt-bindings/phy/phy.h>
10*f126890aSEmmanuel Vadot#include <dt-bindings/power/mt2701-power.h>
11*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
12*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
13*f126890aSEmmanuel Vadot#include <dt-bindings/memory/mt2701-larb-port.h>
14*f126890aSEmmanuel Vadot#include <dt-bindings/reset/mt2701-resets.h>
15*f126890aSEmmanuel Vadot#include "mt2701-pinfunc.h"
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadot/ {
18*f126890aSEmmanuel Vadot	#address-cells = <2>;
19*f126890aSEmmanuel Vadot	#size-cells = <2>;
20*f126890aSEmmanuel Vadot	compatible = "mediatek,mt2701";
21*f126890aSEmmanuel Vadot	interrupt-parent = <&cirq>;
22*f126890aSEmmanuel Vadot
23*f126890aSEmmanuel Vadot	cpus {
24*f126890aSEmmanuel Vadot		#address-cells = <1>;
25*f126890aSEmmanuel Vadot		#size-cells = <0>;
26*f126890aSEmmanuel Vadot		enable-method = "mediatek,mt81xx-tz-smp";
27*f126890aSEmmanuel Vadot
28*f126890aSEmmanuel Vadot		cpu@0 {
29*f126890aSEmmanuel Vadot			device_type = "cpu";
30*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
31*f126890aSEmmanuel Vadot			reg = <0x0>;
32*f126890aSEmmanuel Vadot		};
33*f126890aSEmmanuel Vadot		cpu@1 {
34*f126890aSEmmanuel Vadot			device_type = "cpu";
35*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
36*f126890aSEmmanuel Vadot			reg = <0x1>;
37*f126890aSEmmanuel Vadot		};
38*f126890aSEmmanuel Vadot		cpu@2 {
39*f126890aSEmmanuel Vadot			device_type = "cpu";
40*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
41*f126890aSEmmanuel Vadot			reg = <0x2>;
42*f126890aSEmmanuel Vadot		};
43*f126890aSEmmanuel Vadot		cpu@3 {
44*f126890aSEmmanuel Vadot			device_type = "cpu";
45*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
46*f126890aSEmmanuel Vadot			reg = <0x3>;
47*f126890aSEmmanuel Vadot		};
48*f126890aSEmmanuel Vadot	};
49*f126890aSEmmanuel Vadot
50*f126890aSEmmanuel Vadot	reserved-memory {
51*f126890aSEmmanuel Vadot		#address-cells = <2>;
52*f126890aSEmmanuel Vadot		#size-cells = <2>;
53*f126890aSEmmanuel Vadot		ranges;
54*f126890aSEmmanuel Vadot
55*f126890aSEmmanuel Vadot		trustzone-bootinfo@80002000 {
56*f126890aSEmmanuel Vadot			compatible = "mediatek,trustzone-bootinfo";
57*f126890aSEmmanuel Vadot			reg = <0 0x80002000 0 0x1000>;
58*f126890aSEmmanuel Vadot		};
59*f126890aSEmmanuel Vadot	};
60*f126890aSEmmanuel Vadot
61*f126890aSEmmanuel Vadot	system_clk: dummy13m {
62*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
63*f126890aSEmmanuel Vadot		clock-frequency = <13000000>;
64*f126890aSEmmanuel Vadot		#clock-cells = <0>;
65*f126890aSEmmanuel Vadot	};
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot	rtc_clk: dummy32k {
68*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
69*f126890aSEmmanuel Vadot		clock-frequency = <32000>;
70*f126890aSEmmanuel Vadot		#clock-cells = <0>;
71*f126890aSEmmanuel Vadot	};
72*f126890aSEmmanuel Vadot
73*f126890aSEmmanuel Vadot	clk26m: oscillator@0 {
74*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
75*f126890aSEmmanuel Vadot		#clock-cells = <0>;
76*f126890aSEmmanuel Vadot		clock-frequency = <26000000>;
77*f126890aSEmmanuel Vadot		clock-output-names = "clk26m";
78*f126890aSEmmanuel Vadot	};
79*f126890aSEmmanuel Vadot
80*f126890aSEmmanuel Vadot	rtc32k: oscillator@1 {
81*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
82*f126890aSEmmanuel Vadot		#clock-cells = <0>;
83*f126890aSEmmanuel Vadot		clock-frequency = <32000>;
84*f126890aSEmmanuel Vadot		clock-output-names = "rtc32k";
85*f126890aSEmmanuel Vadot	};
86*f126890aSEmmanuel Vadot
87*f126890aSEmmanuel Vadot	thermal-zones {
88*f126890aSEmmanuel Vadot		cpu_thermal: cpu_thermal {
89*f126890aSEmmanuel Vadot			polling-delay-passive = <1000>; /* milliseconds */
90*f126890aSEmmanuel Vadot			polling-delay = <1000>; /* milliseconds */
91*f126890aSEmmanuel Vadot
92*f126890aSEmmanuel Vadot			thermal-sensors = <&thermal 0>;
93*f126890aSEmmanuel Vadot			sustainable-power = <1000>;
94*f126890aSEmmanuel Vadot
95*f126890aSEmmanuel Vadot			trips {
96*f126890aSEmmanuel Vadot				threshold: trip-point@0 {
97*f126890aSEmmanuel Vadot					temperature = <68000>;
98*f126890aSEmmanuel Vadot					hysteresis = <2000>;
99*f126890aSEmmanuel Vadot					type = "passive";
100*f126890aSEmmanuel Vadot				};
101*f126890aSEmmanuel Vadot
102*f126890aSEmmanuel Vadot				target: trip-point@1 {
103*f126890aSEmmanuel Vadot					temperature = <85000>;
104*f126890aSEmmanuel Vadot					hysteresis = <2000>;
105*f126890aSEmmanuel Vadot					type = "passive";
106*f126890aSEmmanuel Vadot				};
107*f126890aSEmmanuel Vadot
108*f126890aSEmmanuel Vadot				cpu_crit: cpu_crit@0 {
109*f126890aSEmmanuel Vadot					temperature = <115000>;
110*f126890aSEmmanuel Vadot					hysteresis = <2000>;
111*f126890aSEmmanuel Vadot					type = "critical";
112*f126890aSEmmanuel Vadot				};
113*f126890aSEmmanuel Vadot			};
114*f126890aSEmmanuel Vadot		};
115*f126890aSEmmanuel Vadot	};
116*f126890aSEmmanuel Vadot
117*f126890aSEmmanuel Vadot	timer {
118*f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
119*f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
120*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
121*f126890aSEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
122*f126890aSEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
123*f126890aSEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
124*f126890aSEmmanuel Vadot	};
125*f126890aSEmmanuel Vadot
126*f126890aSEmmanuel Vadot	topckgen: syscon@10000000 {
127*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-topckgen", "syscon";
128*f126890aSEmmanuel Vadot		reg = <0 0x10000000 0 0x1000>;
129*f126890aSEmmanuel Vadot		#clock-cells = <1>;
130*f126890aSEmmanuel Vadot	};
131*f126890aSEmmanuel Vadot
132*f126890aSEmmanuel Vadot	infracfg: syscon@10001000 {
133*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-infracfg", "syscon";
134*f126890aSEmmanuel Vadot		reg = <0 0x10001000 0 0x1000>;
135*f126890aSEmmanuel Vadot		#clock-cells = <1>;
136*f126890aSEmmanuel Vadot		#reset-cells = <1>;
137*f126890aSEmmanuel Vadot	};
138*f126890aSEmmanuel Vadot
139*f126890aSEmmanuel Vadot	pericfg: syscon@10003000 {
140*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-pericfg", "syscon";
141*f126890aSEmmanuel Vadot		reg = <0 0x10003000 0 0x1000>;
142*f126890aSEmmanuel Vadot		#clock-cells = <1>;
143*f126890aSEmmanuel Vadot		#reset-cells = <1>;
144*f126890aSEmmanuel Vadot	};
145*f126890aSEmmanuel Vadot
146*f126890aSEmmanuel Vadot	syscfg_pctl_a: syscfg@10005000 {
147*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-pctl-a-syscfg", "syscon";
148*f126890aSEmmanuel Vadot		reg = <0 0x10005000 0 0x1000>;
149*f126890aSEmmanuel Vadot	};
150*f126890aSEmmanuel Vadot
151*f126890aSEmmanuel Vadot	scpsys: power-controller@10006000 {
152*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-scpsys", "syscon";
153*f126890aSEmmanuel Vadot		#power-domain-cells = <1>;
154*f126890aSEmmanuel Vadot		reg = <0 0x10006000 0 0x1000>;
155*f126890aSEmmanuel Vadot		infracfg = <&infracfg>;
156*f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_MM_SEL>,
157*f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_MFG_SEL>,
158*f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_ETHIF_SEL>;
159*f126890aSEmmanuel Vadot		clock-names = "mm", "mfg", "ethif";
160*f126890aSEmmanuel Vadot	};
161*f126890aSEmmanuel Vadot
162*f126890aSEmmanuel Vadot	watchdog: watchdog@10007000 {
163*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-wdt",
164*f126890aSEmmanuel Vadot			     "mediatek,mt6589-wdt";
165*f126890aSEmmanuel Vadot		reg = <0 0x10007000 0 0x100>;
166*f126890aSEmmanuel Vadot	};
167*f126890aSEmmanuel Vadot
168*f126890aSEmmanuel Vadot	timer: timer@10008000 {
169*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-timer",
170*f126890aSEmmanuel Vadot			     "mediatek,mt6577-timer";
171*f126890aSEmmanuel Vadot		reg = <0 0x10008000 0 0x80>;
172*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>;
173*f126890aSEmmanuel Vadot		clocks = <&system_clk>, <&rtc_clk>;
174*f126890aSEmmanuel Vadot		clock-names = "system-clk", "rtc-clk";
175*f126890aSEmmanuel Vadot	};
176*f126890aSEmmanuel Vadot
177*f126890aSEmmanuel Vadot	pio: pinctrl@1000b000 {
178*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-pinctrl";
179*f126890aSEmmanuel Vadot		reg = <0 0x1000b000 0 0x1000>;
180*f126890aSEmmanuel Vadot		mediatek,pctl-regmap = <&syscfg_pctl_a>;
181*f126890aSEmmanuel Vadot		gpio-controller;
182*f126890aSEmmanuel Vadot		#gpio-cells = <2>;
183*f126890aSEmmanuel Vadot		interrupt-controller;
184*f126890aSEmmanuel Vadot		#interrupt-cells = <2>;
185*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
186*f126890aSEmmanuel Vadot			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
187*f126890aSEmmanuel Vadot	};
188*f126890aSEmmanuel Vadot
189*f126890aSEmmanuel Vadot	smi_common: smi@1000c000 {
190*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-smi-common";
191*f126890aSEmmanuel Vadot		reg = <0 0x1000c000 0 0x1000>;
192*f126890aSEmmanuel Vadot		clocks = <&infracfg CLK_INFRA_SMI>,
193*f126890aSEmmanuel Vadot			 <&mmsys CLK_MM_SMI_COMMON>,
194*f126890aSEmmanuel Vadot			 <&infracfg CLK_INFRA_SMI>;
195*f126890aSEmmanuel Vadot		clock-names = "apb", "smi", "async";
196*f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_DISP>;
197*f126890aSEmmanuel Vadot	};
198*f126890aSEmmanuel Vadot
199*f126890aSEmmanuel Vadot	sysirq: interrupt-controller@10200100 {
200*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-sysirq",
201*f126890aSEmmanuel Vadot			     "mediatek,mt6577-sysirq";
202*f126890aSEmmanuel Vadot		interrupt-controller;
203*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
204*f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
205*f126890aSEmmanuel Vadot		reg = <0 0x10200100 0 0x1c>;
206*f126890aSEmmanuel Vadot	};
207*f126890aSEmmanuel Vadot
208*f126890aSEmmanuel Vadot	cirq: interrupt-controller@10204000 {
209*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-cirq",
210*f126890aSEmmanuel Vadot			     "mediatek,mtk-cirq";
211*f126890aSEmmanuel Vadot		interrupt-controller;
212*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
213*f126890aSEmmanuel Vadot		interrupt-parent = <&sysirq>;
214*f126890aSEmmanuel Vadot		reg = <0 0x10204000 0 0x400>;
215*f126890aSEmmanuel Vadot		mediatek,ext-irq-range = <32 200>;
216*f126890aSEmmanuel Vadot	};
217*f126890aSEmmanuel Vadot
218*f126890aSEmmanuel Vadot	iommu: mmsys_iommu@10205000 {
219*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-m4u";
220*f126890aSEmmanuel Vadot		reg = <0 0x10205000 0 0x1000>;
221*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_LOW>;
222*f126890aSEmmanuel Vadot		clocks = <&infracfg CLK_INFRA_M4U>;
223*f126890aSEmmanuel Vadot		clock-names = "bclk";
224*f126890aSEmmanuel Vadot		mediatek,larbs = <&larb0 &larb1 &larb2>;
225*f126890aSEmmanuel Vadot		#iommu-cells = <1>;
226*f126890aSEmmanuel Vadot	};
227*f126890aSEmmanuel Vadot
228*f126890aSEmmanuel Vadot	apmixedsys: syscon@10209000 {
229*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-apmixedsys", "syscon";
230*f126890aSEmmanuel Vadot		reg = <0 0x10209000 0 0x1000>;
231*f126890aSEmmanuel Vadot		#clock-cells = <1>;
232*f126890aSEmmanuel Vadot	};
233*f126890aSEmmanuel Vadot
234*f126890aSEmmanuel Vadot	gic: interrupt-controller@10211000 {
235*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a7-gic";
236*f126890aSEmmanuel Vadot		interrupt-controller;
237*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
238*f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
239*f126890aSEmmanuel Vadot		reg = <0 0x10211000 0 0x1000>,
240*f126890aSEmmanuel Vadot		      <0 0x10212000 0 0x2000>,
241*f126890aSEmmanuel Vadot		      <0 0x10214000 0 0x2000>,
242*f126890aSEmmanuel Vadot		      <0 0x10216000 0 0x2000>;
243*f126890aSEmmanuel Vadot	};
244*f126890aSEmmanuel Vadot
245*f126890aSEmmanuel Vadot	auxadc: adc@11001000 {
246*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-auxadc";
247*f126890aSEmmanuel Vadot		reg = <0 0x11001000 0 0x1000>;
248*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_AUXADC>;
249*f126890aSEmmanuel Vadot		clock-names = "main";
250*f126890aSEmmanuel Vadot		#io-channel-cells = <1>;
251*f126890aSEmmanuel Vadot		status = "disabled";
252*f126890aSEmmanuel Vadot	};
253*f126890aSEmmanuel Vadot
254*f126890aSEmmanuel Vadot	uart0: serial@11002000 {
255*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-uart",
256*f126890aSEmmanuel Vadot			     "mediatek,mt6577-uart";
257*f126890aSEmmanuel Vadot		reg = <0 0x11002000 0 0x400>;
258*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
259*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_UART0_SEL>, <&pericfg CLK_PERI_UART0>;
260*f126890aSEmmanuel Vadot		clock-names = "baud", "bus";
261*f126890aSEmmanuel Vadot		status = "disabled";
262*f126890aSEmmanuel Vadot	};
263*f126890aSEmmanuel Vadot
264*f126890aSEmmanuel Vadot	uart1: serial@11003000 {
265*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-uart",
266*f126890aSEmmanuel Vadot			     "mediatek,mt6577-uart";
267*f126890aSEmmanuel Vadot		reg = <0 0x11003000 0 0x400>;
268*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
269*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_UART1_SEL>, <&pericfg CLK_PERI_UART1>;
270*f126890aSEmmanuel Vadot		clock-names = "baud", "bus";
271*f126890aSEmmanuel Vadot		status = "disabled";
272*f126890aSEmmanuel Vadot	};
273*f126890aSEmmanuel Vadot
274*f126890aSEmmanuel Vadot	uart2: serial@11004000 {
275*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-uart",
276*f126890aSEmmanuel Vadot			     "mediatek,mt6577-uart";
277*f126890aSEmmanuel Vadot		reg = <0 0x11004000 0 0x400>;
278*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
279*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_UART2_SEL>, <&pericfg CLK_PERI_UART2>;
280*f126890aSEmmanuel Vadot		clock-names = "baud", "bus";
281*f126890aSEmmanuel Vadot		status = "disabled";
282*f126890aSEmmanuel Vadot	};
283*f126890aSEmmanuel Vadot
284*f126890aSEmmanuel Vadot	uart3: serial@11005000 {
285*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-uart",
286*f126890aSEmmanuel Vadot			     "mediatek,mt6577-uart";
287*f126890aSEmmanuel Vadot		reg = <0 0x11005000 0 0x400>;
288*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
289*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_UART3_SEL>, <&pericfg CLK_PERI_UART3>;
290*f126890aSEmmanuel Vadot		clock-names = "baud", "bus";
291*f126890aSEmmanuel Vadot		status = "disabled";
292*f126890aSEmmanuel Vadot	};
293*f126890aSEmmanuel Vadot
294*f126890aSEmmanuel Vadot	i2c0: i2c@11007000 {
295*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-i2c",
296*f126890aSEmmanuel Vadot			     "mediatek,mt6577-i2c";
297*f126890aSEmmanuel Vadot		reg = <0 0x11007000 0 0x70>,
298*f126890aSEmmanuel Vadot		      <0 0x11000200 0 0x80>;
299*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_LOW>;
300*f126890aSEmmanuel Vadot		clock-div = <16>;
301*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_I2C0>, <&pericfg CLK_PERI_AP_DMA>;
302*f126890aSEmmanuel Vadot		clock-names = "main", "dma";
303*f126890aSEmmanuel Vadot		#address-cells = <1>;
304*f126890aSEmmanuel Vadot		#size-cells = <0>;
305*f126890aSEmmanuel Vadot		status = "disabled";
306*f126890aSEmmanuel Vadot	};
307*f126890aSEmmanuel Vadot
308*f126890aSEmmanuel Vadot	i2c1: i2c@11008000 {
309*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-i2c",
310*f126890aSEmmanuel Vadot			     "mediatek,mt6577-i2c";
311*f126890aSEmmanuel Vadot		reg = <0 0x11008000 0 0x70>,
312*f126890aSEmmanuel Vadot		      <0 0x11000280 0 0x80>;
313*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_LOW>;
314*f126890aSEmmanuel Vadot		clock-div = <16>;
315*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_I2C1>, <&pericfg CLK_PERI_AP_DMA>;
316*f126890aSEmmanuel Vadot		clock-names = "main", "dma";
317*f126890aSEmmanuel Vadot		#address-cells = <1>;
318*f126890aSEmmanuel Vadot		#size-cells = <0>;
319*f126890aSEmmanuel Vadot		status = "disabled";
320*f126890aSEmmanuel Vadot	};
321*f126890aSEmmanuel Vadot
322*f126890aSEmmanuel Vadot	i2c2: i2c@11009000 {
323*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-i2c",
324*f126890aSEmmanuel Vadot			     "mediatek,mt6577-i2c";
325*f126890aSEmmanuel Vadot		reg = <0 0x11009000 0 0x70>,
326*f126890aSEmmanuel Vadot		      <0 0x11000300 0 0x80>;
327*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_LOW>;
328*f126890aSEmmanuel Vadot		clock-div = <16>;
329*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_I2C2>, <&pericfg CLK_PERI_AP_DMA>;
330*f126890aSEmmanuel Vadot		clock-names = "main", "dma";
331*f126890aSEmmanuel Vadot		#address-cells = <1>;
332*f126890aSEmmanuel Vadot		#size-cells = <0>;
333*f126890aSEmmanuel Vadot		status = "disabled";
334*f126890aSEmmanuel Vadot	};
335*f126890aSEmmanuel Vadot
336*f126890aSEmmanuel Vadot	spi0: spi@1100a000 {
337*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-spi";
338*f126890aSEmmanuel Vadot		#address-cells = <1>;
339*f126890aSEmmanuel Vadot		#size-cells = <0>;
340*f126890aSEmmanuel Vadot		reg = <0 0x1100a000 0 0x100>;
341*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>;
342*f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
343*f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_SPI0_SEL>,
344*f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_SPI0>;
345*f126890aSEmmanuel Vadot		clock-names = "parent-clk", "sel-clk", "spi-clk";
346*f126890aSEmmanuel Vadot		status = "disabled";
347*f126890aSEmmanuel Vadot	};
348*f126890aSEmmanuel Vadot
349*f126890aSEmmanuel Vadot	thermal: thermal@1100b000 {
350*f126890aSEmmanuel Vadot		#thermal-sensor-cells = <0>;
351*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-thermal";
352*f126890aSEmmanuel Vadot		reg = <0 0x1100b000 0 0x1000>;
353*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_LOW>;
354*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_THERM>, <&pericfg CLK_PERI_AUXADC>;
355*f126890aSEmmanuel Vadot		clock-names = "therm", "auxadc";
356*f126890aSEmmanuel Vadot		resets = <&pericfg MT2701_PERI_THERM_SW_RST>;
357*f126890aSEmmanuel Vadot		reset-names = "therm";
358*f126890aSEmmanuel Vadot		mediatek,auxadc = <&auxadc>;
359*f126890aSEmmanuel Vadot		mediatek,apmixedsys = <&apmixedsys>;
360*f126890aSEmmanuel Vadot	};
361*f126890aSEmmanuel Vadot
362*f126890aSEmmanuel Vadot	nandc: nand-controller@1100d000 {
363*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-nfc";
364*f126890aSEmmanuel Vadot		reg = <0 0x1100d000 0 0x1000>;
365*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_LOW>;
366*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_NFI>,
367*f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_NFI_PAD>;
368*f126890aSEmmanuel Vadot		clock-names = "nfi_clk", "pad_clk";
369*f126890aSEmmanuel Vadot		status = "disabled";
370*f126890aSEmmanuel Vadot		ecc-engine = <&bch>;
371*f126890aSEmmanuel Vadot		#address-cells = <1>;
372*f126890aSEmmanuel Vadot		#size-cells = <0>;
373*f126890aSEmmanuel Vadot	};
374*f126890aSEmmanuel Vadot
375*f126890aSEmmanuel Vadot	bch: ecc@1100e000 {
376*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-ecc";
377*f126890aSEmmanuel Vadot		reg = <0 0x1100e000 0 0x1000>;
378*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_LOW>;
379*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_NFI_ECC>;
380*f126890aSEmmanuel Vadot		clock-names = "nfiecc_clk";
381*f126890aSEmmanuel Vadot		status = "disabled";
382*f126890aSEmmanuel Vadot	};
383*f126890aSEmmanuel Vadot
384*f126890aSEmmanuel Vadot	nor_flash: spi@11014000 {
385*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-nor",
386*f126890aSEmmanuel Vadot			     "mediatek,mt8173-nor";
387*f126890aSEmmanuel Vadot		reg = <0 0x11014000 0 0xe0>;
388*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_FLASH>,
389*f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_FLASH_SEL>;
390*f126890aSEmmanuel Vadot		clock-names = "spi", "sf";
391*f126890aSEmmanuel Vadot		#address-cells = <1>;
392*f126890aSEmmanuel Vadot		#size-cells = <0>;
393*f126890aSEmmanuel Vadot		status = "disabled";
394*f126890aSEmmanuel Vadot	};
395*f126890aSEmmanuel Vadot
396*f126890aSEmmanuel Vadot	spi1: spi@11016000 {
397*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-spi";
398*f126890aSEmmanuel Vadot		#address-cells = <1>;
399*f126890aSEmmanuel Vadot		#size-cells = <0>;
400*f126890aSEmmanuel Vadot		reg = <0 0x11016000 0 0x100>;
401*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>;
402*f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
403*f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_SPI1_SEL>,
404*f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_SPI1>;
405*f126890aSEmmanuel Vadot		clock-names = "parent-clk", "sel-clk", "spi-clk";
406*f126890aSEmmanuel Vadot		status = "disabled";
407*f126890aSEmmanuel Vadot	};
408*f126890aSEmmanuel Vadot
409*f126890aSEmmanuel Vadot	spi2: spi@11017000 {
410*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-spi";
411*f126890aSEmmanuel Vadot		#address-cells = <1>;
412*f126890aSEmmanuel Vadot		#size-cells = <0>;
413*f126890aSEmmanuel Vadot		reg = <0 0x11017000 0 0x1000>;
414*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_LOW>;
415*f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
416*f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_SPI2_SEL>,
417*f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_SPI2>;
418*f126890aSEmmanuel Vadot		clock-names = "parent-clk", "sel-clk", "spi-clk";
419*f126890aSEmmanuel Vadot		status = "disabled";
420*f126890aSEmmanuel Vadot	};
421*f126890aSEmmanuel Vadot
422*f126890aSEmmanuel Vadot	audsys: clock-controller@11220000 {
423*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-audsys", "syscon";
424*f126890aSEmmanuel Vadot		reg = <0 0x11220000 0 0x2000>;
425*f126890aSEmmanuel Vadot		#clock-cells = <1>;
426*f126890aSEmmanuel Vadot
427*f126890aSEmmanuel Vadot		afe: audio-controller {
428*f126890aSEmmanuel Vadot			compatible = "mediatek,mt2701-audio";
429*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
430*f126890aSEmmanuel Vadot				      <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
431*f126890aSEmmanuel Vadot			interrupt-names = "afe", "asys";
432*f126890aSEmmanuel Vadot			power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
433*f126890aSEmmanuel Vadot
434*f126890aSEmmanuel Vadot			clocks = <&infracfg CLK_INFRA_AUDIO>,
435*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_MUX1_SEL>,
436*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_MUX2_SEL>,
437*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_48K_TIMING>,
438*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_44K_TIMING>,
439*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K1_SRC_SEL>,
440*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K2_SRC_SEL>,
441*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K3_SRC_SEL>,
442*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K4_SRC_SEL>,
443*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K1_SRC_DIV>,
444*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K2_SRC_DIV>,
445*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K3_SRC_DIV>,
446*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_K4_SRC_DIV>,
447*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S1_MCLK>,
448*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S2_MCLK>,
449*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S3_MCLK>,
450*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_AUD_I2S4_MCLK>,
451*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO1>,
452*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO2>,
453*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO3>,
454*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SO4>,
455*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN1>,
456*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN2>,
457*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN3>,
458*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_I2SIN4>,
459*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO1>,
460*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO2>,
461*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO3>,
462*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_ASRCO4>,
463*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_AFE>,
464*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_AFE_CONN>,
465*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_A1SYS>,
466*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_A2SYS>,
467*f126890aSEmmanuel Vadot				 <&audsys CLK_AUD_AFE_MRGIF>;
468*f126890aSEmmanuel Vadot
469*f126890aSEmmanuel Vadot			clock-names = "infra_sys_audio_clk",
470*f126890aSEmmanuel Vadot				      "top_audio_mux1_sel",
471*f126890aSEmmanuel Vadot				      "top_audio_mux2_sel",
472*f126890aSEmmanuel Vadot				      "top_audio_a1sys_hp",
473*f126890aSEmmanuel Vadot				      "top_audio_a2sys_hp",
474*f126890aSEmmanuel Vadot				      "i2s0_src_sel",
475*f126890aSEmmanuel Vadot				      "i2s1_src_sel",
476*f126890aSEmmanuel Vadot				      "i2s2_src_sel",
477*f126890aSEmmanuel Vadot				      "i2s3_src_sel",
478*f126890aSEmmanuel Vadot				      "i2s0_src_div",
479*f126890aSEmmanuel Vadot				      "i2s1_src_div",
480*f126890aSEmmanuel Vadot				      "i2s2_src_div",
481*f126890aSEmmanuel Vadot				      "i2s3_src_div",
482*f126890aSEmmanuel Vadot				      "i2s0_mclk_en",
483*f126890aSEmmanuel Vadot				      "i2s1_mclk_en",
484*f126890aSEmmanuel Vadot				      "i2s2_mclk_en",
485*f126890aSEmmanuel Vadot				      "i2s3_mclk_en",
486*f126890aSEmmanuel Vadot				      "i2so0_hop_ck",
487*f126890aSEmmanuel Vadot				      "i2so1_hop_ck",
488*f126890aSEmmanuel Vadot				      "i2so2_hop_ck",
489*f126890aSEmmanuel Vadot				      "i2so3_hop_ck",
490*f126890aSEmmanuel Vadot				      "i2si0_hop_ck",
491*f126890aSEmmanuel Vadot				      "i2si1_hop_ck",
492*f126890aSEmmanuel Vadot				      "i2si2_hop_ck",
493*f126890aSEmmanuel Vadot				      "i2si3_hop_ck",
494*f126890aSEmmanuel Vadot				      "asrc0_out_ck",
495*f126890aSEmmanuel Vadot				      "asrc1_out_ck",
496*f126890aSEmmanuel Vadot				      "asrc2_out_ck",
497*f126890aSEmmanuel Vadot				      "asrc3_out_ck",
498*f126890aSEmmanuel Vadot				      "audio_afe_pd",
499*f126890aSEmmanuel Vadot				      "audio_afe_conn_pd",
500*f126890aSEmmanuel Vadot				      "audio_a1sys_pd",
501*f126890aSEmmanuel Vadot				      "audio_a2sys_pd",
502*f126890aSEmmanuel Vadot				      "audio_mrgif_pd";
503*f126890aSEmmanuel Vadot
504*f126890aSEmmanuel Vadot			assigned-clocks = <&topckgen CLK_TOP_AUD_MUX1_SEL>,
505*f126890aSEmmanuel Vadot					  <&topckgen CLK_TOP_AUD_MUX2_SEL>,
506*f126890aSEmmanuel Vadot					  <&topckgen CLK_TOP_AUD_MUX1_DIV>,
507*f126890aSEmmanuel Vadot					  <&topckgen CLK_TOP_AUD_MUX2_DIV>;
508*f126890aSEmmanuel Vadot			assigned-clock-parents = <&topckgen CLK_TOP_AUD1PLL_98M>,
509*f126890aSEmmanuel Vadot						 <&topckgen CLK_TOP_AUD2PLL_90M>;
510*f126890aSEmmanuel Vadot			assigned-clock-rates = <0>, <0>, <49152000>, <45158400>;
511*f126890aSEmmanuel Vadot		};
512*f126890aSEmmanuel Vadot	};
513*f126890aSEmmanuel Vadot
514*f126890aSEmmanuel Vadot	mmsys: syscon@14000000 {
515*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-mmsys", "syscon";
516*f126890aSEmmanuel Vadot		reg = <0 0x14000000 0 0x1000>;
517*f126890aSEmmanuel Vadot		#clock-cells = <1>;
518*f126890aSEmmanuel Vadot	};
519*f126890aSEmmanuel Vadot
520*f126890aSEmmanuel Vadot	bls: pwm@1400a000 {
521*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-disp-pwm";
522*f126890aSEmmanuel Vadot		reg = <0 0x1400a000 0 0x1000>;
523*f126890aSEmmanuel Vadot		#pwm-cells = <2>;
524*f126890aSEmmanuel Vadot		clocks = <&mmsys CLK_MM_MDP_BLS_26M>, <&mmsys CLK_MM_DISP_BLS>;
525*f126890aSEmmanuel Vadot		clock-names = "main", "mm";
526*f126890aSEmmanuel Vadot		status = "disabled";
527*f126890aSEmmanuel Vadot	};
528*f126890aSEmmanuel Vadot
529*f126890aSEmmanuel Vadot	larb0: larb@14010000 {
530*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-smi-larb";
531*f126890aSEmmanuel Vadot		reg = <0 0x14010000 0 0x1000>;
532*f126890aSEmmanuel Vadot		mediatek,smi = <&smi_common>;
533*f126890aSEmmanuel Vadot		mediatek,larb-id = <0>;
534*f126890aSEmmanuel Vadot		clocks = <&mmsys CLK_MM_SMI_LARB0>,
535*f126890aSEmmanuel Vadot			 <&mmsys CLK_MM_SMI_LARB0>;
536*f126890aSEmmanuel Vadot		clock-names = "apb", "smi";
537*f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_DISP>;
538*f126890aSEmmanuel Vadot	};
539*f126890aSEmmanuel Vadot
540*f126890aSEmmanuel Vadot	imgsys: syscon@15000000 {
541*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-imgsys", "syscon";
542*f126890aSEmmanuel Vadot		reg = <0 0x15000000 0 0x1000>;
543*f126890aSEmmanuel Vadot		#clock-cells = <1>;
544*f126890aSEmmanuel Vadot	};
545*f126890aSEmmanuel Vadot
546*f126890aSEmmanuel Vadot	larb2: larb@15001000 {
547*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-smi-larb";
548*f126890aSEmmanuel Vadot		reg = <0 0x15001000 0 0x1000>;
549*f126890aSEmmanuel Vadot		mediatek,smi = <&smi_common>;
550*f126890aSEmmanuel Vadot		mediatek,larb-id = <2>;
551*f126890aSEmmanuel Vadot		clocks = <&imgsys CLK_IMG_SMI_COMM>,
552*f126890aSEmmanuel Vadot			 <&imgsys CLK_IMG_SMI_COMM>;
553*f126890aSEmmanuel Vadot		clock-names = "apb", "smi";
554*f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>;
555*f126890aSEmmanuel Vadot	};
556*f126890aSEmmanuel Vadot
557*f126890aSEmmanuel Vadot	jpegdec: jpegdec@15004000 {
558*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-jpgdec";
559*f126890aSEmmanuel Vadot		reg = <0 0x15004000 0 0x1000>;
560*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_LOW>;
561*f126890aSEmmanuel Vadot		clocks = <&imgsys CLK_IMG_JPGDEC_SMI>,
562*f126890aSEmmanuel Vadot			  <&imgsys CLK_IMG_JPGDEC>;
563*f126890aSEmmanuel Vadot		clock-names = "jpgdec-smi",
564*f126890aSEmmanuel Vadot			      "jpgdec";
565*f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>;
566*f126890aSEmmanuel Vadot		iommus = <&iommu MT2701_M4U_PORT_JPGDEC_WDMA>,
567*f126890aSEmmanuel Vadot			 <&iommu MT2701_M4U_PORT_JPGDEC_BSDMA>;
568*f126890aSEmmanuel Vadot	};
569*f126890aSEmmanuel Vadot
570*f126890aSEmmanuel Vadot	jpegenc: jpegenc@1500a000 {
571*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-jpgenc",
572*f126890aSEmmanuel Vadot			     "mediatek,mtk-jpgenc";
573*f126890aSEmmanuel Vadot		reg = <0 0x1500a000 0 0x1000>;
574*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_LOW>;
575*f126890aSEmmanuel Vadot		clocks = <&imgsys CLK_IMG_VENC>;
576*f126890aSEmmanuel Vadot		clock-names = "jpgenc";
577*f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>;
578*f126890aSEmmanuel Vadot		iommus = <&iommu MT2701_M4U_PORT_JPGENC_RDMA>,
579*f126890aSEmmanuel Vadot			 <&iommu MT2701_M4U_PORT_JPGENC_BSDMA>;
580*f126890aSEmmanuel Vadot	};
581*f126890aSEmmanuel Vadot
582*f126890aSEmmanuel Vadot	vdecsys: syscon@16000000 {
583*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-vdecsys", "syscon";
584*f126890aSEmmanuel Vadot		reg = <0 0x16000000 0 0x1000>;
585*f126890aSEmmanuel Vadot		#clock-cells = <1>;
586*f126890aSEmmanuel Vadot	};
587*f126890aSEmmanuel Vadot
588*f126890aSEmmanuel Vadot	larb1: larb@16010000 {
589*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-smi-larb";
590*f126890aSEmmanuel Vadot		reg = <0 0x16010000 0 0x1000>;
591*f126890aSEmmanuel Vadot		mediatek,smi = <&smi_common>;
592*f126890aSEmmanuel Vadot		mediatek,larb-id = <1>;
593*f126890aSEmmanuel Vadot		clocks = <&vdecsys CLK_VDEC_CKGEN>,
594*f126890aSEmmanuel Vadot			 <&vdecsys CLK_VDEC_LARB>;
595*f126890aSEmmanuel Vadot		clock-names = "apb", "smi";
596*f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_VDEC>;
597*f126890aSEmmanuel Vadot	};
598*f126890aSEmmanuel Vadot
599*f126890aSEmmanuel Vadot	hifsys: syscon@1a000000 {
600*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-hifsys", "syscon";
601*f126890aSEmmanuel Vadot		reg = <0 0x1a000000 0 0x1000>;
602*f126890aSEmmanuel Vadot		#clock-cells = <1>;
603*f126890aSEmmanuel Vadot		#reset-cells = <1>;
604*f126890aSEmmanuel Vadot	};
605*f126890aSEmmanuel Vadot
606*f126890aSEmmanuel Vadot	usb0: usb@1a1c0000 {
607*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-xhci", "mediatek,mtk-xhci";
608*f126890aSEmmanuel Vadot		reg = <0 0x1a1c0000 0 0x1000>,
609*f126890aSEmmanuel Vadot		      <0 0x1a1c4700 0 0x0100>;
610*f126890aSEmmanuel Vadot		reg-names = "mac", "ippc";
611*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_LOW>;
612*f126890aSEmmanuel Vadot		clocks = <&hifsys CLK_HIFSYS_USB0PHY>,
613*f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_ETHIF_SEL>;
614*f126890aSEmmanuel Vadot		clock-names = "sys_ck", "ref_ck";
615*f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
616*f126890aSEmmanuel Vadot		phys = <&u2port0 PHY_TYPE_USB2>, <&u3port0 PHY_TYPE_USB3>;
617*f126890aSEmmanuel Vadot		status = "disabled";
618*f126890aSEmmanuel Vadot	};
619*f126890aSEmmanuel Vadot
620*f126890aSEmmanuel Vadot	u3phy0: t-phy@1a1c4000 {
621*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-tphy",
622*f126890aSEmmanuel Vadot			     "mediatek,generic-tphy-v1";
623*f126890aSEmmanuel Vadot		reg = <0 0x1a1c4000 0 0x0700>;
624*f126890aSEmmanuel Vadot		#address-cells = <2>;
625*f126890aSEmmanuel Vadot		#size-cells = <2>;
626*f126890aSEmmanuel Vadot		ranges;
627*f126890aSEmmanuel Vadot		status = "disabled";
628*f126890aSEmmanuel Vadot
629*f126890aSEmmanuel Vadot		u2port0: usb-phy@1a1c4800 {
630*f126890aSEmmanuel Vadot			reg = <0 0x1a1c4800 0 0x0100>;
631*f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_USB_PHY48M>;
632*f126890aSEmmanuel Vadot			clock-names = "ref";
633*f126890aSEmmanuel Vadot			#phy-cells = <1>;
634*f126890aSEmmanuel Vadot			status = "okay";
635*f126890aSEmmanuel Vadot		};
636*f126890aSEmmanuel Vadot
637*f126890aSEmmanuel Vadot		u3port0: usb-phy@1a1c4900 {
638*f126890aSEmmanuel Vadot			reg = <0 0x1a1c4900 0 0x0700>;
639*f126890aSEmmanuel Vadot			clocks = <&clk26m>;
640*f126890aSEmmanuel Vadot			clock-names = "ref";
641*f126890aSEmmanuel Vadot			#phy-cells = <1>;
642*f126890aSEmmanuel Vadot			status = "okay";
643*f126890aSEmmanuel Vadot		};
644*f126890aSEmmanuel Vadot	};
645*f126890aSEmmanuel Vadot
646*f126890aSEmmanuel Vadot	usb1: usb@1a240000 {
647*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-xhci", "mediatek,mtk-xhci";
648*f126890aSEmmanuel Vadot		reg = <0 0x1a240000 0 0x1000>,
649*f126890aSEmmanuel Vadot		      <0 0x1a244700 0 0x0100>;
650*f126890aSEmmanuel Vadot		reg-names = "mac", "ippc";
651*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_LOW>;
652*f126890aSEmmanuel Vadot		clocks = <&hifsys CLK_HIFSYS_USB1PHY>,
653*f126890aSEmmanuel Vadot			 <&topckgen CLK_TOP_ETHIF_SEL>;
654*f126890aSEmmanuel Vadot		clock-names = "sys_ck", "ref_ck";
655*f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
656*f126890aSEmmanuel Vadot		phys = <&u2port1 PHY_TYPE_USB2>, <&u3port1 PHY_TYPE_USB3>;
657*f126890aSEmmanuel Vadot		status = "disabled";
658*f126890aSEmmanuel Vadot	};
659*f126890aSEmmanuel Vadot
660*f126890aSEmmanuel Vadot	u3phy1: t-phy@1a244000 {
661*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-tphy",
662*f126890aSEmmanuel Vadot			     "mediatek,generic-tphy-v1";
663*f126890aSEmmanuel Vadot		reg = <0 0x1a244000 0 0x0700>;
664*f126890aSEmmanuel Vadot		#address-cells = <2>;
665*f126890aSEmmanuel Vadot		#size-cells = <2>;
666*f126890aSEmmanuel Vadot		ranges;
667*f126890aSEmmanuel Vadot		status = "disabled";
668*f126890aSEmmanuel Vadot
669*f126890aSEmmanuel Vadot		u2port1: usb-phy@1a244800 {
670*f126890aSEmmanuel Vadot			reg = <0 0x1a244800 0 0x0100>;
671*f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_USB_PHY48M>;
672*f126890aSEmmanuel Vadot			clock-names = "ref";
673*f126890aSEmmanuel Vadot			#phy-cells = <1>;
674*f126890aSEmmanuel Vadot			status = "okay";
675*f126890aSEmmanuel Vadot		};
676*f126890aSEmmanuel Vadot
677*f126890aSEmmanuel Vadot		u3port1: usb-phy@1a244900 {
678*f126890aSEmmanuel Vadot			reg = <0 0x1a244900 0 0x0700>;
679*f126890aSEmmanuel Vadot			clocks = <&clk26m>;
680*f126890aSEmmanuel Vadot			clock-names = "ref";
681*f126890aSEmmanuel Vadot			#phy-cells = <1>;
682*f126890aSEmmanuel Vadot			status = "okay";
683*f126890aSEmmanuel Vadot		};
684*f126890aSEmmanuel Vadot	};
685*f126890aSEmmanuel Vadot
686*f126890aSEmmanuel Vadot	usb2: usb@11200000 {
687*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-musb",
688*f126890aSEmmanuel Vadot			     "mediatek,mtk-musb";
689*f126890aSEmmanuel Vadot		reg = <0 0x11200000 0 0x1000>;
690*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
691*f126890aSEmmanuel Vadot		interrupt-names = "mc";
692*f126890aSEmmanuel Vadot		phys = <&u2port2 PHY_TYPE_USB2>;
693*f126890aSEmmanuel Vadot		dr_mode = "otg";
694*f126890aSEmmanuel Vadot		clocks = <&pericfg CLK_PERI_USB0>,
695*f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_USB0_MCU>,
696*f126890aSEmmanuel Vadot			 <&pericfg CLK_PERI_USB_SLV>;
697*f126890aSEmmanuel Vadot		clock-names = "main","mcu","univpll";
698*f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
699*f126890aSEmmanuel Vadot		status = "disabled";
700*f126890aSEmmanuel Vadot	};
701*f126890aSEmmanuel Vadot
702*f126890aSEmmanuel Vadot	u2phy0: t-phy@11210000 {
703*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-tphy",
704*f126890aSEmmanuel Vadot			     "mediatek,generic-tphy-v1";
705*f126890aSEmmanuel Vadot		reg = <0 0x11210000 0 0x0800>;
706*f126890aSEmmanuel Vadot		#address-cells = <2>;
707*f126890aSEmmanuel Vadot		#size-cells = <2>;
708*f126890aSEmmanuel Vadot		ranges;
709*f126890aSEmmanuel Vadot		status = "okay";
710*f126890aSEmmanuel Vadot
711*f126890aSEmmanuel Vadot		u2port2: usb-phy@1a1c4800 {
712*f126890aSEmmanuel Vadot			reg = <0 0x11210800 0 0x0100>;
713*f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_USB_PHY48M>;
714*f126890aSEmmanuel Vadot			clock-names = "ref";
715*f126890aSEmmanuel Vadot			#phy-cells = <1>;
716*f126890aSEmmanuel Vadot			status = "okay";
717*f126890aSEmmanuel Vadot		};
718*f126890aSEmmanuel Vadot	};
719*f126890aSEmmanuel Vadot
720*f126890aSEmmanuel Vadot	ethsys: syscon@1b000000 {
721*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-ethsys", "syscon";
722*f126890aSEmmanuel Vadot		reg = <0 0x1b000000 0 0x1000>;
723*f126890aSEmmanuel Vadot		#clock-cells = <1>;
724*f126890aSEmmanuel Vadot		#reset-cells = <1>;
725*f126890aSEmmanuel Vadot	};
726*f126890aSEmmanuel Vadot
727*f126890aSEmmanuel Vadot	eth: ethernet@1b100000 {
728*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-eth", "syscon";
729*f126890aSEmmanuel Vadot		reg = <0 0x1b100000 0 0x20000>;
730*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW>,
731*f126890aSEmmanuel Vadot			     <GIC_SPI 199 IRQ_TYPE_LEVEL_LOW>,
732*f126890aSEmmanuel Vadot			     <GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>;
733*f126890aSEmmanuel Vadot		clocks = <&topckgen CLK_TOP_ETHIF_SEL>,
734*f126890aSEmmanuel Vadot			 <&ethsys CLK_ETHSYS_ESW>,
735*f126890aSEmmanuel Vadot			 <&ethsys CLK_ETHSYS_GP1>,
736*f126890aSEmmanuel Vadot			 <&ethsys CLK_ETHSYS_GP2>,
737*f126890aSEmmanuel Vadot			 <&apmixedsys CLK_APMIXED_TRGPLL>;
738*f126890aSEmmanuel Vadot		clock-names = "ethif", "esw", "gp1", "gp2", "trgpll";
739*f126890aSEmmanuel Vadot		resets = <&ethsys MT2701_ETHSYS_FE_RST>,
740*f126890aSEmmanuel Vadot			 <&ethsys MT2701_ETHSYS_GMAC_RST>,
741*f126890aSEmmanuel Vadot			 <&ethsys MT2701_ETHSYS_PPE_RST>;
742*f126890aSEmmanuel Vadot		reset-names = "fe", "gmac", "ppe";
743*f126890aSEmmanuel Vadot		power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
744*f126890aSEmmanuel Vadot		mediatek,ethsys = <&ethsys>;
745*f126890aSEmmanuel Vadot		mediatek,pctl = <&syscfg_pctl_a>;
746*f126890aSEmmanuel Vadot		#address-cells = <1>;
747*f126890aSEmmanuel Vadot		#size-cells = <0>;
748*f126890aSEmmanuel Vadot		status = "disabled";
749*f126890aSEmmanuel Vadot	};
750*f126890aSEmmanuel Vadot
751*f126890aSEmmanuel Vadot	bdpsys: syscon@1c000000 {
752*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-bdpsys", "syscon";
753*f126890aSEmmanuel Vadot		reg = <0 0x1c000000 0 0x1000>;
754*f126890aSEmmanuel Vadot		#clock-cells = <1>;
755*f126890aSEmmanuel Vadot	};
756*f126890aSEmmanuel Vadot};
757