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>;
35 compatible = "arm,cortex-a8";
42 clock-latency = <300000>; /* From omap-cpufreq driver */
47 compatible = "arm,cortex-a8-pmu";
48 reg = <0x54000000 0x800000>;
50 ti,hwmods = "debugss";
54 * The soc node represents the soc top level view. It is used for IPs
55 * that are not memory mapped in the MPU view or for the MPU itself.
58 compatible = "ti,omap-infra";
60 compatible = "ti,omap3-mpu";
65 compatible = "ti,iva2.2";
69 compatible = "ti,omap3-c64";
75 * XXX: Use a flat representation of the OMAP3 interconnect.
76 * The real OMAP interconnect network is quite complex.
77 * Since it will not bring real advantage to represent that in DT for
78 * the moment, just use a fake OCP bus entry to represent the whole bus
82 compatible = "ti,omap3-l3-smx", "simple-bus";
83 reg = <0x68000000 0x10000>;
88 ti,hwmods = "l3_main";
90 l4_core: l4@48000000 {
91 compatible = "ti,omap3-l4-core", "simple-bus";
94 ranges = <0 0x48000000 0x1000000>;
97 compatible = "ti,omap3-scm", "simple-bus";
98 reg = <0x2000 0x2000>;
101 ranges = <0 0x2000 0x2000>;
103 omap3_pmx_core: pinmux@30 {
104 compatible = "ti,omap3-padconf",
107 #address-cells = <1>;
109 #interrupt-cells = <1>;
110 interrupt-controller;
111 pinctrl-single,register-width = <16>;
112 pinctrl-single,function-mask = <0xff1f>;
115 scm_conf: scm_conf@270 {
116 compatible = "syscon", "simple-bus";
118 #address-cells = <1>;
120 ranges = <0 0x270 0x330>;
122 pbias_regulator: pbias_regulator@2b0 {
123 compatible = "ti,pbias-omap3", "ti,pbias-omap";
125 syscon = <&scm_conf>;
126 pbias_mmc_reg: pbias_mmc_omap2430 {
127 regulator-name = "pbias_mmc_omap2430";
128 regulator-min-microvolt = <1800000>;
129 regulator-max-microvolt = <3000000>;
134 #address-cells = <1>;
139 scm_clockdomains: clockdomains {
142 omap3_pmx_wkup: pinmux@a00 {
143 compatible = "ti,omap3-padconf",
146 #address-cells = <1>;
148 #interrupt-cells = <1>;
149 interrupt-controller;
150 pinctrl-single,register-width = <16>;
151 pinctrl-single,function-mask = <0xff1f>;
157 compatible = "ti,omap3-aes";
159 reg = <0x480c5000 0x50>;
161 dmas = <&sdma 65 &sdma 66>;
162 dma-names = "tx", "rx";
166 compatible = "ti,omap3-prm";
167 reg = <0x48306000 0x4000>;
171 #address-cells = <1>;
175 prm_clockdomains: clockdomains {
180 compatible = "ti,omap3-cm";
181 reg = <0x48004000 0x4000>;
184 #address-cells = <1>;
188 cm_clockdomains: clockdomains {
192 counter32k: counter@48320000 {
193 compatible = "ti,omap-counter32k";
194 reg = <0x48320000 0x20>;
195 ti,hwmods = "counter_32k";
198 intc: interrupt-controller@48200000 {
199 compatible = "ti,omap3-intc";
200 interrupt-controller;
201 #interrupt-cells = <1>;
202 reg = <0x48200000 0x1000>;
205 sdma: dma-controller@48056000 {
206 compatible = "ti,omap3630-sdma", "ti,omap3430-sdma";
207 reg = <0x48056000 0x1000>;
217 gpio1: gpio@48310000 {
218 compatible = "ti,omap3-gpio";
219 reg = <0x48310000 0x200>;
225 interrupt-controller;
226 #interrupt-cells = <2>;
229 gpio2: gpio@49050000 {
230 compatible = "ti,omap3-gpio";
231 reg = <0x49050000 0x200>;
236 interrupt-controller;
237 #interrupt-cells = <2>;
240 gpio3: gpio@49052000 {
241 compatible = "ti,omap3-gpio";
242 reg = <0x49052000 0x200>;
247 interrupt-controller;
248 #interrupt-cells = <2>;
251 gpio4: gpio@49054000 {
252 compatible = "ti,omap3-gpio";
253 reg = <0x49054000 0x200>;
258 interrupt-controller;
259 #interrupt-cells = <2>;
262 gpio5: gpio@49056000 {
263 compatible = "ti,omap3-gpio";
264 reg = <0x49056000 0x200>;
269 interrupt-controller;
270 #interrupt-cells = <2>;
273 gpio6: gpio@49058000 {
274 compatible = "ti,omap3-gpio";
275 reg = <0x49058000 0x200>;
280 interrupt-controller;
281 #interrupt-cells = <2>;
284 uart1: serial@4806a000 {
285 compatible = "ti,omap3-uart";
286 reg = <0x4806a000 0x2000>;
287 interrupts-extended = <&intc 72>;
288 dmas = <&sdma 49 &sdma 50>;
289 dma-names = "tx", "rx";
291 clock-frequency = <48000000>;
294 uart2: serial@4806c000 {
295 compatible = "ti,omap3-uart";
296 reg = <0x4806c000 0x400>;
297 interrupts-extended = <&intc 73>;
298 dmas = <&sdma 51 &sdma 52>;
299 dma-names = "tx", "rx";
301 clock-frequency = <48000000>;
304 uart3: serial@49020000 {
305 compatible = "ti,omap3-uart";
306 reg = <0x49020000 0x400>;
307 interrupts-extended = <&intc 74>;
308 dmas = <&sdma 53 &sdma 54>;
309 dma-names = "tx", "rx";
311 clock-frequency = <48000000>;
315 compatible = "ti,omap3-i2c";
316 reg = <0x48070000 0x80>;
318 dmas = <&sdma 27 &sdma 28>;
319 dma-names = "tx", "rx";
320 #address-cells = <1>;
326 compatible = "ti,omap3-i2c";
327 reg = <0x48072000 0x80>;
329 dmas = <&sdma 29 &sdma 30>;
330 dma-names = "tx", "rx";
331 #address-cells = <1>;
337 compatible = "ti,omap3-i2c";
338 reg = <0x48060000 0x80>;
340 dmas = <&sdma 25 &sdma 26>;
341 dma-names = "tx", "rx";
342 #address-cells = <1>;
347 mailbox: mailbox@48094000 {
348 compatible = "ti,omap3-mailbox";
349 ti,hwmods = "mailbox";
350 reg = <0x48094000 0x200>;
353 ti,mbox-num-users = <2>;
354 ti,mbox-num-fifos = <2>;
356 ti,mbox-tx = <0 0 0>;
357 ti,mbox-rx = <1 0 0>;
361 mcspi1: spi@48098000 {
362 compatible = "ti,omap2-mcspi";
363 reg = <0x48098000 0x100>;
365 #address-cells = <1>;
367 ti,hwmods = "mcspi1";
377 dma-names = "tx0", "rx0", "tx1", "rx1",
378 "tx2", "rx2", "tx3", "rx3";
381 mcspi2: spi@4809a000 {
382 compatible = "ti,omap2-mcspi";
383 reg = <0x4809a000 0x100>;
385 #address-cells = <1>;
387 ti,hwmods = "mcspi2";
393 dma-names = "tx0", "rx0", "tx1", "rx1";
396 mcspi3: spi@480b8000 {
397 compatible = "ti,omap2-mcspi";
398 reg = <0x480b8000 0x100>;
400 #address-cells = <1>;
402 ti,hwmods = "mcspi3";
408 dma-names = "tx0", "rx0", "tx1", "rx1";
411 mcspi4: spi@480ba000 {
412 compatible = "ti,omap2-mcspi";
413 reg = <0x480ba000 0x100>;
415 #address-cells = <1>;
417 ti,hwmods = "mcspi4";
419 dmas = <&sdma 70>, <&sdma 71>;
420 dma-names = "tx0", "rx0";
423 hdqw1w: 1w@480b2000 {
424 compatible = "ti,omap3-1w";
425 reg = <0x480b2000 0x1000>;
431 compatible = "ti,omap3-hsmmc";
432 reg = <0x4809c000 0x200>;
436 dmas = <&sdma 61>, <&sdma 62>;
437 dma-names = "tx", "rx";
438 pbias-supply = <&pbias_mmc_reg>;
442 compatible = "ti,omap3-hsmmc";
443 reg = <0x480b4000 0x200>;
446 dmas = <&sdma 47>, <&sdma 48>;
447 dma-names = "tx", "rx";
451 compatible = "ti,omap3-hsmmc";
452 reg = <0x480ad000 0x200>;
455 dmas = <&sdma 77>, <&sdma 78>;
456 dma-names = "tx", "rx";
459 mmu_isp: mmu@480bd400 {
461 compatible = "ti,omap2-iommu";
462 reg = <0x480bd400 0x80>;
464 ti,hwmods = "mmu_isp";
465 ti,#tlb-entries = <8>;
468 mmu_iva: mmu@5d000000 {
470 compatible = "ti,omap2-iommu";
471 reg = <0x5d000000 0x80>;
473 ti,hwmods = "mmu_iva";
478 compatible = "ti,omap3-wdt";
479 reg = <0x48314000 0x80>;
480 ti,hwmods = "wd_timer2";
483 mcbsp1: mcbsp@48074000 {
484 compatible = "ti,omap3-mcbsp";
485 reg = <0x48074000 0xff>;
487 interrupts = <16>, /* OCP compliant interrupt */
488 <59>, /* TX interrupt */
489 <60>; /* RX interrupt */
490 interrupt-names = "common", "tx", "rx";
491 ti,buffer-size = <128>;
492 ti,hwmods = "mcbsp1";
495 dma-names = "tx", "rx";
499 mcbsp2: mcbsp@49022000 {
500 compatible = "ti,omap3-mcbsp";
501 reg = <0x49022000 0xff>,
503 reg-names = "mpu", "sidetone";
504 interrupts = <17>, /* OCP compliant interrupt */
505 <62>, /* TX interrupt */
506 <63>, /* RX interrupt */
508 interrupt-names = "common", "tx", "rx", "sidetone";
509 ti,buffer-size = <1280>;
510 ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
513 dma-names = "tx", "rx";
517 mcbsp3: mcbsp@49024000 {
518 compatible = "ti,omap3-mcbsp";
519 reg = <0x49024000 0xff>,
521 reg-names = "mpu", "sidetone";
522 interrupts = <22>, /* OCP compliant interrupt */
523 <89>, /* TX interrupt */
524 <90>, /* RX interrupt */
526 interrupt-names = "common", "tx", "rx", "sidetone";
527 ti,buffer-size = <128>;
528 ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
531 dma-names = "tx", "rx";
535 mcbsp4: mcbsp@49026000 {
536 compatible = "ti,omap3-mcbsp";
537 reg = <0x49026000 0xff>;
539 interrupts = <23>, /* OCP compliant interrupt */
540 <54>, /* TX interrupt */
541 <55>; /* RX interrupt */
542 interrupt-names = "common", "tx", "rx";
543 ti,buffer-size = <128>;
544 ti,hwmods = "mcbsp4";
547 dma-names = "tx", "rx";
551 mcbsp5: mcbsp@48096000 {
552 compatible = "ti,omap3-mcbsp";
553 reg = <0x48096000 0xff>;
555 interrupts = <27>, /* OCP compliant interrupt */
556 <81>, /* TX interrupt */
557 <82>; /* RX interrupt */
558 interrupt-names = "common", "tx", "rx";
559 ti,buffer-size = <128>;
560 ti,hwmods = "mcbsp5";
563 dma-names = "tx", "rx";
567 sham: sham@480c3000 {
568 compatible = "ti,omap3-sham";
570 reg = <0x480c3000 0x64>;
576 smartreflex_core: smartreflex@480cb000 {
577 compatible = "ti,omap3-smartreflex-core";
578 ti,hwmods = "smartreflex_core";
579 reg = <0x480cb000 0x400>;
583 smartreflex_mpu_iva: smartreflex@480c9000 {
584 compatible = "ti,omap3-smartreflex-iva";
585 ti,hwmods = "smartreflex_mpu_iva";
586 reg = <0x480c9000 0x400>;
590 timer1: timer@48318000 {
591 compatible = "ti,omap3430-timer";
592 reg = <0x48318000 0x400>;
594 ti,hwmods = "timer1";
598 timer2: timer@49032000 {
599 compatible = "ti,omap3430-timer";
600 reg = <0x49032000 0x400>;
602 ti,hwmods = "timer2";
605 timer3: timer@49034000 {
606 compatible = "ti,omap3430-timer";
607 reg = <0x49034000 0x400>;
609 ti,hwmods = "timer3";
612 timer4: timer@49036000 {
613 compatible = "ti,omap3430-timer";
614 reg = <0x49036000 0x400>;
616 ti,hwmods = "timer4";
619 timer5: timer@49038000 {
620 compatible = "ti,omap3430-timer";
621 reg = <0x49038000 0x400>;
623 ti,hwmods = "timer5";
627 timer6: timer@4903a000 {
628 compatible = "ti,omap3430-timer";
629 reg = <0x4903a000 0x400>;
631 ti,hwmods = "timer6";
635 timer7: timer@4903c000 {
636 compatible = "ti,omap3430-timer";
637 reg = <0x4903c000 0x400>;
639 ti,hwmods = "timer7";
643 timer8: timer@4903e000 {
644 compatible = "ti,omap3430-timer";
645 reg = <0x4903e000 0x400>;
647 ti,hwmods = "timer8";
652 timer9: timer@49040000 {
653 compatible = "ti,omap3430-timer";
654 reg = <0x49040000 0x400>;
656 ti,hwmods = "timer9";
660 timer10: timer@48086000 {
661 compatible = "ti,omap3430-timer";
662 reg = <0x48086000 0x400>;
664 ti,hwmods = "timer10";
668 timer11: timer@48088000 {
669 compatible = "ti,omap3430-timer";
670 reg = <0x48088000 0x400>;
672 ti,hwmods = "timer11";
676 timer12: timer@48304000 {
677 compatible = "ti,omap3430-timer";
678 reg = <0x48304000 0x400>;
680 ti,hwmods = "timer12";
685 usbhstll: usbhstll@48062000 {
686 compatible = "ti,usbhs-tll";
687 reg = <0x48062000 0x1000>;
689 ti,hwmods = "usb_tll_hs";
692 usbhshost: usbhshost@48064000 {
693 compatible = "ti,usbhs-host";
694 reg = <0x48064000 0x400>;
695 ti,hwmods = "usb_host_hs";
696 #address-cells = <1>;
700 usbhsohci: ohci@48064400 {
701 compatible = "ti,ohci-omap3";
702 reg = <0x48064400 0x400>;
703 interrupt-parent = <&intc>;
707 usbhsehci: ehci@48064800 {
708 compatible = "ti,ehci-omap";
709 reg = <0x48064800 0x400>;
710 interrupt-parent = <&intc>;
715 gpmc: gpmc@6e000000 {
716 compatible = "ti,omap3430-gpmc";
718 reg = <0x6e000000 0x02d0>;
723 gpmc,num-waitpins = <4>;
724 #address-cells = <2>;
726 interrupt-controller;
727 #interrupt-cells = <2>;
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";
744 compatible = "ti,omap3-dss";
745 reg = <0x48050000 0x200>;
747 ti,hwmods = "dss_core";
748 clocks = <&dss1_alwon_fck>;
750 #address-cells = <1>;
755 compatible = "ti,omap3-dispc";
756 reg = <0x48050400 0x400>;
758 ti,hwmods = "dss_dispc";
759 clocks = <&dss1_alwon_fck>;
763 dsi: encoder@4804fc00 {
764 compatible = "ti,omap3-dsi";
765 reg = <0x4804fc00 0x200>,
768 reg-names = "proto", "phy", "pll";
771 ti,hwmods = "dss_dsi1";
772 clocks = <&dss1_alwon_fck>, <&dss2_alwon_fck>;
773 clock-names = "fck", "sys_clk";
776 rfbi: encoder@48050800 {
777 compatible = "ti,omap3-rfbi";
778 reg = <0x48050800 0x100>;
780 ti,hwmods = "dss_rfbi";
781 clocks = <&dss1_alwon_fck>, <&dss_ick>;
782 clock-names = "fck", "ick";
785 venc: encoder@48050c00 {
786 compatible = "ti,omap3-venc";
787 reg = <0x48050c00 0x100>;
789 ti,hwmods = "dss_venc";
790 clocks = <&dss_tv_fck>;
795 ssi: ssi-controller@48058000 {
796 compatible = "ti,omap3-ssi";
801 reg = <0x48058000 0x1000>,
807 interrupt-names = "gdd_mpu";
809 #address-cells = <1>;
813 ssi_port1: ssi-port@4805a000 {
814 compatible = "ti,omap3-ssi-port";
816 reg = <0x4805a000 0x800>,
821 interrupt-parent = <&intc>;
826 ssi_port2: ssi-port@4805b000 {
827 compatible = "ti,omap3-ssi-port";
829 reg = <0x4805b000 0x800>,
834 interrupt-parent = <&intc>;
842 /include/ "omap3xxx-clocks.dtsi"