ralink: add pinctrl driver
[openwrt/openwrt.git] / target / linux / ramips / dts / mt7620a.dtsi
1 / {
2 #address-cells = <1>;
3 #size-cells = <1>;
4 compatible = "ralink,mtk7620a-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,mt7620a-sysc", "ralink,rt3050-sysc";
33 reg = <0x0 0x100>;
34 };
35
36 timer@100 {
37 compatible = "ralink,mt7620a-timer", "ralink,rt2880-timer";
38 reg = <0x100 0x20>;
39
40 interrupt-parent = <&intc>;
41 interrupts = <1>;
42 };
43
44 watchdog@120 {
45 compatible = "ralink,mt7620a-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,mt7620a-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,mt7620a-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,mt7620a-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 status = "disabled";
93 };
94
95 gpio0: gpio@600 {
96 compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
97 reg = <0x600 0x34>;
98
99 resets = <&rstctrl 13>;
100 reset-names = "pio";
101
102 interrupt-parent = <&intc>;
103 interrupts = <6>;
104
105 gpio-controller;
106 #gpio-cells = <2>;
107
108 ralink,gpio-base = <0>;
109 ralink,num-gpios = <24>;
110 ralink,register-map = [ 00 04 08 0c
111 20 24 28 2c
112 30 34 ];
113 };
114
115 gpio1: gpio@638 {
116 compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
117 reg = <0x638 0x24>;
118
119 interrupt-parent = <&intc>;
120 interrupts = <6>;
121
122 gpio-controller;
123 #gpio-cells = <2>;
124
125 ralink,gpio-base = <24>;
126 ralink,num-gpios = <16>;
127 ralink,register-map = [ 00 04 08 0c
128 10 14 18 1c
129 20 24 ];
130
131 status = "disabled";
132 };
133
134 gpio2: gpio@660 {
135 compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
136 reg = <0x660 0x24>;
137
138 interrupt-parent = <&intc>;
139 interrupts = <6>;
140
141 gpio-controller;
142 #gpio-cells = <2>;
143
144 ralink,gpio-base = <40>;
145 ralink,num-gpios = <32>;
146 ralink,register-map = [ 00 04 08 0c
147 10 14 18 1c
148 20 24 ];
149
150 status = "disabled";
151 };
152
153 i2c@900 {
154 compatible = "link,mt7620a-i2c", "ralink,rt2880-i2c";
155 reg = <0x900 0x100>;
156
157 resets = <&rstctrl 16>;
158 reset-names = "i2c";
159
160 #address-cells = <1>;
161 #size-cells = <0>;
162
163 status = "disabled";
164
165 pinctrl-names = "default";
166 pinctrl-0 = <&i2c_pins>;
167 };
168
169 i2s@a00 {
170 compatible = "ralink,mt7620a-i2s";
171 reg = <0xa00 0x100>;
172
173 resets = <&rstctrl 17>;
174 reset-names = "i2s";
175
176 interrupt-parent = <&intc>;
177 interrupts = <10>;
178
179 status = "disabled";
180 };
181
182 spi@b00 {
183 compatible = "ralink,mt7620a-spi", "ralink,rt2880-spi";
184 reg = <0xb00 0x100>;
185
186 resets = <&rstctrl 18>;
187 reset-names = "spi";
188
189 #address-cells = <1>;
190 #size-cells = <1>;
191
192 status = "disabled";
193
194 pinctrl-names = "default";
195 pinctrl-0 = <&spi_pins>;
196 };
197
198 uartlite@c00 {
199 compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a";
200 reg = <0xc00 0x100>;
201
202 resets = <&rstctrl 19>;
203 reset-names = "uartl";
204
205 interrupt-parent = <&intc>;
206 interrupts = <12>;
207
208 reg-shift = <2>;
209
210 pinctrl-names = "default";
211 pinctrl-0 = <&uartlite_pins>;
212 };
213
214 systick@d00 {
215 compatible = "ralink,mt7620a-systick", "ralink,cevt-systick";
216 reg = <0xd00 0x10>;
217
218 resets = <&rstctrl 28>;
219 reset-names = "intc";
220
221 interrupt-parent = <&cpuintc>;
222 interrupts = <7>;
223 };
224
225 pcm@2000 {
226 compatible = "ralink,mt7620a-pcm";
227 reg = <0x2000 0x800>;
228
229 resets = <&rstctrl 11>;
230 reset-names = "pcm";
231
232 interrupt-parent = <&intc>;
233 interrupts = <4>;
234
235 status = "disabled";
236 };
237
238 gdma@2800 {
239 compatible = "ralink,mt7620a-gdma", "ralink,rt2880-gdma";
240 reg = <0x2800 0x800>;
241
242 resets = <&rstctrl 14>;
243 reset-names = "dma";
244
245 interrupt-parent = <&intc>;
246 interrupts = <7>;
247
248 status = "disabled";
249 };
250 };
251
252 pinctrl {
253 compatible = "ralink,rt2880-pinmux";
254 pinctrl-names = "default";
255 pinctrl-0 = <&state_default>;
256 state_default: pinctrl0 {
257 };
258 spi_pins: spi {
259 spi {
260 ralink,group = "spi";
261 ralink,function = "spi";
262 };
263 };
264 i2c_pins: i2c {
265 i2c {
266 lantiq,group = "i2c";
267 lantiq,function = "i2c";
268 };
269 };
270 uartlite_pins: uartlite {
271 uart {
272 ralink,group = "uartlite";
273 ralink,function = "uartlite";
274 };
275 };
276 mdio_pins: mdio {
277 mdio {
278 ralink,group = "mdio";
279 ralink,function = "mdio";
280 };
281 };
282 ephy_pins: ephy {
283 ephy {
284 ralink,group = "ephy";
285 ralink,function = "ephy";
286 };
287 };
288 wled_pins: wled {
289 wled {
290 ralink,group = "wled";
291 ralink,function = "wled";
292 };
293 };
294 rgmii1_pins: rgmii1 {
295 mdio {
296 ralink,group = "rgmii1";
297 ralink,function = "rgmii1";
298 };
299 };
300 rgmii2_pins: rgmii2 {
301 mdio {
302 ralink,group = "rgmii2";
303 ralink,function = "rgmii2";
304 };
305 };
306 };
307
308 rstctrl: rstctrl {
309 compatible = "ralink,mt7620a-reset", "ralink,rt2880-reset";
310 #reset-cells = <1>;
311 };
312
313 ubsphy {
314 compatible = "ralink,mt7620a-usbphy";
315
316 resets = <&rstctrl 22 &rstctrl 25>;
317 reset-names = "host", "device";
318 };
319
320 ethernet@10100000 {
321 compatible = "ralink,mt7620a-eth";
322 reg = <0x10100000 10000>;
323
324 #address-cells = <1>;
325 #size-cells = <0>;
326
327 interrupt-parent = <&cpuintc>;
328 interrupts = <5>;
329
330 mdio-bus {
331 #address-cells = <1>;
332 #size-cells = <0>;
333
334 status = "disabled";
335
336 pinctrl-names = "default";
337 pinctrl-0 = <&mdio_pins>;
338 };
339 };
340
341 gsw@10110000 {
342 compatible = "ralink,mt7620a-gsw";
343 reg = <0x10110000 8000>;
344
345 interrupt-parent = <&intc>;
346 interrupts = <17>;
347 };
348
349 sdhci@10130000 {
350 compatible = "ralink,mt7620a-sdhci";
351 reg = <0x10130000 4000>;
352
353 interrupt-parent = <&intc>;
354 interrupts = <14>;
355
356 status = "disabled";
357 };
358
359 ehci@101c0000 {
360 compatible = "ralink,rt3xxx-ehci";
361 reg = <0x101c0000 0x1000>;
362
363 interrupt-parent = <&intc>;
364 interrupts = <18>;
365
366 status = "disabled";
367 };
368
369 ohci@101c1000 {
370 compatible = "ralink,rt3xxx-ohci";
371 reg = <0x101c1000 0x1000>;
372
373 interrupt-parent = <&intc>;
374 interrupts = <18>;
375
376 status = "disabled";
377 };
378
379 pcie@10140000 {
380 compatible = "ralink,mt7620a-pci";
381 reg = <0x10140000 0x100
382 0x10142000 0x100>;
383
384 resets = <&rstctrl 26>;
385 reset-names = "pcie0";
386
387 interrupt-parent = <&cpuintc>;
388 interrupts = <4>;
389
390 status = "disabled";
391 };
392 };