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