415b26f9a1f7e537372124d29dea93dc767a76d6
[openwrt.git] / target / linux / ramips / dts / rt3883.dtsi
1 / {
2         #address-cells = <1>;
3         #size-cells = <1>;
4         compatible = "ralink,rt3883-soc";
5
6         cpus {
7                 cpu@0 {
8                         compatible = "mips,mips74Kc";
9                 };
10         };
11
12         chosen {
13                 bootargs = "console=ttyS0,57600";
14         };
15
16         aliases {
17                 spi0 = &spi0;
18         };
19
20         memorydetect {
21                 ralink,memory = <0x0 0x200000 0x10000000>;
22         };
23
24         cpuintc: cpuintc@0 {
25                 #address-cells = <0>;
26                 #interrupt-cells = <1>;
27                 interrupt-controller;
28                 compatible = "mti,cpu-interrupt-controller";
29         };
30
31         palmbus@10000000 {
32                 compatible = "palmbus";
33                 reg = <0x10000000 0x200000>;
34                 ranges = <0x0 0x10000000 0x1FFFFF>;
35
36                 #address-cells = <1>;
37                 #size-cells = <1>;
38
39                 sysc@0 {
40                         compatible = "ralink,rt3883-sysc", "ralink,rt3050-sysc";
41                         reg = <0x0 0x100>;
42                 };
43
44                 timer@100 {
45                         compatible = "ralink,rt3883-timer", "ralink,rt2880-timer";
46                         reg = <0x100 0x20>;
47
48                         interrupt-parent = <&intc>;
49                         interrupts = <1>;
50                 };
51
52                 watchdog@120 {
53                         compatible = "ralink,rt3883-wdt", "ralink,rt2880-wdt";
54                         reg = <0x120 0x10>;
55                 };
56
57                 intc: intc@200 {
58                         compatible = "ralink,rt3883-intc", "ralink,rt2880-intc";
59                         reg = <0x200 0x100>;
60
61                         interrupt-controller;
62                         #interrupt-cells = <1>;
63
64                         interrupt-parent = <&cpuintc>;
65                         interrupts = <2>;
66                 };
67
68                 memc@300 {
69                         compatible = "ralink,rt3883-memc", "ralink,rt3050-memc";
70                         reg = <0x300 0x100>;
71                 };
72
73                 gpio0: gpio@600 {
74                         compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
75                         reg = <0x600 0x34>;
76
77                         gpio-controller;
78                         #gpio-cells = <2>;
79
80                         ralink,num-gpios = <24>;
81                         ralink,register-map = [ 00 04 08 0c
82                                                 20 24 28 2c
83                                                 30 34 ];
84
85                         status = "disabled";
86                 };
87
88                 gpio1: gpio@638 {
89                         compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
90                         reg = <0x638 0x24>;
91
92                         gpio-controller;
93                         #gpio-cells = <2>;
94
95                         ralink,num-gpios = <16>;
96                         ralink,register-map = [ 00 04 08 0c
97                                                 10 14 18 1c
98                                                 20 24 ];
99
100                         status = "disabled";
101                 };
102
103                 gpio2: gpio@660 {
104                         compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
105                         reg = <0x660 0x24>;
106
107                         gpio-controller;
108                         #gpio-cells = <2>;
109
110                         ralink,num-gpios = <32>;
111                         ralink,register-map = [ 00 04 08 0c
112                                                 10 14 18 1c
113                                                 20 24 ];
114
115                         status = "disabled";
116                 };
117
118                 gpio3: gpio@688 {
119                         compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
120                         reg = <0x688 0x24>;
121
122                         gpio-controller;
123                         #gpio-cells = <2>;
124
125                         ralink,num-gpios = <24>;
126                         ralink,register-map = [ 00 04 08 0c
127                                                 10 14 18 1c
128                                                 20 24 ];
129
130                         status = "disabled";
131                 };
132
133                 spi0: spi@b00 {
134                         compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
135                         reg = <0xb00 0x100>;
136                         #address-cells = <1>;
137                         #size-cells = <0>;
138
139                         status = "disabled";
140                 };
141
142                 uartlite@c00 {
143                         compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
144                         reg = <0xc00 0x100>;
145
146                         interrupt-parent = <&intc>;
147                         interrupts = <12>;
148
149                         reg-shift = <2>;
150                 };
151         };
152
153         ethernet@10100000 {
154                 compatible = "ralink,rt3883-eth";
155                 reg = <0x10100000 10000>;
156
157                 interrupt-parent = <&cpuintc>;
158                 interrupts = <5>;
159
160                 status = "disabled";
161
162                 mdio-bus {
163                         #address-cells = <1>;
164                         #size-cells = <0>;
165
166                         status = "disabled";
167                 };
168         };
169
170         pci@10140000 {
171                 compatible = "ralink,rt3883-pci";
172                 reg = <0x10140000 0x20000>;
173                 #address-cells = <1>;
174                 #size-cells = <1>;
175                 ranges; /* direct mapping */
176
177                 status = "disabled";
178
179                 pciintc: interrupt-controller {
180                         interrupt-controller;
181                         #address-cells = <0>;
182                         #interrupt-cells = <1>;
183
184                         interrupt-parent = <&cpuintc>;
185                         interrupts = <4>;
186                 };
187
188                 host-bridge {
189                         #address-cells = <3>;
190                         #size-cells = <2>;
191                         #interrupt-cells = <1>;
192
193                         device_type = "pci";
194
195                         bus-range = <0 255>;
196                         ranges = <
197                                 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
198                                 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
199                         >;
200
201                         interrupt-map-mask = <0xf800 0 0 7>;
202                         interrupt-map = <
203                                 /* IDSEL 17 */
204                                 0x8800 0 0 1 &pciintc 18
205                                 0x8800 0 0 2 &pciintc 18
206                                 0x8800 0 0 3 &pciintc 18
207                                 0x8800 0 0 4 &pciintc 18
208                                 /* IDSEL 18 */
209                                 0x9000 0 0 1 &pciintc 19
210                                 0x9000 0 0 2 &pciintc 19
211                                 0x9000 0 0 3 &pciintc 19
212                                 0x9000 0 0 4 &pciintc 19
213                         >;
214
215                         pci-bridge@1 {
216                                 reg = <0x0800 0 0 0 0>;
217                                 device_type = "pci";
218                                 #interrupt-cells = <1>;
219                                 #address-cells = <3>;
220                                 #size-cells = <2>;
221
222                                 status = "disabled";
223
224                                 ralink,pci-slot = <1>;
225
226                                 interrupt-map-mask = <0x0 0 0 0>;
227                                 interrupt-map = <0x0 0 0 0 &pciintc 20>;
228                         };
229
230                         pci-slot@17 {
231                                 reg = <0x8800 0 0 0 0>;
232                                 device_type = "pci";
233                                 #interrupt-cells = <1>;
234                                 #address-cells = <3>;
235                                 #size-cells = <2>;
236
237                                 ralink,pci-slot = <17>;
238
239                                 status = "disabled";
240                         };
241
242                         pci-slot@18 {
243                                 reg = <0x9000 0 0 0 0>;
244                                 device_type = "pci";
245                                 #interrupt-cells = <1>;
246                                 #address-cells = <3>;
247                                 #size-cells = <2>;
248
249                                 ralink,pci-slot = <18>;
250
251                                 status = "disabled";
252                         };
253                 };
254         };
255
256         wmac@10180000 {
257                 compatible = "ralink,rt3883-wmac", "ralink,rt2880-wmac";
258                 reg = <0x10180000 40000>;
259
260                 interrupt-parent = <&cpuintc>;
261                 interrupts = <6>;
262
263                 ralink,eeprom = "soc_wmac.eeprom";
264
265                 status = "disabled";
266         };
267
268         ehci@101c0000 {
269                 compatible = "ralink,rt3883-ehci", "ehci-platform";
270                 reg = <0x101c0000 0x1000>;
271
272                 interrupt-parent = <&intc>;
273                 interrupts = <18>;
274
275                 status = "disabled";
276         };
277
278         ohci@101c1000 {
279                 compatible = "ralink,rt3883-ohci", "ohci-platform";
280                 reg = <0x101c1000 0x1000>;
281
282                 interrupt-parent = <&intc>;
283                 interrupts = <18>;
284
285                 status = "disabled";
286         };
287 };