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 = "simple-bus";
83 reg = <0x68000000 0x10000>;
88 ti,hwmods = "l3_main";
91 compatible = "ti,omap3-aes";
93 reg = <0x480c5000 0x50>;
98 compatible = "ti,omap3-prm";
99 reg = <0x48306000 0x4000>;
103 #address-cells = <1>;
107 prm_clockdomains: clockdomains {
112 compatible = "ti,omap3-cm";
113 reg = <0x48004000 0x4000>;
116 #address-cells = <1>;
120 cm_clockdomains: clockdomains {
124 scrm: scrm@48002000 {
125 compatible = "ti,omap3-scrm";
126 reg = <0x48002000 0x2000>;
128 scrm_clocks: clocks {
129 #address-cells = <1>;
133 scrm_clockdomains: clockdomains {
137 counter32k: counter@48320000 {
138 compatible = "ti,omap-counter32k";
139 reg = <0x48320000 0x20>;
140 ti,hwmods = "counter_32k";
143 intc: interrupt-controller@48200000 {
144 compatible = "ti,omap2-intc";
145 interrupt-controller;
146 #interrupt-cells = <1>;
148 reg = <0x48200000 0x1000>;
151 sdma: dma-controller@48056000 {
152 compatible = "ti,omap3630-sdma", "ti,omap3430-sdma";
153 reg = <0x48056000 0x1000>;
159 #dma-channels = <32>;
160 #dma-requests = <96>;
163 omap3_pmx_core: pinmux@48002030 {
164 compatible = "ti,omap3-padconf", "pinctrl-single";
165 reg = <0x48002030 0x0238>;
166 #address-cells = <1>;
168 #interrupt-cells = <1>;
169 interrupt-controller;
170 pinctrl-single,register-width = <16>;
171 pinctrl-single,function-mask = <0xff1f>;
174 omap3_pmx_wkup: pinmux@48002a00 {
175 compatible = "ti,omap3-padconf", "pinctrl-single";
176 reg = <0x48002a00 0x5c>;
177 #address-cells = <1>;
179 #interrupt-cells = <1>;
180 interrupt-controller;
181 pinctrl-single,register-width = <16>;
182 pinctrl-single,function-mask = <0xff1f>;
185 omap3_scm_general: tisyscon@48002270 {
186 compatible = "syscon";
187 reg = <0x48002270 0x2f0>;
190 pbias_regulator: pbias_regulator {
191 compatible = "ti,pbias-omap";
193 syscon = <&omap3_scm_general>;
194 pbias_mmc_reg: pbias_mmc_omap2430 {
195 regulator-name = "pbias_mmc_omap2430";
196 regulator-min-microvolt = <1800000>;
197 regulator-max-microvolt = <3000000>;
201 gpio1: gpio@48310000 {
202 compatible = "ti,omap3-gpio";
203 reg = <0x48310000 0x200>;
209 interrupt-controller;
210 #interrupt-cells = <2>;
213 gpio2: gpio@49050000 {
214 compatible = "ti,omap3-gpio";
215 reg = <0x49050000 0x200>;
220 interrupt-controller;
221 #interrupt-cells = <2>;
224 gpio3: gpio@49052000 {
225 compatible = "ti,omap3-gpio";
226 reg = <0x49052000 0x200>;
231 interrupt-controller;
232 #interrupt-cells = <2>;
235 gpio4: gpio@49054000 {
236 compatible = "ti,omap3-gpio";
237 reg = <0x49054000 0x200>;
242 interrupt-controller;
243 #interrupt-cells = <2>;
246 gpio5: gpio@49056000 {
247 compatible = "ti,omap3-gpio";
248 reg = <0x49056000 0x200>;
253 interrupt-controller;
254 #interrupt-cells = <2>;
257 gpio6: gpio@49058000 {
258 compatible = "ti,omap3-gpio";
259 reg = <0x49058000 0x200>;
264 interrupt-controller;
265 #interrupt-cells = <2>;
268 uart1: serial@4806a000 {
269 compatible = "ti,omap3-uart";
270 reg = <0x4806a000 0x2000>;
271 interrupts-extended = <&intc 72>;
272 dmas = <&sdma 49 &sdma 50>;
273 dma-names = "tx", "rx";
275 clock-frequency = <48000000>;
278 uart2: serial@4806c000 {
279 compatible = "ti,omap3-uart";
280 reg = <0x4806c000 0x400>;
281 interrupts-extended = <&intc 73>;
282 dmas = <&sdma 51 &sdma 52>;
283 dma-names = "tx", "rx";
285 clock-frequency = <48000000>;
288 uart3: serial@49020000 {
289 compatible = "ti,omap3-uart";
290 reg = <0x49020000 0x400>;
291 interrupts-extended = <&intc 74>;
292 dmas = <&sdma 53 &sdma 54>;
293 dma-names = "tx", "rx";
295 clock-frequency = <48000000>;
299 compatible = "ti,omap3-i2c";
300 reg = <0x48070000 0x80>;
302 dmas = <&sdma 27 &sdma 28>;
303 dma-names = "tx", "rx";
304 #address-cells = <1>;
310 compatible = "ti,omap3-i2c";
311 reg = <0x48072000 0x80>;
313 dmas = <&sdma 29 &sdma 30>;
314 dma-names = "tx", "rx";
315 #address-cells = <1>;
321 compatible = "ti,omap3-i2c";
322 reg = <0x48060000 0x80>;
324 dmas = <&sdma 25 &sdma 26>;
325 dma-names = "tx", "rx";
326 #address-cells = <1>;
331 mailbox: mailbox@48094000 {
332 compatible = "ti,omap3-mailbox";
333 ti,hwmods = "mailbox";
334 reg = <0x48094000 0x200>;
336 ti,mbox-num-users = <2>;
337 ti,mbox-num-fifos = <2>;
340 mcspi1: spi@48098000 {
341 compatible = "ti,omap2-mcspi";
342 reg = <0x48098000 0x100>;
344 #address-cells = <1>;
346 ti,hwmods = "mcspi1";
356 dma-names = "tx0", "rx0", "tx1", "rx1",
357 "tx2", "rx2", "tx3", "rx3";
360 mcspi2: spi@4809a000 {
361 compatible = "ti,omap2-mcspi";
362 reg = <0x4809a000 0x100>;
364 #address-cells = <1>;
366 ti,hwmods = "mcspi2";
372 dma-names = "tx0", "rx0", "tx1", "rx1";
375 mcspi3: spi@480b8000 {
376 compatible = "ti,omap2-mcspi";
377 reg = <0x480b8000 0x100>;
379 #address-cells = <1>;
381 ti,hwmods = "mcspi3";
387 dma-names = "tx0", "rx0", "tx1", "rx1";
390 mcspi4: spi@480ba000 {
391 compatible = "ti,omap2-mcspi";
392 reg = <0x480ba000 0x100>;
394 #address-cells = <1>;
396 ti,hwmods = "mcspi4";
398 dmas = <&sdma 70>, <&sdma 71>;
399 dma-names = "tx0", "rx0";
402 hdqw1w: 1w@480b2000 {
403 compatible = "ti,omap3-1w";
404 reg = <0x480b2000 0x1000>;
410 compatible = "ti,omap3-hsmmc";
411 reg = <0x4809c000 0x200>;
415 dmas = <&sdma 61>, <&sdma 62>;
416 dma-names = "tx", "rx";
417 pbias-supply = <&pbias_mmc_reg>;
421 compatible = "ti,omap3-hsmmc";
422 reg = <0x480b4000 0x200>;
425 dmas = <&sdma 47>, <&sdma 48>;
426 dma-names = "tx", "rx";
430 compatible = "ti,omap3-hsmmc";
431 reg = <0x480ad000 0x200>;
434 dmas = <&sdma 77>, <&sdma 78>;
435 dma-names = "tx", "rx";
438 mmu_isp: mmu@480bd400 {
439 compatible = "ti,omap2-iommu";
440 reg = <0x480bd400 0x80>;
442 ti,hwmods = "mmu_isp";
443 ti,#tlb-entries = <8>;
446 mmu_iva: mmu@5d000000 {
447 compatible = "ti,omap2-iommu";
448 reg = <0x5d000000 0x80>;
450 ti,hwmods = "mmu_iva";
455 compatible = "ti,omap3-wdt";
456 reg = <0x48314000 0x80>;
457 ti,hwmods = "wd_timer2";
460 mcbsp1: mcbsp@48074000 {
461 compatible = "ti,omap3-mcbsp";
462 reg = <0x48074000 0xff>;
464 interrupts = <16>, /* OCP compliant interrupt */
465 <59>, /* TX interrupt */
466 <60>; /* RX interrupt */
467 interrupt-names = "common", "tx", "rx";
468 ti,buffer-size = <128>;
469 ti,hwmods = "mcbsp1";
472 dma-names = "tx", "rx";
476 mcbsp2: mcbsp@49022000 {
477 compatible = "ti,omap3-mcbsp";
478 reg = <0x49022000 0xff>,
480 reg-names = "mpu", "sidetone";
481 interrupts = <17>, /* OCP compliant interrupt */
482 <62>, /* TX interrupt */
483 <63>, /* RX interrupt */
485 interrupt-names = "common", "tx", "rx", "sidetone";
486 ti,buffer-size = <1280>;
487 ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
490 dma-names = "tx", "rx";
494 mcbsp3: mcbsp@49024000 {
495 compatible = "ti,omap3-mcbsp";
496 reg = <0x49024000 0xff>,
498 reg-names = "mpu", "sidetone";
499 interrupts = <22>, /* OCP compliant interrupt */
500 <89>, /* TX interrupt */
501 <90>, /* RX interrupt */
503 interrupt-names = "common", "tx", "rx", "sidetone";
504 ti,buffer-size = <128>;
505 ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
508 dma-names = "tx", "rx";
512 mcbsp4: mcbsp@49026000 {
513 compatible = "ti,omap3-mcbsp";
514 reg = <0x49026000 0xff>;
516 interrupts = <23>, /* OCP compliant interrupt */
517 <54>, /* TX interrupt */
518 <55>; /* RX interrupt */
519 interrupt-names = "common", "tx", "rx";
520 ti,buffer-size = <128>;
521 ti,hwmods = "mcbsp4";
524 dma-names = "tx", "rx";
528 mcbsp5: mcbsp@48096000 {
529 compatible = "ti,omap3-mcbsp";
530 reg = <0x48096000 0xff>;
532 interrupts = <27>, /* OCP compliant interrupt */
533 <81>, /* TX interrupt */
534 <82>; /* RX interrupt */
535 interrupt-names = "common", "tx", "rx";
536 ti,buffer-size = <128>;
537 ti,hwmods = "mcbsp5";
540 dma-names = "tx", "rx";
544 sham: sham@480c3000 {
545 compatible = "ti,omap3-sham";
547 reg = <0x480c3000 0x64>;
551 smartreflex_core: smartreflex@480cb000 {
552 compatible = "ti,omap3-smartreflex-core";
553 ti,hwmods = "smartreflex_core";
554 reg = <0x480cb000 0x400>;
558 smartreflex_mpu_iva: smartreflex@480c9000 {
559 compatible = "ti,omap3-smartreflex-iva";
560 ti,hwmods = "smartreflex_mpu_iva";
561 reg = <0x480c9000 0x400>;
565 timer1: timer@48318000 {
566 compatible = "ti,omap3430-timer";
567 reg = <0x48318000 0x400>;
569 ti,hwmods = "timer1";
573 timer2: timer@49032000 {
574 compatible = "ti,omap3430-timer";
575 reg = <0x49032000 0x400>;
577 ti,hwmods = "timer2";
580 timer3: timer@49034000 {
581 compatible = "ti,omap3430-timer";
582 reg = <0x49034000 0x400>;
584 ti,hwmods = "timer3";
587 timer4: timer@49036000 {
588 compatible = "ti,omap3430-timer";
589 reg = <0x49036000 0x400>;
591 ti,hwmods = "timer4";
594 timer5: timer@49038000 {
595 compatible = "ti,omap3430-timer";
596 reg = <0x49038000 0x400>;
598 ti,hwmods = "timer5";
602 timer6: timer@4903a000 {
603 compatible = "ti,omap3430-timer";
604 reg = <0x4903a000 0x400>;
606 ti,hwmods = "timer6";
610 timer7: timer@4903c000 {
611 compatible = "ti,omap3430-timer";
612 reg = <0x4903c000 0x400>;
614 ti,hwmods = "timer7";
618 timer8: timer@4903e000 {
619 compatible = "ti,omap3430-timer";
620 reg = <0x4903e000 0x400>;
622 ti,hwmods = "timer8";
627 timer9: timer@49040000 {
628 compatible = "ti,omap3430-timer";
629 reg = <0x49040000 0x400>;
631 ti,hwmods = "timer9";
635 timer10: timer@48086000 {
636 compatible = "ti,omap3430-timer";
637 reg = <0x48086000 0x400>;
639 ti,hwmods = "timer10";
643 timer11: timer@48088000 {
644 compatible = "ti,omap3430-timer";
645 reg = <0x48088000 0x400>;
647 ti,hwmods = "timer11";
651 timer12: timer@48304000 {
652 compatible = "ti,omap3430-timer";
653 reg = <0x48304000 0x400>;
655 ti,hwmods = "timer12";
660 usbhstll: usbhstll@48062000 {
661 compatible = "ti,usbhs-tll";
662 reg = <0x48062000 0x1000>;
664 ti,hwmods = "usb_tll_hs";
667 usbhshost: usbhshost@48064000 {
668 compatible = "ti,usbhs-host";
669 reg = <0x48064000 0x400>;
670 ti,hwmods = "usb_host_hs";
671 #address-cells = <1>;
675 usbhsohci: ohci@48064400 {
676 compatible = "ti,ohci-omap3";
677 reg = <0x48064400 0x400>;
678 interrupt-parent = <&intc>;
682 usbhsehci: ehci@48064800 {
683 compatible = "ti,ehci-omap";
684 reg = <0x48064800 0x400>;
685 interrupt-parent = <&intc>;
690 gpmc: gpmc@6e000000 {
691 compatible = "ti,omap3430-gpmc";
693 reg = <0x6e000000 0x02d0>;
696 gpmc,num-waitpins = <4>;
697 #address-cells = <2>;
701 usb_otg_hs: usb_otg_hs@480ab000 {
702 compatible = "ti,omap3-musb";
703 reg = <0x480ab000 0x1000>;
704 interrupts = <92>, <93>;
705 interrupt-names = "mc", "dma";
706 ti,hwmods = "usb_otg_hs";
713 compatible = "ti,omap3-dss";
714 reg = <0x48050000 0x200>;
716 ti,hwmods = "dss_core";
717 clocks = <&dss1_alwon_fck>;
719 #address-cells = <1>;
724 compatible = "ti,omap3-dispc";
725 reg = <0x48050400 0x400>;
727 ti,hwmods = "dss_dispc";
728 clocks = <&dss1_alwon_fck>;
732 dsi: encoder@4804fc00 {
733 compatible = "ti,omap3-dsi";
734 reg = <0x4804fc00 0x200>,
737 reg-names = "proto", "phy", "pll";
740 ti,hwmods = "dss_dsi1";
741 clocks = <&dss1_alwon_fck>, <&dss2_alwon_fck>;
742 clock-names = "fck", "sys_clk";
745 rfbi: encoder@48050800 {
746 compatible = "ti,omap3-rfbi";
747 reg = <0x48050800 0x100>;
749 ti,hwmods = "dss_rfbi";
750 clocks = <&dss1_alwon_fck>, <&dss_ick>;
751 clock-names = "fck", "ick";
754 venc: encoder@48050c00 {
755 compatible = "ti,omap3-venc";
756 reg = <0x48050c00 0x100>;
758 ti,hwmods = "dss_venc";
759 clocks = <&dss_tv_fck>;
764 ssi: ssi-controller@48058000 {
765 compatible = "ti,omap3-ssi";
770 reg = <0x48058000 0x1000>,
776 interrupt-names = "gdd_mpu";
778 #address-cells = <1>;
782 ssi_port1: ssi-port@4805a000 {
783 compatible = "ti,omap3-ssi-port";
785 reg = <0x4805a000 0x800>,
790 interrupt-parent = <&intc>;
795 ssi_port2: ssi-port@4805b000 {
796 compatible = "ti,omap3-ssi-port";
798 reg = <0x4805b000 0x800>,
803 interrupt-parent = <&intc>;
811 /include/ "omap3xxx-clocks.dtsi"