ramips: add alsa support
[openwrt.git] / target / linux / ramips / dts / mt7628an.dtsi
1 / {
2         #address-cells = <1>;
3         #size-cells = <1>;
4         compatible = "ralink,mtk7628an-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         palmbus@10000000 {
24                 compatible = "palmbus";
25                 reg = <0x10000000 0x200000>;
26                 ranges = <0x0 0x10000000 0x1FFFFF>;
27
28                 #address-cells = <1>;
29                 #size-cells = <1>;
30
31                 sysc@0 {
32                         compatible = "ralink,mt7620a-sysc";
33                         reg = <0x0 0x100>;
34                 };
35
36                 watchdog@120 {
37                         compatible = "ralink,mt7628an-wdt", "mtk,mt7621-wdt";
38                         reg = <0x120 0x10>;
39
40                         resets = <&rstctrl 8>;
41                         reset-names = "wdt";
42
43                         interrupt-parent = <&intc>;
44                         interrupts = <24>;
45                 };
46
47                 intc: intc@200 {
48                         compatible = "ralink,mt7628an-intc", "ralink,rt2880-intc";
49                         reg = <0x200 0x100>;
50
51                         resets = <&rstctrl 9>;
52                         reset-names = "intc";
53
54                         interrupt-controller;
55                         #interrupt-cells = <1>;
56
57                         interrupt-parent = <&cpuintc>;
58                         interrupts = <2>;
59
60                         ralink,intc-registers = <0x9c 0xa0
61                                                  0x6c 0xa4
62                                                  0x80 0x78>;
63                 };
64
65                 memc@300 {
66                         compatible = "ralink,mt7620a-memc", "ralink,rt3050-memc";
67                         reg = <0x300 0x100>;
68
69                         resets = <&rstctrl 20>;
70                         reset-names = "mc";
71
72                         interrupt-parent = <&intc>;
73                         interrupts = <3>;
74                 };
75
76                 gpio@600 {
77                         #address-cells = <1>;
78                         #size-cells = <0>;
79
80                         compatible = "mtk,mt7628-gpio", "mtk,mt7621-gpio";
81                         reg = <0x600 0x100>;
82
83                         interrupt-parent = <&intc>;
84                         interrupts = <6>;
85
86                         gpio0: bank@0 {
87                                 reg = <0>;
88                                 compatible = "mtk,mt7621-gpio-bank";
89                                 gpio-controller;
90                                 #gpio-cells = <2>;
91                         };
92
93                         gpio1: bank@1 {
94                                 reg = <1>;
95                                 compatible = "mtk,mt7621-gpio-bank";
96                                 gpio-controller;
97                                 #gpio-cells = <2>;
98                         };
99
100                         gpio2: bank@2 {
101                                 reg = <2>;
102                                 compatible = "mtk,mt7621-gpio-bank";
103                                 gpio-controller;
104                                 #gpio-cells = <2>;
105                         };
106                 };
107
108                 i2c@900 {
109                         compatible = "mediatek,mt7628-i2c";
110                         reg = <0x900 0x100>;
111
112                         resets = <&rstctrl 16>;
113                         reset-names = "i2c";
114
115                         #address-cells = <1>;
116                         #size-cells = <0>;
117
118                         status = "disabled";
119
120                         pinctrl-names = "default";
121                         pinctrl-0 = <&i2c_pins>;
122                 };
123
124                 i2s@a00 {
125                         compatible = "ralink,mt7620a-i2s";
126                         reg = <0xa00 0x100>;
127
128                         resets = <&rstctrl 17>;
129                         reset-names = "i2s";
130
131                         interrupt-parent = <&intc>;
132                         interrupts = <10>;
133
134                         dmas = <&gdma 2>,
135                                 <&gdma 3>;
136                         dma-names = "tx", "rx";
137
138                         status = "disabled";
139                 };
140
141                 spi@b00 {
142                         compatible = "ralink,mt7621-spi";
143                         reg = <0xb00 0x100>;
144
145                         resets = <&rstctrl 18>;
146                         reset-names = "spi";
147
148                         #address-cells = <1>;
149                         #size-cells = <0>;
150
151                         pinctrl-names = "default";
152                         pinctrl-0 = <&spi_pins>;
153
154                         status = "disabled";
155                 };
156
157                 uartlite@c00 {
158                         compatible = "ns16550a";
159                         reg = <0xc00 0x100>;
160
161                         reg-shift = <2>;
162                         reg-io-width = <4>;
163                         no-loopback-test;
164
165                         resets = <&rstctrl 12>;
166                         reset-names = "uartl";
167
168                         interrupt-parent = <&intc>;
169                         interrupts = <20>;
170
171                         pinctrl-names = "default";
172                         pinctrl-0 = <&uart0_pins>;
173                 };
174
175                 uart1@d00 {
176                         compatible = "ns16550a";
177                         reg = <0xd00 0x100>;
178
179                         reg-shift = <2>;
180                         reg-io-width = <4>;
181                         no-loopback-test;
182
183                         resets = <&rstctrl 19>;
184                         reset-names = "uart1";
185
186                         interrupt-parent = <&intc>;
187                         interrupts = <21>;
188
189                         pinctrl-names = "default";
190                         pinctrl-0 = <&uart1_pins>;
191
192                         status = "disabled";
193                 };
194
195                 uart2@e00 {
196                         compatible = "ns16550a";
197                         reg = <0xe00 0x100>;
198
199                         reg-shift = <2>;
200                         reg-io-width = <4>;
201                         no-loopback-test;
202
203                         resets = <&rstctrl 20>;
204                         reset-names = "uart2";
205
206                         interrupt-parent = <&intc>;
207                         interrupts = <22>;
208
209                         pinctrl-names = "default";
210                         pinctrl-0 = <&uart2_pins>;
211
212                         status = "disabled";
213                 };
214
215                 pwm@5000 {
216                         compatible = "mediatek,mt7628-pwm";
217                         reg = <0x5000 0x1000>;
218
219                         resets = <&rstctrl 31>;
220                         reset-names = "pwm";
221
222                         pinctrl-names = "default";
223                         pinctrl-0 = <&pwm0_pins>, <&pwm1_pins>;
224
225                         status = "disabled";
226                 };
227
228                 pcm@2000 {
229                         compatible = "ralink,mt7620a-pcm";
230                         reg = <0x2000 0x800>;
231
232                         resets = <&rstctrl 11>;
233                         reset-names = "pcm";
234
235                         interrupt-parent = <&intc>;
236                         interrupts = <4>;
237
238                         status = "disabled";
239                 };
240
241                 gdma: gdma@2800 {
242                         compatible = "ralink,mt7620a-gdma", "ralink,rt2880-gdma";
243                         reg = <0x2800 0x800>;
244
245                         resets = <&rstctrl 14>;
246                         reset-names = "dma";
247
248                         interrupt-parent = <&intc>;
249                         interrupts = <7>;
250
251                         #dma-cells = <1>;
252                         #dma-channels = <16>;
253                         #dma-requests = <16>;
254
255                         status = "disabled";
256                 };
257         };
258
259         pinctrl {
260                 compatible = "ralink,rt2880-pinmux";
261                 pinctrl-names = "default";
262                 pinctrl-0 = <&state_default>;
263
264                 state_default: pinctrl0 {
265                 };
266
267                 spi_pins: spi {
268                         spi {
269                                 ralink,group = "spi";
270                                 ralink,function = "spi";
271                         };
272                 };
273
274                 spi_cs1_pins: spi_cs1 {
275                         spi_cs1 {
276                                 ralink,group = "spi cs1";
277                                 ralink,function = "spi cs1";
278                         };
279                 };
280
281                 i2c_pins: i2c {
282                         i2c {
283                                 ralink,group = "i2c";
284                                 ralink,function = "i2c";
285                         };
286                 };
287
288                 uart0_pins: uartlite {
289                         uartlite {
290                                 ralink,group = "uart0";
291                                 ralink,function = "uart0";
292                         };
293                 };
294
295                 uart1_pins: uart1 {
296                         uart1 {
297                                 ralink,group = "uart1";
298                                 ralink,function = "uart1";
299                         };
300                 };
301
302                 uart2_pins: uart2 {
303                         uart2 {
304                                 ralink,group = "uart2";
305                                 ralink,function = "uart2";
306                         };
307                 };
308
309                 sdxc_pins: sdxc {
310                         sdxc {
311                                 ralink,group = "sdmode";
312                                 ralink,function = "sdxc";
313                         };
314                 };
315
316                 pwm0_pins: pwm0 {
317                         pwm0 {
318                                 ralink,group = "pwm0";
319                                 ralink,function = "pwm0";
320                         };
321                 };
322
323                 pwm1_pins: pwm1 {
324                         pwm1 {
325                                 ralink,group = "pwm1";
326                                 ralink,function = "pwm1";
327                         };
328                 };
329
330                 pcm_i2s_pins: i2s {
331                         i2s {
332                                 ralink,group = "i2s";
333                                 ralink,function = "pcm";
334                         };
335                 };
336         };
337
338         rstctrl: rstctrl {
339                 compatible = "ralink,mt7620a-reset", "ralink,rt2880-reset";
340                 #reset-cells = <1>;
341         };
342
343         usbphy: usbphy {
344                 compatible = "ralink,mt7628an-usbphy", "ralink,mt7620a-usbphy";
345                 #phy-cells = <1>;
346
347                 resets = <&rstctrl 22>;
348                 reset-names = "host";
349         };
350
351         sdhci@10130000 {
352                 compatible = "ralink,mt7620-sdhci";
353                 reg = <0x10130000 4000>;
354
355                 interrupt-parent = <&intc>;
356                 interrupts = <14>;
357
358                 pinctrl-names = "default";
359                 pinctrl-0 = <&sdxc_pins>;
360
361                 status = "disabled";
362         };
363
364         ehci@101c0000 {
365                 compatible = "ralink,rt3xxx-ehci";
366                 reg = <0x101c0000 0x1000>;
367
368                 phys = <&usbphy 1>;
369                 phy-names = "usb";
370
371                 interrupt-parent = <&intc>;
372                 interrupts = <18>;
373         };
374
375         ohci@101c1000 {
376                 compatible = "ralink,rt3xxx-ohci";
377                 reg = <0x101c1000 0x1000>;
378
379                 phys = <&usbphy 1>;
380                 phy-names = "usb";
381
382                 interrupt-parent = <&intc>;
383                 interrupts = <18>;
384         };
385
386         ethernet@10100000 {
387                 compatible = "ralink,rt5350-eth";
388                 reg = <0x10100000 10000>;
389
390                 interrupt-parent = <&cpuintc>;
391                 interrupts = <5>;
392
393                 resets = <&rstctrl 21 &rstctrl 23>;
394                 reset-names = "fe", "esw";
395         };
396
397         esw@10110000 {
398                 compatible = "ralink,rt3050-esw";
399                 reg = <0x10110000 8000>;
400
401                 resets = <&rstctrl 23>;
402                 reset-names = "esw";
403
404                 interrupt-parent = <&intc>;
405                 interrupts = <17>;
406         };
407
408         pcie@10140000 {
409                 compatible = "mediatek,mt7620-pci";
410                 reg = <0x10140000 0x100
411                         0x10142000 0x100>;
412
413                 #address-cells = <3>;
414                 #size-cells = <2>;
415
416                 resets = <&rstctrl 26>;
417                 reset-names = "pcie0";
418
419                 interrupt-parent = <&cpuintc>;
420                 interrupts = <4>;
421
422                 status = "disabled";
423
424                 device_type = "pci";
425
426                 bus-range = <0 255>;
427                 ranges = <
428                         0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
429                         0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
430                 >;
431
432                 pcie-bridge {
433                         reg = <0x0000 0 0 0 0>;
434
435                         #address-cells = <3>;
436                         #size-cells = <2>;
437
438                         device_type = "pci";
439                 };
440         };
441 };