ralink: add FireWRT power button
[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         };
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 };