193a3ee1ccfb2e9466fd14f1bea3ec8dcf99cdeb
[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 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", "syscon";
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 i2c@900 {
170 compatible = "ralink,rt2880-i2c";
171 reg = <0x900 0x100>;
172
173 resets = <&rstctrl 16>;
174 reset-names = "i2c";
175
176 #address-cells = <1>;
177 #size-cells = <0>;
178
179 status = "disabled";
180
181 pinctrl-names = "default";
182 pinctrl-0 = <&i2c_pins>;
183 };
184
185 i2s@a00 {
186 compatible = "ralink,rt3883-i2s";
187 reg = <0xa00 0x100>;
188
189 resets = <&rstctrl 17>;
190 reset-names = "i2s";
191
192 interrupt-parent = <&intc>;
193 interrupts = <10>;
194
195 txdma-req = <2>;
196 rxdma-req = <3>;
197
198 dmas = <&gdma 4>,
199 <&gdma 6>;
200 dma-names = "tx", "rx";
201
202 status = "disabled";
203 };
204
205 spi0: spi@b00 {
206 compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
207 reg = <0xb00 0x40>;
208 #address-cells = <1>;
209 #size-cells = <0>;
210
211 resets = <&rstctrl 18>;
212 reset-names = "spi";
213
214 pinctrl-names = "default";
215 pinctrl-0 = <&spi_pins>;
216
217 status = "disabled";
218 };
219
220 spi1: spi@b40 {
221 compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
222 reg = <0xb40 0x60>;
223 #address-cells = <1>;
224 #size-cells = <0>;
225
226 resets = <&rstctrl 18>;
227 reset-names = "spi";
228
229 pinctrl-names = "default";
230 pinctrl-0 = <&spi_cs1>;
231
232 status = "disabled";
233 };
234
235 uartlite: uartlite@c00 {
236 compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
237 reg = <0xc00 0x100>;
238
239 resets = <&rstctrl 19>;
240 reset-names = "uartl";
241
242 interrupt-parent = <&intc>;
243 interrupts = <12>;
244
245 reg-shift = <2>;
246
247 pinctrl-names = "default";
248 pinctrl-0 = <&uartlite_pins>;
249 };
250
251 gdma: gdma@2800 {
252 compatible = "ralink,rt3883-gdma";
253 reg = <0x2800 0x800>;
254
255 resets = <&rstctrl 14>;
256 reset-names = "dma";
257
258 interrupt-parent = <&intc>;
259 interrupts = <7>;
260
261 #dma-cells = <1>;
262 #dma-channels = <16>;
263 #dma-requests = <16>;
264
265 status = "disabled";
266 };
267 };
268
269 pinctrl: pinctrl {
270 compatible = "ralink,rt2880-pinmux";
271
272 pinctrl-names = "default";
273 pinctrl-0 = <&state_default>;
274
275 state_default: pinctrl0 {
276 };
277
278 i2c_pins: i2c {
279 i2c {
280 ralink,group = "i2c";
281 ralink,function = "i2c";
282 };
283 };
284
285 spi_pins: spi {
286 spi {
287 ralink,group = "spi";
288 ralink,function = "spi";
289 };
290 };
291
292 spi_cs1: spi1 {
293 spi1 {
294 ralink,group = "spi_cs1";
295 ralink,function = "spi_cs1";
296 };
297 };
298
299 uartlite_pins: uartlite {
300 uart {
301 ralink,group = "uartlite";
302 ralink,function = "uartlite";
303 };
304 };
305 };
306
307 ethernet: ethernet@10100000 {
308 compatible = "ralink,rt3883-eth";
309 #address-cells = <1>;
310 #size-cells = <0>;
311 reg = <0x10100000 0x10000>;
312
313 resets = <&rstctrl 21>;
314 reset-names = "fe";
315
316 interrupt-parent = <&cpuintc>;
317 interrupts = <5>;
318
319 port@0 {
320 compatible = "ralink,rt3883-port", "mediatek,eth-port";
321 reg = <0>;
322 };
323
324 mdio-bus {
325 #address-cells = <1>;
326 #size-cells = <0>;
327
328 status = "disabled";
329 };
330 };
331
332 rstctrl: rstctrl {
333 compatible = "ralink,rt3883-reset", "ralink,rt2880-reset";
334 #reset-cells = <1>;
335 };
336
337 clkctrl: clkctrl {
338 compatible = "ralink,rt2880-clock";
339 #clock-cells = <1>;
340 };
341
342 pci: pci@10140000 {
343 compatible = "ralink,rt3883-pci";
344 reg = <0x10140000 0x20000>;
345 #address-cells = <1>;
346 #size-cells = <1>;
347 ranges; /* direct mapping */
348
349 status = "disabled";
350
351 pciintc: interrupt-controller {
352 interrupt-controller;
353 #address-cells = <0>;
354 #interrupt-cells = <1>;
355
356 interrupt-parent = <&cpuintc>;
357 interrupts = <4>;
358 };
359
360 host-bridge {
361 #address-cells = <3>;
362 #size-cells = <2>;
363 #interrupt-cells = <1>;
364
365 device_type = "pci";
366
367 bus-range = <0 255>;
368 ranges = <
369 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
370 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
371 >;
372
373 interrupt-map-mask = <0xf800 0 0 7>;
374 interrupt-map = <
375 /* IDSEL 17 */
376 0x8800 0 0 1 &pciintc 18
377 0x8800 0 0 2 &pciintc 18
378 0x8800 0 0 3 &pciintc 18
379 0x8800 0 0 4 &pciintc 18
380 /* IDSEL 18 */
381 0x9000 0 0 1 &pciintc 19
382 0x9000 0 0 2 &pciintc 19
383 0x9000 0 0 3 &pciintc 19
384 0x9000 0 0 4 &pciintc 19
385 >;
386
387 pci-bridge@1 {
388 reg = <0x0800 0 0 0 0>;
389 device_type = "pci";
390 #interrupt-cells = <1>;
391 #address-cells = <3>;
392 #size-cells = <2>;
393
394 status = "disabled";
395
396 ralink,pci-slot = <1>;
397
398 interrupt-map-mask = <0x0 0 0 0>;
399 interrupt-map = <0x0 0 0 0 &pciintc 20>;
400 };
401
402 pci-slot@17 {
403 reg = <0x8800 0 0 0 0>;
404 device_type = "pci";
405 #interrupt-cells = <1>;
406 #address-cells = <3>;
407 #size-cells = <2>;
408
409 ralink,pci-slot = <17>;
410
411 status = "disabled";
412 };
413
414 pci-slot@18 {
415 reg = <0x9000 0 0 0 0>;
416 device_type = "pci";
417 #interrupt-cells = <1>;
418 #address-cells = <3>;
419 #size-cells = <2>;
420
421 ralink,pci-slot = <18>;
422
423 status = "disabled";
424 };
425 };
426 };
427
428 usbphy: usbphy {
429 compatible = "ralink,rt3352-usbphy";
430 #phy-cells = <0>;
431
432 ralink,sysctl = <&sysc>;
433 resets = <&rstctrl 22 &rstctrl 25>;
434 reset-names = "host", "device";
435 clocks = <&clkctrl 22 &clkctrl 25>;
436 clock-names = "host", "device";
437 };
438
439 wmac: wmac@10180000 {
440 compatible = "ralink,rt3883-wmac", "ralink,rt2880-wmac";
441 reg = <0x10180000 0x40000>;
442
443 interrupt-parent = <&cpuintc>;
444 interrupts = <6>;
445
446 ralink,eeprom = "soc_wmac.eeprom";
447 };
448
449 ehci: ehci@101c0000 {
450 compatible = "generic-ehci";
451 reg = <0x101c0000 0x1000>;
452
453 phys = <&usbphy>;
454 phy-names = "usb";
455
456 interrupt-parent = <&intc>;
457 interrupts = <18>;
458
459 status = "disabled";
460 };
461
462 ohci: ohci@101c1000 {
463 compatible = "generic-ohci";
464 reg = <0x101c1000 0x1000>;
465
466 phys = <&usbphy>;
467 phy-names = "usb";
468
469 interrupt-parent = <&intc>;
470 interrupts = <18>;
471
472 status = "disabled";
473 };
474 };