Fresh pull from upstream
[librecmc/librecmc.git] / target / linux / ramips / dts / rt5350.dtsi
1 / {
2         #address-cells = <1>;
3         #size-cells = <1>;
4         compatible = "ralink,rt5350-soc";
5
6         cpus {
7                 cpu@0 {
8                         compatible = "mips,mips24KEc";
9                 };
10         };
11
12         chosen {
13                 bootargs = "console=ttyS0,57600";
14         };
15
16         cpuintc: cpuintc@0 {
17                 #address-cells = <0>;
18                 #interrupt-cells = <1>;
19                 interrupt-controller;
20                 compatible = "mti,cpu-interrupt-controller";
21         };
22
23         aliases {
24                 spi0 = &spi0;
25                 spi1 = &spi1;
26                 serial0 = &uartlite;
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,rt5350-sysc", "ralink,rt3050-sysc";
39                         reg = <0x0 0x100>;
40                 };
41
42                 timer: timer@100 {
43                         compatible = "ralink,rt5350-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,rt5350-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,rt5350-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,rt5350-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,rt5350-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,rt5350-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 = <22>;
116                         ralink,register-map = [ 00 04 08 0c
117                                                 20 24 28 2c
118                                                 30 34 ];
119                 };
120
121                 gpio1: gpio@660 {
122                         compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio";
123                         reg = <0x660 0x24>;
124
125                         interrupt-parent = <&intc>;
126                         interrupts = <6>;
127
128                         gpio-controller;
129                         #gpio-cells = <2>;
130
131                         ralink,gpio-base = <22>;
132                         ralink,num-gpios = <6>;
133                         ralink,register-map = [ 00 04 08 0c
134                                                 10 14 18 1c
135                                                 20 24 ];
136
137                         status = "disabled";
138                 };
139
140                 i2c: i2c@900 {
141                         compatible = "ralink,rt2880-i2c";
142                         reg = <0x900 0x100>;
143
144                         resets = <&rstctrl 16>;
145                         reset-names = "i2c";
146
147                         #address-cells = <1>;
148                         #size-cells = <0>;
149
150                         pinctrl-names = "default";
151                         pinctrl-0 = <&i2c_pins>;
152
153                         status = "disabled";
154                 };
155
156                 i2s: i2s@a00 {
157                         compatible = "ralink,rt3352-i2s";
158                         reg = <0xa00 0x100>;
159
160                         resets = <&rstctrl 17>;
161                         reset-names = "i2s";
162
163                         interrupt-parent = <&intc>;
164                         interrupts = <10>;
165
166                         txdma-req = <2>;
167                         rxdma-req = <3>;
168
169                         dmas = <&gdma 4>,
170                                 <&gdma 6>;
171                         dma-names = "tx", "rx";
172
173                         status = "disabled";
174                 };
175
176                 spi0: spi@b00 {
177                         compatible = "ralink,rt5350-spi", "ralink,rt2880-spi";
178                         reg = <0xb00 0x40>;
179
180                         resets = <&rstctrl 18>;
181                         reset-names = "spi";
182
183                         #address-cells = <1>;
184                         #size-cells = <0>;
185
186                         pinctrl-names = "default";
187                         pinctrl-0 = <&spi_pins>;
188
189                         status = "disabled";
190                 };
191
192                 spi1: spi@b40 {
193                         compatible = "ralink,rt5350-spi", "ralink,rt2880-spi";
194                         reg = <0xb40 0x60>;
195
196                         resets = <&rstctrl 18>;
197                         reset-names = "spi";
198
199                         #address-cells = <1>;
200                         #size-cells = <0>;
201
202                         pinctrl-names = "default";
203                         pinctrl-0 = <&spi_cs1>;
204
205                         status = "disabled";
206                 };
207
208                 uartlite: uartlite@c00 {
209                         compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a";
210                         reg = <0xc00 0x100>;
211
212                         resets = <&rstctrl 19>;
213                         reset-names = "uartl";
214
215                         interrupt-parent = <&intc>;
216                         interrupts = <12>;
217
218                         pinctrl-names = "default";
219                         pinctrl-0 = <&uartlite_pins>;
220
221                         reg-shift = <2>;
222                 };
223
224                 systick: systick@d00 {
225                         compatible = "ralink,rt5350-systick", "ralink,cevt-systick";
226                         reg = <0xd00 0x10>;
227
228                         interrupt-parent = <&cpuintc>;
229                         interrupts = <7>;
230                 };
231
232                 gdma: gdma@2800 {
233                         compatible = "ralink,rt3883-gdma";
234                         reg = <0x2800 0x800>;
235
236                         resets = <&rstctrl 14>;
237                         reset-names = "dma";
238
239                         interrupt-parent = <&intc>;
240                         interrupts = <7>;
241
242                         #dma-cells = <1>;
243                         #dma-channels = <16>;
244                         #dma-requests = <16>;
245
246                         status = "disabled";
247                 };
248         };
249
250         pinctrl: pinctrl {
251                 compatible = "ralink,rt2880-pinmux";
252
253                 pinctrl-names = "default";
254                 pinctrl-0 = <&state_default>;
255
256                 state_default: pinctrl0 {
257                 };
258
259                 i2c_pins: i2c {
260                         i2c {
261                                 ralink,group = "i2c";
262                                 ralink,function = "i2c";
263                         };
264                 };
265
266                 spi_pins: spi {
267                         spi {
268                                 ralink,group = "spi";
269                                 ralink,function = "spi";
270                         };
271                 };
272
273                 phy_led_pins: phy_led {
274                         phy_led {
275                                 ralink,group = "led";
276                                 ralink,function = "led";
277                         };
278                 };
279
280                 uartlite_pins: uartlite {
281                         uart {
282                                 ralink,group = "uartlite";
283                                 ralink,function = "uartlite";
284                         };
285                 };
286
287                 uartf_pins: uartf {
288                         uartf {
289                                 ralink,group = "uartf";
290                                 ralink,function = "uartf";
291                         };
292                 };
293
294                 spi_cs1: spi1 {
295                         spi1 {
296                                 ralink,group = "spi_cs1";
297                                 ralink,function = "spi_cs1";
298                         };
299                 };
300         };
301
302         rstctrl: rstctrl {
303                 compatible = "ralink,rt5350-reset", "ralink,rt2880-reset";
304                 #reset-cells = <1>;
305         };
306
307         clkctrl: clkctrl {
308                 compatible = "ralink,rt2880-clock";
309                 #clock-cells = <1>;
310         };
311
312         usbphy: usbphy {
313                 compatible = "ralink,rt3352-usbphy";
314                 #phy-cells = <1>;
315
316                 resets = <&rstctrl 22 &rstctrl 25>;
317                 reset-names = "host", "device";
318                 clocks = <&clkctrl 18>;
319                 clock-names = "host";
320         };
321
322         ethernet: ethernet@10100000 {
323                 compatible = "ralink,rt5350-eth";
324                 reg = <0x10100000 0x10000>;
325
326                 resets = <&rstctrl 21 &rstctrl 23>;
327                 reset-names = "fe", "esw";
328
329                 interrupt-parent = <&cpuintc>;
330                 interrupts = <5>;
331
332                 mediatek,switch = <&esw>;
333         };
334
335         esw: esw@10110000 {
336                 compatible = "ralink,rt5350-esw", "ralink,rt3050-esw";
337                 reg = <0x10110000 0x8000>;
338
339                 resets = <&rstctrl 23>;
340                 reset-names = "esw";
341
342                 interrupt-parent = <&intc>;
343                 interrupts = <17>;
344         };
345
346         wmac: wmac@10180000 {
347                 compatible = "ralink,rt5350-wmac", "ralink,rt2880-wmac";
348                 reg = <0x10180000 0x40000>;
349
350                 interrupt-parent = <&cpuintc>;
351                 interrupts = <6>;
352
353                 ralink,eeprom = "soc_wmac.eeprom";
354         };
355
356         ehci: ehci@101c0000 {
357                 compatible = "generic-ehci";
358                 reg = <0x101c0000 0x1000>;
359
360                 phys = <&usbphy 1>;
361                 phy-names = "usb";
362
363                 interrupt-parent = <&intc>;
364                 interrupts = <18>;
365         };
366
367         ohci: ohci@101c1000 {
368                 compatible = "generic-ohci";
369                 reg = <0x101c1000 0x1000>;
370
371                 phys = <&usbphy 1>;
372                 phy-names = "usb";
373
374                 interrupt-parent = <&intc>;
375                 interrupts = <18>;
376         };
377 };