Fresh pull from upstream
[librecmc/librecmc.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                 serial0 = &uartlite;
19         };
20
21         cpuintc: cpuintc@0 {
22                 #address-cells = <0>;
23                 #interrupt-cells = <1>;
24                 interrupt-controller;
25                 compatible = "mti,cpu-interrupt-controller";
26         };
27
28         palmbus: 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: sysc@0 {
37                         compatible = "ralink,rt3050-sysc";
38                         reg = <0x0 0x100>;
39                 };
40
41                 timer: timer@100 {
42                         compatible = "ralink,rt3050-timer", "ralink,rt2880-timer";
43                         reg = <0x100 0x20>;
44
45                         interrupt-parent = <&intc>;
46                         interrupts = <1>;
47                 };
48
49                 watchdog: watchdog@120 {
50                         compatible = "ralink,rt3050-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,rt3050-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: memc@300 {
75                         compatible = "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: uart@500 {
86                         compatible = "ralink,rt3050-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,rt3050-gpio", "ralink,rt2880-gpio";
102                         reg = <0x600 0x34>;
103
104                         gpio-controller;
105                         #gpio-cells = <2>;
106
107                         ralink,gpio-base = <0>;
108                         ralink,num-gpios = <24>;
109                         ralink,register-map = [ 00 04 08 0c
110                                                 20 24 28 2c
111                                                 30 34 ];
112
113                         resets = <&rstctrl 13>;
114                         reset-names = "pio";
115
116                         interrupt-parent = <&intc>;
117                         interrupts = <6>;
118                 };
119
120                 gpio1: gpio@638 {
121                         compatible = "ralink,rt3050-gpio", "ralink,rt2880-gpio";
122                         reg = <0x638 0x24>;
123
124                         gpio-controller;
125                         #gpio-cells = <2>;
126
127                         ralink,gpio-base = <24>;
128                         ralink,num-gpios = <16>;
129                         ralink,register-map = [ 00 04 08 0c
130                                                 10 14 18 1c
131                                                 20 24 ];
132
133                         status = "disabled";
134                 };
135
136                 gpio2: gpio@660 {
137                         compatible = "ralink,rt3050-gpio", "ralink,rt2880-gpio";
138                         reg = <0x660 0x24>;
139
140                         gpio-controller;
141                         #gpio-cells = <2>;
142
143                         ralink,gpio-base = <40>;
144                         ralink,num-gpios = <12>;
145                         ralink,register-map = [ 00 04 08 0c
146                                                 10 14 18 1c
147                                                 20 24 ];
148
149                         status = "disabled";
150                 };
151
152                 gdma: gdma@700 {
153                         compatible = "ralink,rt305x-gdma";
154                         reg = <0x700 0x100>;
155
156                         resets = <&rstctrl 14>;
157                         reset-names = "dma";
158
159                         interrupt-parent = <&intc>;
160                         interrupts = <7>;
161
162                         #dma-cells = <1>;
163                         #dma-channels = <8>;
164                         #dma-requests = <8>;
165
166                         status = "disabled";
167                 };
168
169                 i2c@900 {
170                         compatible = "ralink,rt2880-i2c";
171                         reg = <0x900 0x100>;
172
173                         resets = <&rstctrl 16>;
174                         reset-names = "i2c";
175
176                         #address-cells = <1>;
177                         #size-cells = <0>;
178
179                         status = "disabled";
180
181                         pinctrl-names = "default";
182                         pinctrl-0 = <&i2c_pins>;
183                 };
184
185                 i2s@a00 {
186                         compatible = "ralink,rt3050-i2s";
187                         reg = <0xa00 0x100>;
188
189                         resets = <&rstctrl 17>;
190                         reset-names = "i2s";
191
192                         interrupt-parent = <&intc>;
193                         interrupts = <10>;
194
195                         txdma-req = <2>;
196
197                         dmas = <&gdma 4>;
198                         dma-names = "tx";
199
200                         status = "disabled";
201                 };
202
203                 spi0: spi@b00 {
204                         compatible = "ralink,rt3050-spi", "ralink,rt2880-spi";
205                         reg = <0xb00 0x100>;
206
207                         resets = <&rstctrl 18>;
208                         reset-names = "spi";
209
210                         #address-cells = <1>;
211                         #size-cells = <0>;
212
213                         pinctrl-names = "default";
214                         pinctrl-0 = <&spi_pins>;
215
216                         status = "disabled";
217                 };
218
219                 uartlite: uartlite@c00 {
220                         compatible = "ralink,rt3050-uart", "ralink,rt2880-uart", "ns16550a";
221                         reg = <0xc00 0x100>;
222
223                         resets = <&rstctrl 19>;
224                         reset-names = "uartl";
225
226                         interrupt-parent = <&intc>;
227                         interrupts = <12>;
228
229                         reg-shift = <2>;
230
231                         pinctrl-names = "default";
232                         pinctrl-0 = <&uartlite_pins>;
233                 };
234         };
235
236         pinctrl: pinctrl {
237                 compatible = "ralink,rt2880-pinmux";
238
239                 pinctrl-names = "default";
240                 pinctrl-0 = <&state_default>;
241
242                 state_default: pinctrl0 {
243                         sdram {
244                                 ralink,group = "sdram";
245                                 ralink,function = "sdram";
246                         };
247                 };
248
249                 i2c_pins: i2c {
250                         i2c {
251                                 ralink,group = "i2c";
252                                 ralink,function = "i2c";
253                         };
254                 };
255
256                 spi_pins: spi {
257                         spi {
258                                 ralink,group = "spi";
259                                 ralink,function = "spi";
260                         };
261                 };
262
263                 uartlite_pins: uartlite {
264                         uart {
265                                 ralink,group = "uartlite";
266                                 ralink,function = "uartlite";
267                         };
268                 };
269         };
270
271         rstctrl: rstctrl {
272                 compatible = "ralink,rt3050-reset", "ralink,rt2880-reset";
273                 #reset-cells = <1>;
274         };
275
276         clkctrl: clkctrl {
277                 compatible = "ralink,rt2880-clock";
278                 #clock-cells = <1>;
279         };
280
281         usbphy: usbphy {
282                 compatible = "ralink,rt3050-usbphy";
283                 resets = <&rstctrl 22>;
284                 reset-names = "host";
285                 clocks = <&clkctrl 18>;
286                 clock-names = "host";
287         };
288
289         ethernet: ethernet@10100000 {
290                 compatible = "ralink,rt3050-eth";
291                 reg = <0x10100000 0x10000>;
292
293                 resets = <&rstctrl 21>;
294                 reset-names = "fe";
295
296                 interrupt-parent = <&cpuintc>;
297                 interrupts = <5>;
298
299                 mediatek,switch = <&esw>;
300         };
301
302         esw: esw@10110000 {
303                 compatible = "ralink,rt3050-esw";
304                 reg = <0x10110000 0x8000>;
305
306                 resets = <&rstctrl 23>;
307                 reset-names = "esw";
308
309                 interrupt-parent = <&intc>;
310                 interrupts = <17>;
311         };
312
313         wmac: wmac@10180000 {
314                 compatible = "ralink,rt3050-wmac", "ralink,rt2880-wmac";
315                 reg = <0x10180000 0x40000>;
316
317                 interrupt-parent = <&cpuintc>;
318                 interrupts = <6>;
319
320                 ralink,eeprom = "soc_wmac.eeprom";
321         };
322
323         otg: otg@101c0000 {
324                 compatible = "ralink,rt3050-otg", "snps,dwc2";
325                 reg = <0x101c0000 0x40000>;
326
327                 interrupt-parent = <&intc>;
328                 interrupts = <18>;
329
330                 resets = <&rstctrl 22>;
331                 reset-names = "otg";
332
333                 status = "disabled";
334         };
335 };