]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - arch/arm/boot/dts/imx27.dtsi
Merge tag 'clk-for-linus-3.15' of git://git.linaro.org/people/mike.turquette/linux
[mirror_ubuntu-focal-kernel.git] / arch / arm / boot / dts / imx27.dtsi
1 /*
2 * Copyright 2012 Sascha Hauer, Pengutronix
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
12 #include "skeleton.dtsi"
13 #include "imx27-pinfunc.h"
14 #include <dt-bindings/interrupt-controller/irq.h>
15 #include <dt-bindings/gpio/gpio.h>
16
17 / {
18 aliases {
19 gpio0 = &gpio1;
20 gpio1 = &gpio2;
21 gpio2 = &gpio3;
22 gpio3 = &gpio4;
23 gpio4 = &gpio5;
24 gpio5 = &gpio6;
25 i2c0 = &i2c1;
26 i2c1 = &i2c2;
27 serial0 = &uart1;
28 serial1 = &uart2;
29 serial2 = &uart3;
30 serial3 = &uart4;
31 serial4 = &uart5;
32 serial5 = &uart6;
33 spi0 = &cspi1;
34 spi1 = &cspi2;
35 spi2 = &cspi3;
36 };
37
38 aitc: aitc-interrupt-controller@e0000000 {
39 compatible = "fsl,imx27-aitc", "fsl,avic";
40 interrupt-controller;
41 #interrupt-cells = <1>;
42 reg = <0x10040000 0x1000>;
43 };
44
45 clocks {
46 #address-cells = <1>;
47 #size-cells = <0>;
48
49 osc26m {
50 compatible = "fsl,imx-osc26m", "fixed-clock";
51 clock-frequency = <26000000>;
52 };
53 };
54
55 cpus {
56 #size-cells = <0>;
57 #address-cells = <1>;
58
59 cpu: cpu@0 {
60 device_type = "cpu";
61 compatible = "arm,arm926ej-s";
62 operating-points = <
63 /* kHz uV */
64 266000 1300000
65 399000 1450000
66 >;
67 clock-latency = <62500>;
68 clocks = <&clks 18>;
69 voltage-tolerance = <5>;
70 };
71 };
72
73 usbphy {
74 compatible = "simple-bus";
75 #address-cells = <1>;
76 #size-cells = <0>;
77
78 usbphy0: usbphy@0 {
79 compatible = "usb-nop-xceiv";
80 reg = <0>;
81 clocks = <&clks 75>;
82 clock-names = "main_clk";
83 };
84
85 usbphy2: usbphy@2 {
86 compatible = "usb-nop-xceiv";
87 reg = <2>;
88 clocks = <&clks 75>;
89 clock-names = "main_clk";
90 };
91 };
92
93 soc {
94 #address-cells = <1>;
95 #size-cells = <1>;
96 compatible = "simple-bus";
97 interrupt-parent = <&aitc>;
98 ranges;
99
100 aipi@10000000 { /* AIPI1 */
101 compatible = "fsl,aipi-bus", "simple-bus";
102 #address-cells = <1>;
103 #size-cells = <1>;
104 reg = <0x10000000 0x20000>;
105 ranges;
106
107 dma: dma@10001000 {
108 compatible = "fsl,imx27-dma";
109 reg = <0x10001000 0x1000>;
110 interrupts = <32>;
111 clocks = <&clks 50>, <&clks 70>;
112 clock-names = "ipg", "ahb";
113 #dma-cells = <1>;
114 #dma-channels = <16>;
115 };
116
117 wdog: wdog@10002000 {
118 compatible = "fsl,imx27-wdt", "fsl,imx21-wdt";
119 reg = <0x10002000 0x1000>;
120 interrupts = <27>;
121 clocks = <&clks 74>;
122 };
123
124 gpt1: timer@10003000 {
125 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
126 reg = <0x10003000 0x1000>;
127 interrupts = <26>;
128 clocks = <&clks 46>, <&clks 61>;
129 clock-names = "ipg", "per";
130 };
131
132 gpt2: timer@10004000 {
133 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
134 reg = <0x10004000 0x1000>;
135 interrupts = <25>;
136 clocks = <&clks 45>, <&clks 61>;
137 clock-names = "ipg", "per";
138 };
139
140 gpt3: timer@10005000 {
141 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
142 reg = <0x10005000 0x1000>;
143 interrupts = <24>;
144 clocks = <&clks 44>, <&clks 61>;
145 clock-names = "ipg", "per";
146 };
147
148 pwm: pwm@10006000 {
149 #pwm-cells = <2>;
150 compatible = "fsl,imx27-pwm";
151 reg = <0x10006000 0x1000>;
152 interrupts = <23>;
153 clocks = <&clks 34>, <&clks 61>;
154 clock-names = "ipg", "per";
155 };
156
157 kpp: kpp@10008000 {
158 compatible = "fsl,imx27-kpp", "fsl,imx21-kpp";
159 reg = <0x10008000 0x1000>;
160 interrupts = <21>;
161 clocks = <&clks 37>;
162 status = "disabled";
163 };
164
165 owire: owire@10009000 {
166 compatible = "fsl,imx27-owire", "fsl,imx21-owire";
167 reg = <0x10009000 0x1000>;
168 clocks = <&clks 35>;
169 status = "disabled";
170 };
171
172 uart1: serial@1000a000 {
173 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
174 reg = <0x1000a000 0x1000>;
175 interrupts = <20>;
176 clocks = <&clks 81>, <&clks 61>;
177 clock-names = "ipg", "per";
178 status = "disabled";
179 };
180
181 uart2: serial@1000b000 {
182 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
183 reg = <0x1000b000 0x1000>;
184 interrupts = <19>;
185 clocks = <&clks 80>, <&clks 61>;
186 clock-names = "ipg", "per";
187 status = "disabled";
188 };
189
190 uart3: serial@1000c000 {
191 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
192 reg = <0x1000c000 0x1000>;
193 interrupts = <18>;
194 clocks = <&clks 79>, <&clks 61>;
195 clock-names = "ipg", "per";
196 status = "disabled";
197 };
198
199 uart4: serial@1000d000 {
200 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
201 reg = <0x1000d000 0x1000>;
202 interrupts = <17>;
203 clocks = <&clks 78>, <&clks 61>;
204 clock-names = "ipg", "per";
205 status = "disabled";
206 };
207
208 cspi1: cspi@1000e000 {
209 #address-cells = <1>;
210 #size-cells = <0>;
211 compatible = "fsl,imx27-cspi";
212 reg = <0x1000e000 0x1000>;
213 interrupts = <16>;
214 clocks = <&clks 53>, <&clks 60>;
215 clock-names = "ipg", "per";
216 status = "disabled";
217 };
218
219 cspi2: cspi@1000f000 {
220 #address-cells = <1>;
221 #size-cells = <0>;
222 compatible = "fsl,imx27-cspi";
223 reg = <0x1000f000 0x1000>;
224 interrupts = <15>;
225 clocks = <&clks 52>, <&clks 60>;
226 clock-names = "ipg", "per";
227 status = "disabled";
228 };
229
230 ssi1: ssi@10010000 {
231 #sound-dai-cells = <0>;
232 compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
233 reg = <0x10010000 0x1000>;
234 interrupts = <14>;
235 clocks = <&clks 26>;
236 dmas = <&dma 12>, <&dma 13>, <&dma 14>, <&dma 15>;
237 dma-names = "rx0", "tx0", "rx1", "tx1";
238 fsl,fifo-depth = <8>;
239 status = "disabled";
240 };
241
242 ssi2: ssi@10011000 {
243 #sound-dai-cells = <0>;
244 compatible = "fsl,imx27-ssi", "fsl,imx21-ssi";
245 reg = <0x10011000 0x1000>;
246 interrupts = <13>;
247 clocks = <&clks 25>;
248 dmas = <&dma 8>, <&dma 9>, <&dma 10>, <&dma 11>;
249 dma-names = "rx0", "tx0", "rx1", "tx1";
250 fsl,fifo-depth = <8>;
251 status = "disabled";
252 };
253
254 i2c1: i2c@10012000 {
255 #address-cells = <1>;
256 #size-cells = <0>;
257 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
258 reg = <0x10012000 0x1000>;
259 interrupts = <12>;
260 clocks = <&clks 40>;
261 status = "disabled";
262 };
263
264 sdhci1: sdhci@10013000 {
265 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
266 reg = <0x10013000 0x1000>;
267 interrupts = <11>;
268 clocks = <&clks 30>, <&clks 60>;
269 clock-names = "ipg", "per";
270 dmas = <&dma 7>;
271 dma-names = "rx-tx";
272 status = "disabled";
273 };
274
275 sdhci2: sdhci@10014000 {
276 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
277 reg = <0x10014000 0x1000>;
278 interrupts = <10>;
279 clocks = <&clks 29>, <&clks 60>;
280 clock-names = "ipg", "per";
281 dmas = <&dma 6>;
282 dma-names = "rx-tx";
283 status = "disabled";
284 };
285
286 iomuxc: iomuxc@10015000 {
287 compatible = "fsl,imx27-iomuxc";
288 reg = <0x10015000 0x600>;
289 #address-cells = <1>;
290 #size-cells = <1>;
291 ranges;
292
293 gpio1: gpio@10015000 {
294 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
295 reg = <0x10015000 0x100>;
296 interrupts = <8>;
297 gpio-controller;
298 #gpio-cells = <2>;
299 interrupt-controller;
300 #interrupt-cells = <2>;
301 };
302
303 gpio2: gpio@10015100 {
304 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
305 reg = <0x10015100 0x100>;
306 interrupts = <8>;
307 gpio-controller;
308 #gpio-cells = <2>;
309 interrupt-controller;
310 #interrupt-cells = <2>;
311 };
312
313 gpio3: gpio@10015200 {
314 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
315 reg = <0x10015200 0x100>;
316 interrupts = <8>;
317 gpio-controller;
318 #gpio-cells = <2>;
319 interrupt-controller;
320 #interrupt-cells = <2>;
321 };
322
323 gpio4: gpio@10015300 {
324 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
325 reg = <0x10015300 0x100>;
326 interrupts = <8>;
327 gpio-controller;
328 #gpio-cells = <2>;
329 interrupt-controller;
330 #interrupt-cells = <2>;
331 };
332
333 gpio5: gpio@10015400 {
334 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
335 reg = <0x10015400 0x100>;
336 interrupts = <8>;
337 gpio-controller;
338 #gpio-cells = <2>;
339 interrupt-controller;
340 #interrupt-cells = <2>;
341 };
342
343 gpio6: gpio@10015500 {
344 compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
345 reg = <0x10015500 0x100>;
346 interrupts = <8>;
347 gpio-controller;
348 #gpio-cells = <2>;
349 interrupt-controller;
350 #interrupt-cells = <2>;
351 };
352 };
353
354 audmux: audmux@10016000 {
355 compatible = "fsl,imx27-audmux", "fsl,imx21-audmux";
356 reg = <0x10016000 0x1000>;
357 clocks = <&clks 0>;
358 clock-names = "audmux";
359 status = "disabled";
360 };
361
362 cspi3: cspi@10017000 {
363 #address-cells = <1>;
364 #size-cells = <0>;
365 compatible = "fsl,imx27-cspi";
366 reg = <0x10017000 0x1000>;
367 interrupts = <6>;
368 clocks = <&clks 51>, <&clks 60>;
369 clock-names = "ipg", "per";
370 status = "disabled";
371 };
372
373 gpt4: timer@10019000 {
374 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
375 reg = <0x10019000 0x1000>;
376 interrupts = <4>;
377 clocks = <&clks 43>, <&clks 61>;
378 clock-names = "ipg", "per";
379 };
380
381 gpt5: timer@1001a000 {
382 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
383 reg = <0x1001a000 0x1000>;
384 interrupts = <3>;
385 clocks = <&clks 42>, <&clks 61>;
386 clock-names = "ipg", "per";
387 };
388
389 uart5: serial@1001b000 {
390 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
391 reg = <0x1001b000 0x1000>;
392 interrupts = <49>;
393 clocks = <&clks 77>, <&clks 61>;
394 clock-names = "ipg", "per";
395 status = "disabled";
396 };
397
398 uart6: serial@1001c000 {
399 compatible = "fsl,imx27-uart", "fsl,imx21-uart";
400 reg = <0x1001c000 0x1000>;
401 interrupts = <48>;
402 clocks = <&clks 78>, <&clks 61>;
403 clock-names = "ipg", "per";
404 status = "disabled";
405 };
406
407 i2c2: i2c@1001d000 {
408 #address-cells = <1>;
409 #size-cells = <0>;
410 compatible = "fsl,imx27-i2c", "fsl,imx21-i2c";
411 reg = <0x1001d000 0x1000>;
412 interrupts = <1>;
413 clocks = <&clks 39>;
414 status = "disabled";
415 };
416
417 sdhci3: sdhci@1001e000 {
418 compatible = "fsl,imx27-mmc", "fsl,imx21-mmc";
419 reg = <0x1001e000 0x1000>;
420 interrupts = <9>;
421 clocks = <&clks 28>, <&clks 60>;
422 clock-names = "ipg", "per";
423 dmas = <&dma 36>;
424 dma-names = "rx-tx";
425 status = "disabled";
426 };
427
428 gpt6: timer@1001f000 {
429 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
430 reg = <0x1001f000 0x1000>;
431 interrupts = <2>;
432 clocks = <&clks 41>, <&clks 61>;
433 clock-names = "ipg", "per";
434 };
435 };
436
437 aipi@10020000 { /* AIPI2 */
438 compatible = "fsl,aipi-bus", "simple-bus";
439 #address-cells = <1>;
440 #size-cells = <1>;
441 reg = <0x10020000 0x20000>;
442 ranges;
443
444 fb: fb@10021000 {
445 compatible = "fsl,imx27-fb", "fsl,imx21-fb";
446 interrupts = <61>;
447 reg = <0x10021000 0x1000>;
448 clocks = <&clks 36>, <&clks 65>, <&clks 59>;
449 clock-names = "ipg", "ahb", "per";
450 status = "disabled";
451 };
452
453 coda: coda@10023000 {
454 compatible = "fsl,imx27-vpu";
455 reg = <0x10023000 0x0200>;
456 interrupts = <53>;
457 clocks = <&clks 57>, <&clks 66>;
458 clock-names = "per", "ahb";
459 iram = <&iram>;
460 };
461
462 usbotg: usb@10024000 {
463 compatible = "fsl,imx27-usb";
464 reg = <0x10024000 0x200>;
465 interrupts = <56>;
466 clocks = <&clks 15>;
467 fsl,usbmisc = <&usbmisc 0>;
468 fsl,usbphy = <&usbphy0>;
469 status = "disabled";
470 };
471
472 usbh1: usb@10024200 {
473 compatible = "fsl,imx27-usb";
474 reg = <0x10024200 0x200>;
475 interrupts = <54>;
476 clocks = <&clks 15>;
477 fsl,usbmisc = <&usbmisc 1>;
478 status = "disabled";
479 };
480
481 usbh2: usb@10024400 {
482 compatible = "fsl,imx27-usb";
483 reg = <0x10024400 0x200>;
484 interrupts = <55>;
485 clocks = <&clks 15>;
486 fsl,usbmisc = <&usbmisc 2>;
487 fsl,usbphy = <&usbphy2>;
488 status = "disabled";
489 };
490
491 usbmisc: usbmisc@10024600 {
492 #index-cells = <1>;
493 compatible = "fsl,imx27-usbmisc";
494 reg = <0x10024600 0x200>;
495 clocks = <&clks 62>;
496 };
497
498 sahara2: sahara@10025000 {
499 compatible = "fsl,imx27-sahara";
500 reg = <0x10025000 0x1000>;
501 interrupts = <59>;
502 clocks = <&clks 32>, <&clks 64>;
503 clock-names = "ipg", "ahb";
504 };
505
506 clks: ccm@10027000{
507 compatible = "fsl,imx27-ccm";
508 reg = <0x10027000 0x1000>;
509 #clock-cells = <1>;
510 };
511
512 iim: iim@10028000 {
513 compatible = "fsl,imx27-iim";
514 reg = <0x10028000 0x1000>;
515 interrupts = <62>;
516 clocks = <&clks 38>;
517 };
518
519 fec: ethernet@1002b000 {
520 compatible = "fsl,imx27-fec";
521 reg = <0x1002b000 0x4000>;
522 interrupts = <50>;
523 clocks = <&clks 48>, <&clks 67>;
524 clock-names = "ipg", "ahb";
525 status = "disabled";
526 };
527 };
528
529 nfc: nand@d8000000 {
530 #address-cells = <1>;
531 #size-cells = <1>;
532 compatible = "fsl,imx27-nand";
533 reg = <0xd8000000 0x1000>;
534 interrupts = <29>;
535 clocks = <&clks 54>;
536 status = "disabled";
537 };
538
539 weim: weim@d8002000 {
540 #address-cells = <2>;
541 #size-cells = <1>;
542 compatible = "fsl,imx27-weim";
543 reg = <0xd8002000 0x1000>;
544 clocks = <&clks 0>;
545 ranges = <
546 0 0 0xc0000000 0x08000000
547 1 0 0xc8000000 0x08000000
548 2 0 0xd0000000 0x02000000
549 3 0 0xd2000000 0x02000000
550 4 0 0xd4000000 0x02000000
551 5 0 0xd6000000 0x02000000
552 >;
553 status = "disabled";
554 };
555
556 iram: iram@ffff4c00 {
557 compatible = "mmio-sram";
558 reg = <0xffff4c00 0xb400>;
559 };
560 };
561 };