ramips: Add support for GL-MT300N
[openwrt.git] / target / linux / ramips / dts / rt3050.dtsi
1 / {
2         #address-cells = <1>;
3         #size-cells = <1>;
4         compatible = "ralink,rt3050-soc", "ralink,rt3052-soc", "ralink,rt3350-soc";
5
6         cpus {
7                 cpu@0 {
8                         compatible = "mips,mips24KEc";
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,rt3050-sysc";
37                         reg = <0x0 0x100>;
38                 };
39
40                 timer@100 {
41                         compatible = "ralink,rt3050-timer", "ralink,rt2880-timer";
42                         reg = <0x100 0x20>;
43
44                         interrupt-parent = <&intc>;
45                         interrupts = <1>;
46                 };
47
48                 watchdog@120 {
49                         compatible = "ralink,rt3050-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,rt3050-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,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,rt3050-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,rt3050-gpio", "ralink,rt2880-gpio";
101                         reg = <0x600 0x34>;
102
103                         gpio-controller;
104                         #gpio-cells = <2>;
105
106                         ralink,gpio-base = <0>;
107                         ralink,num-gpios = <24>;
108                         ralink,register-map = [ 00 04 08 0c
109                                                 20 24 28 2c
110                                                 30 34 ];
111
112                         resets = <&rstctrl 13>;
113                         reset-names = "pio";
114
115                         interrupt-parent = <&intc>;
116                         interrupts = <6>;
117                 };
118
119                 gpio1: gpio@638 {
120                         compatible = "ralink,rt3050-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,rt3050-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 = <12>;
144                         ralink,register-map = [ 00 04 08 0c
145                                                 10 14 18 1c
146                                                 20 24 ];
147
148                         status = "disabled";
149                 };
150
151                 spi0: spi@b00 {
152                         compatible = "ralink,rt3050-spi", "ralink,rt2880-spi";
153                         reg = <0xb00 0x100>;
154
155                         resets = <&rstctrl 18>;
156                         reset-names = "spi";
157
158                         #address-cells = <1>;
159                         #size-cells = <0>;
160
161                         pinctrl-names = "default";
162                         pinctrl-0 = <&spi_pins>;
163
164                         status = "disabled";
165                 };
166
167                 uartlite@c00 {
168                         compatible = "ralink,rt3050-uart", "ralink,rt2880-uart", "ns16550a";
169                         reg = <0xc00 0x100>;
170
171                         resets = <&rstctrl 19>;
172                         reset-names = "uartl";
173
174                         interrupt-parent = <&intc>;
175                         interrupts = <12>;
176
177                         reg-shift = <2>;
178
179                         pinctrl-names = "default";
180                         pinctrl-0 = <&uartlite_pins>;
181                 };
182         };
183
184         pinctrl {
185                 compatible = "ralink,rt2880-pinmux";
186
187                 pinctrl-names = "default";
188                 pinctrl-0 = <&state_default>;
189
190                 state_default: pinctrl0 {
191                         sdram {
192                                 ralink,group = "sdram";
193                                 ralink,function = "sdram";
194                         };
195                 };
196
197                 spi_pins: spi {
198                         spi {
199                                 ralink,group = "spi";
200                                 ralink,function = "spi";
201                         };
202                 };
203
204                 uartlite_pins: uartlite {
205                         uart {
206                                 ralink,group = "uartlite";
207                                 ralink,function = "uartlite";
208                         };
209                 };
210         };
211
212         rstctrl: rstctrl {
213                 compatible = "ralink,rt3050-reset", "ralink,rt2880-reset";
214                 #reset-cells = <1>;
215         };
216
217         ethernet@10100000 {
218                 compatible = "ralink,rt3050-eth";
219                 reg = <0x10100000 10000>;
220
221                 resets = <&rstctrl 21>;
222                 reset-names = "fe";
223
224                 interrupt-parent = <&cpuintc>;
225                 interrupts = <5>;
226
227                 mediatek,switch = <&esw>;
228         };
229
230         esw: esw@10110000 {
231                 compatible = "ralink,rt3050-esw";
232                 reg = <0x10110000 8000>;
233
234                 resets = <&rstctrl 23>;
235                 reset-names = "esw";
236
237                 interrupt-parent = <&intc>;
238                 interrupts = <17>;
239         };
240
241         wmac@10180000 {
242                 compatible = "ralink,rt3050-wmac", "ralink,rt2880-wmac";
243                 reg = <0x10180000 40000>;
244
245                 interrupt-parent = <&cpuintc>;
246                 interrupts = <6>;
247
248                 ralink,eeprom = "soc_wmac.eeprom";
249         };
250
251         otg@101c0000 {
252                 compatible = "ralink,rt3050-otg", "snps,dwc2";
253                 reg = <0x101c0000 40000>;
254
255                 interrupt-parent = <&intc>;
256                 interrupts = <18>;
257
258                 resets = <&rstctrl 22>;
259                 reset-names = "otg";
260
261                 status = "disabled";
262         };
263 };