2 * Device Tree Source for AM33XX SoC
4 * Copyright (C) 2012 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/pinctrl/am33xx.h>
15 compatible = "ti,am33xx";
16 interrupt-parent = <&intc>;
37 ethernet0 = &cpsw_emac0;
38 ethernet1 = &cpsw_emac1;
50 compatible = "arm,cortex-a8";
54 operating-points-v2 = <&cpu0_opp_table>;
56 clocks = <&dpll_mpu_ck>;
59 clock-latency = <300000>; /* From omap-cpufreq driver */
63 cpu0_opp_table: opp-table {
64 compatible = "operating-points-v2-ti-cpu";
68 * The three following nodes are marked with opp-suspend
69 * because the can not be enabled simultaneously on a
73 opp-hz = /bits/ 64 <300000000>;
74 opp-microvolt = <950000 931000 969000>;
75 opp-supported-hw = <0x06 0x0010>;
80 opp-hz = /bits/ 64 <275000000>;
81 opp-microvolt = <1100000 1078000 1122000>;
82 opp-supported-hw = <0x01 0x00FF>;
87 opp-hz = /bits/ 64 <300000000>;
88 opp-microvolt = <1100000 1078000 1122000>;
89 opp-supported-hw = <0x06 0x0020>;
94 opp-hz = /bits/ 64 <500000000>;
95 opp-microvolt = <1100000 1078000 1122000>;
96 opp-supported-hw = <0x01 0xFFFF>;
100 opp-hz = /bits/ 64 <600000000>;
101 opp-microvolt = <1100000 1078000 1122000>;
102 opp-supported-hw = <0x06 0x0040>;
106 opp-hz = /bits/ 64 <600000000>;
107 opp-microvolt = <1200000 1176000 1224000>;
108 opp-supported-hw = <0x01 0xFFFF>;
112 opp-hz = /bits/ 64 <720000000>;
113 opp-microvolt = <1200000 1176000 1224000>;
114 opp-supported-hw = <0x06 0x0080>;
118 opp-hz = /bits/ 64 <720000000>;
119 opp-microvolt = <1260000 1234800 1285200>;
120 opp-supported-hw = <0x01 0xFFFF>;
124 opp-hz = /bits/ 64 <800000000>;
125 opp-microvolt = <1260000 1234800 1285200>;
126 opp-supported-hw = <0x06 0x0100>;
129 oppnitro-1000000000 {
130 opp-hz = /bits/ 64 <1000000000>;
131 opp-microvolt = <1325000 1298500 1351500>;
132 opp-supported-hw = <0x04 0x0200>;
137 compatible = "arm,cortex-a8-pmu";
142 * The soc node represents the soc top level view. It is used for IPs
143 * that are not memory mapped in the MPU view or for the MPU itself.
146 compatible = "ti,omap-infra";
148 compatible = "ti,omap3-mpu";
154 * XXX: Use a flat representation of the AM33XX interconnect.
155 * The real AM33XX interconnect network is quite complex. Since
156 * it will not bring real advantage to represent that in DT
157 * for the moment, just use a fake OCP bus entry to represent
158 * the whole bus hierarchy.
161 compatible = "simple-bus";
162 #address-cells = <1>;
165 ti,hwmods = "l3_main";
167 l4_wkup: l4_wkup@44c00000 {
168 compatible = "ti,am3-l4-wkup", "simple-bus";
169 #address-cells = <1>;
171 ranges = <0 0x44c00000 0x280000>;
173 wkup_m3: wkup_m3@100000 {
174 compatible = "ti,am3352-wkup-m3";
175 reg = <0x100000 0x4000>,
177 reg-names = "umem", "dmem";
178 ti,hwmods = "wkup_m3";
179 ti,pm-firmware = "/*(DEBLOBBED)*/";
183 compatible = "ti,am3-prcm";
184 reg = <0x200000 0x4000>;
186 prcm_clocks: clocks {
187 #address-cells = <1>;
191 prcm_clockdomains: clockdomains {
196 compatible = "ti,am3-scm", "simple-bus";
197 reg = <0x210000 0x2000>;
198 #address-cells = <1>;
200 #pinctrl-cells = <1>;
201 ranges = <0 0x210000 0x2000>;
203 am33xx_pinmux: pinmux@800 {
204 compatible = "pinctrl-single";
206 #address-cells = <1>;
208 #pinctrl-cells = <1>;
209 pinctrl-single,register-width = <32>;
210 pinctrl-single,function-mask = <0x7f>;
213 scm_conf: scm_conf@0 {
214 compatible = "syscon", "simple-bus";
216 #address-cells = <1>;
218 ranges = <0 0 0x800>;
221 #address-cells = <1>;
226 wkup_m3_ipc: wkup_m3_ipc@1324 {
227 compatible = "ti,am3352-wkup-m3-ipc";
230 ti,rproc = <&wkup_m3>;
231 mboxes = <&mailbox &mbox_wkupm3>;
234 edma_xbar: dma-router@f90 {
235 compatible = "ti,am335x-edma-crossbar";
239 dma-masters = <&edma>;
242 scm_clockdomains: clockdomains {
247 intc: interrupt-controller@48200000 {
248 compatible = "ti,am33xx-intc";
249 interrupt-controller;
250 #interrupt-cells = <1>;
251 reg = <0x48200000 0x1000>;
254 edma: edma@49000000 {
255 compatible = "ti,edma3-tpcc";
257 reg = <0x49000000 0x10000>;
258 reg-names = "edma3_cc";
259 interrupts = <12 13 14>;
260 interrupt-names = "edma3_ccint", "edma3_mperr",
265 ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
268 ti,edma-memcpy-channels = <20 21>;
271 edma_tptc0: tptc@49800000 {
272 compatible = "ti,edma3-tptc";
274 reg = <0x49800000 0x100000>;
276 interrupt-names = "edma3_tcerrint";
279 edma_tptc1: tptc@49900000 {
280 compatible = "ti,edma3-tptc";
282 reg = <0x49900000 0x100000>;
284 interrupt-names = "edma3_tcerrint";
287 edma_tptc2: tptc@49a00000 {
288 compatible = "ti,edma3-tptc";
290 reg = <0x49a00000 0x100000>;
292 interrupt-names = "edma3_tcerrint";
295 gpio0: gpio@44e07000 {
296 compatible = "ti,omap4-gpio";
300 interrupt-controller;
301 #interrupt-cells = <2>;
302 reg = <0x44e07000 0x1000>;
306 gpio1: gpio@4804c000 {
307 compatible = "ti,omap4-gpio";
311 interrupt-controller;
312 #interrupt-cells = <2>;
313 reg = <0x4804c000 0x1000>;
317 gpio2: gpio@481ac000 {
318 compatible = "ti,omap4-gpio";
322 interrupt-controller;
323 #interrupt-cells = <2>;
324 reg = <0x481ac000 0x1000>;
328 gpio3: gpio@481ae000 {
329 compatible = "ti,omap4-gpio";
333 interrupt-controller;
334 #interrupt-cells = <2>;
335 reg = <0x481ae000 0x1000>;
339 uart0: serial@44e09000 {
340 compatible = "ti,am3352-uart", "ti,omap3-uart";
342 clock-frequency = <48000000>;
343 reg = <0x44e09000 0x2000>;
346 dmas = <&edma 26 0>, <&edma 27 0>;
347 dma-names = "tx", "rx";
350 uart1: serial@48022000 {
351 compatible = "ti,am3352-uart", "ti,omap3-uart";
353 clock-frequency = <48000000>;
354 reg = <0x48022000 0x2000>;
357 dmas = <&edma 28 0>, <&edma 29 0>;
358 dma-names = "tx", "rx";
361 uart2: serial@48024000 {
362 compatible = "ti,am3352-uart", "ti,omap3-uart";
364 clock-frequency = <48000000>;
365 reg = <0x48024000 0x2000>;
368 dmas = <&edma 30 0>, <&edma 31 0>;
369 dma-names = "tx", "rx";
372 uart3: serial@481a6000 {
373 compatible = "ti,am3352-uart", "ti,omap3-uart";
375 clock-frequency = <48000000>;
376 reg = <0x481a6000 0x2000>;
381 uart4: serial@481a8000 {
382 compatible = "ti,am3352-uart", "ti,omap3-uart";
384 clock-frequency = <48000000>;
385 reg = <0x481a8000 0x2000>;
390 uart5: serial@481aa000 {
391 compatible = "ti,am3352-uart", "ti,omap3-uart";
393 clock-frequency = <48000000>;
394 reg = <0x481aa000 0x2000>;
400 compatible = "ti,omap4-i2c";
401 #address-cells = <1>;
404 reg = <0x44e0b000 0x1000>;
410 compatible = "ti,omap4-i2c";
411 #address-cells = <1>;
414 reg = <0x4802a000 0x1000>;
420 compatible = "ti,omap4-i2c";
421 #address-cells = <1>;
424 reg = <0x4819c000 0x1000>;
430 compatible = "ti,omap4-hsmmc";
433 ti,needs-special-reset;
434 ti,needs-special-hs-handling;
435 dmas = <&edma_xbar 24 0 0
437 dma-names = "tx", "rx";
439 reg = <0x48060000 0x1000>;
444 compatible = "ti,omap4-hsmmc";
446 ti,needs-special-reset;
449 dma-names = "tx", "rx";
451 reg = <0x481d8000 0x1000>;
456 compatible = "ti,omap4-hsmmc";
458 ti,needs-special-reset;
460 reg = <0x47810000 0x1000>;
464 hwspinlock: spinlock@480ca000 {
465 compatible = "ti,omap4-hwspinlock";
466 reg = <0x480ca000 0x1000>;
467 ti,hwmods = "spinlock";
472 compatible = "ti,omap3-wdt";
473 ti,hwmods = "wd_timer2";
474 reg = <0x44e35000 0x1000>;
478 dcan0: can@481cc000 {
479 compatible = "ti,am3352-d_can";
480 ti,hwmods = "d_can0";
481 reg = <0x481cc000 0x2000>;
482 clocks = <&dcan0_fck>;
484 syscon-raminit = <&scm_conf 0x644 0>;
489 dcan1: can@481d0000 {
490 compatible = "ti,am3352-d_can";
491 ti,hwmods = "d_can1";
492 reg = <0x481d0000 0x2000>;
493 clocks = <&dcan1_fck>;
495 syscon-raminit = <&scm_conf 0x644 1>;
500 mailbox: mailbox@480C8000 {
501 compatible = "ti,omap4-mailbox";
502 reg = <0x480C8000 0x200>;
504 ti,hwmods = "mailbox";
506 ti,mbox-num-users = <4>;
507 ti,mbox-num-fifos = <8>;
508 mbox_wkupm3: wkup_m3 {
510 ti,mbox-tx = <0 0 0>;
511 ti,mbox-rx = <0 0 3>;
515 timer1: timer@44e31000 {
516 compatible = "ti,am335x-timer-1ms";
517 reg = <0x44e31000 0x400>;
519 ti,hwmods = "timer1";
523 timer2: timer@48040000 {
524 compatible = "ti,am335x-timer";
525 reg = <0x48040000 0x400>;
527 ti,hwmods = "timer2";
530 timer3: timer@48042000 {
531 compatible = "ti,am335x-timer";
532 reg = <0x48042000 0x400>;
534 ti,hwmods = "timer3";
537 timer4: timer@48044000 {
538 compatible = "ti,am335x-timer";
539 reg = <0x48044000 0x400>;
541 ti,hwmods = "timer4";
545 timer5: timer@48046000 {
546 compatible = "ti,am335x-timer";
547 reg = <0x48046000 0x400>;
549 ti,hwmods = "timer5";
553 timer6: timer@48048000 {
554 compatible = "ti,am335x-timer";
555 reg = <0x48048000 0x400>;
557 ti,hwmods = "timer6";
561 timer7: timer@4804a000 {
562 compatible = "ti,am335x-timer";
563 reg = <0x4804a000 0x400>;
565 ti,hwmods = "timer7";
570 compatible = "ti,am3352-rtc", "ti,da830-rtc";
571 reg = <0x44e3e000 0x1000>;
575 clocks = <&clkdiv32k_ick>;
576 clock-names = "int-clk";
580 compatible = "ti,omap4-mcspi";
581 #address-cells = <1>;
583 reg = <0x48030000 0x400>;
591 dma-names = "tx0", "rx0", "tx1", "rx1";
596 compatible = "ti,omap4-mcspi";
597 #address-cells = <1>;
599 reg = <0x481a0000 0x400>;
607 dma-names = "tx0", "rx0", "tx1", "rx1";
612 compatible = "ti,am33xx-usb";
613 reg = <0x47400000 0x1000>;
615 #address-cells = <1>;
617 ti,hwmods = "usb_otg_hs";
620 usb_ctrl_mod: control@44e10620 {
621 compatible = "ti,am335x-usb-ctrl-module";
622 reg = <0x44e10620 0x10
624 reg-names = "phy_ctrl", "wakeup";
628 usb0_phy: usb-phy@47401300 {
629 compatible = "ti,am335x-usb-phy";
630 reg = <0x47401300 0x100>;
633 ti,ctrl_mod = <&usb_ctrl_mod>;
637 compatible = "ti,musb-am33xx";
639 reg = <0x47401400 0x400
641 reg-names = "mc", "control";
644 interrupt-names = "mc";
646 mentor,multipoint = <1>;
647 mentor,num-eps = <16>;
648 mentor,ram-bits = <12>;
649 mentor,power = <500>;
652 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
653 &cppi41dma 2 0 &cppi41dma 3 0
654 &cppi41dma 4 0 &cppi41dma 5 0
655 &cppi41dma 6 0 &cppi41dma 7 0
656 &cppi41dma 8 0 &cppi41dma 9 0
657 &cppi41dma 10 0 &cppi41dma 11 0
658 &cppi41dma 12 0 &cppi41dma 13 0
659 &cppi41dma 14 0 &cppi41dma 0 1
660 &cppi41dma 1 1 &cppi41dma 2 1
661 &cppi41dma 3 1 &cppi41dma 4 1
662 &cppi41dma 5 1 &cppi41dma 6 1
663 &cppi41dma 7 1 &cppi41dma 8 1
664 &cppi41dma 9 1 &cppi41dma 10 1
665 &cppi41dma 11 1 &cppi41dma 12 1
666 &cppi41dma 13 1 &cppi41dma 14 1>;
668 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
669 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
671 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
672 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
676 usb1_phy: usb-phy@47401b00 {
677 compatible = "ti,am335x-usb-phy";
678 reg = <0x47401b00 0x100>;
681 ti,ctrl_mod = <&usb_ctrl_mod>;
685 compatible = "ti,musb-am33xx";
687 reg = <0x47401c00 0x400
689 reg-names = "mc", "control";
691 interrupt-names = "mc";
693 mentor,multipoint = <1>;
694 mentor,num-eps = <16>;
695 mentor,ram-bits = <12>;
696 mentor,power = <500>;
699 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
700 &cppi41dma 17 0 &cppi41dma 18 0
701 &cppi41dma 19 0 &cppi41dma 20 0
702 &cppi41dma 21 0 &cppi41dma 22 0
703 &cppi41dma 23 0 &cppi41dma 24 0
704 &cppi41dma 25 0 &cppi41dma 26 0
705 &cppi41dma 27 0 &cppi41dma 28 0
706 &cppi41dma 29 0 &cppi41dma 15 1
707 &cppi41dma 16 1 &cppi41dma 17 1
708 &cppi41dma 18 1 &cppi41dma 19 1
709 &cppi41dma 20 1 &cppi41dma 21 1
710 &cppi41dma 22 1 &cppi41dma 23 1
711 &cppi41dma 24 1 &cppi41dma 25 1
712 &cppi41dma 26 1 &cppi41dma 27 1
713 &cppi41dma 28 1 &cppi41dma 29 1>;
715 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
716 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
718 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
719 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
723 cppi41dma: dma-controller@47402000 {
724 compatible = "ti,am3359-cppi41";
725 reg = <0x47400000 0x1000
729 reg-names = "glue", "controller", "scheduler", "queuemgr";
731 interrupt-names = "glue";
733 #dma-channels = <30>;
734 #dma-requests = <256>;
739 epwmss0: epwmss@48300000 {
740 compatible = "ti,am33xx-pwmss";
741 reg = <0x48300000 0x10>;
742 ti,hwmods = "epwmss0";
743 #address-cells = <1>;
746 ranges = <0x48300100 0x48300100 0x80 /* ECAP */
747 0x48300180 0x48300180 0x80 /* EQEP */
748 0x48300200 0x48300200 0x80>; /* EHRPWM */
750 ecap0: ecap@48300100 {
751 compatible = "ti,am3352-ecap",
754 reg = <0x48300100 0x80>;
755 clocks = <&l4ls_gclk>;
758 interrupt-names = "ecap0";
762 ehrpwm0: pwm@48300200 {
763 compatible = "ti,am3352-ehrpwm",
766 reg = <0x48300200 0x80>;
767 clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
768 clock-names = "tbclk", "fck";
773 epwmss1: epwmss@48302000 {
774 compatible = "ti,am33xx-pwmss";
775 reg = <0x48302000 0x10>;
776 ti,hwmods = "epwmss1";
777 #address-cells = <1>;
780 ranges = <0x48302100 0x48302100 0x80 /* ECAP */
781 0x48302180 0x48302180 0x80 /* EQEP */
782 0x48302200 0x48302200 0x80>; /* EHRPWM */
784 ecap1: ecap@48302100 {
785 compatible = "ti,am3352-ecap",
788 reg = <0x48302100 0x80>;
789 clocks = <&l4ls_gclk>;
792 interrupt-names = "ecap1";
796 ehrpwm1: pwm@48302200 {
797 compatible = "ti,am3352-ehrpwm",
800 reg = <0x48302200 0x80>;
801 clocks = <&ehrpwm1_tbclk>, <&l4ls_gclk>;
802 clock-names = "tbclk", "fck";
807 epwmss2: epwmss@48304000 {
808 compatible = "ti,am33xx-pwmss";
809 reg = <0x48304000 0x10>;
810 ti,hwmods = "epwmss2";
811 #address-cells = <1>;
814 ranges = <0x48304100 0x48304100 0x80 /* ECAP */
815 0x48304180 0x48304180 0x80 /* EQEP */
816 0x48304200 0x48304200 0x80>; /* EHRPWM */
818 ecap2: ecap@48304100 {
819 compatible = "ti,am3352-ecap",
822 reg = <0x48304100 0x80>;
823 clocks = <&l4ls_gclk>;
826 interrupt-names = "ecap2";
830 ehrpwm2: pwm@48304200 {
831 compatible = "ti,am3352-ehrpwm",
834 reg = <0x48304200 0x80>;
835 clocks = <&ehrpwm2_tbclk>, <&l4ls_gclk>;
836 clock-names = "tbclk", "fck";
841 mac: ethernet@4a100000 {
842 compatible = "ti,am335x-cpsw","ti,cpsw";
843 ti,hwmods = "cpgmac0";
844 clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
845 clock-names = "fck", "cpts";
846 cpdma_channels = <8>;
847 ale_entries = <1024>;
848 bd_ram_size = <0x2000>;
849 mac_control = <0x20>;
852 cpts_clock_mult = <0x80000000>;
853 cpts_clock_shift = <29>;
854 reg = <0x4a100000 0x800
856 #address-cells = <1>;
864 interrupts = <40 41 42 43>;
866 syscon = <&scm_conf>;
869 davinci_mdio: mdio@4a101000 {
870 compatible = "ti,cpsw-mdio","ti,davinci_mdio";
871 #address-cells = <1>;
873 ti,hwmods = "davinci_mdio";
874 bus_freq = <1000000>;
875 reg = <0x4a101000 0x100>;
879 cpsw_emac0: slave@4a100200 {
880 /* Filled in by U-Boot */
881 mac-address = [ 00 00 00 00 00 00 ];
884 cpsw_emac1: slave@4a100300 {
885 /* Filled in by U-Boot */
886 mac-address = [ 00 00 00 00 00 00 ];
889 phy_sel: cpsw-phy-sel@44e10650 {
890 compatible = "ti,am3352-cpsw-phy-sel";
891 reg= <0x44e10650 0x4>;
892 reg-names = "gmii-sel";
896 ocmcram: ocmcram@40300000 {
897 compatible = "mmio-sram";
898 reg = <0x40300000 0x10000>; /* 64k */
902 compatible = "ti,am3352-elm";
903 reg = <0x48080000 0x2000>;
909 lcdc: lcdc@4830e000 {
910 compatible = "ti,am33xx-tilcdc";
911 reg = <0x4830e000 0x1000>;
917 tscadc: tscadc@44e0d000 {
918 compatible = "ti,am3359-tscadc";
919 reg = <0x44e0d000 0x1000>;
921 ti,hwmods = "adc_tsc";
923 dmas = <&edma 53 0>, <&edma 57 0>;
924 dma-names = "fifo0", "fifo1";
927 compatible = "ti,am3359-tsc";
930 #io-channel-cells = <1>;
931 compatible = "ti,am3359-adc";
935 gpmc: gpmc@50000000 {
936 compatible = "ti,am3352-gpmc";
939 reg = <0x50000000 0x2000>;
944 gpmc,num-waitpins = <2>;
945 #address-cells = <2>;
947 interrupt-controller;
948 #interrupt-cells = <2>;
954 sham: sham@53100000 {
955 compatible = "ti,omap4-sham";
957 reg = <0x53100000 0x200>;
964 compatible = "ti,omap4-aes";
966 reg = <0x53500000 0xa0>;
970 dma-names = "tx", "rx";
973 mcasp0: mcasp@48038000 {
974 compatible = "ti,am33xx-mcasp-audio";
975 ti,hwmods = "mcasp0";
976 reg = <0x48038000 0x2000>,
977 <0x46000000 0x400000>;
978 reg-names = "mpu", "dat";
979 interrupts = <80>, <81>;
980 interrupt-names = "tx", "rx";
984 dma-names = "tx", "rx";
987 mcasp1: mcasp@4803C000 {
988 compatible = "ti,am33xx-mcasp-audio";
989 ti,hwmods = "mcasp1";
990 reg = <0x4803C000 0x2000>,
991 <0x46400000 0x400000>;
992 reg-names = "mpu", "dat";
993 interrupts = <82>, <83>;
994 interrupt-names = "tx", "rx";
998 dma-names = "tx", "rx";
1002 compatible = "ti,omap4-rng";
1004 reg = <0x48310000 0x2000>;
1010 /include/ "am33xx-clocks.dtsi"