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>
14 #include "skeleton.dtsi"
17 compatible = "ti,am33xx";
18 interrupt-parent = <&intc>;
36 ethernet0 = &cpsw_emac0;
37 ethernet1 = &cpsw_emac1;
44 compatible = "arm,cortex-a8";
49 * To consider voltage drop between PMIC and SoC,
50 * tolerance value is reduced to 2% from 4% and
51 * voltage value is increased as a precaution.
60 voltage-tolerance = <2>; /* 2 percentage */
62 clocks = <&dpll_mpu_ck>;
65 clock-latency = <300000>; /* From omap-cpufreq driver */
70 compatible = "arm,cortex-a8-pmu";
75 * The soc node represents the soc top level view. It is used for IPs
76 * that are not memory mapped in the MPU view or for the MPU itself.
79 compatible = "ti,omap-infra";
81 compatible = "ti,omap3-mpu";
87 * XXX: Use a flat representation of the AM33XX interconnect.
88 * The real AM33XX interconnect network is quite complex. Since
89 * it will not bring real advantage to represent that in DT
90 * for the moment, just use a fake OCP bus entry to represent
91 * the whole bus hierarchy.
94 compatible = "simple-bus";
98 ti,hwmods = "l3_main";
100 l4_wkup: l4_wkup@44c00000 {
101 compatible = "ti,am3-l4-wkup", "simple-bus";
102 #address-cells = <1>;
104 ranges = <0 0x44c00000 0x280000>;
107 compatible = "ti,am3-prcm";
108 reg = <0x200000 0x4000>;
110 prcm_clocks: clocks {
111 #address-cells = <1>;
115 prcm_clockdomains: clockdomains {
120 compatible = "ti,am3-scm", "simple-bus";
121 reg = <0x210000 0x2000>;
122 #address-cells = <1>;
124 ranges = <0 0x210000 0x2000>;
126 am33xx_pinmux: pinmux@800 {
127 compatible = "pinctrl-single";
129 #address-cells = <1>;
131 pinctrl-single,register-width = <32>;
132 pinctrl-single,function-mask = <0x7f>;
135 scm_conf: scm_conf@0 {
136 compatible = "syscon";
138 #address-cells = <1>;
142 #address-cells = <1>;
147 scm_clockdomains: clockdomains {
152 intc: interrupt-controller@48200000 {
153 compatible = "ti,am33xx-intc";
154 interrupt-controller;
155 #interrupt-cells = <1>;
156 reg = <0x48200000 0x1000>;
159 edma: edma@49000000 {
160 compatible = "ti,edma3";
161 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
162 reg = <0x49000000 0x10000>,
164 interrupts = <12 13 14>;
168 gpio0: gpio@44e07000 {
169 compatible = "ti,omap4-gpio";
173 interrupt-controller;
174 #interrupt-cells = <2>;
175 reg = <0x44e07000 0x1000>;
179 gpio1: gpio@4804c000 {
180 compatible = "ti,omap4-gpio";
184 interrupt-controller;
185 #interrupt-cells = <2>;
186 reg = <0x4804c000 0x1000>;
190 gpio2: gpio@481ac000 {
191 compatible = "ti,omap4-gpio";
195 interrupt-controller;
196 #interrupt-cells = <2>;
197 reg = <0x481ac000 0x1000>;
201 gpio3: gpio@481ae000 {
202 compatible = "ti,omap4-gpio";
206 interrupt-controller;
207 #interrupt-cells = <2>;
208 reg = <0x481ae000 0x1000>;
212 uart0: serial@44e09000 {
213 compatible = "ti,omap3-uart";
215 clock-frequency = <48000000>;
216 reg = <0x44e09000 0x2000>;
220 dmas = <&edma 26>, <&edma 27>;
221 dma-names = "tx", "rx";
224 uart1: serial@48022000 {
225 compatible = "ti,omap3-uart";
227 clock-frequency = <48000000>;
228 reg = <0x48022000 0x2000>;
232 dmas = <&edma 28>, <&edma 29>;
233 dma-names = "tx", "rx";
236 uart2: serial@48024000 {
237 compatible = "ti,omap3-uart";
239 clock-frequency = <48000000>;
240 reg = <0x48024000 0x2000>;
244 dmas = <&edma 30>, <&edma 31>;
245 dma-names = "tx", "rx";
248 uart3: serial@481a6000 {
249 compatible = "ti,omap3-uart";
251 clock-frequency = <48000000>;
252 reg = <0x481a6000 0x2000>;
258 uart4: serial@481a8000 {
259 compatible = "ti,omap3-uart";
261 clock-frequency = <48000000>;
262 reg = <0x481a8000 0x2000>;
268 uart5: serial@481aa000 {
269 compatible = "ti,omap3-uart";
271 clock-frequency = <48000000>;
272 reg = <0x481aa000 0x2000>;
279 compatible = "ti,omap4-i2c";
280 #address-cells = <1>;
283 reg = <0x44e0b000 0x1000>;
289 compatible = "ti,omap4-i2c";
290 #address-cells = <1>;
293 reg = <0x4802a000 0x1000>;
299 compatible = "ti,omap4-i2c";
300 #address-cells = <1>;
303 reg = <0x4819c000 0x1000>;
309 compatible = "ti,omap4-hsmmc";
312 ti,needs-special-reset;
313 ti,needs-special-hs-handling;
316 dma-names = "tx", "rx";
318 reg = <0x48060000 0x1000>;
323 compatible = "ti,omap4-hsmmc";
325 ti,needs-special-reset;
328 dma-names = "tx", "rx";
330 reg = <0x481d8000 0x1000>;
335 compatible = "ti,omap4-hsmmc";
337 ti,needs-special-reset;
339 reg = <0x47810000 0x1000>;
343 hwspinlock: spinlock@480ca000 {
344 compatible = "ti,omap4-hwspinlock";
345 reg = <0x480ca000 0x1000>;
346 ti,hwmods = "spinlock";
351 compatible = "ti,omap3-wdt";
352 ti,hwmods = "wd_timer2";
353 reg = <0x44e35000 0x1000>;
357 dcan0: can@481cc000 {
358 compatible = "ti,am3352-d_can";
359 ti,hwmods = "d_can0";
360 reg = <0x481cc000 0x2000>;
361 clocks = <&dcan0_fck>;
363 syscon-raminit = <&scm_conf 0x644 0>;
368 dcan1: can@481d0000 {
369 compatible = "ti,am3352-d_can";
370 ti,hwmods = "d_can1";
371 reg = <0x481d0000 0x2000>;
372 clocks = <&dcan1_fck>;
374 syscon-raminit = <&scm_conf 0x644 1>;
379 mailbox: mailbox@480C8000 {
380 compatible = "ti,omap4-mailbox";
381 reg = <0x480C8000 0x200>;
383 ti,hwmods = "mailbox";
385 ti,mbox-num-users = <4>;
386 ti,mbox-num-fifos = <8>;
387 mbox_wkupm3: wkup_m3 {
388 ti,mbox-tx = <0 0 0>;
389 ti,mbox-rx = <0 0 3>;
393 timer1: timer@44e31000 {
394 compatible = "ti,am335x-timer-1ms";
395 reg = <0x44e31000 0x400>;
397 ti,hwmods = "timer1";
401 timer2: timer@48040000 {
402 compatible = "ti,am335x-timer";
403 reg = <0x48040000 0x400>;
405 ti,hwmods = "timer2";
408 timer3: timer@48042000 {
409 compatible = "ti,am335x-timer";
410 reg = <0x48042000 0x400>;
412 ti,hwmods = "timer3";
415 timer4: timer@48044000 {
416 compatible = "ti,am335x-timer";
417 reg = <0x48044000 0x400>;
419 ti,hwmods = "timer4";
423 timer5: timer@48046000 {
424 compatible = "ti,am335x-timer";
425 reg = <0x48046000 0x400>;
427 ti,hwmods = "timer5";
431 timer6: timer@48048000 {
432 compatible = "ti,am335x-timer";
433 reg = <0x48048000 0x400>;
435 ti,hwmods = "timer6";
439 timer7: timer@4804a000 {
440 compatible = "ti,am335x-timer";
441 reg = <0x4804a000 0x400>;
443 ti,hwmods = "timer7";
448 compatible = "ti,am3352-rtc", "ti,da830-rtc";
449 reg = <0x44e3e000 0x1000>;
456 compatible = "ti,omap4-mcspi";
457 #address-cells = <1>;
459 reg = <0x48030000 0x400>;
467 dma-names = "tx0", "rx0", "tx1", "rx1";
472 compatible = "ti,omap4-mcspi";
473 #address-cells = <1>;
475 reg = <0x481a0000 0x400>;
483 dma-names = "tx0", "rx0", "tx1", "rx1";
488 compatible = "ti,am33xx-usb";
489 reg = <0x47400000 0x1000>;
491 #address-cells = <1>;
493 ti,hwmods = "usb_otg_hs";
496 usb_ctrl_mod: control@44e10620 {
497 compatible = "ti,am335x-usb-ctrl-module";
498 reg = <0x44e10620 0x10
500 reg-names = "phy_ctrl", "wakeup";
504 usb0_phy: usb-phy@47401300 {
505 compatible = "ti,am335x-usb-phy";
506 reg = <0x47401300 0x100>;
509 ti,ctrl_mod = <&usb_ctrl_mod>;
513 compatible = "ti,musb-am33xx";
515 reg = <0x47401400 0x400
517 reg-names = "mc", "control";
520 interrupt-names = "mc";
522 mentor,multipoint = <1>;
523 mentor,num-eps = <16>;
524 mentor,ram-bits = <12>;
525 mentor,power = <500>;
528 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
529 &cppi41dma 2 0 &cppi41dma 3 0
530 &cppi41dma 4 0 &cppi41dma 5 0
531 &cppi41dma 6 0 &cppi41dma 7 0
532 &cppi41dma 8 0 &cppi41dma 9 0
533 &cppi41dma 10 0 &cppi41dma 11 0
534 &cppi41dma 12 0 &cppi41dma 13 0
535 &cppi41dma 14 0 &cppi41dma 0 1
536 &cppi41dma 1 1 &cppi41dma 2 1
537 &cppi41dma 3 1 &cppi41dma 4 1
538 &cppi41dma 5 1 &cppi41dma 6 1
539 &cppi41dma 7 1 &cppi41dma 8 1
540 &cppi41dma 9 1 &cppi41dma 10 1
541 &cppi41dma 11 1 &cppi41dma 12 1
542 &cppi41dma 13 1 &cppi41dma 14 1>;
544 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
545 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
547 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
548 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
552 usb1_phy: usb-phy@47401b00 {
553 compatible = "ti,am335x-usb-phy";
554 reg = <0x47401b00 0x100>;
557 ti,ctrl_mod = <&usb_ctrl_mod>;
561 compatible = "ti,musb-am33xx";
563 reg = <0x47401c00 0x400
565 reg-names = "mc", "control";
567 interrupt-names = "mc";
569 mentor,multipoint = <1>;
570 mentor,num-eps = <16>;
571 mentor,ram-bits = <12>;
572 mentor,power = <500>;
575 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
576 &cppi41dma 17 0 &cppi41dma 18 0
577 &cppi41dma 19 0 &cppi41dma 20 0
578 &cppi41dma 21 0 &cppi41dma 22 0
579 &cppi41dma 23 0 &cppi41dma 24 0
580 &cppi41dma 25 0 &cppi41dma 26 0
581 &cppi41dma 27 0 &cppi41dma 28 0
582 &cppi41dma 29 0 &cppi41dma 15 1
583 &cppi41dma 16 1 &cppi41dma 17 1
584 &cppi41dma 18 1 &cppi41dma 19 1
585 &cppi41dma 20 1 &cppi41dma 21 1
586 &cppi41dma 22 1 &cppi41dma 23 1
587 &cppi41dma 24 1 &cppi41dma 25 1
588 &cppi41dma 26 1 &cppi41dma 27 1
589 &cppi41dma 28 1 &cppi41dma 29 1>;
591 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
592 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
594 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
595 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
599 cppi41dma: dma-controller@47402000 {
600 compatible = "ti,am3359-cppi41";
601 reg = <0x47400000 0x1000
605 reg-names = "glue", "controller", "scheduler", "queuemgr";
607 interrupt-names = "glue";
609 #dma-channels = <30>;
610 #dma-requests = <256>;
615 epwmss0: epwmss@48300000 {
616 compatible = "ti,am33xx-pwmss";
617 reg = <0x48300000 0x10>;
618 ti,hwmods = "epwmss0";
619 #address-cells = <1>;
622 ranges = <0x48300100 0x48300100 0x80 /* ECAP */
623 0x48300180 0x48300180 0x80 /* EQEP */
624 0x48300200 0x48300200 0x80>; /* EHRPWM */
626 ecap0: ecap@48300100 {
627 compatible = "ti,am33xx-ecap";
629 reg = <0x48300100 0x80>;
631 interrupt-names = "ecap0";
636 ehrpwm0: ehrpwm@48300200 {
637 compatible = "ti,am33xx-ehrpwm";
639 reg = <0x48300200 0x80>;
640 ti,hwmods = "ehrpwm0";
645 epwmss1: epwmss@48302000 {
646 compatible = "ti,am33xx-pwmss";
647 reg = <0x48302000 0x10>;
648 ti,hwmods = "epwmss1";
649 #address-cells = <1>;
652 ranges = <0x48302100 0x48302100 0x80 /* ECAP */
653 0x48302180 0x48302180 0x80 /* EQEP */
654 0x48302200 0x48302200 0x80>; /* EHRPWM */
656 ecap1: ecap@48302100 {
657 compatible = "ti,am33xx-ecap";
659 reg = <0x48302100 0x80>;
661 interrupt-names = "ecap1";
666 ehrpwm1: ehrpwm@48302200 {
667 compatible = "ti,am33xx-ehrpwm";
669 reg = <0x48302200 0x80>;
670 ti,hwmods = "ehrpwm1";
675 epwmss2: epwmss@48304000 {
676 compatible = "ti,am33xx-pwmss";
677 reg = <0x48304000 0x10>;
678 ti,hwmods = "epwmss2";
679 #address-cells = <1>;
682 ranges = <0x48304100 0x48304100 0x80 /* ECAP */
683 0x48304180 0x48304180 0x80 /* EQEP */
684 0x48304200 0x48304200 0x80>; /* EHRPWM */
686 ecap2: ecap@48304100 {
687 compatible = "ti,am33xx-ecap";
689 reg = <0x48304100 0x80>;
691 interrupt-names = "ecap2";
696 ehrpwm2: ehrpwm@48304200 {
697 compatible = "ti,am33xx-ehrpwm";
699 reg = <0x48304200 0x80>;
700 ti,hwmods = "ehrpwm2";
705 mac: ethernet@4a100000 {
706 compatible = "ti,cpsw";
707 ti,hwmods = "cpgmac0";
708 clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
709 clock-names = "fck", "cpts";
710 cpdma_channels = <8>;
711 ale_entries = <1024>;
712 bd_ram_size = <0x2000>;
715 mac_control = <0x20>;
718 cpts_clock_mult = <0x80000000>;
719 cpts_clock_shift = <29>;
720 reg = <0x4a100000 0x800
722 #address-cells = <1>;
730 interrupts = <40 41 42 43>;
732 syscon = <&scm_conf>;
735 davinci_mdio: mdio@4a101000 {
736 compatible = "ti,davinci_mdio";
737 #address-cells = <1>;
739 ti,hwmods = "davinci_mdio";
740 bus_freq = <1000000>;
741 reg = <0x4a101000 0x100>;
745 cpsw_emac0: slave@4a100200 {
746 /* Filled in by U-Boot */
747 mac-address = [ 00 00 00 00 00 00 ];
750 cpsw_emac1: slave@4a100300 {
751 /* Filled in by U-Boot */
752 mac-address = [ 00 00 00 00 00 00 ];
755 phy_sel: cpsw-phy-sel@44e10650 {
756 compatible = "ti,am3352-cpsw-phy-sel";
757 reg= <0x44e10650 0x4>;
758 reg-names = "gmii-sel";
762 ocmcram: ocmcram@40300000 {
763 compatible = "mmio-sram";
764 reg = <0x40300000 0x10000>; /* 64k */
767 wkup_m3: wkup_m3@44d00000 {
768 compatible = "ti,am3353-wkup-m3";
769 reg = <0x44d00000 0x4000 /* M3 UMEM */
770 0x44d80000 0x2000>; /* M3 DMEM */
771 ti,hwmods = "wkup_m3";
776 compatible = "ti,am3352-elm";
777 reg = <0x48080000 0x2000>;
783 lcdc: lcdc@4830e000 {
784 compatible = "ti,am33xx-tilcdc";
785 reg = <0x4830e000 0x1000>;
791 tscadc: tscadc@44e0d000 {
792 compatible = "ti,am3359-tscadc";
793 reg = <0x44e0d000 0x1000>;
795 ti,hwmods = "adc_tsc";
799 compatible = "ti,am3359-tsc";
802 #io-channel-cells = <1>;
803 compatible = "ti,am3359-adc";
807 gpmc: gpmc@50000000 {
808 compatible = "ti,am3352-gpmc";
811 reg = <0x50000000 0x2000>;
814 gpmc,num-waitpins = <2>;
815 #address-cells = <2>;
820 sham: sham@53100000 {
821 compatible = "ti,omap4-sham";
823 reg = <0x53100000 0x200>;
830 compatible = "ti,omap4-aes";
832 reg = <0x53500000 0xa0>;
836 dma-names = "tx", "rx";
839 mcasp0: mcasp@48038000 {
840 compatible = "ti,am33xx-mcasp-audio";
841 ti,hwmods = "mcasp0";
842 reg = <0x48038000 0x2000>,
843 <0x46000000 0x400000>;
844 reg-names = "mpu", "dat";
845 interrupts = <80>, <81>;
846 interrupt-names = "tx", "rx";
850 dma-names = "tx", "rx";
853 mcasp1: mcasp@4803C000 {
854 compatible = "ti,am33xx-mcasp-audio";
855 ti,hwmods = "mcasp1";
856 reg = <0x4803C000 0x2000>,
857 <0x46400000 0x400000>;
858 reg-names = "mpu", "dat";
859 interrupts = <82>, <83>;
860 interrupt-names = "tx", "rx";
864 dma-names = "tx", "rx";
868 compatible = "ti,omap4-rng";
870 reg = <0x48310000 0x2000>;
876 /include/ "am33xx-clocks.dtsi"