2 * Device Tree Source for OMAP3 SoC
4 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
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.
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/interrupt-controller/irq.h>
13 #include <dt-bindings/pinctrl/omap.h>
15 #include "skeleton.dtsi"
18 compatible = "ti,omap3430", "ti,omap3";
19 interrupt-parent = <&intc>;
38 compatible = "arm,cortex-a8";
45 clock-latency = <300000>; /* From omap-cpufreq driver */
50 compatible = "arm,cortex-a8-pmu";
51 reg = <0x54000000 0x800000>;
53 ti,hwmods = "debugss";
57 * The soc node represents the soc top level view. It is used for IPs
58 * that are not memory mapped in the MPU view or for the MPU itself.
61 compatible = "ti,omap-infra";
63 compatible = "ti,omap3-mpu";
68 compatible = "ti,iva2.2";
72 compatible = "ti,omap3-c64";
78 * XXX: Use a flat representation of the OMAP3 interconnect.
79 * The real OMAP interconnect network is quite complex.
80 * Since it will not bring real advantage to represent that in DT for
81 * the moment, just use a fake OCP bus entry to represent the whole bus
85 compatible = "ti,omap3-l3-smx", "simple-bus";
86 reg = <0x68000000 0x10000>;
91 ti,hwmods = "l3_main";
93 l4_core: l4@48000000 {
94 compatible = "ti,omap3-l4-core", "simple-bus";
97 ranges = <0 0x48000000 0x1000000>;
100 compatible = "ti,omap3-scm", "simple-bus";
101 reg = <0x2000 0x2000>;
102 #address-cells = <1>;
104 ranges = <0 0x2000 0x2000>;
106 omap3_pmx_core: pinmux@30 {
107 compatible = "ti,omap3-padconf",
110 #address-cells = <1>;
112 #interrupt-cells = <1>;
113 interrupt-controller;
114 pinctrl-single,register-width = <16>;
115 pinctrl-single,function-mask = <0xff1f>;
118 scm_conf: scm_conf@270 {
119 compatible = "syscon", "simple-bus";
121 #address-cells = <1>;
123 ranges = <0 0x270 0x330>;
125 pbias_regulator: pbias_regulator {
126 compatible = "ti,pbias-omap3", "ti,pbias-omap";
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>;
137 #address-cells = <1>;
142 scm_clockdomains: clockdomains {
145 omap3_pmx_wkup: pinmux@a00 {
146 compatible = "ti,omap3-padconf",
149 #address-cells = <1>;
151 #interrupt-cells = <1>;
152 interrupt-controller;
153 pinctrl-single,register-width = <16>;
154 pinctrl-single,function-mask = <0xff1f>;
160 compatible = "ti,omap3-aes";
162 reg = <0x480c5000 0x50>;
164 dmas = <&sdma 65 &sdma 66>;
165 dma-names = "tx", "rx";
169 compatible = "ti,omap3-prm";
170 reg = <0x48306000 0x4000>;
174 #address-cells = <1>;
178 prm_clockdomains: clockdomains {
183 compatible = "ti,omap3-cm";
184 reg = <0x48004000 0x4000>;
187 #address-cells = <1>;
191 cm_clockdomains: clockdomains {
195 counter32k: counter@48320000 {
196 compatible = "ti,omap-counter32k";
197 reg = <0x48320000 0x20>;
198 ti,hwmods = "counter_32k";
201 intc: interrupt-controller@48200000 {
202 compatible = "ti,omap3-intc";
203 interrupt-controller;
204 #interrupt-cells = <1>;
205 reg = <0x48200000 0x1000>;
208 sdma: dma-controller@48056000 {
209 compatible = "ti,omap3630-sdma", "ti,omap3430-sdma";
210 reg = <0x48056000 0x1000>;
220 gpio1: gpio@48310000 {
221 compatible = "ti,omap3-gpio";
222 reg = <0x48310000 0x200>;
228 interrupt-controller;
229 #interrupt-cells = <2>;
232 gpio2: gpio@49050000 {
233 compatible = "ti,omap3-gpio";
234 reg = <0x49050000 0x200>;
239 interrupt-controller;
240 #interrupt-cells = <2>;
243 gpio3: gpio@49052000 {
244 compatible = "ti,omap3-gpio";
245 reg = <0x49052000 0x200>;
250 interrupt-controller;
251 #interrupt-cells = <2>;
254 gpio4: gpio@49054000 {
255 compatible = "ti,omap3-gpio";
256 reg = <0x49054000 0x200>;
261 interrupt-controller;
262 #interrupt-cells = <2>;
265 gpio5: gpio@49056000 {
266 compatible = "ti,omap3-gpio";
267 reg = <0x49056000 0x200>;
272 interrupt-controller;
273 #interrupt-cells = <2>;
276 gpio6: gpio@49058000 {
277 compatible = "ti,omap3-gpio";
278 reg = <0x49058000 0x200>;
283 interrupt-controller;
284 #interrupt-cells = <2>;
287 uart1: serial@4806a000 {
288 compatible = "ti,omap3-uart";
289 reg = <0x4806a000 0x2000>;
290 interrupts-extended = <&intc 72>;
291 dmas = <&sdma 49 &sdma 50>;
292 dma-names = "tx", "rx";
294 clock-frequency = <48000000>;
297 uart2: serial@4806c000 {
298 compatible = "ti,omap3-uart";
299 reg = <0x4806c000 0x400>;
300 interrupts-extended = <&intc 73>;
301 dmas = <&sdma 51 &sdma 52>;
302 dma-names = "tx", "rx";
304 clock-frequency = <48000000>;
307 uart3: serial@49020000 {
308 compatible = "ti,omap3-uart";
309 reg = <0x49020000 0x400>;
310 interrupts-extended = <&intc 74>;
311 dmas = <&sdma 53 &sdma 54>;
312 dma-names = "tx", "rx";
314 clock-frequency = <48000000>;
318 compatible = "ti,omap3-i2c";
319 reg = <0x48070000 0x80>;
321 dmas = <&sdma 27 &sdma 28>;
322 dma-names = "tx", "rx";
323 #address-cells = <1>;
329 compatible = "ti,omap3-i2c";
330 reg = <0x48072000 0x80>;
332 dmas = <&sdma 29 &sdma 30>;
333 dma-names = "tx", "rx";
334 #address-cells = <1>;
340 compatible = "ti,omap3-i2c";
341 reg = <0x48060000 0x80>;
343 dmas = <&sdma 25 &sdma 26>;
344 dma-names = "tx", "rx";
345 #address-cells = <1>;
350 mailbox: mailbox@48094000 {
351 compatible = "ti,omap3-mailbox";
352 ti,hwmods = "mailbox";
353 reg = <0x48094000 0x200>;
356 ti,mbox-num-users = <2>;
357 ti,mbox-num-fifos = <2>;
359 ti,mbox-tx = <0 0 0>;
360 ti,mbox-rx = <1 0 0>;
364 mcspi1: spi@48098000 {
365 compatible = "ti,omap2-mcspi";
366 reg = <0x48098000 0x100>;
368 #address-cells = <1>;
370 ti,hwmods = "mcspi1";
380 dma-names = "tx0", "rx0", "tx1", "rx1",
381 "tx2", "rx2", "tx3", "rx3";
384 mcspi2: spi@4809a000 {
385 compatible = "ti,omap2-mcspi";
386 reg = <0x4809a000 0x100>;
388 #address-cells = <1>;
390 ti,hwmods = "mcspi2";
396 dma-names = "tx0", "rx0", "tx1", "rx1";
399 mcspi3: spi@480b8000 {
400 compatible = "ti,omap2-mcspi";
401 reg = <0x480b8000 0x100>;
403 #address-cells = <1>;
405 ti,hwmods = "mcspi3";
411 dma-names = "tx0", "rx0", "tx1", "rx1";
414 mcspi4: spi@480ba000 {
415 compatible = "ti,omap2-mcspi";
416 reg = <0x480ba000 0x100>;
418 #address-cells = <1>;
420 ti,hwmods = "mcspi4";
422 dmas = <&sdma 70>, <&sdma 71>;
423 dma-names = "tx0", "rx0";
426 hdqw1w: 1w@480b2000 {
427 compatible = "ti,omap3-1w";
428 reg = <0x480b2000 0x1000>;
434 compatible = "ti,omap3-hsmmc";
435 reg = <0x4809c000 0x200>;
439 dmas = <&sdma 61>, <&sdma 62>;
440 dma-names = "tx", "rx";
441 pbias-supply = <&pbias_mmc_reg>;
445 compatible = "ti,omap3-hsmmc";
446 reg = <0x480b4000 0x200>;
449 dmas = <&sdma 47>, <&sdma 48>;
450 dma-names = "tx", "rx";
454 compatible = "ti,omap3-hsmmc";
455 reg = <0x480ad000 0x200>;
458 dmas = <&sdma 77>, <&sdma 78>;
459 dma-names = "tx", "rx";
462 mmu_isp: mmu@480bd400 {
464 compatible = "ti,omap2-iommu";
465 reg = <0x480bd400 0x80>;
467 ti,hwmods = "mmu_isp";
468 ti,#tlb-entries = <8>;
471 mmu_iva: mmu@5d000000 {
473 compatible = "ti,omap2-iommu";
474 reg = <0x5d000000 0x80>;
476 ti,hwmods = "mmu_iva";
481 compatible = "ti,omap3-wdt";
482 reg = <0x48314000 0x80>;
483 ti,hwmods = "wd_timer2";
486 mcbsp1: mcbsp@48074000 {
487 compatible = "ti,omap3-mcbsp";
488 reg = <0x48074000 0xff>;
490 interrupts = <16>, /* OCP compliant interrupt */
491 <59>, /* TX interrupt */
492 <60>; /* RX interrupt */
493 interrupt-names = "common", "tx", "rx";
494 ti,buffer-size = <128>;
495 ti,hwmods = "mcbsp1";
498 dma-names = "tx", "rx";
502 mcbsp2: mcbsp@49022000 {
503 compatible = "ti,omap3-mcbsp";
504 reg = <0x49022000 0xff>,
506 reg-names = "mpu", "sidetone";
507 interrupts = <17>, /* OCP compliant interrupt */
508 <62>, /* TX interrupt */
509 <63>, /* RX interrupt */
511 interrupt-names = "common", "tx", "rx", "sidetone";
512 ti,buffer-size = <1280>;
513 ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
516 dma-names = "tx", "rx";
520 mcbsp3: mcbsp@49024000 {
521 compatible = "ti,omap3-mcbsp";
522 reg = <0x49024000 0xff>,
524 reg-names = "mpu", "sidetone";
525 interrupts = <22>, /* OCP compliant interrupt */
526 <89>, /* TX interrupt */
527 <90>, /* RX interrupt */
529 interrupt-names = "common", "tx", "rx", "sidetone";
530 ti,buffer-size = <128>;
531 ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
534 dma-names = "tx", "rx";
538 mcbsp4: mcbsp@49026000 {
539 compatible = "ti,omap3-mcbsp";
540 reg = <0x49026000 0xff>;
542 interrupts = <23>, /* OCP compliant interrupt */
543 <54>, /* TX interrupt */
544 <55>; /* RX interrupt */
545 interrupt-names = "common", "tx", "rx";
546 ti,buffer-size = <128>;
547 ti,hwmods = "mcbsp4";
550 dma-names = "tx", "rx";
554 mcbsp5: mcbsp@48096000 {
555 compatible = "ti,omap3-mcbsp";
556 reg = <0x48096000 0xff>;
558 interrupts = <27>, /* OCP compliant interrupt */
559 <81>, /* TX interrupt */
560 <82>; /* RX interrupt */
561 interrupt-names = "common", "tx", "rx";
562 ti,buffer-size = <128>;
563 ti,hwmods = "mcbsp5";
566 dma-names = "tx", "rx";
570 sham: sham@480c3000 {
571 compatible = "ti,omap3-sham";
573 reg = <0x480c3000 0x64>;
579 smartreflex_core: smartreflex@480cb000 {
580 compatible = "ti,omap3-smartreflex-core";
581 ti,hwmods = "smartreflex_core";
582 reg = <0x480cb000 0x400>;
586 smartreflex_mpu_iva: smartreflex@480c9000 {
587 compatible = "ti,omap3-smartreflex-iva";
588 ti,hwmods = "smartreflex_mpu_iva";
589 reg = <0x480c9000 0x400>;
593 timer1: timer@48318000 {
594 compatible = "ti,omap3430-timer";
595 reg = <0x48318000 0x400>;
597 ti,hwmods = "timer1";
601 timer2: timer@49032000 {
602 compatible = "ti,omap3430-timer";
603 reg = <0x49032000 0x400>;
605 ti,hwmods = "timer2";
608 timer3: timer@49034000 {
609 compatible = "ti,omap3430-timer";
610 reg = <0x49034000 0x400>;
612 ti,hwmods = "timer3";
615 timer4: timer@49036000 {
616 compatible = "ti,omap3430-timer";
617 reg = <0x49036000 0x400>;
619 ti,hwmods = "timer4";
622 timer5: timer@49038000 {
623 compatible = "ti,omap3430-timer";
624 reg = <0x49038000 0x400>;
626 ti,hwmods = "timer5";
630 timer6: timer@4903a000 {
631 compatible = "ti,omap3430-timer";
632 reg = <0x4903a000 0x400>;
634 ti,hwmods = "timer6";
638 timer7: timer@4903c000 {
639 compatible = "ti,omap3430-timer";
640 reg = <0x4903c000 0x400>;
642 ti,hwmods = "timer7";
646 timer8: timer@4903e000 {
647 compatible = "ti,omap3430-timer";
648 reg = <0x4903e000 0x400>;
650 ti,hwmods = "timer8";
655 timer9: timer@49040000 {
656 compatible = "ti,omap3430-timer";
657 reg = <0x49040000 0x400>;
659 ti,hwmods = "timer9";
663 timer10: timer@48086000 {
664 compatible = "ti,omap3430-timer";
665 reg = <0x48086000 0x400>;
667 ti,hwmods = "timer10";
671 timer11: timer@48088000 {
672 compatible = "ti,omap3430-timer";
673 reg = <0x48088000 0x400>;
675 ti,hwmods = "timer11";
679 timer12: timer@48304000 {
680 compatible = "ti,omap3430-timer";
681 reg = <0x48304000 0x400>;
683 ti,hwmods = "timer12";
688 usbhstll: usbhstll@48062000 {
689 compatible = "ti,usbhs-tll";
690 reg = <0x48062000 0x1000>;
692 ti,hwmods = "usb_tll_hs";
695 usbhshost: usbhshost@48064000 {
696 compatible = "ti,usbhs-host";
697 reg = <0x48064000 0x400>;
698 ti,hwmods = "usb_host_hs";
699 #address-cells = <1>;
703 usbhsohci: ohci@48064400 {
704 compatible = "ti,ohci-omap3";
705 reg = <0x48064400 0x400>;
706 interrupt-parent = <&intc>;
710 usbhsehci: ehci@48064800 {
711 compatible = "ti,ehci-omap";
712 reg = <0x48064800 0x400>;
713 interrupt-parent = <&intc>;
718 gpmc: gpmc@6e000000 {
719 compatible = "ti,omap3430-gpmc";
721 reg = <0x6e000000 0x02d0>;
724 gpmc,num-waitpins = <4>;
725 #address-cells = <2>;
729 usb_otg_hs: usb_otg_hs@480ab000 {
730 compatible = "ti,omap3-musb";
731 reg = <0x480ab000 0x1000>;
732 interrupts = <92>, <93>;
733 interrupt-names = "mc", "dma";
734 ti,hwmods = "usb_otg_hs";
741 compatible = "ti,omap3-dss";
742 reg = <0x48050000 0x200>;
744 ti,hwmods = "dss_core";
745 clocks = <&dss1_alwon_fck>;
747 #address-cells = <1>;
752 compatible = "ti,omap3-dispc";
753 reg = <0x48050400 0x400>;
755 ti,hwmods = "dss_dispc";
756 clocks = <&dss1_alwon_fck>;
760 dsi: encoder@4804fc00 {
761 compatible = "ti,omap3-dsi";
762 reg = <0x4804fc00 0x200>,
765 reg-names = "proto", "phy", "pll";
768 ti,hwmods = "dss_dsi1";
769 clocks = <&dss1_alwon_fck>, <&dss2_alwon_fck>;
770 clock-names = "fck", "sys_clk";
773 rfbi: encoder@48050800 {
774 compatible = "ti,omap3-rfbi";
775 reg = <0x48050800 0x100>;
777 ti,hwmods = "dss_rfbi";
778 clocks = <&dss1_alwon_fck>, <&dss_ick>;
779 clock-names = "fck", "ick";
782 venc: encoder@48050c00 {
783 compatible = "ti,omap3-venc";
784 reg = <0x48050c00 0x100>;
786 ti,hwmods = "dss_venc";
787 clocks = <&dss_tv_fck>;
792 ssi: ssi-controller@48058000 {
793 compatible = "ti,omap3-ssi";
798 reg = <0x48058000 0x1000>,
804 interrupt-names = "gdd_mpu";
806 #address-cells = <1>;
810 ssi_port1: ssi-port@4805a000 {
811 compatible = "ti,omap3-ssi-port";
813 reg = <0x4805a000 0x800>,
818 interrupt-parent = <&intc>;
823 ssi_port2: ssi-port@4805b000 {
824 compatible = "ti,omap3-ssi-port";
826 reg = <0x4805b000 0x800>,
831 interrupt-parent = <&intc>;
839 /include/ "omap3xxx-clocks.dtsi"