ramips: set Netgear R6220 MAC NVMEM cell directly in the part node
[openwrt/openwrt.git] / target / linux / ramips / dts / rt5350.dtsi
1 /dts-v1/;
2
3 / {
4 #address-cells = <1>;
5 #size-cells = <1>;
6 compatible = "ralink,rt5350-soc";
7
8 aliases {
9 spi0 = &spi0;
10 spi1 = &spi1;
11 serial0 = &uartlite;
12 };
13
14 cpus {
15 #address-cells = <1>;
16 #size-cells = <0>;
17
18 cpu@0 {
19 compatible = "mips,mips24KEc";
20 reg = <0>;
21 };
22 };
23
24 chosen {
25 bootargs = "console=ttyS0,57600";
26 };
27
28 cpuintc: cpuintc {
29 #address-cells = <0>;
30 #interrupt-cells = <1>;
31 interrupt-controller;
32 compatible = "mti,cpu-interrupt-controller";
33 };
34
35 palmbus: palmbus@10000000 {
36 compatible = "palmbus";
37 reg = <0x10000000 0x200000>;
38 ranges = <0x0 0x10000000 0x1FFFFF>;
39
40 #address-cells = <1>;
41 #size-cells = <1>;
42
43 sysc: sysc@0 {
44 compatible = "ralink,rt5350-sysc", "ralink,rt3050-sysc", "syscon";
45 reg = <0x0 0x100>;
46 };
47
48 timer: timer@100 {
49 compatible = "ralink,rt5350-timer", "ralink,rt2880-timer";
50 reg = <0x100 0x20>;
51
52 interrupt-parent = <&intc>;
53 interrupts = <1>;
54 };
55
56 watchdog: watchdog@120 {
57 compatible = "ralink,rt5350-wdt", "ralink,rt2880-wdt";
58 reg = <0x120 0x10>;
59
60 resets = <&rstctrl 8>;
61 reset-names = "wdt";
62
63 interrupt-parent = <&intc>;
64 interrupts = <1>;
65 };
66
67 intc: intc@200 {
68 compatible = "ralink,rt5350-intc", "ralink,rt2880-intc";
69 reg = <0x200 0x100>;
70
71 resets = <&rstctrl 19>;
72 reset-names = "intc";
73
74 interrupt-controller;
75 #interrupt-cells = <1>;
76
77 interrupt-parent = <&cpuintc>;
78 interrupts = <2>;
79 };
80
81 memc: memc@300 {
82 compatible = "ralink,rt5350-memc", "ralink,rt3050-memc";
83 reg = <0x300 0x100>;
84
85 resets = <&rstctrl 20>;
86 reset-names = "mc";
87
88 interrupt-parent = <&intc>;
89 interrupts = <3>;
90 };
91
92 uart: uart@500 {
93 compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a";
94 reg = <0x500 0x100>;
95
96 resets = <&rstctrl 12>;
97 reset-names = "uart";
98
99 interrupt-parent = <&intc>;
100 interrupts = <5>;
101
102 reg-shift = <2>;
103
104 status = "disabled";
105 };
106
107 gpio0: gpio@600 {
108 compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio";
109 reg = <0x600 0x34>;
110
111 resets = <&rstctrl 13>;
112 reset-names = "pio";
113
114 interrupt-parent = <&intc>;
115 interrupts = <6>;
116
117 gpio-controller;
118 #gpio-cells = <2>;
119
120 ngpios = <22>;
121 ralink,gpio-base = <0>;
122 ralink,register-map = [ 00 04 08 0c
123 20 24 28 2c
124 30 34 ];
125 };
126
127 gpio1: gpio@660 {
128 compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio";
129 reg = <0x660 0x24>;
130
131 interrupt-parent = <&intc>;
132 interrupts = <6>;
133
134 gpio-controller;
135 #gpio-cells = <2>;
136
137 ngpios = <6>;
138 ralink,gpio-base = <22>;
139 ralink,register-map = [ 00 04 08 0c
140 10 14 18 1c
141 20 24 ];
142
143 status = "disabled";
144 };
145
146 i2c: i2c@900 {
147 compatible = "ralink,rt2880-i2c";
148 reg = <0x900 0x100>;
149
150 resets = <&rstctrl 16>;
151 reset-names = "i2c";
152
153 #address-cells = <1>;
154 #size-cells = <0>;
155
156 pinctrl-names = "default";
157 pinctrl-0 = <&i2c_pins>;
158
159 status = "disabled";
160 };
161
162 i2s: i2s@a00 {
163 compatible = "ralink,rt3352-i2s";
164 reg = <0xa00 0x100>;
165
166 resets = <&rstctrl 17>;
167 reset-names = "i2s";
168
169 interrupt-parent = <&intc>;
170 interrupts = <10>;
171
172 txdma-req = <2>;
173 rxdma-req = <3>;
174
175 dmas = <&gdma 4>,
176 <&gdma 6>;
177 dma-names = "tx", "rx";
178
179 status = "disabled";
180 };
181
182 spi0: spi@b00 {
183 compatible = "ralink,rt5350-spi", "ralink,rt2880-spi";
184 reg = <0xb00 0x40>;
185
186 resets = <&rstctrl 18>;
187 reset-names = "spi";
188
189 #address-cells = <1>;
190 #size-cells = <0>;
191
192 pinctrl-names = "default";
193 pinctrl-0 = <&spi_pins>;
194
195 status = "disabled";
196 };
197
198 spi1: spi@b40 {
199 compatible = "ralink,rt5350-spi", "ralink,rt2880-spi";
200 reg = <0xb40 0x60>;
201
202 resets = <&rstctrl 18>;
203 reset-names = "spi";
204
205 #address-cells = <1>;
206 #size-cells = <0>;
207
208 pinctrl-names = "default";
209 pinctrl-0 = <&spi_cs1>;
210
211 status = "disabled";
212 };
213
214 uartlite: uartlite@c00 {
215 compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a";
216 reg = <0xc00 0x100>;
217
218 resets = <&rstctrl 19>;
219 reset-names = "uartl";
220
221 interrupt-parent = <&intc>;
222 interrupts = <12>;
223
224 pinctrl-names = "default";
225 pinctrl-0 = <&uartlite_pins>;
226
227 reg-shift = <2>;
228 };
229
230 systick: systick@d00 {
231 compatible = "ralink,rt5350-systick", "ralink,cevt-systick";
232 reg = <0xd00 0x10>;
233
234 interrupt-parent = <&cpuintc>;
235 interrupts = <7>;
236 };
237
238 pcm: pcm@2000 {
239 compatible = "ralink,rt5350-pcm";
240 reg = <0x2000 0x800>;
241
242 resets = <&rstctrl 11>;
243 reset-names = "pcm";
244
245 interrupt-parent = <&intc>;
246 interrupts = <4>;
247
248 status = "disabled";
249 };
250
251 gdma: gdma@2800 {
252 compatible = "ralink,rt3883-gdma";
253 reg = <0x2800 0x800>;
254
255 resets = <&rstctrl 14>;
256 reset-names = "dma";
257
258 interrupt-parent = <&intc>;
259 interrupts = <7>;
260
261 #dma-cells = <1>;
262 #dma-channels = <16>;
263 #dma-requests = <16>;
264
265 status = "disabled";
266 };
267 };
268
269 pinctrl: pinctrl {
270 compatible = "ralink,rt2880-pinmux";
271
272 pinctrl-names = "default";
273 pinctrl-0 = <&state_default>;
274
275 state_default: pinctrl0 {
276 };
277
278 i2c_pins: i2c_pins {
279 i2c_pins {
280 groups = "i2c";
281 function = "i2c";
282 };
283 };
284
285 spi_pins: spi_pins {
286 spi_pins {
287 groups = "spi";
288 function = "spi";
289 };
290 };
291
292 phy_led_pins: phy_led {
293 phy_led {
294 groups = "led";
295 function = "led";
296 };
297 };
298
299 uartlite_pins: uartlite {
300 uart {
301 groups = "uartlite";
302 function = "uartlite";
303 };
304 };
305
306 uartf_pins: uartf {
307 uartf {
308 groups = "uartf";
309 function = "uartf";
310 };
311 };
312
313 spi_cs1: spi1 {
314 spi1 {
315 groups = "spi_cs1";
316 function = "spi_cs1";
317 };
318 };
319 };
320
321 rstctrl: rstctrl {
322 compatible = "ralink,rt5350-reset", "ralink,rt2880-reset";
323 #reset-cells = <1>;
324 };
325
326 clkctrl: clkctrl {
327 compatible = "ralink,rt2880-clock";
328 #clock-cells = <1>;
329 };
330
331 usbphy: usbphy {
332 compatible = "ralink,rt3352-usbphy";
333 #phy-cells = <0>;
334
335 ralink,sysctl = <&sysc>;
336 resets = <&rstctrl 22 &rstctrl 25>;
337 reset-names = "host", "device";
338 clocks = <&clkctrl 18>;
339 clock-names = "host";
340 };
341
342 ethernet: ethernet@10100000 {
343 compatible = "ralink,rt5350-eth";
344 reg = <0x10100000 0x10000>;
345
346 resets = <&rstctrl 21>;
347 reset-names = "fe";
348
349 interrupt-parent = <&cpuintc>;
350 interrupts = <5>;
351
352 mediatek,switch = <&esw>;
353 };
354
355 esw: esw@10110000 {
356 compatible = "ralink,rt5350-esw", "ralink,rt3050-esw";
357 reg = <0x10110000 0x8000>;
358
359 resets = <&rstctrl 23 &rstctrl 24>;
360 reset-names = "esw", "ephy";
361
362 interrupt-parent = <&intc>;
363 interrupts = <17>;
364 };
365
366 wmac: wmac@10180000 {
367 compatible = "ralink,rt5350-wmac", "ralink,rt2880-wmac";
368 reg = <0x10180000 0x40000>;
369
370 interrupt-parent = <&cpuintc>;
371 interrupts = <6>;
372
373 ralink,eeprom = "soc_wmac.eeprom";
374 };
375
376 ehci: ehci@101c0000 {
377 #address-cells = <1>;
378 #size-cells = <0>;
379 compatible = "generic-ehci";
380 reg = <0x101c0000 0x1000>;
381
382 phys = <&usbphy>;
383 phy-names = "usb";
384
385 interrupt-parent = <&intc>;
386 interrupts = <18>;
387
388 ehci_port1: port@1 {
389 reg = <1>;
390 #trigger-source-cells = <0>;
391 };
392 };
393
394 ohci: ohci@101c1000 {
395 #address-cells = <1>;
396 #size-cells = <0>;
397 compatible = "generic-ohci";
398 reg = <0x101c1000 0x1000>;
399
400 phys = <&usbphy>;
401 phy-names = "usb";
402
403 interrupt-parent = <&intc>;
404 interrupts = <18>;
405
406 ohci_port1: port@1 {
407 reg = <1>;
408 #trigger-source-cells = <0>;
409 };
410 };
411 };