1/ {
2	#address-cells = <1>;
3	#size-cells = <1>;
4	compatible = "ralink,mtk7620n-soc";
5
6	cpus {
7		cpu@0 {
8			compatible = "mips,mips24KEc";
9		};
10	};
11
12	chosen {
13		bootargs = "console=ttyS0,57600";
14	};
15
16	cpuintc: cpuintc@0 {
17		#address-cells = <0>;
18		#interrupt-cells = <1>;
19		interrupt-controller;
20		compatible = "mti,cpu-interrupt-controller";
21	};
22
23	aliases {
24		spi0 = &spi0;
25		spi1 = &spi1;
26		serial0 = &uartlite;
27	};
28
29	palmbus: palmbus@10000000 {
30		compatible = "palmbus";
31		reg = <0x10000000 0x200000>;
32		ranges = <0x0 0x10000000 0x1FFFFF>;
33
34		#address-cells = <1>;
35		#size-cells = <1>;
36
37		sysc: sysc@0 {
38			compatible = "ralink,mt7620a-sysc", "ralink,rt3050-sysc";
39			reg = <0x0 0x100>;
40		};
41
42		timer: timer@100 {
43			compatible = "ralink,mt7620a-timer", "ralink,rt2880-timer";
44			reg = <0x100 0x20>;
45
46			interrupt-parent = <&intc>;
47			interrupts = <1>;
48		};
49
50		watchdog: watchdog@120 {
51			compatible = "ralink,mt7620a-wdt", "ralink,rt2880-wdt";
52			reg = <0x120 0x10>;
53
54			resets = <&rstctrl 8>;
55			reset-names = "wdt";
56
57			interrupt-parent = <&intc>;
58			interrupts = <1>;
59		};
60
61		intc: intc@200 {
62			compatible = "ralink,mt7620a-intc", "ralink,rt2880-intc";
63			reg = <0x200 0x100>;
64
65			resets = <&rstctrl 19>;
66			reset-names = "intc";
67
68			interrupt-controller;
69			#interrupt-cells = <1>;
70
71			interrupt-parent = <&cpuintc>;
72			interrupts = <2>;
73		};
74
75		memc: memc@300 {
76			compatible = "ralink,mt7620a-memc", "ralink,rt3050-memc";
77			reg = <0x300 0x100>;
78
79			resets = <&rstctrl 20>;
80			reset-names = "mc";
81
82			interrupt-parent = <&intc>;
83			interrupts = <3>;
84		};
85
86		gpio0: gpio@600 {
87			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
88			reg = <0x600 0x34>;
89
90			resets = <&rstctrl 13>;
91			reset-names = "pio";
92
93			interrupt-parent = <&intc>;
94			interrupts = <6>;
95
96			gpio-controller;
97			#gpio-cells = <2>;
98
99			ralink,gpio-base = <0>;
100			ralink,num-gpios = <24>;
101			ralink,register-map = [ 00 04 08 0c
102						20 24 28 2c
103						30 34 ];
104		};
105
106		gpio1: gpio@638 {
107			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
108			reg = <0x638 0x24>;
109
110			interrupt-parent = <&intc>;
111			interrupts = <6>;
112
113			gpio-controller;
114			#gpio-cells = <2>;
115
116			ralink,gpio-base = <24>;
117			ralink,num-gpios = <16>;
118			ralink,register-map = [ 00 04 08 0c
119						10 14 18 1c
120						20 24 ];
121
122			status = "disabled";
123		};
124
125		gpio2: gpio@660 {
126			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
127			reg = <0x660 0x24>;
128
129			interrupt-parent = <&intc>;
130			interrupts = <6>;
131
132			gpio-controller;
133			#gpio-cells = <2>;
134
135			ralink,gpio-base = <40>;
136			ralink,num-gpios = <32>;
137			ralink,register-map = [ 00 04 08 0c
138						10 14 18 1c
139						20 24 ];
140
141			status = "disabled";
142		};
143
144		gpio3: gpio@688 {
145			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
146			reg = <0x688 0x24>;
147
148			interrupt-parent = <&intc>;
149			interrupts = <6>;
150
151			gpio-controller;
152			#gpio-cells = <2>;
153
154			ralink,gpio-base = <72>;
155			ralink,num-gpios = <1>;
156			ralink,register-map = [ 00 04 08 0c
157						10 14 18 1c
158						20 24 ];
159
160			status = "disabled";
161		};
162
163		spi0: spi@b00 {
164			compatible = "ralink,mt7620a-spi", "ralink,rt2880-spi";
165			reg = <0xb00 0x40>;
166
167			resets = <&rstctrl 18>;
168			reset-names = "spi";
169
170			#address-cells = <1>;
171			#size-cells = <0>;
172
173			status = "disabled";
174
175			pinctrl-names = "default";
176			pinctrl-0 = <&spi_pins>;
177		};
178
179		spi1: spi@b40 {
180			compatible = "ralink,rt2880-spi";
181			reg = <0xb40 0x60>;
182
183			resets = <&rstctrl 18>;
184			reset-names = "spi";
185
186			#address-cells = <1>;
187			#size-cells = <0>;
188
189			status = "disabled";
190
191			pinctrl-names = "default";
192			pinctrl-0 = <&spi_cs1>;
193		};
194
195		uartlite: uartlite@c00 {
196			compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a";
197			reg = <0xc00 0x100>;
198
199			resets = <&rstctrl 19>;
200			reset-names = "uartl";
201
202			interrupt-parent = <&intc>;
203			interrupts = <12>;
204
205			reg-shift = <2>;
206
207			pinctrl-names = "default";
208			pinctrl-0 = <&uartlite_pins>;
209		};
210
211		systick: systick@d00 {
212			compatible = "ralink,mt7620a-systick", "ralink,cevt-systick";
213			reg = <0xd00 0x10>;
214
215			resets = <&rstctrl 28>;
216			reset-names = "intc";
217
218			interrupt-parent = <&cpuintc>;
219			interrupts = <7>;
220		};
221	};
222
223	pinctrl: pinctrl {
224		compatible = "ralink,rt2880-pinmux";
225		pinctrl-names = "default";
226		pinctrl-0 = <&state_default>;
227
228		state_default: pinctrl0 {
229		};
230
231		spi_pins: spi {
232			spi {
233				ralink,group = "spi";
234				ralink,function = "spi";
235			};
236		};
237
238		spi_cs1: spi1 {
239			spi1 {
240				ralink,group = "spi_cs1";
241				ralink,function = "spi_cs1";
242			};
243		};
244
245		uartlite_pins: uartlite {
246			uart {
247				ralink,group = "uartlite";
248				ralink,function = "uartlite";
249			};
250		};
251	};
252
253	rstctrl: rstctrl {
254		compatible = "ralink,mt7620a-reset", "ralink,rt2880-reset";
255		#reset-cells = <1>;
256	};
257
258	clkctrl: clkctrl {
259		compatible = "ralink,rt2880-clock";
260		#clock-cells = <1>;
261	};
262
263	usbphy: usbphy {
264		compatible = "mediatek,mt7620-usbphy";
265		#phy-cells = <1>;
266
267		resets = <&rstctrl 22 &rstctrl 25>;
268		reset-names = "host", "device";
269
270		clocks = <&clkctrl 22 &clkctrl 25>;
271		clock-names = "host", "device";
272	};
273
274	ethernet: ethernet@10100000 {
275		compatible = "mediatek,mt7620-eth";
276		reg = <0x10100000 0x10000>;
277
278		#address-cells = <1>;
279		#size-cells = <0>;
280
281		interrupt-parent = <&cpuintc>;
282		interrupts = <5>;
283
284		resets = <&rstctrl 21 &rstctrl 23>;
285		reset-names = "fe", "esw";
286
287		mediatek,switch = <&gsw>;
288
289		mdio-bus {
290			#address-cells = <1>;
291			#size-cells = <0>;
292
293			status = "disabled";
294		};
295	};
296
297	gsw: gsw@10110000 {
298		compatible = "mediatek,mt7620-gsw";
299		reg = <0x10110000 0x8000>;
300
301		resets = <&rstctrl 23>;
302		reset-names = "esw";
303
304		interrupt-parent = <&intc>;
305		interrupts = <17>;
306		mediatek,port4 = "gmac";
307	};
308
309	ehci: ehci@101c0000 {
310		compatible = "generic-ehci";
311		reg = <0x101c0000 0x1000>;
312
313		interrupt-parent = <&intc>;
314		interrupts = <18>;
315
316		phys = <&usbphy 1>;
317		phy-names = "usb";
318
319		status = "disabled";
320	};
321
322	ohci: ohci@101c1000 {
323		compatible = "generic-ohci";
324		reg = <0x101c1000 0x1000>;
325
326		phys = <&usbphy 1>;
327		phy-names = "usb";
328
329		interrupt-parent = <&intc>;
330		interrupts = <18>;
331
332		status = "disabled";
333	};
334
335	wmac: wmac@10180000 {
336		compatible = "ralink,rt7620-wmac", "ralink,rt2880-wmac";
337		reg = <0x10180000 0x40000>;
338
339		interrupt-parent = <&cpuintc>;
340		interrupts = <6>;
341
342		ralink,eeprom = "soc_wmac.eeprom";
343	};
344};
345