ramips: add gdma hsdma dts info
[openwrt/openwrt.git] / target / linux / ramips / dts / rt3883.dtsi
1 / {
2 #address-cells = <1>;
3 #size-cells = <1>;
4 compatible = "ralink,rt3883-soc";
5
6 cpus {
7 cpu@0 {
8 compatible = "mips,mips74Kc";
9 };
10 };
11
12 chosen {
13 bootargs = "console=ttyS0,57600";
14 };
15
16 aliases {
17 spi0 = &spi0;
18 spi1 = &spi1;
19 serial0 = &uartlite;
20 };
21
22 cpuintc: cpuintc@0 {
23 #address-cells = <0>;
24 #interrupt-cells = <1>;
25 interrupt-controller;
26 compatible = "mti,cpu-interrupt-controller";
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,rt3883-sysc", "ralink,rt3050-sysc";
39 reg = <0x0 0x100>;
40 };
41
42 timer: timer@100 {
43 compatible = "ralink,rt3883-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,rt3883-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,rt3883-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,rt3883-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 uart: uart@500 {
87 compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
88 reg = <0x500 0x100>;
89
90 resets = <&rstctrl 12>;
91 reset-names = "uart";
92
93 interrupt-parent = <&intc>;
94 interrupts = <5>;
95
96 reg-shift = <2>;
97
98 status = "disabled";
99 };
100
101 gpio0: gpio@600 {
102 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
103 reg = <0x600 0x34>;
104
105 resets = <&rstctrl 13>;
106 reset-names = "pio";
107
108 interrupt-parent = <&intc>;
109 interrupts = <6>;
110
111 gpio-controller;
112 #gpio-cells = <2>;
113
114 ralink,gpio-base = <0>;
115 ralink,num-gpios = <24>;
116 ralink,register-map = [ 00 04 08 0c
117 20 24 28 2c
118 30 34 ];
119 };
120
121 gpio1: gpio@638 {
122 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
123 reg = <0x638 0x24>;
124
125 gpio-controller;
126 #gpio-cells = <2>;
127
128 ralink,gpio-base = <24>;
129 ralink,num-gpios = <16>;
130 ralink,register-map = [ 00 04 08 0c
131 10 14 18 1c
132 20 24 ];
133
134 status = "disabled";
135 };
136
137 gpio2: gpio@660 {
138 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
139 reg = <0x660 0x24>;
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 gpio3: gpio@688 {
154 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
155 reg = <0x688 0x24>;
156
157 gpio-controller;
158 #gpio-cells = <2>;
159
160 ralink,gpio-base = <72>;
161 ralink,num-gpios = <24>;
162 ralink,register-map = [ 00 04 08 0c
163 10 14 18 1c
164 20 24 ];
165
166 status = "disabled";
167 };
168
169 spi0: spi@b00 {
170 compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
171 reg = <0xb00 0x40>;
172 #address-cells = <1>;
173 #size-cells = <0>;
174
175 resets = <&rstctrl 18>;
176 reset-names = "spi";
177
178 pinctrl-names = "default";
179 pinctrl-0 = <&spi_pins>;
180
181 status = "disabled";
182 };
183
184 spi1: spi@b40 {
185 compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
186 reg = <0xb40 0x60>;
187 #address-cells = <1>;
188 #size-cells = <0>;
189
190 resets = <&rstctrl 18>;
191 reset-names = "spi";
192
193 pinctrl-names = "default";
194 pinctrl-0 = <&spi_cs1>;
195
196 status = "disabled";
197 };
198
199 uartlite: uartlite@c00 {
200 compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
201 reg = <0xc00 0x100>;
202
203 resets = <&rstctrl 19>;
204 reset-names = "uartl";
205
206 interrupt-parent = <&intc>;
207 interrupts = <12>;
208
209 reg-shift = <2>;
210
211 pinctrl-names = "default";
212 pinctrl-0 = <&uartlite_pins>;
213 };
214
215 gdma: gdma@2800 {
216 compatible = "ralink,rt3883-gdma";
217 reg = <0x2800 0x800>;
218
219 resets = <&rstctrl 14>;
220 reset-names = "dma";
221
222 interrupt-parent = <&intc>;
223 interrupts = <7>;
224
225 #dma-cells = <1>;
226 #dma-channels = <16>;
227 #dma-requests = <16>;
228
229 status = "disabled";
230 };
231 };
232
233 pinctrl: pinctrl {
234 compatible = "ralink,rt2880-pinmux";
235
236 pinctrl-names = "default";
237 pinctrl-0 = <&state_default>;
238
239 state_default: pinctrl0 {
240 };
241
242 spi_pins: spi {
243 spi {
244 ralink,group = "spi";
245 ralink,function = "spi";
246 };
247 };
248
249 spi_cs1: spi1 {
250 spi1 {
251 ralink,group = "spi_cs1";
252 ralink,function = "spi_cs1";
253 };
254 };
255
256 uartlite_pins: uartlite {
257 uart {
258 ralink,group = "uartlite";
259 ralink,function = "uartlite";
260 };
261 };
262 };
263
264 ethernet: ethernet@10100000 {
265 compatible = "ralink,rt3883-eth";
266 reg = <0x10100000 0x10000>;
267
268 resets = <&rstctrl 21>;
269 reset-names = "fe";
270
271 interrupt-parent = <&cpuintc>;
272 interrupts = <5>;
273
274 port@0 {
275 compatible = "ralink,rt3883-port", "mediatek,eth-port";
276 reg = <0>;
277 };
278
279 mdio-bus {
280 #address-cells = <1>;
281 #size-cells = <0>;
282
283 status = "disabled";
284 };
285 };
286
287 rstctrl: rstctrl {
288 compatible = "ralink,rt3883-reset", "ralink,rt2880-reset";
289 #reset-cells = <1>;
290 };
291
292 clkctrl: clkctrl {
293 compatible = "ralink,rt2880-clock";
294 #clock-cells = <1>;
295 };
296
297 pci: pci@10140000 {
298 compatible = "ralink,rt3883-pci";
299 reg = <0x10140000 0x20000>;
300 #address-cells = <1>;
301 #size-cells = <1>;
302 ranges; /* direct mapping */
303
304 status = "disabled";
305
306 pciintc: interrupt-controller {
307 interrupt-controller;
308 #address-cells = <0>;
309 #interrupt-cells = <1>;
310
311 interrupt-parent = <&cpuintc>;
312 interrupts = <4>;
313 };
314
315 host-bridge {
316 #address-cells = <3>;
317 #size-cells = <2>;
318 #interrupt-cells = <1>;
319
320 device_type = "pci";
321
322 bus-range = <0 255>;
323 ranges = <
324 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
325 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
326 >;
327
328 interrupt-map-mask = <0xf800 0 0 7>;
329 interrupt-map = <
330 /* IDSEL 17 */
331 0x8800 0 0 1 &pciintc 18
332 0x8800 0 0 2 &pciintc 18
333 0x8800 0 0 3 &pciintc 18
334 0x8800 0 0 4 &pciintc 18
335 /* IDSEL 18 */
336 0x9000 0 0 1 &pciintc 19
337 0x9000 0 0 2 &pciintc 19
338 0x9000 0 0 3 &pciintc 19
339 0x9000 0 0 4 &pciintc 19
340 >;
341
342 pci-bridge@1 {
343 reg = <0x0800 0 0 0 0>;
344 device_type = "pci";
345 #interrupt-cells = <1>;
346 #address-cells = <3>;
347 #size-cells = <2>;
348
349 status = "disabled";
350
351 ralink,pci-slot = <1>;
352
353 interrupt-map-mask = <0x0 0 0 0>;
354 interrupt-map = <0x0 0 0 0 &pciintc 20>;
355 };
356
357 pci-slot@17 {
358 reg = <0x8800 0 0 0 0>;
359 device_type = "pci";
360 #interrupt-cells = <1>;
361 #address-cells = <3>;
362 #size-cells = <2>;
363
364 ralink,pci-slot = <17>;
365
366 status = "disabled";
367 };
368
369 pci-slot@18 {
370 reg = <0x9000 0 0 0 0>;
371 device_type = "pci";
372 #interrupt-cells = <1>;
373 #address-cells = <3>;
374 #size-cells = <2>;
375
376 ralink,pci-slot = <18>;
377
378 status = "disabled";
379 };
380 };
381 };
382
383 usbphy: usbphy {
384 compatible = "ralink,rt3352-usbphy";
385 #phy-cells = <1>;
386
387 resets = <&rstctrl 22 &rstctrl 25>;
388 reset-names = "host", "device";
389 clocks = <&clkctrl 22 &clkctrl 25>;
390 clock-names = "host", "device";
391 };
392
393 wmac: wmac@10180000 {
394 compatible = "ralink,rt3883-wmac", "ralink,rt2880-wmac";
395 reg = <0x10180000 0x40000>;
396
397 interrupt-parent = <&cpuintc>;
398 interrupts = <6>;
399
400 ralink,eeprom = "soc_wmac.eeprom";
401 };
402
403 ehci: ehci@101c0000 {
404 compatible = "generic-ehci";
405 reg = <0x101c0000 0x1000>;
406
407 phys = <&usbphy 1>;
408 phy-names = "usb";
409
410 interrupt-parent = <&intc>;
411 interrupts = <18>;
412
413 status = "disabled";
414 };
415
416 ohci: ohci@101c1000 {
417 compatible = "generic-ohci";
418 reg = <0x101c1000 0x1000>;
419
420 phys = <&usbphy 1>;
421 phy-names = "usb";
422
423 interrupt-parent = <&intc>;
424 interrupts = <18>;
425
426 status = "disabled";
427 };
428 };