kernel: bump 4.9 to 4.9.65
[oweals/openwrt.git] / target / linux / ramips / dts / mt7621.dtsi
1 #include <dt-bindings/interrupt-controller/mips-gic.h>
2
3 / {
4         #address-cells = <1>;
5         #size-cells = <1>;
6         compatible = "mediatek,mt7621-soc";
7
8         cpus {
9                 cpu@0 {
10                         compatible = "mips,mips1004Kc";
11                 };
12
13                 cpu@1 {
14                         compatible = "mips,mips1004Kc";
15                 };
16         };
17
18         cpuintc: cpuintc@0 {
19                 #address-cells = <0>;
20                 #interrupt-cells = <1>;
21                 interrupt-controller;
22                 compatible = "mti,cpu-interrupt-controller";
23         };
24
25         aliases {
26                 serial0 = &uartlite;
27         };
28
29         cpuclock: cpuclock@0 {
30                 #clock-cells = <0>;
31                 compatible = "fixed-clock";
32
33                 /* FIXME: there should be way to detect this */
34                 clock-frequency = <880000000>;
35         };
36
37         sysclock: sysclock@0 {
38                 #clock-cells = <0>;
39                 compatible = "fixed-clock";
40
41                 /* FIXME: there should be way to detect this */
42                 clock-frequency = <50000000>;
43         };
44
45
46
47         palmbus: palmbus@1E000000 {
48                 compatible = "palmbus";
49                 reg = <0x1E000000 0x100000>;
50                 ranges = <0x0 0x1E000000 0x0FFFFF>;
51
52                 #address-cells = <1>;
53                 #size-cells = <1>;
54
55                 sysc: sysc@0 {
56                         compatible = "mtk,mt7621-sysc";
57                         reg = <0x0 0x100>;
58                 };
59
60                 wdt: wdt@100 {
61                         compatible = "mediatek,mt7621-wdt";
62                         reg = <0x100 0x100>;
63                 };
64
65                 gpio@600 {
66                         #address-cells = <1>;
67                         #size-cells = <0>;
68
69                         compatible = "mtk,mt7621-gpio";
70                         reg = <0x600 0x100>;
71
72                         gpio0: bank@0 {
73                                 reg = <0>;
74                                 compatible = "mtk,mt7621-gpio-bank";
75                                 gpio-controller;
76                                 #gpio-cells = <2>;
77                         };
78
79                         gpio1: bank@1 {
80                                 reg = <1>;
81                                 compatible = "mtk,mt7621-gpio-bank";
82                                 gpio-controller;
83                                 #gpio-cells = <2>;
84                         };
85
86                         gpio2: bank@2 {
87                                 reg = <2>;
88                                 compatible = "mtk,mt7621-gpio-bank";
89                                 gpio-controller;
90                                 #gpio-cells = <2>;
91                         };
92                 };
93
94                 i2c: i2c@900 {
95                         compatible = "mediatek,mt7621-i2c";
96                         reg = <0x900 0x100>;
97
98                         clocks = <&sysclock>;
99
100                         resets = <&rstctrl 16>;
101                         reset-names = "i2c";
102
103                         #address-cells = <1>;
104                         #size-cells = <0>;
105
106                         status = "disabled";
107
108                         pinctrl-names = "default";
109                         pinctrl-0 = <&i2c_pins>;
110                 };
111
112                 i2s: i2s@a00 {
113                         compatible = "mediatek,mt7621-i2s";
114                         reg = <0xa00 0x100>;
115
116                         clocks = <&sysclock>;
117
118                         resets = <&rstctrl 17>;
119                         reset-names = "i2s";
120
121                         interrupt-parent = <&gic>;
122                         interrupts = <GIC_SHARED 16 IRQ_TYPE_LEVEL_HIGH>;
123
124                         txdma-req = <2>;
125                         rxdma-req = <3>;
126
127                         dmas = <&gdma 4>,
128                                 <&gdma 6>;
129                         dma-names = "tx", "rx";
130
131                         status = "disabled";
132                 };
133
134                 systick: systick@d00 {
135                         compatible = "ralink,mt7621-systick", "ralink,cevt-systick";
136                         reg = <0xd00 0x10>;
137
138                         resets = <&rstctrl 28>;
139                         reset-names = "intc";
140
141                         interrupt-parent = <&gic>;
142                         interrupts = <GIC_SHARED 5 IRQ_TYPE_LEVEL_HIGH>;
143                 };
144
145                 memc: memc@5000 {
146                         compatible = "mtk,mt7621-memc";
147                         reg = <0x300 0x100>;
148                 };
149
150                 cpc: cpc@1fbf0000 {
151                              compatible = "mtk,mt7621-cpc";
152                              reg = <0x1fbf0000 0x8000>;
153                 };
154
155                 mc: mc@1fbf8000 {
156                             compatible = "mtk,mt7621-mc";
157                             reg = <0x1fbf8000 0x8000>;
158                 };
159
160                 uartlite: uartlite@c00 {
161                         compatible = "ns16550a";
162                         reg = <0xc00 0x100>;
163
164                         clocks = <&sysclock>;
165                         clock-frequency = <50000000>;
166
167                         interrupt-parent = <&gic>;
168                         interrupts = <GIC_SHARED 26 IRQ_TYPE_LEVEL_HIGH>;
169
170                         reg-shift = <2>;
171                         reg-io-width = <4>;
172                         no-loopback-test;
173                 };
174
175                 spi0: spi@b00 {
176                         status = "disabled";
177
178                         compatible = "ralink,mt7621-spi";
179                         reg = <0xb00 0x100>;
180
181                         clocks = <&sysclock>;
182
183                         resets = <&rstctrl 18>;
184                         reset-names = "spi";
185
186                         #address-cells = <1>;
187                         #size-cells = <0>;
188
189                         pinctrl-names = "default";
190                         pinctrl-0 = <&spi_pins>;
191                 };
192
193                 gdma: gdma@2800 {
194                         compatible = "ralink,rt3883-gdma";
195                         reg = <0x2800 0x800>;
196
197                         resets = <&rstctrl 14>;
198                         reset-names = "dma";
199
200                         interrupt-parent = <&gic>;
201                         interrupts = <0 13 4>;
202
203                         #dma-cells = <1>;
204                         #dma-channels = <16>;
205                         #dma-requests = <16>;
206
207                         status = "disabled";
208                 };
209
210                 hsdma: hsdma@7000 {
211                         compatible = "mediatek,mt7621-hsdma";
212                         reg = <0x7000 0x1000>;
213
214                         resets = <&rstctrl 5>;
215                         reset-names = "hsdma";
216
217                         interrupt-parent = <&gic>;
218                         interrupts = <0 11 4>;
219
220                         #dma-cells = <1>;
221                         #dma-channels = <1>;
222                         #dma-requests = <1>;
223
224                         status = "disabled";
225                 };
226         };
227
228         pinctrl: pinctrl {
229                 compatible = "ralink,rt2880-pinmux";
230                 pinctrl-names = "default";
231                 pinctrl-0 = <&state_default>;
232
233                 state_default: pinctrl0 {
234                 };
235
236                 i2c_pins: i2c {
237                         i2c {
238                                 ralink,group = "i2c";
239                                 ralink,function = "i2c";
240                         };
241                 };
242
243                 spi_pins: spi {
244                         spi {
245                                 ralink,group = "spi";
246                                 ralink,function = "spi";
247                         };
248                 };
249
250                 uart1_pins: uart1 {
251                         uart1 {
252                                 ralink,group = "uart1";
253                                 ralink,function = "uart1";
254                         };
255                 };
256
257                 uart2_pins: uart2 {
258                         uart2 {
259                                 ralink,group = "uart2";
260                                 ralink,function = "uart2";
261                         };
262                 };
263
264                 uart3_pins: uart3 {
265                         uart3 {
266                                 ralink,group = "uart3";
267                                 ralink,function = "uart3";
268                         };
269                 };
270
271                 rgmii1_pins: rgmii1 {
272                         rgmii1 {
273                                 ralink,group = "rgmii1";
274                                 ralink,function = "rgmii1";
275                         };
276                 };
277
278                 rgmii2_pins: rgmii2 {
279                         rgmii2 {
280                                 ralink,group = "rgmii2";
281                                 ralink,function = "rgmii2";
282                         };
283                 };
284
285                 mdio_pins: mdio {
286                         mdio {
287                                 ralink,group = "mdio";
288                                 ralink,function = "mdio";
289                         };
290                 };
291
292                 pcie_pins: pcie {
293                         pcie {
294                                 ralink,group = "pcie";
295                                 ralink,function = "pcie rst";
296                         };
297                 };
298
299                 nand_pins: nand {
300                         spi-nand {
301                                 ralink,group = "spi";
302                                 ralink,function = "nand1";
303                         };
304
305                         sdhci-nand {
306                                 ralink,group = "sdhci";
307                                 ralink,function = "nand2";
308                         };
309                 };
310
311                 sdhci_pins: sdhci {
312                         sdhci {
313                                 ralink,group = "sdhci";
314                                 ralink,function = "sdhci";
315                         };
316                 };
317         };
318
319         rstctrl: rstctrl {
320                 compatible = "ralink,rt2880-reset";
321                 #reset-cells = <1>;
322         };
323
324         clkctrl: clkctrl {
325                 compatible = "ralink,rt2880-clock";
326                 #clock-cells = <1>;
327         };
328
329         sdhci: sdhci@1E130000 {
330                 status = "disabled";
331
332                 compatible = "ralink,mt7620-sdhci";
333                 reg = <0x1E130000 0x4000>;
334
335                 interrupt-parent = <&gic>;
336                 interrupts = <GIC_SHARED 20 IRQ_TYPE_LEVEL_HIGH>;
337         };
338
339         xhci: xhci@1E1C0000 {
340                 status = "okay";
341
342                 compatible = "mediatek,mt8173-xhci";
343                 reg = <0x1e1c0000 0x1000
344                        0x1e1d0700 0x0100>;
345
346                 clocks = <&sysclock>;
347                 clock-names = "sys_ck";
348
349                 interrupt-parent = <&gic>;
350                 interrupts = <GIC_SHARED 22 IRQ_TYPE_LEVEL_HIGH>;
351         };
352
353         gic: interrupt-controller@1fbc0000 {
354                 compatible = "mti,gic";
355                 reg = <0x1fbc0000 0x2000>;
356
357                 interrupt-controller;
358                 #interrupt-cells = <3>;
359
360                 mti,reserved-cpu-vectors = <7>;
361
362                 timer {
363                         compatible = "mti,gic-timer";
364                         interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
365                         clocks = <&cpuclock>;
366                 };
367         };
368
369         nand: nand@1e003000 {
370                 status = "disabled";
371
372                 compatible = "mtk,mt7621-nand";
373                 bank-width = <2>;
374                 reg = <0x1e003000 0x800
375                         0x1e003800 0x800>;
376                 #address-cells = <1>;
377                 #size-cells = <1>;
378         };
379
380         ethernet: ethernet@1e100000 {
381                 compatible = "mediatek,mt7621-eth";
382                 reg = <0x1e100000 0x10000>;
383
384                 #address-cells = <1>;
385                 #size-cells = <0>;
386
387                 resets = <&rstctrl 6 &rstctrl 23>;
388                 reset-names = "fe", "eth";
389
390                 interrupt-parent = <&gic>;
391                 interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
392
393                 mediatek,switch = <&gsw>;
394
395                 mdio-bus {
396                         #address-cells = <1>;
397                         #size-cells = <0>;
398
399                         phy1f: ethernet-phy@1f {
400                                 reg = <0x1f>;
401                                 phy-mode = "rgmii";
402                         };
403                 };
404         };
405
406         gsw: gsw@1e110000 {
407                 compatible = "mediatek,mt7621-gsw";
408                 reg = <0x1e110000 0x8000>;
409                 interrupt-parent = <&gic>;
410                 interrupts = <GIC_SHARED 23 IRQ_TYPE_LEVEL_HIGH>;
411         };
412
413         pcie: pcie@1e140000 {
414                 compatible = "mediatek,mt7621-pci";
415                 reg = <0x1e140000 0x100
416                         0x1e142000 0x100>;
417
418                 #address-cells = <3>;
419                 #size-cells = <2>;
420
421                 pinctrl-names = "default";
422                 pinctrl-0 = <&pcie_pins>;
423
424                 device_type = "pci";
425
426                 bus-range = <0 255>;
427                 ranges = <
428                         0x02000000 0 0x00000000 0x60000000 0 0x10000000 /* pci memory */
429                         0x01000000 0 0x00000000 0x1e160000 0 0x00010000 /* io space */
430                 >;
431
432                 interrupt-parent = <&gic>;
433                 interrupts = <GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH
434                                 GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH
435                                 GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>;
436
437                 status = "disabled";
438
439                 resets = <&rstctrl 24 &rstctrl 25 &rstctrl 26>;
440                 reset-names = "pcie0", "pcie1", "pcie2";
441                 clocks = <&clkctrl 24 &clkctrl 25 &clkctrl 26>;
442                 clock-names = "pcie0", "pcie1", "pcie2";
443
444                 pcie0 {
445                         reg = <0x0000 0 0 0 0>;
446
447                         #address-cells = <3>;
448                         #size-cells = <2>;
449
450                         device_type = "pci";
451                 };
452
453                 pcie1 {
454                         reg = <0x0800 0 0 0 0>;
455
456                         #address-cells = <3>;
457                         #size-cells = <2>;
458
459                         device_type = "pci";
460                 };
461
462                 pcie2 {
463                         reg = <0x1000 0 0 0 0>;
464
465                         #address-cells = <3>;
466                         #size-cells = <2>;
467
468                         device_type = "pci";
469                 };
470         };
471 };