xref: /freebsd-src/sys/contrib/device-tree/src/arm/mediatek/mt7629.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (c) 2019 MediaTek Inc.
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot * Author: Ryder Lee <ryder.lee@mediatek.com>
6*f126890aSEmmanuel Vadot */
7*f126890aSEmmanuel Vadot
8*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
9*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
10*f126890aSEmmanuel Vadot#include <dt-bindings/clock/mt7629-clk.h>
11*f126890aSEmmanuel Vadot#include <dt-bindings/power/mt7622-power.h>
12*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
13*f126890aSEmmanuel Vadot#include <dt-bindings/phy/phy.h>
14*f126890aSEmmanuel Vadot#include <dt-bindings/reset/mt7629-resets.h>
15*f126890aSEmmanuel Vadot
16*f126890aSEmmanuel Vadot/ {
17*f126890aSEmmanuel Vadot	compatible = "mediatek,mt7629";
18*f126890aSEmmanuel Vadot	interrupt-parent = <&sysirq>;
19*f126890aSEmmanuel Vadot	#address-cells = <1>;
20*f126890aSEmmanuel Vadot	#size-cells = <1>;
21*f126890aSEmmanuel Vadot
22*f126890aSEmmanuel Vadot	cpus {
23*f126890aSEmmanuel Vadot		#address-cells = <1>;
24*f126890aSEmmanuel Vadot		#size-cells = <0>;
25*f126890aSEmmanuel Vadot		enable-method = "mediatek,mt6589-smp";
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadot		cpu0: cpu@0 {
28*f126890aSEmmanuel Vadot			device_type = "cpu";
29*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
30*f126890aSEmmanuel Vadot			reg = <0x0>;
31*f126890aSEmmanuel Vadot			clock-frequency = <1250000000>;
32*f126890aSEmmanuel Vadot			cci-control-port = <&cci_control2>;
33*f126890aSEmmanuel Vadot		};
34*f126890aSEmmanuel Vadot
35*f126890aSEmmanuel Vadot		cpu1: cpu@1 {
36*f126890aSEmmanuel Vadot			device_type = "cpu";
37*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
38*f126890aSEmmanuel Vadot			reg = <0x1>;
39*f126890aSEmmanuel Vadot			clock-frequency = <1250000000>;
40*f126890aSEmmanuel Vadot			cci-control-port = <&cci_control2>;
41*f126890aSEmmanuel Vadot		};
42*f126890aSEmmanuel Vadot	};
43*f126890aSEmmanuel Vadot
44*f126890aSEmmanuel Vadot	pmu {
45*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a7-pmu";
46*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_LOW>,
47*f126890aSEmmanuel Vadot			     <GIC_SPI 9 IRQ_TYPE_LEVEL_LOW>;
48*f126890aSEmmanuel Vadot		interrupt-affinity = <&cpu0>, <&cpu1>;
49*f126890aSEmmanuel Vadot	};
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot	clk20m: oscillator-0 {
52*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
53*f126890aSEmmanuel Vadot		#clock-cells = <0>;
54*f126890aSEmmanuel Vadot		clock-frequency = <20000000>;
55*f126890aSEmmanuel Vadot		clock-output-names = "clk20m";
56*f126890aSEmmanuel Vadot	};
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel Vadot	clk40m: oscillator-1 {
59*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
60*f126890aSEmmanuel Vadot		#clock-cells = <0>;
61*f126890aSEmmanuel Vadot		clock-frequency = <40000000>;
62*f126890aSEmmanuel Vadot		clock-output-names = "clkxtal";
63*f126890aSEmmanuel Vadot	};
64*f126890aSEmmanuel Vadot
65*f126890aSEmmanuel Vadot	timer {
66*f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
67*f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
68*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
69*f126890aSEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
70*f126890aSEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
71*f126890aSEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
72*f126890aSEmmanuel Vadot		clock-frequency = <20000000>;
73*f126890aSEmmanuel Vadot	};
74*f126890aSEmmanuel Vadot
75*f126890aSEmmanuel Vadot	soc {
76*f126890aSEmmanuel Vadot		compatible = "simple-bus";
77*f126890aSEmmanuel Vadot		#address-cells = <1>;
78*f126890aSEmmanuel Vadot		#size-cells = <1>;
79*f126890aSEmmanuel Vadot		ranges;
80*f126890aSEmmanuel Vadot
81*f126890aSEmmanuel Vadot		infracfg: syscon@10000000 {
82*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-infracfg", "syscon";
83*f126890aSEmmanuel Vadot			reg = <0x10000000 0x1000>;
84*f126890aSEmmanuel Vadot			#clock-cells = <1>;
85*f126890aSEmmanuel Vadot		};
86*f126890aSEmmanuel Vadot
87*f126890aSEmmanuel Vadot		pericfg: syscon@10002000 {
88*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-pericfg", "syscon";
89*f126890aSEmmanuel Vadot			reg = <0x10002000 0x1000>;
90*f126890aSEmmanuel Vadot			#clock-cells = <1>;
91*f126890aSEmmanuel Vadot		};
92*f126890aSEmmanuel Vadot
93*f126890aSEmmanuel Vadot		scpsys: power-controller@10006000 {
94*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-scpsys",
95*f126890aSEmmanuel Vadot				     "mediatek,mt7622-scpsys";
96*f126890aSEmmanuel Vadot			#power-domain-cells = <1>;
97*f126890aSEmmanuel Vadot			reg = <0x10006000 0x1000>;
98*f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_HIF_SEL>;
99*f126890aSEmmanuel Vadot			clock-names = "hif_sel";
100*f126890aSEmmanuel Vadot			assigned-clocks = <&topckgen CLK_TOP_HIF_SEL>;
101*f126890aSEmmanuel Vadot			assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>;
102*f126890aSEmmanuel Vadot			infracfg = <&infracfg>;
103*f126890aSEmmanuel Vadot		};
104*f126890aSEmmanuel Vadot
105*f126890aSEmmanuel Vadot		timer: timer@10009000 {
106*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-timer",
107*f126890aSEmmanuel Vadot				     "mediatek,mt6765-timer";
108*f126890aSEmmanuel Vadot			reg = <0x10009000 0x60>;
109*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
110*f126890aSEmmanuel Vadot			clocks = <&clk20m>;
111*f126890aSEmmanuel Vadot			clock-names = "clk20m";
112*f126890aSEmmanuel Vadot		};
113*f126890aSEmmanuel Vadot
114*f126890aSEmmanuel Vadot		sysirq: interrupt-controller@10200a80 {
115*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-sysirq",
116*f126890aSEmmanuel Vadot				     "mediatek,mt6577-sysirq";
117*f126890aSEmmanuel Vadot			reg = <0x10200a80 0x20>;
118*f126890aSEmmanuel Vadot			interrupt-controller;
119*f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
120*f126890aSEmmanuel Vadot			interrupt-parent = <&gic>;
121*f126890aSEmmanuel Vadot		};
122*f126890aSEmmanuel Vadot
123*f126890aSEmmanuel Vadot		apmixedsys: syscon@10209000 {
124*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-apmixedsys", "syscon";
125*f126890aSEmmanuel Vadot			reg = <0x10209000 0x1000>;
126*f126890aSEmmanuel Vadot			#clock-cells = <1>;
127*f126890aSEmmanuel Vadot		};
128*f126890aSEmmanuel Vadot
129*f126890aSEmmanuel Vadot		rng: rng@1020f000 {
130*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-rng",
131*f126890aSEmmanuel Vadot				     "mediatek,mt7623-rng";
132*f126890aSEmmanuel Vadot			reg = <0x1020f000 0x100>;
133*f126890aSEmmanuel Vadot			clocks = <&infracfg CLK_INFRA_TRNG_PD>;
134*f126890aSEmmanuel Vadot			clock-names = "rng";
135*f126890aSEmmanuel Vadot		};
136*f126890aSEmmanuel Vadot
137*f126890aSEmmanuel Vadot		topckgen: syscon@10210000 {
138*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-topckgen", "syscon";
139*f126890aSEmmanuel Vadot			reg = <0x10210000 0x1000>;
140*f126890aSEmmanuel Vadot			#clock-cells = <1>;
141*f126890aSEmmanuel Vadot		};
142*f126890aSEmmanuel Vadot
143*f126890aSEmmanuel Vadot		watchdog: watchdog@10212000 {
144*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-wdt",
145*f126890aSEmmanuel Vadot				     "mediatek,mt6589-wdt";
146*f126890aSEmmanuel Vadot			reg = <0x10212000 0x100>;
147*f126890aSEmmanuel Vadot		};
148*f126890aSEmmanuel Vadot
149*f126890aSEmmanuel Vadot		pio: pinctrl@10217000 {
150*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-pinctrl";
151*f126890aSEmmanuel Vadot			reg = <0x10217000 0x8000>,
152*f126890aSEmmanuel Vadot			      <0x10005000 0x1000>;
153*f126890aSEmmanuel Vadot			reg-names = "base", "eint";
154*f126890aSEmmanuel Vadot			gpio-controller;
155*f126890aSEmmanuel Vadot			gpio-ranges = <&pio 0 0 79>;
156*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
157*f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
158*f126890aSEmmanuel Vadot			interrupt-controller;
159*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
160*f126890aSEmmanuel Vadot			interrupt-parent = <&gic>;
161*f126890aSEmmanuel Vadot		};
162*f126890aSEmmanuel Vadot
163*f126890aSEmmanuel Vadot		gic: interrupt-controller@10300000 {
164*f126890aSEmmanuel Vadot			compatible = "arm,gic-400";
165*f126890aSEmmanuel Vadot			interrupt-controller;
166*f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
167*f126890aSEmmanuel Vadot			interrupt-parent = <&gic>;
168*f126890aSEmmanuel Vadot			reg = <0x10310000 0x1000>,
169*f126890aSEmmanuel Vadot			      <0x10320000 0x1000>,
170*f126890aSEmmanuel Vadot			      <0x10340000 0x2000>,
171*f126890aSEmmanuel Vadot			      <0x10360000 0x2000>;
172*f126890aSEmmanuel Vadot		};
173*f126890aSEmmanuel Vadot
174*f126890aSEmmanuel Vadot		cci: cci@10390000 {
175*f126890aSEmmanuel Vadot			compatible = "arm,cci-400";
176*f126890aSEmmanuel Vadot			#address-cells = <1>;
177*f126890aSEmmanuel Vadot			#size-cells = <1>;
178*f126890aSEmmanuel Vadot			reg = <0x10390000 0x1000>;
179*f126890aSEmmanuel Vadot			ranges = <0 0x10390000 0x10000>;
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot			cci_control0: slave-if@1000 {
182*f126890aSEmmanuel Vadot				compatible = "arm,cci-400-ctrl-if";
183*f126890aSEmmanuel Vadot				interface-type = "ace-lite";
184*f126890aSEmmanuel Vadot				reg = <0x1000 0x1000>;
185*f126890aSEmmanuel Vadot			};
186*f126890aSEmmanuel Vadot
187*f126890aSEmmanuel Vadot			cci_control1: slave-if@4000 {
188*f126890aSEmmanuel Vadot				compatible = "arm,cci-400-ctrl-if";
189*f126890aSEmmanuel Vadot				interface-type = "ace";
190*f126890aSEmmanuel Vadot				reg = <0x4000 0x1000>;
191*f126890aSEmmanuel Vadot			};
192*f126890aSEmmanuel Vadot
193*f126890aSEmmanuel Vadot			cci_control2: slave-if@5000 {
194*f126890aSEmmanuel Vadot				compatible = "arm,cci-400-ctrl-if";
195*f126890aSEmmanuel Vadot				interface-type = "ace";
196*f126890aSEmmanuel Vadot				reg = <0x5000 0x1000>;
197*f126890aSEmmanuel Vadot			};
198*f126890aSEmmanuel Vadot
199*f126890aSEmmanuel Vadot			pmu@9000 {
200*f126890aSEmmanuel Vadot				compatible = "arm,cci-400-pmu,r1";
201*f126890aSEmmanuel Vadot				reg = <0x9000 0x5000>;
202*f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
203*f126890aSEmmanuel Vadot					     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
204*f126890aSEmmanuel Vadot					     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
205*f126890aSEmmanuel Vadot					     <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
206*f126890aSEmmanuel Vadot					     <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
207*f126890aSEmmanuel Vadot			};
208*f126890aSEmmanuel Vadot		};
209*f126890aSEmmanuel Vadot
210*f126890aSEmmanuel Vadot		uart0: serial@11002000 {
211*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-uart",
212*f126890aSEmmanuel Vadot				     "mediatek,mt6577-uart";
213*f126890aSEmmanuel Vadot			reg = <0x11002000 0x400>;
214*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
215*f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_UART_SEL>,
216*f126890aSEmmanuel Vadot				 <&pericfg CLK_PERI_UART0_PD>;
217*f126890aSEmmanuel Vadot			clock-names = "baud", "bus";
218*f126890aSEmmanuel Vadot			status = "disabled";
219*f126890aSEmmanuel Vadot		};
220*f126890aSEmmanuel Vadot
221*f126890aSEmmanuel Vadot		uart1: serial@11003000 {
222*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-uart",
223*f126890aSEmmanuel Vadot				     "mediatek,mt6577-uart";
224*f126890aSEmmanuel Vadot			reg = <0x11003000 0x400>;
225*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
226*f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_UART_SEL>,
227*f126890aSEmmanuel Vadot				 <&pericfg CLK_PERI_UART1_PD>;
228*f126890aSEmmanuel Vadot			clock-names = "baud", "bus";
229*f126890aSEmmanuel Vadot			status = "disabled";
230*f126890aSEmmanuel Vadot		};
231*f126890aSEmmanuel Vadot
232*f126890aSEmmanuel Vadot		uart2: serial@11004000 {
233*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-uart",
234*f126890aSEmmanuel Vadot				     "mediatek,mt6577-uart";
235*f126890aSEmmanuel Vadot			reg = <0x11004000 0x400>;
236*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
237*f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_UART_SEL>,
238*f126890aSEmmanuel Vadot				 <&pericfg CLK_PERI_UART2_PD>;
239*f126890aSEmmanuel Vadot			clock-names = "baud", "bus";
240*f126890aSEmmanuel Vadot			status = "disabled";
241*f126890aSEmmanuel Vadot		};
242*f126890aSEmmanuel Vadot
243*f126890aSEmmanuel Vadot		pwm: pwm@11006000 {
244*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-pwm";
245*f126890aSEmmanuel Vadot			reg = <0x11006000 0x1000>;
246*f126890aSEmmanuel Vadot			#pwm-cells = <2>;
247*f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_PWM_SEL>,
248*f126890aSEmmanuel Vadot				 <&pericfg CLK_PERI_PWM_PD>,
249*f126890aSEmmanuel Vadot				 <&pericfg CLK_PERI_PWM1_PD>;
250*f126890aSEmmanuel Vadot			clock-names = "top", "main", "pwm1";
251*f126890aSEmmanuel Vadot			assigned-clocks = <&topckgen CLK_TOP_PWM_SEL>;
252*f126890aSEmmanuel Vadot			assigned-clock-parents =
253*f126890aSEmmanuel Vadot					<&topckgen CLK_TOP_UNIVPLL2_D4>;
254*f126890aSEmmanuel Vadot			status = "disabled";
255*f126890aSEmmanuel Vadot		};
256*f126890aSEmmanuel Vadot
257*f126890aSEmmanuel Vadot		i2c: i2c@11007000 {
258*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-i2c",
259*f126890aSEmmanuel Vadot				     "mediatek,mt2712-i2c";
260*f126890aSEmmanuel Vadot			reg = <0x11007000 0x90>,
261*f126890aSEmmanuel Vadot			      <0x11000100 0x80>;
262*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>;
263*f126890aSEmmanuel Vadot			clock-div = <4>;
264*f126890aSEmmanuel Vadot			clocks = <&pericfg CLK_PERI_I2C0_PD>,
265*f126890aSEmmanuel Vadot				 <&pericfg CLK_PERI_AP_DMA_PD>;
266*f126890aSEmmanuel Vadot			clock-names = "main", "dma";
267*f126890aSEmmanuel Vadot			assigned-clocks = <&topckgen CLK_TOP_AXI_SEL>;
268*f126890aSEmmanuel Vadot			assigned-clock-parents = <&topckgen CLK_TOP_SYSPLL1_D2>;
269*f126890aSEmmanuel Vadot			#address-cells = <1>;
270*f126890aSEmmanuel Vadot			#size-cells = <0>;
271*f126890aSEmmanuel Vadot			status = "disabled";
272*f126890aSEmmanuel Vadot		};
273*f126890aSEmmanuel Vadot
274*f126890aSEmmanuel Vadot		spi: spi@1100a000 {
275*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-spi",
276*f126890aSEmmanuel Vadot				     "mediatek,mt7622-spi";
277*f126890aSEmmanuel Vadot			#address-cells = <1>;
278*f126890aSEmmanuel Vadot			#size-cells = <0>;
279*f126890aSEmmanuel Vadot			reg = <0x1100a000 0x100>;
280*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_LOW>;
281*f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
282*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_SPI0_SEL>,
283*f126890aSEmmanuel Vadot				 <&pericfg CLK_PERI_SPI0_PD>;
284*f126890aSEmmanuel Vadot			clock-names = "parent-clk", "sel-clk", "spi-clk";
285*f126890aSEmmanuel Vadot			status = "disabled";
286*f126890aSEmmanuel Vadot		};
287*f126890aSEmmanuel Vadot
288*f126890aSEmmanuel Vadot		qspi: spi@11014000 {
289*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-nor",
290*f126890aSEmmanuel Vadot				     "mediatek,mt8173-nor";
291*f126890aSEmmanuel Vadot			reg = <0x11014000 0xe0>;
292*f126890aSEmmanuel Vadot			clocks = <&pericfg CLK_PERI_FLASH_PD>,
293*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_FLASH_SEL>;
294*f126890aSEmmanuel Vadot			clock-names = "spi", "sf";
295*f126890aSEmmanuel Vadot			#address-cells = <1>;
296*f126890aSEmmanuel Vadot			#size-cells = <0>;
297*f126890aSEmmanuel Vadot			status = "disabled";
298*f126890aSEmmanuel Vadot		};
299*f126890aSEmmanuel Vadot
300*f126890aSEmmanuel Vadot		ssusbsys: syscon@1a000000 {
301*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-ssusbsys", "syscon";
302*f126890aSEmmanuel Vadot			reg = <0x1a000000 0x1000>;
303*f126890aSEmmanuel Vadot			#clock-cells = <1>;
304*f126890aSEmmanuel Vadot			#reset-cells = <1>;
305*f126890aSEmmanuel Vadot		};
306*f126890aSEmmanuel Vadot
307*f126890aSEmmanuel Vadot		ssusb: usb@1a0c0000 {
308*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-xhci",
309*f126890aSEmmanuel Vadot				     "mediatek,mtk-xhci";
310*f126890aSEmmanuel Vadot			reg = <0x1a0c0000 0x01000>,
311*f126890aSEmmanuel Vadot			      <0x1a0c3e00 0x0100>;
312*f126890aSEmmanuel Vadot			reg-names = "mac", "ippc";
313*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_LOW>;
314*f126890aSEmmanuel Vadot			clocks = <&ssusbsys CLK_SSUSB_SYS_EN>,
315*f126890aSEmmanuel Vadot				 <&ssusbsys CLK_SSUSB_REF_EN>,
316*f126890aSEmmanuel Vadot				 <&ssusbsys CLK_SSUSB_MCU_EN>,
317*f126890aSEmmanuel Vadot				 <&ssusbsys CLK_SSUSB_DMA_EN>;
318*f126890aSEmmanuel Vadot			clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck";
319*f126890aSEmmanuel Vadot			assigned-clocks = <&topckgen CLK_TOP_AXI_SEL>,
320*f126890aSEmmanuel Vadot					  <&topckgen CLK_TOP_SATA_SEL>,
321*f126890aSEmmanuel Vadot					  <&topckgen CLK_TOP_HIF_SEL>;
322*f126890aSEmmanuel Vadot			assigned-clock-parents = <&topckgen CLK_TOP_SYSPLL1_D2>,
323*f126890aSEmmanuel Vadot						 <&topckgen CLK_TOP_UNIVPLL2_D4>,
324*f126890aSEmmanuel Vadot						 <&topckgen CLK_TOP_UNIVPLL1_D2>;
325*f126890aSEmmanuel Vadot			power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF1>;
326*f126890aSEmmanuel Vadot			phys = <&u2port0 PHY_TYPE_USB2>,
327*f126890aSEmmanuel Vadot			       <&u3port0 PHY_TYPE_USB3>;
328*f126890aSEmmanuel Vadot			status = "disabled";
329*f126890aSEmmanuel Vadot		};
330*f126890aSEmmanuel Vadot
331*f126890aSEmmanuel Vadot		u3phy0: t-phy@1a0c4000 {
332*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-tphy",
333*f126890aSEmmanuel Vadot				     "mediatek,generic-tphy-v2";
334*f126890aSEmmanuel Vadot			#address-cells = <1>;
335*f126890aSEmmanuel Vadot			#size-cells = <1>;
336*f126890aSEmmanuel Vadot			ranges = <0 0x1a0c4000 0xe00>;
337*f126890aSEmmanuel Vadot			status = "disabled";
338*f126890aSEmmanuel Vadot
339*f126890aSEmmanuel Vadot			u2port0: usb-phy@0 {
340*f126890aSEmmanuel Vadot				reg = <0 0x700>;
341*f126890aSEmmanuel Vadot				clocks = <&ssusbsys CLK_SSUSB_U2_PHY_EN>;
342*f126890aSEmmanuel Vadot				clock-names = "ref";
343*f126890aSEmmanuel Vadot				#phy-cells = <1>;
344*f126890aSEmmanuel Vadot				status = "okay";
345*f126890aSEmmanuel Vadot			};
346*f126890aSEmmanuel Vadot
347*f126890aSEmmanuel Vadot			u3port0: usb-phy@700 {
348*f126890aSEmmanuel Vadot				reg = <0x700 0x700>;
349*f126890aSEmmanuel Vadot				clocks = <&clk20m>;
350*f126890aSEmmanuel Vadot				clock-names = "ref";
351*f126890aSEmmanuel Vadot				#phy-cells = <1>;
352*f126890aSEmmanuel Vadot				status = "okay";
353*f126890aSEmmanuel Vadot			};
354*f126890aSEmmanuel Vadot		};
355*f126890aSEmmanuel Vadot
356*f126890aSEmmanuel Vadot		pciesys: syscon@1a100800 {
357*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-pciesys", "syscon";
358*f126890aSEmmanuel Vadot			reg = <0x1a100800 0x1000>;
359*f126890aSEmmanuel Vadot			#clock-cells = <1>;
360*f126890aSEmmanuel Vadot			#reset-cells = <1>;
361*f126890aSEmmanuel Vadot		};
362*f126890aSEmmanuel Vadot
363*f126890aSEmmanuel Vadot		pciecfg: pciecfg@1a140000 {
364*f126890aSEmmanuel Vadot			compatible = "mediatek,generic-pciecfg", "syscon";
365*f126890aSEmmanuel Vadot			reg = <0x1a140000 0x1000>;
366*f126890aSEmmanuel Vadot		};
367*f126890aSEmmanuel Vadot
368*f126890aSEmmanuel Vadot		pcie1: pcie@1a145000 {
369*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-pcie";
370*f126890aSEmmanuel Vadot			device_type = "pci";
371*f126890aSEmmanuel Vadot			reg = <0x1a145000 0x1000>;
372*f126890aSEmmanuel Vadot			reg-names = "port1";
373*f126890aSEmmanuel Vadot			linux,pci-domain = <1>;
374*f126890aSEmmanuel Vadot			#address-cells = <3>;
375*f126890aSEmmanuel Vadot			#size-cells = <2>;
376*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>;
377*f126890aSEmmanuel Vadot			interrupt-names = "pcie_irq";
378*f126890aSEmmanuel Vadot			clocks = <&pciesys CLK_PCIE_P1_MAC_EN>,
379*f126890aSEmmanuel Vadot				 <&pciesys CLK_PCIE_P0_AHB_EN>,
380*f126890aSEmmanuel Vadot				 <&pciesys CLK_PCIE_P1_AUX_EN>,
381*f126890aSEmmanuel Vadot				 <&pciesys CLK_PCIE_P1_AXI_EN>,
382*f126890aSEmmanuel Vadot				 <&pciesys CLK_PCIE_P1_OBFF_EN>,
383*f126890aSEmmanuel Vadot				 <&pciesys CLK_PCIE_P1_PIPE_EN>;
384*f126890aSEmmanuel Vadot			clock-names = "sys_ck1", "ahb_ck1",
385*f126890aSEmmanuel Vadot				      "aux_ck1", "axi_ck1",
386*f126890aSEmmanuel Vadot				      "obff_ck1", "pipe_ck1";
387*f126890aSEmmanuel Vadot			assigned-clocks = <&topckgen CLK_TOP_SATA_SEL>,
388*f126890aSEmmanuel Vadot					  <&topckgen CLK_TOP_AXI_SEL>,
389*f126890aSEmmanuel Vadot					  <&topckgen CLK_TOP_HIF_SEL>;
390*f126890aSEmmanuel Vadot			assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL2_D4>,
391*f126890aSEmmanuel Vadot						 <&topckgen CLK_TOP_SYSPLL1_D2>,
392*f126890aSEmmanuel Vadot						 <&topckgen CLK_TOP_UNIVPLL1_D2>;
393*f126890aSEmmanuel Vadot			phys = <&pcieport1 PHY_TYPE_PCIE>;
394*f126890aSEmmanuel Vadot			phy-names = "pcie-phy1";
395*f126890aSEmmanuel Vadot			power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>;
396*f126890aSEmmanuel Vadot			bus-range = <0x00 0xff>;
397*f126890aSEmmanuel Vadot			ranges = <0x82000000 0 0x20000000 0x20000000 0 0x10000000>;
398*f126890aSEmmanuel Vadot			status = "disabled";
399*f126890aSEmmanuel Vadot
400*f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
401*f126890aSEmmanuel Vadot			interrupt-map-mask = <0 0 0 7>;
402*f126890aSEmmanuel Vadot			interrupt-map = <0 0 0 1 &pcie_intc1 0>,
403*f126890aSEmmanuel Vadot					<0 0 0 2 &pcie_intc1 1>,
404*f126890aSEmmanuel Vadot					<0 0 0 3 &pcie_intc1 2>,
405*f126890aSEmmanuel Vadot					<0 0 0 4 &pcie_intc1 3>;
406*f126890aSEmmanuel Vadot			pcie_intc1: interrupt-controller {
407*f126890aSEmmanuel Vadot				interrupt-controller;
408*f126890aSEmmanuel Vadot				#address-cells = <0>;
409*f126890aSEmmanuel Vadot				#interrupt-cells = <1>;
410*f126890aSEmmanuel Vadot			};
411*f126890aSEmmanuel Vadot		};
412*f126890aSEmmanuel Vadot
413*f126890aSEmmanuel Vadot		pciephy1: t-phy@1a14a000 {
414*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-tphy",
415*f126890aSEmmanuel Vadot				     "mediatek,generic-tphy-v2";
416*f126890aSEmmanuel Vadot			#address-cells = <1>;
417*f126890aSEmmanuel Vadot			#size-cells = <1>;
418*f126890aSEmmanuel Vadot			ranges = <0 0x1a14a000 0x1000>;
419*f126890aSEmmanuel Vadot			status = "disabled";
420*f126890aSEmmanuel Vadot
421*f126890aSEmmanuel Vadot			pcieport1: pcie-phy@0 {
422*f126890aSEmmanuel Vadot				reg = <0 0x1000>;
423*f126890aSEmmanuel Vadot				clocks = <&clk20m>;
424*f126890aSEmmanuel Vadot				clock-names = "ref";
425*f126890aSEmmanuel Vadot				#phy-cells = <1>;
426*f126890aSEmmanuel Vadot				status = "okay";
427*f126890aSEmmanuel Vadot			};
428*f126890aSEmmanuel Vadot		};
429*f126890aSEmmanuel Vadot
430*f126890aSEmmanuel Vadot		ethsys: syscon@1b000000 {
431*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-ethsys", "syscon";
432*f126890aSEmmanuel Vadot			reg = <0x1b000000 0x1000>;
433*f126890aSEmmanuel Vadot			#clock-cells = <1>;
434*f126890aSEmmanuel Vadot			#reset-cells = <1>;
435*f126890aSEmmanuel Vadot		};
436*f126890aSEmmanuel Vadot
437*f126890aSEmmanuel Vadot		eth: ethernet@1b100000 {
438*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-eth","syscon";
439*f126890aSEmmanuel Vadot			reg = <0x1b100000 0x20000>;
440*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_LOW>,
441*f126890aSEmmanuel Vadot				     <GIC_SPI 224 IRQ_TYPE_LEVEL_LOW>,
442*f126890aSEmmanuel Vadot				     <GIC_SPI 225 IRQ_TYPE_LEVEL_LOW>;
443*f126890aSEmmanuel Vadot			clocks = <&topckgen CLK_TOP_ETH_SEL>,
444*f126890aSEmmanuel Vadot				 <&topckgen CLK_TOP_F10M_REF_SEL>,
445*f126890aSEmmanuel Vadot				 <&ethsys CLK_ETH_ESW_EN>,
446*f126890aSEmmanuel Vadot				 <&ethsys CLK_ETH_GP0_EN>,
447*f126890aSEmmanuel Vadot				 <&ethsys CLK_ETH_GP1_EN>,
448*f126890aSEmmanuel Vadot				 <&ethsys CLK_ETH_GP2_EN>,
449*f126890aSEmmanuel Vadot				 <&ethsys CLK_ETH_FE_EN>,
450*f126890aSEmmanuel Vadot				 <&sgmiisys0 CLK_SGMII_TX_EN>,
451*f126890aSEmmanuel Vadot				 <&sgmiisys0 CLK_SGMII_RX_EN>,
452*f126890aSEmmanuel Vadot				 <&sgmiisys0 CLK_SGMII_CDR_REF>,
453*f126890aSEmmanuel Vadot				 <&sgmiisys0 CLK_SGMII_CDR_FB>,
454*f126890aSEmmanuel Vadot				 <&sgmiisys1 CLK_SGMII_TX_EN>,
455*f126890aSEmmanuel Vadot				 <&sgmiisys1 CLK_SGMII_RX_EN>,
456*f126890aSEmmanuel Vadot				 <&sgmiisys1 CLK_SGMII_CDR_REF>,
457*f126890aSEmmanuel Vadot				 <&sgmiisys1 CLK_SGMII_CDR_FB>,
458*f126890aSEmmanuel Vadot				 <&apmixedsys CLK_APMIXED_SGMIPLL>,
459*f126890aSEmmanuel Vadot				 <&apmixedsys CLK_APMIXED_ETH2PLL>;
460*f126890aSEmmanuel Vadot			clock-names = "ethif", "sgmiitop", "esw", "gp0", "gp1",
461*f126890aSEmmanuel Vadot				      "gp2", "fe", "sgmii_tx250m", "sgmii_rx250m",
462*f126890aSEmmanuel Vadot				      "sgmii_cdr_ref", "sgmii_cdr_fb",
463*f126890aSEmmanuel Vadot				      "sgmii2_tx250m", "sgmii2_rx250m",
464*f126890aSEmmanuel Vadot				      "sgmii2_cdr_ref", "sgmii2_cdr_fb",
465*f126890aSEmmanuel Vadot				      "sgmii_ck", "eth2pll";
466*f126890aSEmmanuel Vadot			assigned-clocks = <&topckgen CLK_TOP_ETH_SEL>,
467*f126890aSEmmanuel Vadot					  <&topckgen CLK_TOP_F10M_REF_SEL>;
468*f126890aSEmmanuel Vadot			assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>,
469*f126890aSEmmanuel Vadot						 <&topckgen CLK_TOP_SGMIIPLL_D2>;
470*f126890aSEmmanuel Vadot			power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>;
471*f126890aSEmmanuel Vadot			mediatek,ethsys = <&ethsys>;
472*f126890aSEmmanuel Vadot			mediatek,sgmiisys = <&sgmiisys0>, <&sgmiisys1>;
473*f126890aSEmmanuel Vadot			mediatek,infracfg = <&infracfg>;
474*f126890aSEmmanuel Vadot			#address-cells = <1>;
475*f126890aSEmmanuel Vadot			#size-cells = <0>;
476*f126890aSEmmanuel Vadot			status = "disabled";
477*f126890aSEmmanuel Vadot		};
478*f126890aSEmmanuel Vadot
479*f126890aSEmmanuel Vadot		sgmiisys0: syscon@1b128000 {
480*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-sgmiisys", "syscon";
481*f126890aSEmmanuel Vadot			reg = <0x1b128000 0x3000>;
482*f126890aSEmmanuel Vadot			#clock-cells = <1>;
483*f126890aSEmmanuel Vadot		};
484*f126890aSEmmanuel Vadot
485*f126890aSEmmanuel Vadot		sgmiisys1: syscon@1b130000 {
486*f126890aSEmmanuel Vadot			compatible = "mediatek,mt7629-sgmiisys", "syscon";
487*f126890aSEmmanuel Vadot			reg = <0x1b130000 0x3000>;
488*f126890aSEmmanuel Vadot			#clock-cells = <1>;
489*f126890aSEmmanuel Vadot		};
490*f126890aSEmmanuel Vadot	};
491*f126890aSEmmanuel Vadot};
492