7353c82f85cd617ff1a7e4129a2fc72dcbfd0302
[openwrt.git] / target / linux / ramips / dts / rt5350.dtsi
1 / {
2         #address-cells = <1>;
3         #size-cells = <1>;
4         compatible = "ralink,rt5350-soc";
5
6         cpus {
7                 cpu@0 {
8                         compatible = "mips,mips24KEc";
9                 };
10         };
11
12         chosen {
13                 bootargs = "console=ttyS0,57600";
14         };
15
16         cpuintc: cpuintc@0 {
17                 #address-cells = <0>;
18                 #interrupt-cells = <1>;
19                 interrupt-controller;
20                 compatible = "mti,cpu-interrupt-controller";
21         };
22
23         palmbus@10000000 {
24                 compatible = "palmbus";
25                 reg = <0x10000000 0x200000>;
26                 ranges = <0x0 0x10000000 0x1FFFFF>;
27
28                 #address-cells = <1>;
29                 #size-cells = <1>;
30
31                 sysc@0 {
32                         compatible = "ralink,rt5350-sysc", "ralink,rt3050-sysc";
33                         reg = <0x0 0x100>;
34                 };
35
36                 timer@100 {
37                         compatible = "ralink,rt5350-timer", "ralink,rt2880-timer";
38                         reg = <0x100 0x20>;
39
40                         interrupt-parent = <&intc>;
41                         interrupts = <1>;
42                 };
43
44                 watchdog@120 {
45                         compatible = "ralink,rt5350-wdt", "ralink,rt2880-wdt";
46                         reg = <0x120 0x10>;
47
48                         resets = <&rstctrl 8>;
49                         reset-names = "wdt";
50
51                         interrupt-parent = <&intc>;
52                         interrupts = <1>;
53                 };
54
55                 intc: intc@200 {
56                         compatible = "ralink,rt5350-intc", "ralink,rt2880-intc";
57                         reg = <0x200 0x100>;
58
59                         resets = <&rstctrl 19>;
60                         reset-names = "intc";
61
62                         interrupt-controller;
63                         #interrupt-cells = <1>;
64
65                         interrupt-parent = <&cpuintc>;
66                         interrupts = <2>;
67                 };
68
69                 memc@300 {
70                         compatible = "ralink,rt5350-memc", "ralink,rt3050-memc";
71                         reg = <0x300 0x100>;
72
73                         resets = <&rstctrl 20>;
74                         reset-names = "mc";
75
76                         interrupt-parent = <&intc>;
77                         interrupts = <3>;
78                 };
79
80                 uart@500 {
81                         compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a";
82                         reg = <0x500 0x100>;
83
84                         resets = <&rstctrl 12>;
85                         reset-names = "uart";
86
87                         interrupt-parent = <&intc>;
88                         interrupts = <5>;
89
90                         reg-shift = <2>;
91
92                         pinctrl-names = "default";
93                         pinctrl-0 = <&uartf_pins>;
94
95                         status = "disabled";
96                 };
97
98                 gpio0: gpio@600 {
99                         compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio";
100                         reg = <0x600 0x34>;
101
102                         resets = <&rstctrl 13>;
103                         reset-names = "pio";
104
105                         interrupt-parent = <&intc>;
106                         interrupts = <6>;
107
108                         gpio-controller;
109                         #gpio-cells = <2>;
110
111                         ralink,gpio-base = <0>;
112                         ralink,num-gpios = <24>;
113                         ralink,register-map = [ 00 04 08 0c
114                                                 20 24 28 2c
115                                                 30 34 ];
116                 };
117
118                 gpio1: gpio@638 {
119                         compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio";
120                         reg = <0x638 0x24>;
121
122                         interrupt-parent = <&intc>;
123                         interrupts = <6>;
124
125                         gpio-controller;
126                         #gpio-cells = <2>;
127
128                         ralink,gpio-base = <24>;
129                         ralink,num-gpios = <16>;
130                         ralink,register-map = [ 00 04 08 0c
131                                                 10 14 18 1c
132                                                 20 24 ];
133
134                         status = "disabled";
135                 };
136
137                 gpio2: gpio@660 {
138                         compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio";
139                         reg = <0x660 0x24>;
140
141                         interrupt-parent = <&intc>;
142                         interrupts = <6>;
143
144                         gpio-controller;
145                         #gpio-cells = <2>;
146
147                         ralink,gpio-base = <40>;
148                         ralink,num-gpios = <12>;
149                         ralink,register-map = [ 00 04 08 0c
150                                                 10 14 18 1c
151                                                 20 24 ];
152
153                         status = "disabled";
154                 };
155
156                 i2c@900 {
157                         compatible = "link,rt5350-i2c", "ralink,rt2880-i2c";
158                         reg = <0x900 0x100>;
159
160                         resets = <&rstctrl 16>;
161                         reset-names = "i2c";
162
163                         #address-cells = <1>;
164                         #size-cells = <0>;
165
166                         pinctrl-names = "default";
167                         pinctrl-0 = <&i2c_pins>;
168
169                         status = "disabled";
170                 };
171
172                 spi@b00 {
173                         compatible = "ralink,rt5350-spi", "ralink,rt2880-spi";
174                         reg = <0xb00 0x100>;
175
176                         resets = <&rstctrl 18>;
177                         reset-names = "spi";
178
179                         #address-cells = <1>;
180                         #size-cells = <1>;
181
182                         pinctrl-names = "default";
183                         pinctrl-0 = <&spi_pins>;
184
185                         status = "disabled";
186                 };
187
188                 uartlite@c00 {
189                         compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a";
190                         reg = <0xc00 0x100>;
191
192                         resets = <&rstctrl 19>;
193                         reset-names = "uartl";
194
195                         interrupt-parent = <&intc>;
196                         interrupts = <12>;
197
198                         pinctrl-names = "default";
199                         pinctrl-0 = <&uartlite_pins>;
200
201                         reg-shift = <2>;
202                 };
203
204                 systick@d00 {
205                         compatible = "ralink,rt5350-systick", "ralink,cevt-systick";
206                         reg = <0xd00 0x10>;
207
208                         interrupt-parent = <&cpuintc>;
209                         interrupts = <7>;
210                 };
211         };
212
213         pinctrl {
214                 compatible = "ralink,rt2880-pinmux";
215
216                 pinctrl-names = "default";
217                 pinctrl-0 = <&state_default>;
218
219                 state_default: pinctrl0 {
220                 };
221
222                 spi_pins: spi {
223                         spi {
224                                 ralink,group = "spi";
225                                 ralink,function = "spi";
226                         };
227                 };
228                 i2c_pins: i2c {
229                         i2c {
230                                 ralink,group = "i2c";
231                                 ralink,function = "i2c";
232                         };
233                 };
234                 phy_led_pins: phy_led {
235                         phy_led {
236                                 ralink,group = "led";
237                                 ralink,function = "led";
238                         };
239                 };
240                 uartlite_pins: uartlite {
241                         uart {
242                                 ralink,group = "uartlite";
243                                 ralink,function = "uartlite";
244                         };
245                 };
246                 uartf_pins: uartf {
247                         uartf {
248                                 ralink,group = "uartf";
249                                 ralink,function = "uartf";
250                         };
251                 };
252         };
253
254         rstctrl: rstctrl {
255                 compatible = "ralink,rt5350-reset", "ralink,rt2880-reset";
256                 #reset-cells = <1>;
257         };
258
259         ubsphy {
260                 compatible = "ralink,rt3xxx-usbphy";
261
262                 resets = <&rstctrl 22 &rstctrl 25>;
263                 reset-names = "host", "device";
264         };
265
266         ethernet@10100000 {
267                 compatible = "ralink,rt5350-eth";
268                 reg = <0x10100000 10000>;
269
270                 interrupt-parent = <&cpuintc>;
271                 interrupts = <5>;
272         };
273
274         esw@10110000 {
275                 compatible = "ralink,rt3050-esw";
276                 reg = <0x10110000 8000>;
277
278                 interrupt-parent = <&intc>;
279                 interrupts = <17>;
280         };
281
282         wmac@10180000 {
283                 compatible = "ralink,rt5350-wmac", "ralink,rt2880-wmac";
284                 reg = <0x10180000 40000>;
285
286                 interrupt-parent = <&cpuintc>;
287                 interrupts = <6>;
288
289                 ralink,eeprom = "soc_wmac.eeprom";
290         };
291
292         ehci@101c0000 {
293                 compatible = "ralink,rt3xxx-ehci", "ehci-platform";
294                 reg = <0x101c0000 0x1000>;
295
296                 interrupt-parent = <&intc>;
297                 interrupts = <18>;
298         };
299
300         ohci@101c1000 {
301                 compatible = "ralink,rt3xxx-ohci", "ohci-platform";
302                 reg = <0x101c1000 0x1000>;
303
304                 interrupt-parent = <&intc>;
305                 interrupts = <18>;
306         };
307 };