ralink: add mt7620a gdma info to dtsi
[openwrt/openwrt.git] / target / linux / ramips / dts / mt7620a.dtsi
1 / {
2 #address-cells = <1>;
3 #size-cells = <1>;
4 compatible = "ralink,mtk7620a-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 palmbus@10000000 {
24 compatible = "palmbus";
25 reg = <0x10000000 0x200000>;
26 ranges = <0x0 0x10000000 0x1FFFFF>;
27
28 #address-cells = <1>;
29 #size-cells = <1>;
30
31 sysc@0 {
32 compatible = "ralink,mt7620a-sysc", "ralink,rt3050-sysc";
33 reg = <0x0 0x100>;
34 };
35
36 timer@100 {
37 compatible = "ralink,mt7620a-timer", "ralink,rt2880-timer";
38 reg = <0x100 0x20>;
39
40 interrupt-parent = <&intc>;
41 interrupts = <1>;
42 };
43
44 watchdog@120 {
45 compatible = "ralink,mt7620a-wdt", "ralink,rt2880-wdt";
46 reg = <0x120 0x10>;
47
48 resets = <&rstctrl 8>;
49 reset-names = "wdt";
50
51 interrupt-parent = <&intc>;
52 interrupts = <1>;
53 };
54
55 intc: intc@200 {
56 compatible = "ralink,mt7620a-intc", "ralink,rt2880-intc";
57 reg = <0x200 0x100>;
58
59 resets = <&rstctrl 19>;
60 reset-names = "intc";
61
62 interrupt-controller;
63 #interrupt-cells = <1>;
64
65 interrupt-parent = <&cpuintc>;
66 interrupts = <2>;
67 };
68
69 memc@300 {
70 compatible = "ralink,mt7620a-memc", "ralink,rt3050-memc";
71 reg = <0x300 0x100>;
72
73 resets = <&rstctrl 20>;
74 reset-names = "mc";
75
76 interrupt-parent = <&intc>;
77 interrupts = <3>;
78 };
79
80 uart@500 {
81 compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a";
82 reg = <0x500 0x100>;
83
84 resets = <&rstctrl 12>;
85 reset-names = "uart";
86
87 interrupt-parent = <&intc>;
88 interrupts = <5>;
89
90 reg-shift = <2>;
91
92 status = "disabled";
93 };
94
95 gpio0: gpio@600 {
96 compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
97 reg = <0x600 0x34>;
98
99 resets = <&rstctrl 13>;
100 reset-names = "pio";
101
102 interrupt-parent = <&intc>;
103 interrupts = <6>;
104
105 gpio-controller;
106 #gpio-cells = <2>;
107
108 ralink,gpio-base = <0>;
109 ralink,num-gpios = <24>;
110 ralink,register-map = [ 00 04 08 0c
111 20 24 28 2c
112 30 34 ];
113 };
114
115 gpio1: gpio@638 {
116 compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
117 reg = <0x638 0x24>;
118
119 interrupt-parent = <&intc>;
120 interrupts = <6>;
121
122 gpio-controller;
123 #gpio-cells = <2>;
124
125 ralink,gpio-base = <24>;
126 ralink,num-gpios = <16>;
127 ralink,register-map = [ 00 04 08 0c
128 10 14 18 1c
129 20 24 ];
130
131 status = "disabled";
132 };
133
134 gpio2: gpio@660 {
135 compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
136 reg = <0x660 0x24>;
137
138 interrupt-parent = <&intc>;
139 interrupts = <6>;
140
141 gpio-controller;
142 #gpio-cells = <2>;
143
144 ralink,gpio-base = <40>;
145 ralink,num-gpios = <32>;
146 ralink,register-map = [ 00 04 08 0c
147 10 14 18 1c
148 20 24 ];
149
150 status = "disabled";
151 };
152
153 i2c@900 {
154 compatible = "link,mt7620a-i2c", "ralink,rt2880-i2c";
155 reg = <0x900 0x100>;
156
157 resets = <&rstctrl 16>;
158 reset-names = "i2c";
159
160 #address-cells = <1>;
161 #size-cells = <0>;
162
163 status = "disabled";
164
165 pinctrl-names = "default";
166 pinctrl-0 = <&i2c_pins>;
167 };
168
169 i2s@a00 {
170 compatible = "ralink,mt7620a-i2s";
171 reg = <0xa00 0x100>;
172
173 resets = <&rstctrl 17>;
174 reset-names = "i2s";
175
176 interrupt-parent = <&intc>;
177 interrupts = <10>;
178
179 dmas = <&gdma 4>,
180 <&gdma 5>;
181 dma-names = "tx", "rx";
182
183 status = "disabled";
184 };
185
186 spi@b00 {
187 compatible = "ralink,mt7620a-spi", "ralink,rt2880-spi";
188 reg = <0xb00 0x100>;
189
190 resets = <&rstctrl 18>;
191 reset-names = "spi";
192
193 #address-cells = <1>;
194 #size-cells = <1>;
195
196 status = "disabled";
197
198 pinctrl-names = "default";
199 pinctrl-0 = <&spi_pins>;
200 };
201
202 uartlite@c00 {
203 compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a";
204 reg = <0xc00 0x100>;
205
206 resets = <&rstctrl 19>;
207 reset-names = "uartl";
208
209 interrupt-parent = <&intc>;
210 interrupts = <12>;
211
212 reg-shift = <2>;
213
214 pinctrl-names = "default";
215 pinctrl-0 = <&uartlite_pins>;
216 };
217
218 systick@d00 {
219 compatible = "ralink,mt7620a-systick", "ralink,cevt-systick";
220 reg = <0xd00 0x10>;
221
222 resets = <&rstctrl 28>;
223 reset-names = "intc";
224
225 interrupt-parent = <&cpuintc>;
226 interrupts = <7>;
227 };
228
229 pcm@2000 {
230 compatible = "ralink,mt7620a-pcm";
231 reg = <0x2000 0x800>;
232
233 resets = <&rstctrl 11>;
234 reset-names = "pcm";
235
236 interrupt-parent = <&intc>;
237 interrupts = <4>;
238
239 status = "disabled";
240 };
241
242 gdma: gdma@2800 {
243 compatible = "ralink,mt7620a-gdma", "ralink,rt2880-gdma";
244 reg = <0x2800 0x800>;
245
246 resets = <&rstctrl 14>;
247 reset-names = "dma";
248
249 interrupt-parent = <&intc>;
250 interrupts = <7>;
251
252 #dma-cells = <1>;
253 #dma-channels = <16>;
254 #dma-requests = <16>;
255
256 status = "disabled";
257 };
258 };
259
260 pinctrl {
261 compatible = "ralink,rt2880-pinmux";
262 pinctrl-names = "default";
263 pinctrl-0 = <&state_default>;
264 state_default: pinctrl0 {
265 };
266 pcm_i2s_pins: pcm_i2s {
267 pcm_i2s {
268 ralink,group = "uartf";
269 ralink,function = "pcm i2s";
270 };
271 };
272 spi_pins: spi {
273 spi {
274 ralink,group = "spi";
275 ralink,function = "spi";
276 };
277 };
278 i2c_pins: i2c {
279 i2c {
280 lantiq,group = "i2c";
281 lantiq,function = "i2c";
282 };
283 };
284 uartlite_pins: uartlite {
285 uart {
286 ralink,group = "uartlite";
287 ralink,function = "uartlite";
288 };
289 };
290 mdio_pins: mdio {
291 mdio {
292 ralink,group = "mdio";
293 ralink,function = "mdio";
294 };
295 };
296 ephy_pins: ephy {
297 ephy {
298 ralink,group = "ephy";
299 ralink,function = "ephy";
300 };
301 };
302 wled_pins: wled {
303 wled {
304 ralink,group = "wled";
305 ralink,function = "wled";
306 };
307 };
308 rgmii1_pins: rgmii1 {
309 rgmii1 {
310 ralink,group = "rgmii1";
311 ralink,function = "rgmii1";
312 };
313 };
314 rgmii2_pins: rgmii2 {
315 rgmii2 {
316 ralink,group = "rgmii2";
317 ralink,function = "rgmii2";
318 };
319 };
320 };
321
322 rstctrl: rstctrl {
323 compatible = "ralink,mt7620a-reset", "ralink,rt2880-reset";
324 #reset-cells = <1>;
325 };
326
327 ubsphy {
328 compatible = "ralink,mt7620a-usbphy";
329
330 resets = <&rstctrl 22 &rstctrl 25>;
331 reset-names = "host", "device";
332 };
333
334 ethernet@10100000 {
335 compatible = "ralink,mt7620a-eth";
336 reg = <0x10100000 10000>;
337
338 #address-cells = <1>;
339 #size-cells = <0>;
340
341 interrupt-parent = <&cpuintc>;
342 interrupts = <5>;
343
344 resets = <&rstctrl 21 &rstctrl 23>;
345 reset-names = "fe", "esw";
346
347 port@4 {
348 compatible = "ralink,mt7620a-gsw-port", "ralink,eth-port";
349 reg = <4>;
350
351 status = "disabled";
352 };
353
354 port@5 {
355 compatible = "ralink,mt7620a-gsw-port", "ralink,eth-port";
356 reg = <5>;
357
358 status = "disabled";
359 };
360
361 mdio-bus {
362 #address-cells = <1>;
363 #size-cells = <0>;
364
365 status = "disabled";
366 };
367 };
368
369 gsw@10110000 {
370 compatible = "ralink,mt7620a-gsw";
371 reg = <0x10110000 8000>;
372
373 interrupt-parent = <&intc>;
374 interrupts = <17>;
375 };
376
377 sdhci@10130000 {
378 compatible = "ralink,mt7620a-sdhci";
379 reg = <0x10130000 4000>;
380
381 interrupt-parent = <&intc>;
382 interrupts = <14>;
383
384 status = "disabled";
385 };
386
387 ehci@101c0000 {
388 compatible = "ralink,rt3xxx-ehci";
389 reg = <0x101c0000 0x1000>;
390
391 interrupt-parent = <&intc>;
392 interrupts = <18>;
393
394 status = "disabled";
395 };
396
397 ohci@101c1000 {
398 compatible = "ralink,rt3xxx-ohci";
399 reg = <0x101c1000 0x1000>;
400
401 interrupt-parent = <&intc>;
402 interrupts = <18>;
403
404 status = "disabled";
405 };
406
407 pcie@10140000 {
408 compatible = "ralink,mt7620a-pci";
409 reg = <0x10140000 0x100
410 0x10142000 0x100>;
411
412 resets = <&rstctrl 26>;
413 reset-names = "pcie0";
414
415 interrupt-parent = <&cpuintc>;
416 interrupts = <4>;
417
418 status = "disabled";
419 };
420 };