ramips: Add support for GL-MT300N
[openwrt.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         };
27
28         palmbus@10000000 {
29                 compatible = "palmbus";
30                 reg = <0x10000000 0x200000>;
31                 ranges = <0x0 0x10000000 0x1FFFFF>;
32
33                 #address-cells = <1>;
34                 #size-cells = <1>;
35
36                 sysc@0 {
37                         compatible = "ralink,rt5350-sysc", "ralink,rt3050-sysc";
38                         reg = <0x0 0x100>;
39                 };
40
41                 timer@100 {
42                         compatible = "ralink,rt5350-timer", "ralink,rt2880-timer";
43                         reg = <0x100 0x20>;
44
45                         interrupt-parent = <&intc>;
46                         interrupts = <1>;
47                 };
48
49                 watchdog@120 {
50                         compatible = "ralink,rt5350-wdt", "ralink,rt2880-wdt";
51                         reg = <0x120 0x10>;
52
53                         resets = <&rstctrl 8>;
54                         reset-names = "wdt";
55
56                         interrupt-parent = <&intc>;
57                         interrupts = <1>;
58                 };
59
60                 intc: intc@200 {
61                         compatible = "ralink,rt5350-intc", "ralink,rt2880-intc";
62                         reg = <0x200 0x100>;
63
64                         resets = <&rstctrl 19>;
65                         reset-names = "intc";
66
67                         interrupt-controller;
68                         #interrupt-cells = <1>;
69
70                         interrupt-parent = <&cpuintc>;
71                         interrupts = <2>;
72                 };
73
74                 memc@300 {
75                         compatible = "ralink,rt5350-memc", "ralink,rt3050-memc";
76                         reg = <0x300 0x100>;
77
78                         resets = <&rstctrl 20>;
79                         reset-names = "mc";
80
81                         interrupt-parent = <&intc>;
82                         interrupts = <3>;
83                 };
84
85                 uart@500 {
86                         compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a";
87                         reg = <0x500 0x100>;
88
89                         resets = <&rstctrl 12>;
90                         reset-names = "uart";
91
92                         interrupt-parent = <&intc>;
93                         interrupts = <5>;
94
95                         reg-shift = <2>;
96
97                         status = "disabled";
98                 };
99
100                 gpio0: gpio@600 {
101                         compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio";
102                         reg = <0x600 0x34>;
103
104                         resets = <&rstctrl 13>;
105                         reset-names = "pio";
106
107                         interrupt-parent = <&intc>;
108                         interrupts = <6>;
109
110                         gpio-controller;
111                         #gpio-cells = <2>;
112
113                         ralink,gpio-base = <0>;
114                         ralink,num-gpios = <22>;
115                         ralink,register-map = [ 00 04 08 0c
116                                                 20 24 28 2c
117                                                 30 34 ];
118                 };
119
120                 gpio1: gpio@660 {
121                         compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio";
122                         reg = <0x660 0x24>;
123
124                         interrupt-parent = <&intc>;
125                         interrupts = <6>;
126
127                         gpio-controller;
128                         #gpio-cells = <2>;
129
130                         ralink,gpio-base = <22>;
131                         ralink,num-gpios = <6>;
132                         ralink,register-map = [ 00 04 08 0c
133                                                 10 14 18 1c
134                                                 20 24 ];
135
136                         status = "disabled";
137                 };
138
139                 i2c@900 {
140                         compatible = "link,rt5350-i2c", "ralink,rt2880-i2c";
141                         reg = <0x900 0x100>;
142
143                         resets = <&rstctrl 16>;
144                         reset-names = "i2c";
145
146                         #address-cells = <1>;
147                         #size-cells = <0>;
148
149                         pinctrl-names = "default";
150                         pinctrl-0 = <&i2c_pins>;
151
152                         status = "disabled";
153                 };
154
155                 spi0: spi@b00 {
156                         compatible = "ralink,rt5350-spi", "ralink,rt2880-spi";
157                         reg = <0xb00 0x40>;
158
159                         resets = <&rstctrl 18>;
160                         reset-names = "spi";
161
162                         #address-cells = <1>;
163                         #size-cells = <1>;
164
165                         pinctrl-names = "default";
166                         pinctrl-0 = <&spi_pins>;
167
168                         status = "disabled";
169                 };
170
171                 spi1: spi@b40 {
172                         compatible = "ralink,rt5350-spi", "ralink,rt2880-spi";
173                         reg = <0xb40 0x60>;
174
175                         resets = <&rstctrl 18>;
176                         reset-names = "spi";
177
178                         #address-cells = <1>;
179                         #size-cells = <0>;
180
181                         pinctrl-names = "default";
182                         pinctrl-0 = <&spi_cs1>;
183
184                         status = "disabled";
185                 };
186
187                 uartlite@c00 {
188                         compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a";
189                         reg = <0xc00 0x100>;
190
191                         resets = <&rstctrl 19>;
192                         reset-names = "uartl";
193
194                         interrupt-parent = <&intc>;
195                         interrupts = <12>;
196
197                         pinctrl-names = "default";
198                         pinctrl-0 = <&uartlite_pins>;
199
200                         reg-shift = <2>;
201                 };
202
203                 systick@d00 {
204                         compatible = "ralink,rt5350-systick", "ralink,cevt-systick";
205                         reg = <0xd00 0x10>;
206
207                         interrupt-parent = <&cpuintc>;
208                         interrupts = <7>;
209                 };
210         };
211
212         pinctrl {
213                 compatible = "ralink,rt2880-pinmux";
214
215                 pinctrl-names = "default";
216                 pinctrl-0 = <&state_default>;
217
218                 state_default: pinctrl0 {
219                 };
220
221                 spi_pins: spi {
222                         spi {
223                                 ralink,group = "spi";
224                                 ralink,function = "spi";
225                         };
226                 };
227
228                 i2c_pins: i2c {
229                         i2c {
230                                 ralink,group = "i2c";
231                                 ralink,function = "i2c";
232                         };
233                 };
234
235                 phy_led_pins: phy_led {
236                         phy_led {
237                                 ralink,group = "led";
238                                 ralink,function = "led";
239                         };
240                 };
241
242                 uartlite_pins: uartlite {
243                         uart {
244                                 ralink,group = "uartlite";
245                                 ralink,function = "uartlite";
246                         };
247                 };
248
249                 uartf_pins: uartf {
250                         uartf {
251                                 ralink,group = "uartf";
252                                 ralink,function = "uartf";
253                         };
254                 };
255
256                 spi_cs1: spi1 {
257                         spi1 {
258                                 ralink,group = "spi_cs1";
259                                 ralink,function = "spi_cs1";
260                         };
261                 };
262         };
263
264         rstctrl: rstctrl {
265                 compatible = "ralink,rt5350-reset", "ralink,rt2880-reset";
266                 #reset-cells = <1>;
267         };
268
269         usbphy: usbphy {
270                 compatible = "ralink,rt3352-usbphy";
271                 #phy-cells = <1>;
272
273                 resets = <&rstctrl 22 &rstctrl 25>;
274                 reset-names = "host", "device";
275         };
276
277         ethernet@10100000 {
278                 compatible = "ralink,rt5350-eth";
279                 reg = <0x10100000 10000>;
280
281                 resets = <&rstctrl 21 &rstctrl 23>;
282                 reset-names = "fe", "esw";
283
284                 interrupt-parent = <&cpuintc>;
285                 interrupts = <5>;
286
287                 mediatek,switch = <&esw>;
288         };
289
290         esw: esw@10110000 {
291                 compatible = "ralink,rt3050-esw";
292                 reg = <0x10110000 8000>;
293
294                 resets = <&rstctrl 23>;
295                 reset-names = "esw";
296
297                 interrupt-parent = <&intc>;
298                 interrupts = <17>;
299         };
300
301         wmac@10180000 {
302                 compatible = "ralink,rt5350-wmac", "ralink,rt2880-wmac";
303                 reg = <0x10180000 40000>;
304
305                 interrupt-parent = <&cpuintc>;
306                 interrupts = <6>;
307
308                 ralink,eeprom = "soc_wmac.eeprom";
309         };
310
311         ehci@101c0000 {
312                 compatible = "generic-ehci";
313                 reg = <0x101c0000 0x1000>;
314
315                 phys = <&usbphy 1>;
316                 phy-names = "usb";
317
318                 interrupt-parent = <&intc>;
319                 interrupts = <18>;
320         };
321
322         ohci@101c1000 {
323                 compatible = "generic-ohci";
324                 reg = <0x101c1000 0x1000>;
325
326                 phys = <&usbphy 1>;
327                 phy-names = "usb";
328
329                 interrupt-parent = <&intc>;
330                 interrupts = <18>;
331         };
332 };