b2ce93b8cf29b87b2427e7d73f25131c0ecb4082
[openwrt/staging/wigyori.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 #address-cells = <1>;
8 #size-cells = <0>;
9
10 cpu@0 {
11 compatible = "mips,mips74Kc";
12 reg = <0>;
13 };
14 };
15
16 chosen {
17 bootargs = "console=ttyS0,57600";
18 };
19
20 aliases {
21 spi0 = &spi0;
22 spi1 = &spi1;
23 serial0 = &uartlite;
24 };
25
26 cpuintc: cpuintc {
27 #address-cells = <0>;
28 #interrupt-cells = <1>;
29 interrupt-controller;
30 compatible = "mti,cpu-interrupt-controller";
31 };
32
33 palmbus: palmbus@10000000 {
34 compatible = "palmbus";
35 reg = <0x10000000 0x200000>;
36 ranges = <0x0 0x10000000 0x1FFFFF>;
37
38 #address-cells = <1>;
39 #size-cells = <1>;
40
41 sysc: sysc@0 {
42 compatible = "ralink,rt3883-sysc", "ralink,rt3050-sysc", "syscon";
43 reg = <0x0 0x100>;
44 };
45
46 timer: timer@100 {
47 compatible = "ralink,rt3883-timer", "ralink,rt2880-timer";
48 reg = <0x100 0x20>;
49
50 interrupt-parent = <&intc>;
51 interrupts = <1>;
52 };
53
54 watchdog: watchdog@120 {
55 compatible = "ralink,rt3883-wdt", "ralink,rt2880-wdt";
56 reg = <0x120 0x10>;
57
58 resets = <&rstctrl 8>;
59 reset-names = "wdt";
60
61 interrupt-parent = <&intc>;
62 interrupts = <1>;
63 };
64
65 intc: intc@200 {
66 compatible = "ralink,rt3883-intc", "ralink,rt2880-intc";
67 reg = <0x200 0x100>;
68
69 resets = <&rstctrl 19>;
70 reset-names = "intc";
71
72 interrupt-controller;
73 #interrupt-cells = <1>;
74
75 interrupt-parent = <&cpuintc>;
76 interrupts = <2>;
77 };
78
79 memc: memc@300 {
80 compatible = "ralink,rt3883-memc", "ralink,rt3050-memc";
81 reg = <0x300 0x100>;
82
83 resets = <&rstctrl 20>;
84 reset-names = "mc";
85
86 interrupt-parent = <&intc>;
87 interrupts = <3>;
88 };
89
90 uart: uart@500 {
91 compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
92 reg = <0x500 0x100>;
93
94 resets = <&rstctrl 12>;
95 reset-names = "uart";
96
97 interrupt-parent = <&intc>;
98 interrupts = <5>;
99
100 reg-shift = <2>;
101
102 status = "disabled";
103 };
104
105 gpio0: gpio@600 {
106 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
107 reg = <0x600 0x34>;
108
109 resets = <&rstctrl 13>;
110 reset-names = "pio";
111
112 interrupt-parent = <&intc>;
113 interrupts = <6>;
114
115 gpio-controller;
116 #gpio-cells = <2>;
117
118 ralink,gpio-base = <0>;
119 ralink,nr-gpio = <24>;
120 ralink,register-map = [ 00 04 08 0c
121 20 24 28 2c
122 30 34 ];
123 };
124
125 gpio1: gpio@638 {
126 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
127 reg = <0x638 0x24>;
128
129 gpio-controller;
130 #gpio-cells = <2>;
131
132 ralink,gpio-base = <24>;
133 ralink,nr-gpio = <16>;
134 ralink,register-map = [ 00 04 08 0c
135 10 14 18 1c
136 20 24 ];
137
138 status = "disabled";
139 };
140
141 gpio2: gpio@660 {
142 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
143 reg = <0x660 0x24>;
144
145 gpio-controller;
146 #gpio-cells = <2>;
147
148 ralink,gpio-base = <40>;
149 ralink,nr-gpio = <32>;
150 ralink,register-map = [ 00 04 08 0c
151 10 14 18 1c
152 20 24 ];
153
154 status = "disabled";
155 };
156
157 gpio3: gpio@688 {
158 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
159 reg = <0x688 0x24>;
160
161 gpio-controller;
162 #gpio-cells = <2>;
163
164 ralink,gpio-base = <72>;
165 ralink,nr-gpio = <24>;
166 ralink,register-map = [ 00 04 08 0c
167 10 14 18 1c
168 20 24 ];
169
170 status = "disabled";
171 };
172
173 i2c@900 {
174 compatible = "ralink,rt2880-i2c";
175 reg = <0x900 0x100>;
176
177 resets = <&rstctrl 16>;
178 reset-names = "i2c";
179
180 #address-cells = <1>;
181 #size-cells = <0>;
182
183 status = "disabled";
184
185 pinctrl-names = "default";
186 pinctrl-0 = <&i2c_pins>;
187 };
188
189 i2s@a00 {
190 compatible = "ralink,rt3883-i2s";
191 reg = <0xa00 0x100>;
192
193 resets = <&rstctrl 17>;
194 reset-names = "i2s";
195
196 interrupt-parent = <&intc>;
197 interrupts = <10>;
198
199 txdma-req = <2>;
200 rxdma-req = <3>;
201
202 dmas = <&gdma 4>,
203 <&gdma 6>;
204 dma-names = "tx", "rx";
205
206 status = "disabled";
207 };
208
209 spi0: spi@b00 {
210 compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
211 reg = <0xb00 0x40>;
212 #address-cells = <1>;
213 #size-cells = <0>;
214
215 resets = <&rstctrl 18>;
216 reset-names = "spi";
217
218 pinctrl-names = "default";
219 pinctrl-0 = <&spi_pins>;
220
221 status = "disabled";
222 };
223
224 spi1: spi@b40 {
225 compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
226 reg = <0xb40 0x60>;
227 #address-cells = <1>;
228 #size-cells = <0>;
229
230 resets = <&rstctrl 18>;
231 reset-names = "spi";
232
233 pinctrl-names = "default";
234 pinctrl-0 = <&spi_cs1>;
235
236 status = "disabled";
237 };
238
239 uartlite: uartlite@c00 {
240 compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
241 reg = <0xc00 0x100>;
242
243 resets = <&rstctrl 19>;
244 reset-names = "uartl";
245
246 interrupt-parent = <&intc>;
247 interrupts = <12>;
248
249 reg-shift = <2>;
250
251 pinctrl-names = "default";
252 pinctrl-0 = <&uartlite_pins>;
253 };
254
255 gdma: gdma@2800 {
256 compatible = "ralink,rt3883-gdma";
257 reg = <0x2800 0x800>;
258
259 resets = <&rstctrl 14>;
260 reset-names = "dma";
261
262 interrupt-parent = <&intc>;
263 interrupts = <7>;
264
265 #dma-cells = <1>;
266 #dma-channels = <16>;
267 #dma-requests = <16>;
268
269 status = "disabled";
270 };
271 };
272
273 pinctrl: pinctrl {
274 compatible = "ralink,rt2880-pinmux";
275
276 pinctrl-names = "default";
277 pinctrl-0 = <&state_default>;
278
279 state_default: pinctrl0 {
280 };
281
282 i2c_pins: i2c {
283 i2c {
284 ralink,group = "i2c";
285 ralink,function = "i2c";
286 };
287 };
288
289 spi_pins: spi {
290 spi {
291 ralink,group = "spi";
292 ralink,function = "spi";
293 };
294 };
295
296 spi_cs1: spi1 {
297 spi1 {
298 ralink,group = "spi_cs1";
299 ralink,function = "spi_cs1";
300 };
301 };
302
303 uartlite_pins: uartlite {
304 uart {
305 ralink,group = "uartlite";
306 ralink,function = "uartlite";
307 };
308 };
309 };
310
311 ethernet: ethernet@10100000 {
312 compatible = "ralink,rt3883-eth";
313 #address-cells = <1>;
314 #size-cells = <0>;
315 reg = <0x10100000 0x10000>;
316
317 resets = <&rstctrl 21>;
318 reset-names = "fe";
319
320 interrupt-parent = <&cpuintc>;
321 interrupts = <5>;
322
323 port@0 {
324 compatible = "ralink,rt3883-port", "mediatek,eth-port";
325 reg = <0>;
326 };
327
328 mdio-bus {
329 #address-cells = <1>;
330 #size-cells = <0>;
331
332 status = "disabled";
333 };
334 };
335
336 rstctrl: rstctrl {
337 compatible = "ralink,rt3883-reset", "ralink,rt2880-reset";
338 #reset-cells = <1>;
339 };
340
341 clkctrl: clkctrl {
342 compatible = "ralink,rt2880-clock";
343 #clock-cells = <1>;
344 };
345
346 pci: pci@10140000 {
347 compatible = "ralink,rt3883-pci";
348 reg = <0x10140000 0x20000>;
349 #address-cells = <1>;
350 #size-cells = <1>;
351 ranges; /* direct mapping */
352
353 status = "disabled";
354
355 pciintc: interrupt-controller {
356 interrupt-controller;
357 #address-cells = <0>;
358 #interrupt-cells = <1>;
359
360 interrupt-parent = <&cpuintc>;
361 interrupts = <4>;
362 };
363
364 host-bridge {
365 #address-cells = <3>;
366 #size-cells = <2>;
367 #interrupt-cells = <1>;
368
369 device_type = "pci";
370
371 bus-range = <0 255>;
372 ranges = <
373 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
374 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
375 >;
376
377 interrupt-map-mask = <0xf800 0 0 7>;
378 interrupt-map = <
379 /* IDSEL 17 */
380 0x8800 0 0 1 &pciintc 18
381 0x8800 0 0 2 &pciintc 18
382 0x8800 0 0 3 &pciintc 18
383 0x8800 0 0 4 &pciintc 18
384 /* IDSEL 18 */
385 0x9000 0 0 1 &pciintc 19
386 0x9000 0 0 2 &pciintc 19
387 0x9000 0 0 3 &pciintc 19
388 0x9000 0 0 4 &pciintc 19
389 >;
390
391 pci-bridge@1 {
392 reg = <0x0800 0 0 0 0>;
393 device_type = "pci";
394 #interrupt-cells = <1>;
395 #address-cells = <3>;
396 #size-cells = <2>;
397
398 status = "disabled";
399
400 ralink,pci-slot = <1>;
401
402 interrupt-map-mask = <0x0 0 0 0>;
403 interrupt-map = <0x0 0 0 0 &pciintc 20>;
404 };
405
406 pci-slot@17 {
407 reg = <0x8800 0 0 0 0>;
408 device_type = "pci";
409 #interrupt-cells = <1>;
410 #address-cells = <3>;
411 #size-cells = <2>;
412
413 ralink,pci-slot = <17>;
414
415 status = "disabled";
416 };
417
418 pci-slot@18 {
419 reg = <0x9000 0 0 0 0>;
420 device_type = "pci";
421 #interrupt-cells = <1>;
422 #address-cells = <3>;
423 #size-cells = <2>;
424
425 ralink,pci-slot = <18>;
426
427 status = "disabled";
428 };
429 };
430 };
431
432 usbphy: usbphy {
433 compatible = "ralink,rt3352-usbphy";
434 #phy-cells = <0>;
435
436 ralink,sysctl = <&sysc>;
437 resets = <&rstctrl 22 &rstctrl 25>;
438 reset-names = "host", "device";
439 clocks = <&clkctrl 22 &clkctrl 25>;
440 clock-names = "host", "device";
441 };
442
443 wmac: wmac@10180000 {
444 compatible = "ralink,rt3883-wmac", "ralink,rt2880-wmac";
445 reg = <0x10180000 0x40000>;
446
447 interrupt-parent = <&cpuintc>;
448 interrupts = <6>;
449
450 ralink,eeprom = "soc_wmac.eeprom";
451 };
452
453 ehci: ehci@101c0000 {
454 compatible = "generic-ehci";
455 reg = <0x101c0000 0x1000>;
456
457 phys = <&usbphy>;
458 phy-names = "usb";
459
460 interrupt-parent = <&intc>;
461 interrupts = <18>;
462
463 status = "disabled";
464 };
465
466 ohci: ohci@101c1000 {
467 compatible = "generic-ohci";
468 reg = <0x101c1000 0x1000>;
469
470 phys = <&usbphy>;
471 phy-names = "usb";
472
473 interrupt-parent = <&intc>;
474 interrupts = <18>;
475
476 status = "disabled";
477 };
478 };