dc267824b91360f49871cd7cad70b4b5b82dd256
[openwrt/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 cpuintc: cpuintc@0 {
21 #address-cells = <0>;
22 #interrupt-cells = <1>;
23 interrupt-controller;
24 compatible = "mti,cpu-interrupt-controller";
25 };
26
27 palmbus@10000000 {
28 compatible = "palmbus";
29 reg = <0x10000000 0x200000>;
30 ranges = <0x0 0x10000000 0x1FFFFF>;
31
32 #address-cells = <1>;
33 #size-cells = <1>;
34
35 sysc@0 {
36 compatible = "ralink,rt3883-sysc", "ralink,rt3050-sysc";
37 reg = <0x0 0x100>;
38 };
39
40 timer@100 {
41 compatible = "ralink,rt3883-timer", "ralink,rt2880-timer";
42 reg = <0x100 0x20>;
43
44 interrupt-parent = <&intc>;
45 interrupts = <1>;
46 };
47
48 watchdog@120 {
49 compatible = "ralink,rt3883-wdt", "ralink,rt2880-wdt";
50 reg = <0x120 0x10>;
51
52 resets = <&rstctrl 8>;
53 reset-names = "wdt";
54
55 interrupt-parent = <&intc>;
56 interrupts = <1>;
57 };
58
59 intc: intc@200 {
60 compatible = "ralink,rt3883-intc", "ralink,rt2880-intc";
61 reg = <0x200 0x100>;
62
63 resets = <&rstctrl 19>;
64 reset-names = "intc";
65
66 interrupt-controller;
67 #interrupt-cells = <1>;
68
69 interrupt-parent = <&cpuintc>;
70 interrupts = <2>;
71 };
72
73 memc@300 {
74 compatible = "ralink,rt3883-memc", "ralink,rt3050-memc";
75 reg = <0x300 0x100>;
76
77 resets = <&rstctrl 20>;
78 reset-names = "mc";
79
80 interrupt-parent = <&intc>;
81 interrupts = <3>;
82 };
83
84 uart@500 {
85 compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
86 reg = <0x500 0x100>;
87
88 resets = <&rstctrl 12>;
89 reset-names = "uart";
90
91 interrupt-parent = <&intc>;
92 interrupts = <5>;
93
94 reg-shift = <2>;
95
96 status = "disabled";
97 };
98
99 gpio0: gpio@600 {
100 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
101 reg = <0x600 0x34>;
102
103 resets = <&rstctrl 13>;
104 reset-names = "pio";
105
106 interrupt-parent = <&intc>;
107 interrupts = <6>;
108
109 gpio-controller;
110 #gpio-cells = <2>;
111
112 ralink,gpio-base = <0>;
113 ralink,num-gpios = <24>;
114 ralink,register-map = [ 00 04 08 0c
115 20 24 28 2c
116 30 34 ];
117 };
118
119 gpio1: gpio@638 {
120 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
121 reg = <0x638 0x24>;
122
123 gpio-controller;
124 #gpio-cells = <2>;
125
126 ralink,gpio-base = <24>;
127 ralink,num-gpios = <16>;
128 ralink,register-map = [ 00 04 08 0c
129 10 14 18 1c
130 20 24 ];
131
132 status = "disabled";
133 };
134
135 gpio2: gpio@660 {
136 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
137 reg = <0x660 0x24>;
138
139 gpio-controller;
140 #gpio-cells = <2>;
141
142 ralink,gpio-base = <40>;
143 ralink,num-gpios = <32>;
144 ralink,register-map = [ 00 04 08 0c
145 10 14 18 1c
146 20 24 ];
147
148 status = "disabled";
149 };
150
151 gpio3: gpio@688 {
152 compatible = "ralink,rt3883-gpio", "ralink,rt2880-gpio";
153 reg = <0x688 0x24>;
154
155 gpio-controller;
156 #gpio-cells = <2>;
157
158 ralink,gpio-base = <72>;
159 ralink,num-gpios = <24>;
160 ralink,register-map = [ 00 04 08 0c
161 10 14 18 1c
162 20 24 ];
163
164 status = "disabled";
165 };
166
167 spi0: spi@b00 {
168 compatible = "ralink,rt3883-spi", "ralink,rt2880-spi";
169 reg = <0xb00 0x100>;
170 #address-cells = <1>;
171 #size-cells = <0>;
172
173 resets = <&rstctrl 18>;
174 reset-names = "spi";
175
176 pinctrl-names = "default";
177 pinctrl-0 = <&spi_pins>;
178
179 status = "disabled";
180 };
181
182 uartlite@c00 {
183 compatible = "ralink,rt3883-uart", "ralink,rt2880-uart", "ns16550a";
184 reg = <0xc00 0x100>;
185
186 resets = <&rstctrl 19>;
187 reset-names = "uartl";
188
189 interrupt-parent = <&intc>;
190 interrupts = <12>;
191
192 reg-shift = <2>;
193
194 pinctrl-names = "default";
195 pinctrl-0 = <&uartlite_pins>;
196 };
197 };
198
199 pinctrl {
200 compatible = "ralink,rt2880-pinmux";
201
202 pinctrl-names = "default";
203 pinctrl-0 = <&state_default>;
204
205 state_default: pinctrl0 {
206 };
207
208 spi_pins: spi {
209 spi {
210 ralink,group = "spi";
211 ralink,function = "spi";
212 };
213 };
214
215 uartlite_pins: uartlite {
216 uart {
217 ralink,group = "uartlite";
218 ralink,function = "uartlite";
219 };
220 };
221 };
222
223 ethernet@10100000 {
224 compatible = "ralink,rt3883-eth";
225 reg = <0x10100000 10000>;
226
227 resets = <&rstctrl 21>;
228 reset-names = "fe";
229
230 interrupt-parent = <&cpuintc>;
231 interrupts = <5>;
232
233 port@0 {
234 compatible = "ralink,rt3883-port", "ralink,eth-port";
235 reg = <0>;
236 };
237
238 mdio-bus {
239 #address-cells = <1>;
240 #size-cells = <0>;
241
242 status = "disabled";
243 };
244 };
245
246 rstctrl: rstctrl {
247 compatible = "ralink,rt3883-reset", "ralink,rt2880-reset";
248 #reset-cells = <1>;
249 };
250
251 pci@10140000 {
252 compatible = "ralink,rt3883-pci";
253 reg = <0x10140000 0x20000>;
254 #address-cells = <1>;
255 #size-cells = <1>;
256 ranges; /* direct mapping */
257
258 status = "disabled";
259
260 pciintc: interrupt-controller {
261 interrupt-controller;
262 #address-cells = <0>;
263 #interrupt-cells = <1>;
264
265 interrupt-parent = <&cpuintc>;
266 interrupts = <4>;
267 };
268
269 host-bridge {
270 #address-cells = <3>;
271 #size-cells = <2>;
272 #interrupt-cells = <1>;
273
274 device_type = "pci";
275
276 bus-range = <0 255>;
277 ranges = <
278 0x02000000 0 0x00000000 0x20000000 0 0x10000000 /* pci memory */
279 0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
280 >;
281
282 interrupt-map-mask = <0xf800 0 0 7>;
283 interrupt-map = <
284 /* IDSEL 17 */
285 0x8800 0 0 1 &pciintc 18
286 0x8800 0 0 2 &pciintc 18
287 0x8800 0 0 3 &pciintc 18
288 0x8800 0 0 4 &pciintc 18
289 /* IDSEL 18 */
290 0x9000 0 0 1 &pciintc 19
291 0x9000 0 0 2 &pciintc 19
292 0x9000 0 0 3 &pciintc 19
293 0x9000 0 0 4 &pciintc 19
294 >;
295
296 pci-bridge@1 {
297 reg = <0x0800 0 0 0 0>;
298 device_type = "pci";
299 #interrupt-cells = <1>;
300 #address-cells = <3>;
301 #size-cells = <2>;
302
303 status = "disabled";
304
305 ralink,pci-slot = <1>;
306
307 interrupt-map-mask = <0x0 0 0 0>;
308 interrupt-map = <0x0 0 0 0 &pciintc 20>;
309 };
310
311 pci-slot@17 {
312 reg = <0x8800 0 0 0 0>;
313 device_type = "pci";
314 #interrupt-cells = <1>;
315 #address-cells = <3>;
316 #size-cells = <2>;
317
318 ralink,pci-slot = <17>;
319
320 status = "disabled";
321 };
322
323 pci-slot@18 {
324 reg = <0x9000 0 0 0 0>;
325 device_type = "pci";
326 #interrupt-cells = <1>;
327 #address-cells = <3>;
328 #size-cells = <2>;
329
330 ralink,pci-slot = <18>;
331
332 status = "disabled";
333 };
334 };
335 };
336
337 usbphy: usbphy {
338 compatible = "ralink,rt3xxx-usbphy";
339 #phy-cells = <1>;
340
341 resets = <&rstctrl 22 &rstctrl 25>;
342 reset-names = "host", "device";
343 };
344
345 wmac@10180000 {
346 compatible = "ralink,rt3883-wmac", "ralink,rt2880-wmac";
347 reg = <0x10180000 40000>;
348
349 interrupt-parent = <&cpuintc>;
350 interrupts = <6>;
351
352 ralink,eeprom = "soc_wmac.eeprom";
353 };
354
355 ehci@101c0000 {
356 compatible = "ralink,rt3xxx-ehci", "ehci-platform";
357 reg = <0x101c0000 0x1000>;
358
359 phys = <&usbphy 1>;
360 phy-names = "usb";
361
362 interrupt-parent = <&intc>;
363 interrupts = <18>;
364
365 status = "disabled";
366 };
367
368 ohci@101c1000 {
369 compatible = "ralink,rt3xxx-ohci", "ohci-platform";
370 reg = <0x101c1000 0x1000>;
371
372 phys = <&usbphy 1>;
373 phy-names = "usb";
374
375 interrupt-parent = <&intc>;
376 interrupts = <18>;
377
378 status = "disabled";
379 };
380 };