ralink: add 3.18 support
[openwrt/staging/yousong.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 };
19
20 cpuintc: cpuintc@0 {
21 #address-cells = <0>;
22 #interrupt-cells = <1>;
23 interrupt-controller;
24 compatible = "mti,cpu-interrupt-controller";
25 };
26
27 palmbus@10000000 {
28 compatible = "palmbus";
29 reg = <0x10000000 0x200000>;
30 ranges = <0x0 0x10000000 0x1FFFFF>;
31
32 #address-cells = <1>;
33 #size-cells = <1>;
34
35 sysc@0 {
36 compatible = "ralink,rt3883-sysc", "ralink,rt3050-sysc";
37 reg = <0x0 0x100>;
38 };
39
40 timer@100 {
41 compatible = "ralink,rt3883-timer", "ralink,rt2880-timer";
42 reg = <0x100 0x20>;
43
44 interrupt-parent = <&intc>;
45 interrupts = <1>;
46 };
47
48 watchdog@120 {
49 compatible = "ralink,rt3883-wdt", "ralink,rt2880-wdt";
50 reg = <0x120 0x10>;
51
52 resets = <&rstctrl 8>;
53 reset-names = "wdt";
54
55 interrupt-parent = <&intc>;
56 interrupts = <1>;
57 };
58
59 intc: intc@200 {
60 compatible = "ralink,rt3883-intc", "ralink,rt2880-intc";
61 reg = <0x200 0x100>;
62
63 resets = <&rstctrl 19>;
64 reset-names = "intc";
65
66 interrupt-controller;
67 #interrupt-cells = <1>;
68
69 interrupt-parent = <&cpuintc>;
70 interrupts = <2>;
71 };
72
73 memc@300 {
74 compatible = "ralink,rt3883-memc", "ralink,rt3050-memc";
75 reg = <0x300 0x100>;
76
77 resets = <&rstctrl 20>;
78 reset-names = "mc";
79
80 interrupt-parent = <&intc>;
81 interrupts = <3>;
82 };
83
84 uart@500 {
85 compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
86 reg = <0x500 0x100>;
87
88 resets = <&rstctrl 12>;
89 reset-names = "uart";
90
91 interrupt-parent = <&intc>;
92 interrupts = <5>;
93
94 reg-shift = <2>;
95
96 status = "disabled";
97 };
98
99 gpio0: gpio@600 {
100 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
101 reg = <0x600 0x34>;
102
103 resets = <&rstctrl 13>;
104 reset-names = "pio";
105
106 interrupt-parent = <&intc>;
107 interrupts = <6>;
108
109 gpio-controller;
110 #gpio-cells = <2>;
111
112 ralink,gpio-base = <0>;
113 ralink,num-gpios = <24>;
114 ralink,register-map = [ 00 04 08 0c
115 20 24 28 2c
116 30 34 ];
117 };
118
119 gpio1: gpio@638 {
120 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
121 reg = <0x638 0x24>;
122
123 gpio-controller;
124 #gpio-cells = <2>;
125
126 ralink,gpio-base = <24>;
127 ralink,num-gpios = <16>;
128 ralink,register-map = [ 00 04 08 0c
129 10 14 18 1c
130 20 24 ];
131
132 status = "disabled";
133 };
134
135 gpio2: gpio@660 {
136 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
137 reg = <0x660 0x24>;
138
139 gpio-controller;
140 #gpio-cells = <2>;
141
142 ralink,gpio-base = <40>;
143 ralink,num-gpios = <32>;
144 ralink,register-map = [ 00 04 08 0c
145 10 14 18 1c
146 20 24 ];
147
148 status = "disabled";
149 };
150
151 gpio3: gpio@688 {
152 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
153 reg = <0x688 0x24>;
154
155 gpio-controller;
156 #gpio-cells = <2>;
157
158 ralink,gpio-base = <72>;
159 ralink,num-gpios = <24>;
160 ralink,register-map = [ 00 04 08 0c
161 10 14 18 1c
162 20 24 ];
163
164 status = "disabled";
165 };
166
167 spi0: spi@b00 {
168 compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
169 reg = <0xb00 0x100>;
170 #address-cells = <1>;
171 #size-cells = <0>;
172
173 resets = <&rstctrl 18>;
174 reset-names = "spi";
175
176 pinctrl-names = "default";
177 pinctrl-0 = <&spi_pins>;
178
179 status = "disabled";
180 };
181
182 uartlite@c00 {
183 compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
184 reg = <0xc00 0x100>;
185
186 resets = <&rstctrl 19>;
187 reset-names = "uartl";
188
189 interrupt-parent = <&intc>;
190 interrupts = <12>;
191
192 reg-shift = <2>;
193
194 pinctrl-names = "default";
195 pinctrl-0 = <&uartlite_pins>;
196 };
197 };
198
199 pinctrl {
200 compatible = "ralink,rt2880-pinmux";
201
202 pinctrl-names = "default";
203 pinctrl-0 = <&state_default>;
204 state_default: pinctrl0 {
205 };
206
207 spi_pins: spi {
208 spi {
209 ralink,group = "spi";
210 ralink,function = "spi";
211 };
212 };
213
214 uartlite_pins: uartlite {
215 uart {
216 ralink,group = "uartlite";
217 ralink,function = "uartlite";
218 };
219 };
220 };
221
222 ethernet@10100000 {
223 compatible = "ralink,rt3883-eth";
224 reg = <0x10100000 10000>;
225
226 resets = <&rstctrl 21>;
227 reset-names = "fe";
228
229 interrupt-parent = <&cpuintc>;
230 interrupts = <5>;
231
232 port@0 {
233 compatible = "ralink,rt3883-port", "ralink,eth-port";
234 reg = <0>;
235 };
236
237 mdio-bus {
238 #address-cells = <1>;
239 #size-cells = <0>;
240
241 status = "disabled";
242 };
243 };
244
245 rstctrl: rstctrl {
246 compatible = "ralink,rt3883-reset", "ralink,rt2880-reset";
247 #reset-cells = <1>;
248 };
249
250 pci@10140000 {
251 compatible = "ralink,rt3883-pci";
252 reg = <0x10140000 0x20000>;
253 #address-cells = <1>;
254 #size-cells = <1>;
255 ranges; /* direct mapping */
256
257 status = "disabled";
258
259 pciintc: interrupt-controller {
260 interrupt-controller;
261 #address-cells = <0>;
262 #interrupt-cells = <1>;
263
264 interrupt-parent = <&cpuintc>;
265 interrupts = <4>;
266 };
267
268 host-bridge {
269 #address-cells = <3>;
270 #size-cells = <2>;
271 #interrupt-cells = <1>;
272
273 device_type = "pci";
274
275 bus-range = <0 255>;
276 ranges = <
277 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
278 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
279 >;
280
281 interrupt-map-mask = <0xf800 0 0 7>;
282 interrupt-map = <
283 /* IDSEL 17 */
284 0x8800 0 0 1 &pciintc 18
285 0x8800 0 0 2 &pciintc 18
286 0x8800 0 0 3 &pciintc 18
287 0x8800 0 0 4 &pciintc 18
288 /* IDSEL 18 */
289 0x9000 0 0 1 &pciintc 19
290 0x9000 0 0 2 &pciintc 19
291 0x9000 0 0 3 &pciintc 19
292 0x9000 0 0 4 &pciintc 19
293 >;
294
295 pci-bridge@1 {
296 reg = <0x0800 0 0 0 0>;
297 device_type = "pci";
298 #interrupt-cells = <1>;
299 #address-cells = <3>;
300 #size-cells = <2>;
301
302 status = "disabled";
303
304 ralink,pci-slot = <1>;
305
306 interrupt-map-mask = <0x0 0 0 0>;
307 interrupt-map = <0x0 0 0 0 &pciintc 20>;
308 };
309
310 pci-slot@17 {
311 reg = <0x8800 0 0 0 0>;
312 device_type = "pci";
313 #interrupt-cells = <1>;
314 #address-cells = <3>;
315 #size-cells = <2>;
316
317 ralink,pci-slot = <17>;
318
319 status = "disabled";
320 };
321
322 pci-slot@18 {
323 reg = <0x9000 0 0 0 0>;
324 device_type = "pci";
325 #interrupt-cells = <1>;
326 #address-cells = <3>;
327 #size-cells = <2>;
328
329 ralink,pci-slot = <18>;
330
331 status = "disabled";
332 };
333 };
334 };
335
336 usbphy: usbphy {
337 compatible = "ralink,rt3xxx-usbphy";
338 #phy-cells = <1>;
339
340 resets = <&rstctrl 22 &rstctrl 25>;
341 reset-names = "host", "device";
342 };
343
344 wmac@10180000 {
345 compatible = "ralink,rt3883-wmac", "ralink,rt2880-wmac";
346 reg = <0x10180000 40000>;
347
348 interrupt-parent = <&cpuintc>;
349 interrupts = <6>;
350
351 ralink,eeprom = "soc_wmac.eeprom";
352 };
353
354 ehci@101c0000 {
355 compatible = "ralink,rt3xxx-ehci", "ehci-platform";
356 reg = <0x101c0000 0x1000>;
357
358 phys = <&usbphy 1>;
359 phy-names = "usb";
360
361 interrupt-parent = <&intc>;
362 interrupts = <18>;
363
364 status = "disabled";
365 };
366
367 ohci@101c1000 {
368 compatible = "ralink,rt3xxx-ohci", "ohci-platform";
369 reg = <0x101c1000 0x1000>;
370
371 phys = <&usbphy 1>;
372 phy-names = "usb";
373
374 interrupt-parent = <&intc>;
375 interrupts = <18>;
376
377 status = "disabled";
378 };
379 };