6f824d5e862c029e606ce2b31bc1719f9173513d
[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,gpio-base = <0>;
81                         ralink,num-gpios = <24>;
82                         ralink,register-map = [ 00 04 08 0c
83                                                 20 24 28 2c
84                                                 30 34 ];
85
86                         status = "disabled";
87                 };
88
89                 gpio1: gpio@638 {
90                         compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
91                         reg = <0x638 0x24>;
92
93                         gpio-controller;
94                         #gpio-cells = <2>;
95
96                         ralink,gpio-base = <24>;
97                         ralink,num-gpios = <16>;
98                         ralink,register-map = [ 00 04 08 0c
99                                                 10 14 18 1c
100                                                 20 24 ];
101
102                         status = "disabled";
103                 };
104
105                 gpio2: gpio@660 {
106                         compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
107                         reg = <0x660 0x24>;
108
109                         gpio-controller;
110                         #gpio-cells = <2>;
111
112                         ralink,gpio-base = <40>;
113                         ralink,num-gpios = <32>;
114                         ralink,register-map = [ 00 04 08 0c
115                                                 10 14 18 1c
116                                                 20 24 ];
117
118                         status = "disabled";
119                 };
120
121                 gpio3: gpio@688 {
122                         compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
123                         reg = <0x688 0x24>;
124
125                         gpio-controller;
126                         #gpio-cells = <2>;
127
128                         ralink,gpio-base = <72>;
129                         ralink,num-gpios = <24>;
130                         ralink,register-map = [ 00 04 08 0c
131                                                 10 14 18 1c
132                                                 20 24 ];
133
134                         status = "disabled";
135                 };
136
137                 spi0: spi@b00 {
138                         compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
139                         reg = <0xb00 0x100>;
140                         #address-cells = <1>;
141                         #size-cells = <0>;
142
143                         status = "disabled";
144                 };
145
146                 uartlite@c00 {
147                         compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
148                         reg = <0xc00 0x100>;
149
150                         interrupt-parent = <&intc>;
151                         interrupts = <12>;
152
153                         reg-shift = <2>;
154                 };
155         };
156
157         ethernet@10100000 {
158                 compatible = "ralink,rt3883-eth";
159                 reg = <0x10100000 10000>;
160
161                 interrupt-parent = <&cpuintc>;
162                 interrupts = <5>;
163
164                 status = "disabled";
165
166                 mdio-bus {
167                         #address-cells = <1>;
168                         #size-cells = <0>;
169
170                         status = "disabled";
171                 };
172         };
173
174         pci@10140000 {
175                 compatible = "ralink,rt3883-pci";
176                 reg = <0x10140000 0x20000>;
177                 #address-cells = <1>;
178                 #size-cells = <1>;
179                 ranges; /* direct mapping */
180
181                 status = "disabled";
182
183                 pciintc: interrupt-controller {
184                         interrupt-controller;
185                         #address-cells = <0>;
186                         #interrupt-cells = <1>;
187
188                         interrupt-parent = <&cpuintc>;
189                         interrupts = <4>;
190                 };
191
192                 host-bridge {
193                         #address-cells = <3>;
194                         #size-cells = <2>;
195                         #interrupt-cells = <1>;
196
197                         device_type = "pci";
198
199                         bus-range = <0 255>;
200                         ranges = <
201                                 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
202                                 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
203                         >;
204
205                         interrupt-map-mask = <0xf800 0 0 7>;
206                         interrupt-map = <
207                                 /* IDSEL 17 */
208                                 0x8800 0 0 1 &pciintc 18
209                                 0x8800 0 0 2 &pciintc 18
210                                 0x8800 0 0 3 &pciintc 18
211                                 0x8800 0 0 4 &pciintc 18
212                                 /* IDSEL 18 */
213                                 0x9000 0 0 1 &pciintc 19
214                                 0x9000 0 0 2 &pciintc 19
215                                 0x9000 0 0 3 &pciintc 19
216                                 0x9000 0 0 4 &pciintc 19
217                         >;
218
219                         pci-bridge@1 {
220                                 reg = <0x0800 0 0 0 0>;
221                                 device_type = "pci";
222                                 #interrupt-cells = <1>;
223                                 #address-cells = <3>;
224                                 #size-cells = <2>;
225
226                                 status = "disabled";
227
228                                 ralink,pci-slot = <1>;
229
230                                 interrupt-map-mask = <0x0 0 0 0>;
231                                 interrupt-map = <0x0 0 0 0 &pciintc 20>;
232                         };
233
234                         pci-slot@17 {
235                                 reg = <0x8800 0 0 0 0>;
236                                 device_type = "pci";
237                                 #interrupt-cells = <1>;
238                                 #address-cells = <3>;
239                                 #size-cells = <2>;
240
241                                 ralink,pci-slot = <17>;
242
243                                 status = "disabled";
244                         };
245
246                         pci-slot@18 {
247                                 reg = <0x9000 0 0 0 0>;
248                                 device_type = "pci";
249                                 #interrupt-cells = <1>;
250                                 #address-cells = <3>;
251                                 #size-cells = <2>;
252
253                                 ralink,pci-slot = <18>;
254
255                                 status = "disabled";
256                         };
257                 };
258         };
259
260         wmac@10180000 {
261                 compatible = "ralink,rt3883-wmac", "ralink,rt2880-wmac";
262                 reg = <0x10180000 40000>;
263
264                 interrupt-parent = <&cpuintc>;
265                 interrupts = <6>;
266
267                 ralink,eeprom = "soc_wmac.eeprom";
268
269                 status = "disabled";
270         };
271
272         ehci@101c0000 {
273                 compatible = "ralink,rt3883-ehci", "ehci-platform";
274                 reg = <0x101c0000 0x1000>;
275
276                 interrupt-parent = <&intc>;
277                 interrupts = <18>;
278
279                 status = "disabled";
280         };
281
282         ohci@101c1000 {
283                 compatible = "ralink,rt3883-ohci", "ohci-platform";
284                 reg = <0x101c1000 0x1000>;
285
286                 interrupt-parent = <&intc>;
287                 interrupts = <18>;
288
289                 status = "disabled";
290         };
291 };