Loading...
1/*
2 * Device Tree Source for OMAP3 SoC
3 *
4 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * This file is licensed under the terms of the GNU General Public License
7 * version 2. This program is licensed "as is" without any warranty of any
8 * kind, whether express or implied.
9 */
10
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/interrupt-controller/irq.h>
13#include <dt-bindings/pinctrl/omap.h>
14
15/ {
16 compatible = "ti,omap3430", "ti,omap3";
17 interrupt-parent = <&intc>;
18 #address-cells = <1>;
19 #size-cells = <1>;
20 chosen { };
21
22 aliases {
23 i2c0 = &i2c1;
24 i2c1 = &i2c2;
25 i2c2 = &i2c3;
26 serial0 = &uart1;
27 serial1 = &uart2;
28 serial2 = &uart3;
29 };
30
31 cpus {
32 #address-cells = <1>;
33 #size-cells = <0>;
34
35 cpu@0 {
36 compatible = "arm,cortex-a8";
37 device_type = "cpu";
38 reg = <0x0>;
39
40 clocks = <&dpll1_ck>;
41 clock-names = "cpu";
42
43 clock-latency = <300000>; /* From omap-cpufreq driver */
44 };
45 };
46
47 pmu@54000000 {
48 compatible = "arm,cortex-a8-pmu";
49 reg = <0x54000000 0x800000>;
50 interrupts = <3>;
51 ti,hwmods = "debugss";
52 };
53
54 /*
55 * The soc node represents the soc top level view. It is used for IPs
56 * that are not memory mapped in the MPU view or for the MPU itself.
57 */
58 soc {
59 compatible = "ti,omap-infra";
60 mpu {
61 compatible = "ti,omap3-mpu";
62 ti,hwmods = "mpu";
63 };
64
65 iva: iva {
66 compatible = "ti,iva2.2";
67 ti,hwmods = "iva";
68
69 dsp {
70 compatible = "ti,omap3-c64";
71 };
72 };
73 };
74
75 /*
76 * XXX: Use a flat representation of the OMAP3 interconnect.
77 * The real OMAP interconnect network is quite complex.
78 * Since it will not bring real advantage to represent that in DT for
79 * the moment, just use a fake OCP bus entry to represent the whole bus
80 * hierarchy.
81 */
82 ocp@68000000 {
83 compatible = "ti,omap3-l3-smx", "simple-bus";
84 reg = <0x68000000 0x10000>;
85 interrupts = <9 10>;
86 #address-cells = <1>;
87 #size-cells = <1>;
88 ranges;
89 ti,hwmods = "l3_main";
90
91 l4_core: l4@48000000 {
92 compatible = "ti,omap3-l4-core", "simple-bus";
93 #address-cells = <1>;
94 #size-cells = <1>;
95 ranges = <0 0x48000000 0x1000000>;
96
97 scm: scm@2000 {
98 compatible = "ti,omap3-scm", "simple-bus";
99 reg = <0x2000 0x2000>;
100 #address-cells = <1>;
101 #size-cells = <1>;
102 ranges = <0 0x2000 0x2000>;
103
104 omap3_pmx_core: pinmux@30 {
105 compatible = "ti,omap3-padconf",
106 "pinctrl-single";
107 reg = <0x30 0x238>;
108 #address-cells = <1>;
109 #size-cells = <0>;
110 #pinctrl-cells = <1>;
111 #interrupt-cells = <1>;
112 interrupt-controller;
113 pinctrl-single,register-width = <16>;
114 pinctrl-single,function-mask = <0xff1f>;
115 };
116
117 scm_conf: scm_conf@270 {
118 compatible = "syscon", "simple-bus";
119 reg = <0x270 0x330>;
120 #address-cells = <1>;
121 #size-cells = <1>;
122 ranges = <0 0x270 0x330>;
123
124 pbias_regulator: pbias_regulator@2b0 {
125 compatible = "ti,pbias-omap3", "ti,pbias-omap";
126 reg = <0x2b0 0x4>;
127 syscon = <&scm_conf>;
128 pbias_mmc_reg: pbias_mmc_omap2430 {
129 regulator-name = "pbias_mmc_omap2430";
130 regulator-min-microvolt = <1800000>;
131 regulator-max-microvolt = <3000000>;
132 };
133 };
134
135 scm_clocks: clocks {
136 #address-cells = <1>;
137 #size-cells = <0>;
138 };
139 };
140
141 scm_clockdomains: clockdomains {
142 };
143
144 omap3_pmx_wkup: pinmux@a00 {
145 compatible = "ti,omap3-padconf",
146 "pinctrl-single";
147 reg = <0xa00 0x5c>;
148 #address-cells = <1>;
149 #size-cells = <0>;
150 #pinctrl-cells = <1>;
151 #interrupt-cells = <1>;
152 interrupt-controller;
153 pinctrl-single,register-width = <16>;
154 pinctrl-single,function-mask = <0xff1f>;
155 };
156 };
157 };
158
159 aes: aes@480c5000 {
160 compatible = "ti,omap3-aes";
161 ti,hwmods = "aes";
162 reg = <0x480c5000 0x50>;
163 interrupts = <0>;
164 dmas = <&sdma 65 &sdma 66>;
165 dma-names = "tx", "rx";
166 };
167
168 prm: prm@48306000 {
169 compatible = "ti,omap3-prm";
170 reg = <0x48306000 0x4000>;
171 interrupts = <11>;
172
173 prm_clocks: clocks {
174 #address-cells = <1>;
175 #size-cells = <0>;
176 };
177
178 prm_clockdomains: clockdomains {
179 };
180 };
181
182 cm: cm@48004000 {
183 compatible = "ti,omap3-cm";
184 reg = <0x48004000 0x4000>;
185
186 cm_clocks: clocks {
187 #address-cells = <1>;
188 #size-cells = <0>;
189 };
190
191 cm_clockdomains: clockdomains {
192 };
193 };
194
195 counter32k: counter@48320000 {
196 compatible = "ti,omap-counter32k";
197 reg = <0x48320000 0x20>;
198 ti,hwmods = "counter_32k";
199 };
200
201 intc: interrupt-controller@48200000 {
202 compatible = "ti,omap3-intc";
203 interrupt-controller;
204 #interrupt-cells = <1>;
205 reg = <0x48200000 0x1000>;
206 };
207
208 sdma: dma-controller@48056000 {
209 compatible = "ti,omap3630-sdma", "ti,omap3430-sdma";
210 reg = <0x48056000 0x1000>;
211 interrupts = <12>,
212 <13>,
213 <14>,
214 <15>;
215 #dma-cells = <1>;
216 dma-channels = <32>;
217 dma-requests = <96>;
218 ti,hwmods = "dma";
219 };
220
221 gpio1: gpio@48310000 {
222 compatible = "ti,omap3-gpio";
223 reg = <0x48310000 0x200>;
224 interrupts = <29>;
225 ti,hwmods = "gpio1";
226 ti,gpio-always-on;
227 gpio-controller;
228 #gpio-cells = <2>;
229 interrupt-controller;
230 #interrupt-cells = <2>;
231 };
232
233 gpio2: gpio@49050000 {
234 compatible = "ti,omap3-gpio";
235 reg = <0x49050000 0x200>;
236 interrupts = <30>;
237 ti,hwmods = "gpio2";
238 gpio-controller;
239 #gpio-cells = <2>;
240 interrupt-controller;
241 #interrupt-cells = <2>;
242 };
243
244 gpio3: gpio@49052000 {
245 compatible = "ti,omap3-gpio";
246 reg = <0x49052000 0x200>;
247 interrupts = <31>;
248 ti,hwmods = "gpio3";
249 gpio-controller;
250 #gpio-cells = <2>;
251 interrupt-controller;
252 #interrupt-cells = <2>;
253 };
254
255 gpio4: gpio@49054000 {
256 compatible = "ti,omap3-gpio";
257 reg = <0x49054000 0x200>;
258 interrupts = <32>;
259 ti,hwmods = "gpio4";
260 gpio-controller;
261 #gpio-cells = <2>;
262 interrupt-controller;
263 #interrupt-cells = <2>;
264 };
265
266 gpio5: gpio@49056000 {
267 compatible = "ti,omap3-gpio";
268 reg = <0x49056000 0x200>;
269 interrupts = <33>;
270 ti,hwmods = "gpio5";
271 gpio-controller;
272 #gpio-cells = <2>;
273 interrupt-controller;
274 #interrupt-cells = <2>;
275 };
276
277 gpio6: gpio@49058000 {
278 compatible = "ti,omap3-gpio";
279 reg = <0x49058000 0x200>;
280 interrupts = <34>;
281 ti,hwmods = "gpio6";
282 gpio-controller;
283 #gpio-cells = <2>;
284 interrupt-controller;
285 #interrupt-cells = <2>;
286 };
287
288 uart1: serial@4806a000 {
289 compatible = "ti,omap3-uart";
290 reg = <0x4806a000 0x2000>;
291 interrupts-extended = <&intc 72>;
292 dmas = <&sdma 49 &sdma 50>;
293 dma-names = "tx", "rx";
294 ti,hwmods = "uart1";
295 clock-frequency = <48000000>;
296 };
297
298 uart2: serial@4806c000 {
299 compatible = "ti,omap3-uart";
300 reg = <0x4806c000 0x400>;
301 interrupts-extended = <&intc 73>;
302 dmas = <&sdma 51 &sdma 52>;
303 dma-names = "tx", "rx";
304 ti,hwmods = "uart2";
305 clock-frequency = <48000000>;
306 };
307
308 uart3: serial@49020000 {
309 compatible = "ti,omap3-uart";
310 reg = <0x49020000 0x400>;
311 interrupts-extended = <&intc 74>;
312 dmas = <&sdma 53 &sdma 54>;
313 dma-names = "tx", "rx";
314 ti,hwmods = "uart3";
315 clock-frequency = <48000000>;
316 };
317
318 i2c1: i2c@48070000 {
319 compatible = "ti,omap3-i2c";
320 reg = <0x48070000 0x80>;
321 interrupts = <56>;
322 dmas = <&sdma 27 &sdma 28>;
323 dma-names = "tx", "rx";
324 #address-cells = <1>;
325 #size-cells = <0>;
326 ti,hwmods = "i2c1";
327 };
328
329 i2c2: i2c@48072000 {
330 compatible = "ti,omap3-i2c";
331 reg = <0x48072000 0x80>;
332 interrupts = <57>;
333 dmas = <&sdma 29 &sdma 30>;
334 dma-names = "tx", "rx";
335 #address-cells = <1>;
336 #size-cells = <0>;
337 ti,hwmods = "i2c2";
338 };
339
340 i2c3: i2c@48060000 {
341 compatible = "ti,omap3-i2c";
342 reg = <0x48060000 0x80>;
343 interrupts = <61>;
344 dmas = <&sdma 25 &sdma 26>;
345 dma-names = "tx", "rx";
346 #address-cells = <1>;
347 #size-cells = <0>;
348 ti,hwmods = "i2c3";
349 };
350
351 mailbox: mailbox@48094000 {
352 compatible = "ti,omap3-mailbox";
353 ti,hwmods = "mailbox";
354 reg = <0x48094000 0x200>;
355 interrupts = <26>;
356 #mbox-cells = <1>;
357 ti,mbox-num-users = <2>;
358 ti,mbox-num-fifos = <2>;
359 mbox_dsp: dsp {
360 ti,mbox-tx = <0 0 0>;
361 ti,mbox-rx = <1 0 0>;
362 };
363 };
364
365 mcspi1: spi@48098000 {
366 compatible = "ti,omap2-mcspi";
367 reg = <0x48098000 0x100>;
368 interrupts = <65>;
369 #address-cells = <1>;
370 #size-cells = <0>;
371 ti,hwmods = "mcspi1";
372 ti,spi-num-cs = <4>;
373 dmas = <&sdma 35>,
374 <&sdma 36>,
375 <&sdma 37>,
376 <&sdma 38>,
377 <&sdma 39>,
378 <&sdma 40>,
379 <&sdma 41>,
380 <&sdma 42>;
381 dma-names = "tx0", "rx0", "tx1", "rx1",
382 "tx2", "rx2", "tx3", "rx3";
383 };
384
385 mcspi2: spi@4809a000 {
386 compatible = "ti,omap2-mcspi";
387 reg = <0x4809a000 0x100>;
388 interrupts = <66>;
389 #address-cells = <1>;
390 #size-cells = <0>;
391 ti,hwmods = "mcspi2";
392 ti,spi-num-cs = <2>;
393 dmas = <&sdma 43>,
394 <&sdma 44>,
395 <&sdma 45>,
396 <&sdma 46>;
397 dma-names = "tx0", "rx0", "tx1", "rx1";
398 };
399
400 mcspi3: spi@480b8000 {
401 compatible = "ti,omap2-mcspi";
402 reg = <0x480b8000 0x100>;
403 interrupts = <91>;
404 #address-cells = <1>;
405 #size-cells = <0>;
406 ti,hwmods = "mcspi3";
407 ti,spi-num-cs = <2>;
408 dmas = <&sdma 15>,
409 <&sdma 16>,
410 <&sdma 23>,
411 <&sdma 24>;
412 dma-names = "tx0", "rx0", "tx1", "rx1";
413 };
414
415 mcspi4: spi@480ba000 {
416 compatible = "ti,omap2-mcspi";
417 reg = <0x480ba000 0x100>;
418 interrupts = <48>;
419 #address-cells = <1>;
420 #size-cells = <0>;
421 ti,hwmods = "mcspi4";
422 ti,spi-num-cs = <1>;
423 dmas = <&sdma 70>, <&sdma 71>;
424 dma-names = "tx0", "rx0";
425 };
426
427 hdqw1w: 1w@480b2000 {
428 compatible = "ti,omap3-1w";
429 reg = <0x480b2000 0x1000>;
430 interrupts = <58>;
431 ti,hwmods = "hdq1w";
432 };
433
434 mmc1: mmc@4809c000 {
435 compatible = "ti,omap3-hsmmc";
436 reg = <0x4809c000 0x200>;
437 interrupts = <83>;
438 ti,hwmods = "mmc1";
439 ti,dual-volt;
440 dmas = <&sdma 61>, <&sdma 62>;
441 dma-names = "tx", "rx";
442 pbias-supply = <&pbias_mmc_reg>;
443 };
444
445 mmc2: mmc@480b4000 {
446 compatible = "ti,omap3-hsmmc";
447 reg = <0x480b4000 0x200>;
448 interrupts = <86>;
449 ti,hwmods = "mmc2";
450 dmas = <&sdma 47>, <&sdma 48>;
451 dma-names = "tx", "rx";
452 };
453
454 mmc3: mmc@480ad000 {
455 compatible = "ti,omap3-hsmmc";
456 reg = <0x480ad000 0x200>;
457 interrupts = <94>;
458 ti,hwmods = "mmc3";
459 dmas = <&sdma 77>, <&sdma 78>;
460 dma-names = "tx", "rx";
461 };
462
463 mmu_isp: mmu@480bd400 {
464 #iommu-cells = <0>;
465 compatible = "ti,omap2-iommu";
466 reg = <0x480bd400 0x80>;
467 interrupts = <24>;
468 ti,hwmods = "mmu_isp";
469 ti,#tlb-entries = <8>;
470 };
471
472 mmu_iva: mmu@5d000000 {
473 #iommu-cells = <0>;
474 compatible = "ti,omap2-iommu";
475 reg = <0x5d000000 0x80>;
476 interrupts = <28>;
477 ti,hwmods = "mmu_iva";
478 status = "disabled";
479 };
480
481 wdt2: wdt@48314000 {
482 compatible = "ti,omap3-wdt";
483 reg = <0x48314000 0x80>;
484 ti,hwmods = "wd_timer2";
485 };
486
487 mcbsp1: mcbsp@48074000 {
488 compatible = "ti,omap3-mcbsp";
489 reg = <0x48074000 0xff>;
490 reg-names = "mpu";
491 interrupts = <16>, /* OCP compliant interrupt */
492 <59>, /* TX interrupt */
493 <60>; /* RX interrupt */
494 interrupt-names = "common", "tx", "rx";
495 ti,buffer-size = <128>;
496 ti,hwmods = "mcbsp1";
497 dmas = <&sdma 31>,
498 <&sdma 32>;
499 dma-names = "tx", "rx";
500 clocks = <&mcbsp1_fck>;
501 clock-names = "fck";
502 status = "disabled";
503 };
504
505 mcbsp2: mcbsp@49022000 {
506 compatible = "ti,omap3-mcbsp";
507 reg = <0x49022000 0xff>,
508 <0x49028000 0xff>;
509 reg-names = "mpu", "sidetone";
510 interrupts = <17>, /* OCP compliant interrupt */
511 <62>, /* TX interrupt */
512 <63>, /* RX interrupt */
513 <4>; /* Sidetone */
514 interrupt-names = "common", "tx", "rx", "sidetone";
515 ti,buffer-size = <1280>;
516 ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
517 dmas = <&sdma 33>,
518 <&sdma 34>;
519 dma-names = "tx", "rx";
520 clocks = <&mcbsp2_fck>, <&mcbsp2_ick>;
521 clock-names = "fck", "ick";
522 status = "disabled";
523 };
524
525 mcbsp3: mcbsp@49024000 {
526 compatible = "ti,omap3-mcbsp";
527 reg = <0x49024000 0xff>,
528 <0x4902a000 0xff>;
529 reg-names = "mpu", "sidetone";
530 interrupts = <22>, /* OCP compliant interrupt */
531 <89>, /* TX interrupt */
532 <90>, /* RX interrupt */
533 <5>; /* Sidetone */
534 interrupt-names = "common", "tx", "rx", "sidetone";
535 ti,buffer-size = <128>;
536 ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
537 dmas = <&sdma 17>,
538 <&sdma 18>;
539 dma-names = "tx", "rx";
540 clocks = <&mcbsp3_fck>, <&mcbsp3_ick>;
541 clock-names = "fck", "ick";
542 status = "disabled";
543 };
544
545 mcbsp4: mcbsp@49026000 {
546 compatible = "ti,omap3-mcbsp";
547 reg = <0x49026000 0xff>;
548 reg-names = "mpu";
549 interrupts = <23>, /* OCP compliant interrupt */
550 <54>, /* TX interrupt */
551 <55>; /* RX interrupt */
552 interrupt-names = "common", "tx", "rx";
553 ti,buffer-size = <128>;
554 ti,hwmods = "mcbsp4";
555 dmas = <&sdma 19>,
556 <&sdma 20>;
557 dma-names = "tx", "rx";
558 clocks = <&mcbsp4_fck>;
559 clock-names = "fck";
560 #sound-dai-cells = <0>;
561 status = "disabled";
562 };
563
564 mcbsp5: mcbsp@48096000 {
565 compatible = "ti,omap3-mcbsp";
566 reg = <0x48096000 0xff>;
567 reg-names = "mpu";
568 interrupts = <27>, /* OCP compliant interrupt */
569 <81>, /* TX interrupt */
570 <82>; /* RX interrupt */
571 interrupt-names = "common", "tx", "rx";
572 ti,buffer-size = <128>;
573 ti,hwmods = "mcbsp5";
574 dmas = <&sdma 21>,
575 <&sdma 22>;
576 dma-names = "tx", "rx";
577 clocks = <&mcbsp5_fck>;
578 clock-names = "fck";
579 status = "disabled";
580 };
581
582 sham: sham@480c3000 {
583 compatible = "ti,omap3-sham";
584 ti,hwmods = "sham";
585 reg = <0x480c3000 0x64>;
586 interrupts = <49>;
587 dmas = <&sdma 69>;
588 dma-names = "rx";
589 };
590
591 timer1: timer@48318000 {
592 compatible = "ti,omap3430-timer";
593 reg = <0x48318000 0x400>;
594 interrupts = <37>;
595 ti,hwmods = "timer1";
596 ti,timer-alwon;
597 };
598
599 timer2: timer@49032000 {
600 compatible = "ti,omap3430-timer";
601 reg = <0x49032000 0x400>;
602 interrupts = <38>;
603 ti,hwmods = "timer2";
604 };
605
606 timer3: timer@49034000 {
607 compatible = "ti,omap3430-timer";
608 reg = <0x49034000 0x400>;
609 interrupts = <39>;
610 ti,hwmods = "timer3";
611 };
612
613 timer4: timer@49036000 {
614 compatible = "ti,omap3430-timer";
615 reg = <0x49036000 0x400>;
616 interrupts = <40>;
617 ti,hwmods = "timer4";
618 };
619
620 timer5: timer@49038000 {
621 compatible = "ti,omap3430-timer";
622 reg = <0x49038000 0x400>;
623 interrupts = <41>;
624 ti,hwmods = "timer5";
625 ti,timer-dsp;
626 };
627
628 timer6: timer@4903a000 {
629 compatible = "ti,omap3430-timer";
630 reg = <0x4903a000 0x400>;
631 interrupts = <42>;
632 ti,hwmods = "timer6";
633 ti,timer-dsp;
634 };
635
636 timer7: timer@4903c000 {
637 compatible = "ti,omap3430-timer";
638 reg = <0x4903c000 0x400>;
639 interrupts = <43>;
640 ti,hwmods = "timer7";
641 ti,timer-dsp;
642 };
643
644 timer8: timer@4903e000 {
645 compatible = "ti,omap3430-timer";
646 reg = <0x4903e000 0x400>;
647 interrupts = <44>;
648 ti,hwmods = "timer8";
649 ti,timer-pwm;
650 ti,timer-dsp;
651 };
652
653 timer9: timer@49040000 {
654 compatible = "ti,omap3430-timer";
655 reg = <0x49040000 0x400>;
656 interrupts = <45>;
657 ti,hwmods = "timer9";
658 ti,timer-pwm;
659 };
660
661 timer10: timer@48086000 {
662 compatible = "ti,omap3430-timer";
663 reg = <0x48086000 0x400>;
664 interrupts = <46>;
665 ti,hwmods = "timer10";
666 ti,timer-pwm;
667 };
668
669 timer11: timer@48088000 {
670 compatible = "ti,omap3430-timer";
671 reg = <0x48088000 0x400>;
672 interrupts = <47>;
673 ti,hwmods = "timer11";
674 ti,timer-pwm;
675 };
676
677 timer12: timer@48304000 {
678 compatible = "ti,omap3430-timer";
679 reg = <0x48304000 0x400>;
680 interrupts = <95>;
681 ti,hwmods = "timer12";
682 ti,timer-alwon;
683 ti,timer-secure;
684 };
685
686 usbhstll: usbhstll@48062000 {
687 compatible = "ti,usbhs-tll";
688 reg = <0x48062000 0x1000>;
689 interrupts = <78>;
690 ti,hwmods = "usb_tll_hs";
691 };
692
693 usbhshost: usbhshost@48064000 {
694 compatible = "ti,usbhs-host";
695 reg = <0x48064000 0x400>;
696 ti,hwmods = "usb_host_hs";
697 #address-cells = <1>;
698 #size-cells = <1>;
699 ranges;
700
701 usbhsohci: ohci@48064400 {
702 compatible = "ti,ohci-omap3";
703 reg = <0x48064400 0x400>;
704 interrupts = <76>;
705 remote-wakeup-connected;
706 };
707
708 usbhsehci: ehci@48064800 {
709 compatible = "ti,ehci-omap";
710 reg = <0x48064800 0x400>;
711 interrupts = <77>;
712 };
713 };
714
715 gpmc: gpmc@6e000000 {
716 compatible = "ti,omap3430-gpmc";
717 ti,hwmods = "gpmc";
718 reg = <0x6e000000 0x02d0>;
719 interrupts = <20>;
720 dmas = <&sdma 4>;
721 dma-names = "rxtx";
722 gpmc,num-cs = <8>;
723 gpmc,num-waitpins = <4>;
724 #address-cells = <2>;
725 #size-cells = <1>;
726 interrupt-controller;
727 #interrupt-cells = <2>;
728 gpio-controller;
729 #gpio-cells = <2>;
730 };
731
732 usb_otg_hs: usb_otg_hs@480ab000 {
733 compatible = "ti,omap3-musb";
734 reg = <0x480ab000 0x1000>;
735 interrupts = <92>, <93>;
736 interrupt-names = "mc", "dma";
737 ti,hwmods = "usb_otg_hs";
738 multipoint = <1>;
739 num-eps = <16>;
740 ram-bits = <12>;
741 };
742
743 dss: dss@48050000 {
744 compatible = "ti,omap3-dss";
745 reg = <0x48050000 0x200>;
746 status = "disabled";
747 ti,hwmods = "dss_core";
748 clocks = <&dss1_alwon_fck>;
749 clock-names = "fck";
750 #address-cells = <1>;
751 #size-cells = <1>;
752 ranges;
753
754 dispc@48050400 {
755 compatible = "ti,omap3-dispc";
756 reg = <0x48050400 0x400>;
757 interrupts = <25>;
758 ti,hwmods = "dss_dispc";
759 clocks = <&dss1_alwon_fck>;
760 clock-names = "fck";
761 };
762
763 dsi: encoder@4804fc00 {
764 compatible = "ti,omap3-dsi";
765 reg = <0x4804fc00 0x200>,
766 <0x4804fe00 0x40>,
767 <0x4804ff00 0x20>;
768 reg-names = "proto", "phy", "pll";
769 interrupts = <25>;
770 status = "disabled";
771 ti,hwmods = "dss_dsi1";
772 clocks = <&dss1_alwon_fck>, <&dss2_alwon_fck>;
773 clock-names = "fck", "sys_clk";
774 };
775
776 rfbi: encoder@48050800 {
777 compatible = "ti,omap3-rfbi";
778 reg = <0x48050800 0x100>;
779 status = "disabled";
780 ti,hwmods = "dss_rfbi";
781 clocks = <&dss1_alwon_fck>, <&dss_ick>;
782 clock-names = "fck", "ick";
783 };
784
785 venc: encoder@48050c00 {
786 compatible = "ti,omap3-venc";
787 reg = <0x48050c00 0x100>;
788 status = "disabled";
789 ti,hwmods = "dss_venc";
790 clocks = <&dss_tv_fck>;
791 clock-names = "fck";
792 };
793 };
794
795 ssi: ssi-controller@48058000 {
796 compatible = "ti,omap3-ssi";
797 ti,hwmods = "ssi";
798
799 status = "disabled";
800
801 reg = <0x48058000 0x1000>,
802 <0x48059000 0x1000>;
803 reg-names = "sys",
804 "gdd";
805
806 interrupts = <71>;
807 interrupt-names = "gdd_mpu";
808
809 #address-cells = <1>;
810 #size-cells = <1>;
811 ranges;
812
813 ssi_port1: ssi-port@4805a000 {
814 compatible = "ti,omap3-ssi-port";
815
816 reg = <0x4805a000 0x800>,
817 <0x4805a800 0x800>;
818 reg-names = "tx",
819 "rx";
820
821 interrupts = <67>,
822 <68>;
823 };
824
825 ssi_port2: ssi-port@4805b000 {
826 compatible = "ti,omap3-ssi-port";
827
828 reg = <0x4805b000 0x800>,
829 <0x4805b800 0x800>;
830 reg-names = "tx",
831 "rx";
832
833 interrupts = <69>,
834 <70>;
835 };
836 };
837 };
838};
839
840/include/ "omap3xxx-clocks.dtsi"
1/*
2 * Device Tree Source for OMAP3 SoC
3 *
4 * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/
5 *
6 * This file is licensed under the terms of the GNU General Public License
7 * version 2. This program is licensed "as is" without any warranty of any
8 * kind, whether express or implied.
9 */
10
11#include <dt-bindings/bus/ti-sysc.h>
12#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/interrupt-controller/irq.h>
14#include <dt-bindings/pinctrl/omap.h>
15
16/ {
17 compatible = "ti,omap3430", "ti,omap3";
18 interrupt-parent = <&intc>;
19 #address-cells = <1>;
20 #size-cells = <1>;
21 chosen { };
22
23 aliases {
24 i2c0 = &i2c1;
25 i2c1 = &i2c2;
26 i2c2 = &i2c3;
27 serial0 = &uart1;
28 serial1 = &uart2;
29 serial2 = &uart3;
30 };
31
32 cpus {
33 #address-cells = <1>;
34 #size-cells = <0>;
35
36 cpu@0 {
37 compatible = "arm,cortex-a8";
38 device_type = "cpu";
39 reg = <0x0>;
40
41 clocks = <&dpll1_ck>;
42 clock-names = "cpu";
43
44 clock-latency = <300000>; /* From omap-cpufreq driver */
45 };
46 };
47
48 pmu@54000000 {
49 compatible = "arm,cortex-a8-pmu";
50 reg = <0x54000000 0x800000>;
51 interrupts = <3>;
52 ti,hwmods = "debugss";
53 };
54
55 /*
56 * The soc node represents the soc top level view. It is used for IPs
57 * that are not memory mapped in the MPU view or for the MPU itself.
58 */
59 soc {
60 compatible = "ti,omap-infra";
61 mpu {
62 compatible = "ti,omap3-mpu";
63 ti,hwmods = "mpu";
64 };
65
66 iva: iva {
67 compatible = "ti,iva2.2";
68 ti,hwmods = "iva";
69
70 dsp {
71 compatible = "ti,omap3-c64";
72 };
73 };
74 };
75
76 /*
77 * XXX: Use a flat representation of the OMAP3 interconnect.
78 * The real OMAP interconnect network is quite complex.
79 * Since it will not bring real advantage to represent that in DT for
80 * the moment, just use a fake OCP bus entry to represent the whole bus
81 * hierarchy.
82 */
83 ocp@68000000 {
84 compatible = "ti,omap3-l3-smx", "simple-bus";
85 reg = <0x68000000 0x10000>;
86 interrupts = <9 10>;
87 #address-cells = <1>;
88 #size-cells = <1>;
89 ranges;
90 ti,hwmods = "l3_main";
91
92 l4_core: l4@48000000 {
93 compatible = "ti,omap3-l4-core", "simple-bus";
94 #address-cells = <1>;
95 #size-cells = <1>;
96 ranges = <0 0x48000000 0x1000000>;
97
98 scm: scm@2000 {
99 compatible = "ti,omap3-scm", "simple-bus";
100 reg = <0x2000 0x2000>;
101 #address-cells = <1>;
102 #size-cells = <1>;
103 ranges = <0 0x2000 0x2000>;
104
105 omap3_pmx_core: pinmux@30 {
106 compatible = "ti,omap3-padconf",
107 "pinctrl-single";
108 reg = <0x30 0x238>;
109 #address-cells = <1>;
110 #size-cells = <0>;
111 #pinctrl-cells = <1>;
112 #interrupt-cells = <1>;
113 interrupt-controller;
114 pinctrl-single,register-width = <16>;
115 pinctrl-single,function-mask = <0xff1f>;
116 };
117
118 scm_conf: scm_conf@270 {
119 compatible = "syscon", "simple-bus";
120 reg = <0x270 0x330>;
121 #address-cells = <1>;
122 #size-cells = <1>;
123 ranges = <0 0x270 0x330>;
124
125 pbias_regulator: pbias_regulator@2b0 {
126 compatible = "ti,pbias-omap3", "ti,pbias-omap";
127 reg = <0x2b0 0x4>;
128 syscon = <&scm_conf>;
129 pbias_mmc_reg: pbias_mmc_omap2430 {
130 regulator-name = "pbias_mmc_omap2430";
131 regulator-min-microvolt = <1800000>;
132 regulator-max-microvolt = <3000000>;
133 };
134 };
135
136 scm_clocks: clocks {
137 #address-cells = <1>;
138 #size-cells = <0>;
139 };
140 };
141
142 scm_clockdomains: clockdomains {
143 };
144
145 omap3_pmx_wkup: pinmux@a00 {
146 compatible = "ti,omap3-padconf",
147 "pinctrl-single";
148 reg = <0xa00 0x5c>;
149 #address-cells = <1>;
150 #size-cells = <0>;
151 #pinctrl-cells = <1>;
152 #interrupt-cells = <1>;
153 interrupt-controller;
154 pinctrl-single,register-width = <16>;
155 pinctrl-single,function-mask = <0xff1f>;
156 };
157 };
158 };
159
160 aes1_target: target-module@480a6000 {
161 compatible = "ti,sysc-omap2", "ti,sysc";
162 reg = <0x480a6044 0x4>,
163 <0x480a6048 0x4>,
164 <0x480a604c 0x4>;
165 reg-names = "rev", "sysc", "syss";
166 ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
167 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
168 <SYSC_IDLE_NO>,
169 <SYSC_IDLE_SMART>;
170 ti,syss-mask = <1>;
171 clocks = <&aes1_ick>;
172 clock-names = "ick";
173 #address-cells = <1>;
174 #size-cells = <1>;
175 ranges = <0 0x480a6000 0x2000>;
176
177 aes1: aes1@0 {
178 compatible = "ti,omap3-aes";
179 reg = <0 0x50>;
180 interrupts = <0>;
181 dmas = <&sdma 9 &sdma 10>;
182 dma-names = "tx", "rx";
183 };
184 };
185
186 aes2_target: target-module@480c5000 {
187 compatible = "ti,sysc-omap2", "ti,sysc";
188 reg = <0x480c5044 0x4>,
189 <0x480c5048 0x4>,
190 <0x480c504c 0x4>;
191 reg-names = "rev", "sysc", "syss";
192 ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
193 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
194 <SYSC_IDLE_NO>,
195 <SYSC_IDLE_SMART>;
196 ti,syss-mask = <1>;
197 clocks = <&aes2_ick>;
198 clock-names = "ick";
199 #address-cells = <1>;
200 #size-cells = <1>;
201 ranges = <0 0x480c5000 0x2000>;
202
203 aes2: aes2@0 {
204 compatible = "ti,omap3-aes";
205 reg = <0 0x50>;
206 interrupts = <0>;
207 dmas = <&sdma 65 &sdma 66>;
208 dma-names = "tx", "rx";
209 };
210 };
211
212 prm: prm@48306000 {
213 compatible = "ti,omap3-prm";
214 reg = <0x48306000 0x4000>;
215 interrupts = <11>;
216
217 prm_clocks: clocks {
218 #address-cells = <1>;
219 #size-cells = <0>;
220 };
221
222 prm_clockdomains: clockdomains {
223 };
224 };
225
226 cm: cm@48004000 {
227 compatible = "ti,omap3-cm";
228 reg = <0x48004000 0x4000>;
229
230 cm_clocks: clocks {
231 #address-cells = <1>;
232 #size-cells = <0>;
233 };
234
235 cm_clockdomains: clockdomains {
236 };
237 };
238
239 target-module@48320000 {
240 compatible = "ti,sysc-omap2", "ti,sysc";
241 reg = <0x48320000 0x4>,
242 <0x48320004 0x4>;
243 reg-names = "rev", "sysc";
244 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
245 <SYSC_IDLE_NO>;
246 clocks = <&wkup_32k_fck>, <&omap_32ksync_ick>;
247 clock-names = "fck", "ick";
248 #address-cells = <1>;
249 #size-cells = <1>;
250 ranges = <0x0 0x48320000 0x1000>;
251
252 counter32k: counter@0 {
253 compatible = "ti,omap-counter32k";
254 reg = <0x0 0x20>;
255 };
256 };
257
258 intc: interrupt-controller@48200000 {
259 compatible = "ti,omap3-intc";
260 interrupt-controller;
261 #interrupt-cells = <1>;
262 reg = <0x48200000 0x1000>;
263 };
264
265 target-module@48056000 {
266 compatible = "ti,sysc-omap2", "ti,sysc";
267 reg = <0x48056000 0x4>,
268 <0x4805602c 0x4>,
269 <0x48056028 0x4>;
270 reg-names = "rev", "sysc", "syss";
271 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
272 SYSC_OMAP2_EMUFREE |
273 SYSC_OMAP2_SOFTRESET |
274 SYSC_OMAP2_AUTOIDLE)>;
275 ti,sysc-midle = <SYSC_IDLE_FORCE>,
276 <SYSC_IDLE_NO>,
277 <SYSC_IDLE_SMART>;
278 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
279 <SYSC_IDLE_NO>,
280 <SYSC_IDLE_SMART>;
281 ti,syss-mask = <1>;
282 /* Domains (V, P, C): core, core_pwrdm, core_l3_clkdm */
283 clocks = <&core_l3_ick>;
284 clock-names = "ick";
285 #address-cells = <1>;
286 #size-cells = <1>;
287 ranges = <0 0x48056000 0x1000>;
288
289 sdma: dma-controller@0 {
290 compatible = "ti,omap3430-sdma", "ti,omap-sdma";
291 reg = <0x0 0x1000>;
292 interrupts = <12>,
293 <13>,
294 <14>,
295 <15>;
296 #dma-cells = <1>;
297 dma-channels = <32>;
298 dma-requests = <96>;
299 };
300 };
301
302 gpio1: gpio@48310000 {
303 compatible = "ti,omap3-gpio";
304 reg = <0x48310000 0x200>;
305 interrupts = <29>;
306 ti,hwmods = "gpio1";
307 ti,gpio-always-on;
308 gpio-controller;
309 #gpio-cells = <2>;
310 interrupt-controller;
311 #interrupt-cells = <2>;
312 };
313
314 gpio2: gpio@49050000 {
315 compatible = "ti,omap3-gpio";
316 reg = <0x49050000 0x200>;
317 interrupts = <30>;
318 ti,hwmods = "gpio2";
319 gpio-controller;
320 #gpio-cells = <2>;
321 interrupt-controller;
322 #interrupt-cells = <2>;
323 };
324
325 gpio3: gpio@49052000 {
326 compatible = "ti,omap3-gpio";
327 reg = <0x49052000 0x200>;
328 interrupts = <31>;
329 ti,hwmods = "gpio3";
330 gpio-controller;
331 #gpio-cells = <2>;
332 interrupt-controller;
333 #interrupt-cells = <2>;
334 };
335
336 gpio4: gpio@49054000 {
337 compatible = "ti,omap3-gpio";
338 reg = <0x49054000 0x200>;
339 interrupts = <32>;
340 ti,hwmods = "gpio4";
341 gpio-controller;
342 #gpio-cells = <2>;
343 interrupt-controller;
344 #interrupt-cells = <2>;
345 };
346
347 gpio5: gpio@49056000 {
348 compatible = "ti,omap3-gpio";
349 reg = <0x49056000 0x200>;
350 interrupts = <33>;
351 ti,hwmods = "gpio5";
352 gpio-controller;
353 #gpio-cells = <2>;
354 interrupt-controller;
355 #interrupt-cells = <2>;
356 };
357
358 gpio6: gpio@49058000 {
359 compatible = "ti,omap3-gpio";
360 reg = <0x49058000 0x200>;
361 interrupts = <34>;
362 ti,hwmods = "gpio6";
363 gpio-controller;
364 #gpio-cells = <2>;
365 interrupt-controller;
366 #interrupt-cells = <2>;
367 };
368
369 uart1: serial@4806a000 {
370 compatible = "ti,omap3-uart";
371 reg = <0x4806a000 0x2000>;
372 interrupts-extended = <&intc 72>;
373 dmas = <&sdma 49 &sdma 50>;
374 dma-names = "tx", "rx";
375 ti,hwmods = "uart1";
376 clock-frequency = <48000000>;
377 };
378
379 uart2: serial@4806c000 {
380 compatible = "ti,omap3-uart";
381 reg = <0x4806c000 0x400>;
382 interrupts-extended = <&intc 73>;
383 dmas = <&sdma 51 &sdma 52>;
384 dma-names = "tx", "rx";
385 ti,hwmods = "uart2";
386 clock-frequency = <48000000>;
387 };
388
389 uart3: serial@49020000 {
390 compatible = "ti,omap3-uart";
391 reg = <0x49020000 0x400>;
392 interrupts-extended = <&intc 74>;
393 dmas = <&sdma 53 &sdma 54>;
394 dma-names = "tx", "rx";
395 ti,hwmods = "uart3";
396 clock-frequency = <48000000>;
397 };
398
399 i2c1: i2c@48070000 {
400 compatible = "ti,omap3-i2c";
401 reg = <0x48070000 0x80>;
402 interrupts = <56>;
403 dmas = <&sdma 27 &sdma 28>;
404 dma-names = "tx", "rx";
405 #address-cells = <1>;
406 #size-cells = <0>;
407 ti,hwmods = "i2c1";
408 };
409
410 i2c2: i2c@48072000 {
411 compatible = "ti,omap3-i2c";
412 reg = <0x48072000 0x80>;
413 interrupts = <57>;
414 dmas = <&sdma 29 &sdma 30>;
415 dma-names = "tx", "rx";
416 #address-cells = <1>;
417 #size-cells = <0>;
418 ti,hwmods = "i2c2";
419 };
420
421 i2c3: i2c@48060000 {
422 compatible = "ti,omap3-i2c";
423 reg = <0x48060000 0x80>;
424 interrupts = <61>;
425 dmas = <&sdma 25 &sdma 26>;
426 dma-names = "tx", "rx";
427 #address-cells = <1>;
428 #size-cells = <0>;
429 ti,hwmods = "i2c3";
430 };
431
432 mailbox: mailbox@48094000 {
433 compatible = "ti,omap3-mailbox";
434 ti,hwmods = "mailbox";
435 reg = <0x48094000 0x200>;
436 interrupts = <26>;
437 #mbox-cells = <1>;
438 ti,mbox-num-users = <2>;
439 ti,mbox-num-fifos = <2>;
440 mbox_dsp: dsp {
441 ti,mbox-tx = <0 0 0>;
442 ti,mbox-rx = <1 0 0>;
443 };
444 };
445
446 mcspi1: spi@48098000 {
447 compatible = "ti,omap2-mcspi";
448 reg = <0x48098000 0x100>;
449 interrupts = <65>;
450 #address-cells = <1>;
451 #size-cells = <0>;
452 ti,hwmods = "mcspi1";
453 ti,spi-num-cs = <4>;
454 dmas = <&sdma 35>,
455 <&sdma 36>,
456 <&sdma 37>,
457 <&sdma 38>,
458 <&sdma 39>,
459 <&sdma 40>,
460 <&sdma 41>,
461 <&sdma 42>;
462 dma-names = "tx0", "rx0", "tx1", "rx1",
463 "tx2", "rx2", "tx3", "rx3";
464 };
465
466 mcspi2: spi@4809a000 {
467 compatible = "ti,omap2-mcspi";
468 reg = <0x4809a000 0x100>;
469 interrupts = <66>;
470 #address-cells = <1>;
471 #size-cells = <0>;
472 ti,hwmods = "mcspi2";
473 ti,spi-num-cs = <2>;
474 dmas = <&sdma 43>,
475 <&sdma 44>,
476 <&sdma 45>,
477 <&sdma 46>;
478 dma-names = "tx0", "rx0", "tx1", "rx1";
479 };
480
481 mcspi3: spi@480b8000 {
482 compatible = "ti,omap2-mcspi";
483 reg = <0x480b8000 0x100>;
484 interrupts = <91>;
485 #address-cells = <1>;
486 #size-cells = <0>;
487 ti,hwmods = "mcspi3";
488 ti,spi-num-cs = <2>;
489 dmas = <&sdma 15>,
490 <&sdma 16>,
491 <&sdma 23>,
492 <&sdma 24>;
493 dma-names = "tx0", "rx0", "tx1", "rx1";
494 };
495
496 mcspi4: spi@480ba000 {
497 compatible = "ti,omap2-mcspi";
498 reg = <0x480ba000 0x100>;
499 interrupts = <48>;
500 #address-cells = <1>;
501 #size-cells = <0>;
502 ti,hwmods = "mcspi4";
503 ti,spi-num-cs = <1>;
504 dmas = <&sdma 70>, <&sdma 71>;
505 dma-names = "tx0", "rx0";
506 };
507
508 hdqw1w: 1w@480b2000 {
509 compatible = "ti,omap3-1w";
510 reg = <0x480b2000 0x1000>;
511 interrupts = <58>;
512 ti,hwmods = "hdq1w";
513 };
514
515 mmc1: mmc@4809c000 {
516 compatible = "ti,omap3-hsmmc";
517 reg = <0x4809c000 0x200>;
518 interrupts = <83>;
519 ti,hwmods = "mmc1";
520 ti,dual-volt;
521 dmas = <&sdma 61>, <&sdma 62>;
522 dma-names = "tx", "rx";
523 pbias-supply = <&pbias_mmc_reg>;
524 };
525
526 mmc2: mmc@480b4000 {
527 compatible = "ti,omap3-hsmmc";
528 reg = <0x480b4000 0x200>;
529 interrupts = <86>;
530 ti,hwmods = "mmc2";
531 dmas = <&sdma 47>, <&sdma 48>;
532 dma-names = "tx", "rx";
533 };
534
535 mmc3: mmc@480ad000 {
536 compatible = "ti,omap3-hsmmc";
537 reg = <0x480ad000 0x200>;
538 interrupts = <94>;
539 ti,hwmods = "mmc3";
540 dmas = <&sdma 77>, <&sdma 78>;
541 dma-names = "tx", "rx";
542 };
543
544 mmu_isp: mmu@480bd400 {
545 #iommu-cells = <0>;
546 compatible = "ti,omap2-iommu";
547 reg = <0x480bd400 0x80>;
548 interrupts = <24>;
549 ti,hwmods = "mmu_isp";
550 ti,#tlb-entries = <8>;
551 };
552
553 mmu_iva: mmu@5d000000 {
554 #iommu-cells = <0>;
555 compatible = "ti,omap2-iommu";
556 reg = <0x5d000000 0x80>;
557 interrupts = <28>;
558 ti,hwmods = "mmu_iva";
559 status = "disabled";
560 };
561
562 wdt2: wdt@48314000 {
563 compatible = "ti,omap3-wdt";
564 reg = <0x48314000 0x80>;
565 ti,hwmods = "wd_timer2";
566 };
567
568 mcbsp1: mcbsp@48074000 {
569 compatible = "ti,omap3-mcbsp";
570 reg = <0x48074000 0xff>;
571 reg-names = "mpu";
572 interrupts = <16>, /* OCP compliant interrupt */
573 <59>, /* TX interrupt */
574 <60>; /* RX interrupt */
575 interrupt-names = "common", "tx", "rx";
576 ti,buffer-size = <128>;
577 ti,hwmods = "mcbsp1";
578 dmas = <&sdma 31>,
579 <&sdma 32>;
580 dma-names = "tx", "rx";
581 clocks = <&mcbsp1_fck>;
582 clock-names = "fck";
583 status = "disabled";
584 };
585
586 /* Likely needs to be tagged disabled on HS devices */
587 rng_target: target-module@480a0000 {
588 compatible = "ti,sysc-omap2", "ti,sysc";
589 reg = <0x480a003c 0x4>,
590 <0x480a0040 0x4>,
591 <0x480a0044 0x4>;
592 reg-names = "rev", "sysc", "syss";
593 ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
594 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
595 <SYSC_IDLE_NO>;
596 ti,syss-mask = <1>;
597 clocks = <&rng_ick>;
598 clock-names = "ick";
599 #address-cells = <1>;
600 #size-cells = <1>;
601 ranges = <0 0x480a0000 0x2000>;
602
603 rng: rng@0 {
604 compatible = "ti,omap2-rng";
605 reg = <0x0 0x2000>;
606 interrupts = <52>;
607 };
608 };
609
610 mcbsp2: mcbsp@49022000 {
611 compatible = "ti,omap3-mcbsp";
612 reg = <0x49022000 0xff>,
613 <0x49028000 0xff>;
614 reg-names = "mpu", "sidetone";
615 interrupts = <17>, /* OCP compliant interrupt */
616 <62>, /* TX interrupt */
617 <63>, /* RX interrupt */
618 <4>; /* Sidetone */
619 interrupt-names = "common", "tx", "rx", "sidetone";
620 ti,buffer-size = <1280>;
621 ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
622 dmas = <&sdma 33>,
623 <&sdma 34>;
624 dma-names = "tx", "rx";
625 clocks = <&mcbsp2_fck>, <&mcbsp2_ick>;
626 clock-names = "fck", "ick";
627 status = "disabled";
628 };
629
630 mcbsp3: mcbsp@49024000 {
631 compatible = "ti,omap3-mcbsp";
632 reg = <0x49024000 0xff>,
633 <0x4902a000 0xff>;
634 reg-names = "mpu", "sidetone";
635 interrupts = <22>, /* OCP compliant interrupt */
636 <89>, /* TX interrupt */
637 <90>, /* RX interrupt */
638 <5>; /* Sidetone */
639 interrupt-names = "common", "tx", "rx", "sidetone";
640 ti,buffer-size = <128>;
641 ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
642 dmas = <&sdma 17>,
643 <&sdma 18>;
644 dma-names = "tx", "rx";
645 clocks = <&mcbsp3_fck>, <&mcbsp3_ick>;
646 clock-names = "fck", "ick";
647 status = "disabled";
648 };
649
650 mcbsp4: mcbsp@49026000 {
651 compatible = "ti,omap3-mcbsp";
652 reg = <0x49026000 0xff>;
653 reg-names = "mpu";
654 interrupts = <23>, /* OCP compliant interrupt */
655 <54>, /* TX interrupt */
656 <55>; /* RX interrupt */
657 interrupt-names = "common", "tx", "rx";
658 ti,buffer-size = <128>;
659 ti,hwmods = "mcbsp4";
660 dmas = <&sdma 19>,
661 <&sdma 20>;
662 dma-names = "tx", "rx";
663 clocks = <&mcbsp4_fck>;
664 clock-names = "fck";
665 #sound-dai-cells = <0>;
666 status = "disabled";
667 };
668
669 mcbsp5: mcbsp@48096000 {
670 compatible = "ti,omap3-mcbsp";
671 reg = <0x48096000 0xff>;
672 reg-names = "mpu";
673 interrupts = <27>, /* OCP compliant interrupt */
674 <81>, /* TX interrupt */
675 <82>; /* RX interrupt */
676 interrupt-names = "common", "tx", "rx";
677 ti,buffer-size = <128>;
678 ti,hwmods = "mcbsp5";
679 dmas = <&sdma 21>,
680 <&sdma 22>;
681 dma-names = "tx", "rx";
682 clocks = <&mcbsp5_fck>;
683 clock-names = "fck";
684 status = "disabled";
685 };
686
687 sham: sham@480c3000 {
688 compatible = "ti,omap3-sham";
689 ti,hwmods = "sham";
690 reg = <0x480c3000 0x64>;
691 interrupts = <49>;
692 dmas = <&sdma 69>;
693 dma-names = "rx";
694 };
695
696 timer1_target: target-module@48318000 {
697 compatible = "ti,sysc-omap2-timer", "ti,sysc";
698 reg = <0x48318000 0x4>,
699 <0x48318010 0x4>,
700 <0x48318014 0x4>;
701 reg-names = "rev", "sysc", "syss";
702 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
703 SYSC_OMAP2_EMUFREE |
704 SYSC_OMAP2_ENAWAKEUP |
705 SYSC_OMAP2_SOFTRESET |
706 SYSC_OMAP2_AUTOIDLE)>;
707 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
708 <SYSC_IDLE_NO>,
709 <SYSC_IDLE_SMART>;
710 ti,syss-mask = <1>;
711 clocks = <&gpt1_fck>, <&gpt1_ick>;
712 clock-names = "fck", "ick";
713 #address-cells = <1>;
714 #size-cells = <1>;
715 ranges = <0x0 0x48318000 0x1000>;
716
717 timer1: timer@0 {
718 compatible = "ti,omap3430-timer";
719 reg = <0x0 0x80>;
720 clocks = <&gpt1_fck>;
721 clock-names = "fck";
722 interrupts = <37>;
723 ti,timer-alwon;
724 };
725 };
726
727 timer2_target: target-module@49032000 {
728 compatible = "ti,sysc-omap2-timer", "ti,sysc";
729 reg = <0x49032000 0x4>,
730 <0x49032010 0x4>,
731 <0x49032014 0x4>;
732 reg-names = "rev", "sysc", "syss";
733 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
734 SYSC_OMAP2_EMUFREE |
735 SYSC_OMAP2_ENAWAKEUP |
736 SYSC_OMAP2_SOFTRESET |
737 SYSC_OMAP2_AUTOIDLE)>;
738 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
739 <SYSC_IDLE_NO>,
740 <SYSC_IDLE_SMART>;
741 ti,syss-mask = <1>;
742 clocks = <&gpt2_fck>, <&gpt2_ick>;
743 clock-names = "fck", "ick";
744 #address-cells = <1>;
745 #size-cells = <1>;
746 ranges = <0x0 0x49032000 0x1000>;
747
748 timer2: timer@0 {
749 compatible = "ti,omap3430-timer";
750 reg = <0 0x400>;
751 interrupts = <38>;
752 };
753 };
754
755 timer3: timer@49034000 {
756 compatible = "ti,omap3430-timer";
757 reg = <0x49034000 0x400>;
758 interrupts = <39>;
759 ti,hwmods = "timer3";
760 };
761
762 timer4: timer@49036000 {
763 compatible = "ti,omap3430-timer";
764 reg = <0x49036000 0x400>;
765 interrupts = <40>;
766 ti,hwmods = "timer4";
767 };
768
769 timer5: timer@49038000 {
770 compatible = "ti,omap3430-timer";
771 reg = <0x49038000 0x400>;
772 interrupts = <41>;
773 ti,hwmods = "timer5";
774 ti,timer-dsp;
775 };
776
777 timer6: timer@4903a000 {
778 compatible = "ti,omap3430-timer";
779 reg = <0x4903a000 0x400>;
780 interrupts = <42>;
781 ti,hwmods = "timer6";
782 ti,timer-dsp;
783 };
784
785 timer7: timer@4903c000 {
786 compatible = "ti,omap3430-timer";
787 reg = <0x4903c000 0x400>;
788 interrupts = <43>;
789 ti,hwmods = "timer7";
790 ti,timer-dsp;
791 };
792
793 timer8: timer@4903e000 {
794 compatible = "ti,omap3430-timer";
795 reg = <0x4903e000 0x400>;
796 interrupts = <44>;
797 ti,hwmods = "timer8";
798 ti,timer-pwm;
799 ti,timer-dsp;
800 };
801
802 timer9: timer@49040000 {
803 compatible = "ti,omap3430-timer";
804 reg = <0x49040000 0x400>;
805 interrupts = <45>;
806 ti,hwmods = "timer9";
807 ti,timer-pwm;
808 };
809
810 timer10: timer@48086000 {
811 compatible = "ti,omap3430-timer";
812 reg = <0x48086000 0x400>;
813 interrupts = <46>;
814 ti,hwmods = "timer10";
815 ti,timer-pwm;
816 };
817
818 timer11: timer@48088000 {
819 compatible = "ti,omap3430-timer";
820 reg = <0x48088000 0x400>;
821 interrupts = <47>;
822 ti,hwmods = "timer11";
823 ti,timer-pwm;
824 };
825
826 timer12_target: target-module@48304000 {
827 compatible = "ti,sysc-omap2-timer", "ti,sysc";
828 reg = <0x48304000 0x4>,
829 <0x48304010 0x4>,
830 <0x48304014 0x4>;
831 reg-names = "rev", "sysc", "syss";
832 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
833 SYSC_OMAP2_EMUFREE |
834 SYSC_OMAP2_ENAWAKEUP |
835 SYSC_OMAP2_SOFTRESET |
836 SYSC_OMAP2_AUTOIDLE)>;
837 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
838 <SYSC_IDLE_NO>,
839 <SYSC_IDLE_SMART>;
840 ti,syss-mask = <1>;
841 clocks = <&gpt12_fck>, <&gpt12_ick>;
842 clock-names = "fck", "ick";
843 #address-cells = <1>;
844 #size-cells = <1>;
845 ranges = <0x0 0x48304000 0x1000>;
846
847 timer12: timer@0 {
848 compatible = "ti,omap3430-timer";
849 reg = <0 0x400>;
850 interrupts = <95>;
851 ti,timer-alwon;
852 ti,timer-secure;
853 };
854 };
855
856 usbhstll: usbhstll@48062000 {
857 compatible = "ti,usbhs-tll";
858 reg = <0x48062000 0x1000>;
859 interrupts = <78>;
860 ti,hwmods = "usb_tll_hs";
861 };
862
863 usbhshost: usbhshost@48064000 {
864 compatible = "ti,usbhs-host";
865 reg = <0x48064000 0x400>;
866 ti,hwmods = "usb_host_hs";
867 #address-cells = <1>;
868 #size-cells = <1>;
869 ranges;
870
871 usbhsohci: ohci@48064400 {
872 compatible = "ti,ohci-omap3";
873 reg = <0x48064400 0x400>;
874 interrupts = <76>;
875 remote-wakeup-connected;
876 };
877
878 usbhsehci: ehci@48064800 {
879 compatible = "ti,ehci-omap";
880 reg = <0x48064800 0x400>;
881 interrupts = <77>;
882 };
883 };
884
885 gpmc: gpmc@6e000000 {
886 compatible = "ti,omap3430-gpmc";
887 ti,hwmods = "gpmc";
888 reg = <0x6e000000 0x02d0>;
889 interrupts = <20>;
890 dmas = <&sdma 4>;
891 dma-names = "rxtx";
892 gpmc,num-cs = <8>;
893 gpmc,num-waitpins = <4>;
894 #address-cells = <2>;
895 #size-cells = <1>;
896 interrupt-controller;
897 #interrupt-cells = <2>;
898 gpio-controller;
899 #gpio-cells = <2>;
900 };
901
902 usb_otg_hs: usb_otg_hs@480ab000 {
903 compatible = "ti,omap3-musb";
904 reg = <0x480ab000 0x1000>;
905 interrupts = <92>, <93>;
906 interrupt-names = "mc", "dma";
907 ti,hwmods = "usb_otg_hs";
908 multipoint = <1>;
909 num-eps = <16>;
910 ram-bits = <12>;
911 };
912
913 dss: dss@48050000 {
914 compatible = "ti,omap3-dss";
915 reg = <0x48050000 0x200>;
916 status = "disabled";
917 ti,hwmods = "dss_core";
918 clocks = <&dss1_alwon_fck>;
919 clock-names = "fck";
920 #address-cells = <1>;
921 #size-cells = <1>;
922 ranges;
923
924 dispc@48050400 {
925 compatible = "ti,omap3-dispc";
926 reg = <0x48050400 0x400>;
927 interrupts = <25>;
928 ti,hwmods = "dss_dispc";
929 clocks = <&dss1_alwon_fck>;
930 clock-names = "fck";
931 };
932
933 dsi: encoder@4804fc00 {
934 compatible = "ti,omap3-dsi";
935 reg = <0x4804fc00 0x200>,
936 <0x4804fe00 0x40>,
937 <0x4804ff00 0x20>;
938 reg-names = "proto", "phy", "pll";
939 interrupts = <25>;
940 status = "disabled";
941 ti,hwmods = "dss_dsi1";
942 clocks = <&dss1_alwon_fck>, <&dss2_alwon_fck>;
943 clock-names = "fck", "sys_clk";
944 };
945
946 rfbi: encoder@48050800 {
947 compatible = "ti,omap3-rfbi";
948 reg = <0x48050800 0x100>;
949 status = "disabled";
950 ti,hwmods = "dss_rfbi";
951 clocks = <&dss1_alwon_fck>, <&dss_ick>;
952 clock-names = "fck", "ick";
953 };
954
955 venc: encoder@48050c00 {
956 compatible = "ti,omap3-venc";
957 reg = <0x48050c00 0x100>;
958 status = "disabled";
959 ti,hwmods = "dss_venc";
960 clocks = <&dss_tv_fck>;
961 clock-names = "fck";
962 };
963 };
964
965 ssi: ssi-controller@48058000 {
966 compatible = "ti,omap3-ssi";
967 ti,hwmods = "ssi";
968
969 status = "disabled";
970
971 reg = <0x48058000 0x1000>,
972 <0x48059000 0x1000>;
973 reg-names = "sys",
974 "gdd";
975
976 interrupts = <71>;
977 interrupt-names = "gdd_mpu";
978
979 #address-cells = <1>;
980 #size-cells = <1>;
981 ranges;
982
983 ssi_port1: ssi-port@4805a000 {
984 compatible = "ti,omap3-ssi-port";
985
986 reg = <0x4805a000 0x800>,
987 <0x4805a800 0x800>;
988 reg-names = "tx",
989 "rx";
990
991 interrupts = <67>,
992 <68>;
993 };
994
995 ssi_port2: ssi-port@4805b000 {
996 compatible = "ti,omap3-ssi-port";
997
998 reg = <0x4805b000 0x800>,
999 <0x4805b800 0x800>;
1000 reg-names = "tx",
1001 "rx";
1002
1003 interrupts = <69>,
1004 <70>;
1005 };
1006 };
1007 };
1008};
1009
1010#include "omap3xxx-clocks.dtsi"
1011
1012/* Preferred always-on timer for clockevent. Some boards must use dmtimer12 */
1013&timer1_target {
1014 ti,no-reset-on-init;
1015 ti,no-idle;
1016 timer@0 {
1017 assigned-clocks = <&gpt1_fck>;
1018 assigned-clock-parents = <&omap_32k_fck>;
1019 };
1020};