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.
95 compatible = "simple-bus";
99 ti,hwmods = "l3_main";
101 l4_wkup: l4_wkup@44c00000 {
102 compatible = "ti,am3-l4-wkup", "simple-bus";
103 #address-cells = <1>;
105 ranges = <0 0x44c00000 0x280000>;
108 compatible = "ti,am3-prcm";
109 reg = <0x200000 0x4000>;
111 prcm_clocks: clocks {
112 #address-cells = <1>;
116 prcm_clockdomains: clockdomains {
121 compatible = "ti,am3-scm", "simple-bus";
122 reg = <0x210000 0x2000>;
123 #address-cells = <1>;
125 ranges = <0 0x210000 0x2000>;
127 am33xx_pinmux: pinmux@800 {
128 compatible = "pinctrl-single";
130 #address-cells = <1>;
132 pinctrl-single,register-width = <32>;
133 pinctrl-single,function-mask = <0x7f>;
136 scm_conf: scm_conf@0 {
137 compatible = "syscon";
139 #address-cells = <1>;
143 #address-cells = <1>;
148 scm_clockdomains: clockdomains {
153 intc: interrupt-controller@48200000 {
154 compatible = "ti,am33xx-intc";
155 interrupt-controller;
156 #interrupt-cells = <1>;
157 reg = <0x48200000 0x1000>;
160 edma: edma@49000000 {
161 compatible = "ti,edma3";
162 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
163 reg = <0x49000000 0x10000>,
165 interrupts = <12 13 14>;
169 gpio0: gpio@44e07000 {
170 compatible = "ti,omap4-gpio";
174 interrupt-controller;
175 #interrupt-cells = <2>;
176 reg = <0x44e07000 0x1000>;
180 gpio1: gpio@4804c000 {
181 compatible = "ti,omap4-gpio";
185 interrupt-controller;
186 #interrupt-cells = <2>;
187 reg = <0x4804c000 0x1000>;
191 gpio2: gpio@481ac000 {
192 compatible = "ti,omap4-gpio";
196 interrupt-controller;
197 #interrupt-cells = <2>;
198 reg = <0x481ac000 0x1000>;
202 gpio3: gpio@481ae000 {
203 compatible = "ti,omap4-gpio";
207 interrupt-controller;
208 #interrupt-cells = <2>;
209 reg = <0x481ae000 0x1000>;
213 uart0: serial@44e09000 {
214 compatible = "ti,omap3-uart";
216 clock-frequency = <48000000>;
217 reg = <0x44e09000 0x2000>;
221 dmas = <&edma 26>, <&edma 27>;
222 dma-names = "tx", "rx";
225 uart1: serial@48022000 {
226 compatible = "ti,omap3-uart";
228 clock-frequency = <48000000>;
229 reg = <0x48022000 0x2000>;
233 dmas = <&edma 28>, <&edma 29>;
234 dma-names = "tx", "rx";
237 uart2: serial@48024000 {
238 compatible = "ti,omap3-uart";
240 clock-frequency = <48000000>;
241 reg = <0x48024000 0x2000>;
245 dmas = <&edma 30>, <&edma 31>;
246 dma-names = "tx", "rx";
249 uart3: serial@481a6000 {
250 compatible = "ti,omap3-uart";
252 clock-frequency = <48000000>;
253 reg = <0x481a6000 0x2000>;
259 uart4: serial@481a8000 {
260 compatible = "ti,omap3-uart";
262 clock-frequency = <48000000>;
263 reg = <0x481a8000 0x2000>;
269 uart5: serial@481aa000 {
270 compatible = "ti,omap3-uart";
272 clock-frequency = <48000000>;
273 reg = <0x481aa000 0x2000>;
280 compatible = "ti,omap4-i2c";
281 #address-cells = <1>;
284 reg = <0x44e0b000 0x1000>;
290 compatible = "ti,omap4-i2c";
291 #address-cells = <1>;
294 reg = <0x4802a000 0x1000>;
300 compatible = "ti,omap4-i2c";
301 #address-cells = <1>;
304 reg = <0x4819c000 0x1000>;
310 compatible = "ti,omap4-hsmmc";
313 ti,needs-special-reset;
314 ti,needs-special-hs-handling;
317 dma-names = "tx", "rx";
319 reg = <0x48060000 0x1000>;
324 compatible = "ti,omap4-hsmmc";
326 ti,needs-special-reset;
329 dma-names = "tx", "rx";
331 reg = <0x481d8000 0x1000>;
336 compatible = "ti,omap4-hsmmc";
338 ti,needs-special-reset;
340 reg = <0x47810000 0x1000>;
344 hwspinlock: spinlock@480ca000 {
345 compatible = "ti,omap4-hwspinlock";
346 reg = <0x480ca000 0x1000>;
347 ti,hwmods = "spinlock";
352 compatible = "ti,omap3-wdt";
353 ti,hwmods = "wd_timer2";
354 reg = <0x44e35000 0x1000>;
358 dcan0: can@481cc000 {
359 compatible = "ti,am3352-d_can";
360 ti,hwmods = "d_can0";
361 reg = <0x481cc000 0x2000>;
362 clocks = <&dcan0_fck>;
364 syscon-raminit = <&scm_conf 0x644 0>;
369 dcan1: can@481d0000 {
370 compatible = "ti,am3352-d_can";
371 ti,hwmods = "d_can1";
372 reg = <0x481d0000 0x2000>;
373 clocks = <&dcan1_fck>;
375 syscon-raminit = <&scm_conf 0x644 1>;
380 mailbox: mailbox@480C8000 {
381 compatible = "ti,omap4-mailbox";
382 reg = <0x480C8000 0x200>;
384 ti,hwmods = "mailbox";
386 ti,mbox-num-users = <4>;
387 ti,mbox-num-fifos = <8>;
388 mbox_wkupm3: wkup_m3 {
389 ti,mbox-tx = <0 0 0>;
390 ti,mbox-rx = <0 0 3>;
394 timer1: timer@44e31000 {
395 compatible = "ti,am335x-timer-1ms";
396 reg = <0x44e31000 0x400>;
398 ti,hwmods = "timer1";
402 timer2: timer@48040000 {
403 compatible = "ti,am335x-timer";
404 reg = <0x48040000 0x400>;
406 ti,hwmods = "timer2";
409 timer3: timer@48042000 {
410 compatible = "ti,am335x-timer";
411 reg = <0x48042000 0x400>;
413 ti,hwmods = "timer3";
416 timer4: timer@48044000 {
417 compatible = "ti,am335x-timer";
418 reg = <0x48044000 0x400>;
420 ti,hwmods = "timer4";
424 timer5: timer@48046000 {
425 compatible = "ti,am335x-timer";
426 reg = <0x48046000 0x400>;
428 ti,hwmods = "timer5";
432 timer6: timer@48048000 {
433 compatible = "ti,am335x-timer";
434 reg = <0x48048000 0x400>;
436 ti,hwmods = "timer6";
440 timer7: timer@4804a000 {
441 compatible = "ti,am335x-timer";
442 reg = <0x4804a000 0x400>;
444 ti,hwmods = "timer7";
449 compatible = "ti,am3352-rtc", "ti,da830-rtc";
450 reg = <0x44e3e000 0x1000>;
457 compatible = "ti,omap4-mcspi";
458 #address-cells = <1>;
460 reg = <0x48030000 0x400>;
468 dma-names = "tx0", "rx0", "tx1", "rx1";
473 compatible = "ti,omap4-mcspi";
474 #address-cells = <1>;
476 reg = <0x481a0000 0x400>;
484 dma-names = "tx0", "rx0", "tx1", "rx1";
489 compatible = "ti,am33xx-usb";
490 reg = <0x47400000 0x1000>;
492 #address-cells = <1>;
494 ti,hwmods = "usb_otg_hs";
497 usb_ctrl_mod: control@44e10620 {
498 compatible = "ti,am335x-usb-ctrl-module";
499 reg = <0x44e10620 0x10
501 reg-names = "phy_ctrl", "wakeup";
505 usb0_phy: usb-phy@47401300 {
506 compatible = "ti,am335x-usb-phy";
507 reg = <0x47401300 0x100>;
510 ti,ctrl_mod = <&usb_ctrl_mod>;
514 compatible = "ti,musb-am33xx";
516 reg = <0x47401400 0x400
518 reg-names = "mc", "control";
521 interrupt-names = "mc";
523 mentor,multipoint = <1>;
524 mentor,num-eps = <16>;
525 mentor,ram-bits = <12>;
526 mentor,power = <500>;
529 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
530 &cppi41dma 2 0 &cppi41dma 3 0
531 &cppi41dma 4 0 &cppi41dma 5 0
532 &cppi41dma 6 0 &cppi41dma 7 0
533 &cppi41dma 8 0 &cppi41dma 9 0
534 &cppi41dma 10 0 &cppi41dma 11 0
535 &cppi41dma 12 0 &cppi41dma 13 0
536 &cppi41dma 14 0 &cppi41dma 0 1
537 &cppi41dma 1 1 &cppi41dma 2 1
538 &cppi41dma 3 1 &cppi41dma 4 1
539 &cppi41dma 5 1 &cppi41dma 6 1
540 &cppi41dma 7 1 &cppi41dma 8 1
541 &cppi41dma 9 1 &cppi41dma 10 1
542 &cppi41dma 11 1 &cppi41dma 12 1
543 &cppi41dma 13 1 &cppi41dma 14 1>;
545 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
546 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
548 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
549 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
553 usb1_phy: usb-phy@47401b00 {
554 compatible = "ti,am335x-usb-phy";
555 reg = <0x47401b00 0x100>;
558 ti,ctrl_mod = <&usb_ctrl_mod>;
562 compatible = "ti,musb-am33xx";
564 reg = <0x47401c00 0x400
566 reg-names = "mc", "control";
568 interrupt-names = "mc";
570 mentor,multipoint = <1>;
571 mentor,num-eps = <16>;
572 mentor,ram-bits = <12>;
573 mentor,power = <500>;
576 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
577 &cppi41dma 17 0 &cppi41dma 18 0
578 &cppi41dma 19 0 &cppi41dma 20 0
579 &cppi41dma 21 0 &cppi41dma 22 0
580 &cppi41dma 23 0 &cppi41dma 24 0
581 &cppi41dma 25 0 &cppi41dma 26 0
582 &cppi41dma 27 0 &cppi41dma 28 0
583 &cppi41dma 29 0 &cppi41dma 15 1
584 &cppi41dma 16 1 &cppi41dma 17 1
585 &cppi41dma 18 1 &cppi41dma 19 1
586 &cppi41dma 20 1 &cppi41dma 21 1
587 &cppi41dma 22 1 &cppi41dma 23 1
588 &cppi41dma 24 1 &cppi41dma 25 1
589 &cppi41dma 26 1 &cppi41dma 27 1
590 &cppi41dma 28 1 &cppi41dma 29 1>;
592 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
593 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
595 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
596 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
600 cppi41dma: dma-controller@47402000 {
601 compatible = "ti,am3359-cppi41";
602 reg = <0x47400000 0x1000
606 reg-names = "glue", "controller", "scheduler", "queuemgr";
608 interrupt-names = "glue";
610 #dma-channels = <30>;
611 #dma-requests = <256>;
616 epwmss0: epwmss@48300000 {
617 compatible = "ti,am33xx-pwmss";
618 reg = <0x48300000 0x10>;
619 ti,hwmods = "epwmss0";
620 #address-cells = <1>;
623 ranges = <0x48300100 0x48300100 0x80 /* ECAP */
624 0x48300180 0x48300180 0x80 /* EQEP */
625 0x48300200 0x48300200 0x80>; /* EHRPWM */
627 ecap0: ecap@48300100 {
628 compatible = "ti,am33xx-ecap";
630 reg = <0x48300100 0x80>;
632 interrupt-names = "ecap0";
637 ehrpwm0: ehrpwm@48300200 {
638 compatible = "ti,am33xx-ehrpwm";
640 reg = <0x48300200 0x80>;
641 ti,hwmods = "ehrpwm0";
646 epwmss1: epwmss@48302000 {
647 compatible = "ti,am33xx-pwmss";
648 reg = <0x48302000 0x10>;
649 ti,hwmods = "epwmss1";
650 #address-cells = <1>;
653 ranges = <0x48302100 0x48302100 0x80 /* ECAP */
654 0x48302180 0x48302180 0x80 /* EQEP */
655 0x48302200 0x48302200 0x80>; /* EHRPWM */
657 ecap1: ecap@48302100 {
658 compatible = "ti,am33xx-ecap";
660 reg = <0x48302100 0x80>;
662 interrupt-names = "ecap1";
667 ehrpwm1: ehrpwm@48302200 {
668 compatible = "ti,am33xx-ehrpwm";
670 reg = <0x48302200 0x80>;
671 ti,hwmods = "ehrpwm1";
676 epwmss2: epwmss@48304000 {
677 compatible = "ti,am33xx-pwmss";
678 reg = <0x48304000 0x10>;
679 ti,hwmods = "epwmss2";
680 #address-cells = <1>;
683 ranges = <0x48304100 0x48304100 0x80 /* ECAP */
684 0x48304180 0x48304180 0x80 /* EQEP */
685 0x48304200 0x48304200 0x80>; /* EHRPWM */
687 ecap2: ecap@48304100 {
688 compatible = "ti,am33xx-ecap";
690 reg = <0x48304100 0x80>;
692 interrupt-names = "ecap2";
697 ehrpwm2: ehrpwm@48304200 {
698 compatible = "ti,am33xx-ehrpwm";
700 reg = <0x48304200 0x80>;
701 ti,hwmods = "ehrpwm2";
706 mac: ethernet@4a100000 {
707 compatible = "ti,cpsw";
708 ti,hwmods = "cpgmac0";
709 clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
710 clock-names = "fck", "cpts";
711 cpdma_channels = <8>;
712 ale_entries = <1024>;
713 bd_ram_size = <0x2000>;
716 mac_control = <0x20>;
719 cpts_clock_mult = <0x80000000>;
720 cpts_clock_shift = <29>;
721 reg = <0x4a100000 0x800
723 #address-cells = <1>;
731 interrupts = <40 41 42 43>;
733 syscon = <&scm_conf>;
736 davinci_mdio: mdio@4a101000 {
737 compatible = "ti,davinci_mdio";
738 #address-cells = <1>;
740 ti,hwmods = "davinci_mdio";
741 bus_freq = <1000000>;
742 reg = <0x4a101000 0x100>;
746 cpsw_emac0: slave@4a100200 {
747 /* Filled in by U-Boot */
748 mac-address = [ 00 00 00 00 00 00 ];
751 cpsw_emac1: slave@4a100300 {
752 /* Filled in by U-Boot */
753 mac-address = [ 00 00 00 00 00 00 ];
756 phy_sel: cpsw-phy-sel@44e10650 {
757 compatible = "ti,am3352-cpsw-phy-sel";
758 reg= <0x44e10650 0x4>;
759 reg-names = "gmii-sel";
763 ocmcram: ocmcram@40300000 {
764 compatible = "mmio-sram";
765 reg = <0x40300000 0x10000>; /* 64k */
768 wkup_m3: wkup_m3@44d00000 {
769 compatible = "ti,am3353-wkup-m3";
770 reg = <0x44d00000 0x4000 /* M3 UMEM */
771 0x44d80000 0x2000>; /* M3 DMEM */
772 ti,hwmods = "wkup_m3";
777 compatible = "ti,am3352-elm";
778 reg = <0x48080000 0x2000>;
784 lcdc: lcdc@4830e000 {
785 compatible = "ti,am33xx-tilcdc";
786 reg = <0x4830e000 0x1000>;
792 tscadc: tscadc@44e0d000 {
793 compatible = "ti,am3359-tscadc";
794 reg = <0x44e0d000 0x1000>;
796 ti,hwmods = "adc_tsc";
800 compatible = "ti,am3359-tsc";
803 #io-channel-cells = <1>;
804 compatible = "ti,am3359-adc";
808 gpmc: gpmc@50000000 {
809 compatible = "ti,am3352-gpmc";
812 reg = <0x50000000 0x2000>;
815 gpmc,num-waitpins = <2>;
816 #address-cells = <2>;
821 sham: sham@53100000 {
822 compatible = "ti,omap4-sham";
824 reg = <0x53100000 0x200>;
831 compatible = "ti,omap4-aes";
833 reg = <0x53500000 0xa0>;
837 dma-names = "tx", "rx";
840 mcasp0: mcasp@48038000 {
841 compatible = "ti,am33xx-mcasp-audio";
842 ti,hwmods = "mcasp0";
843 reg = <0x48038000 0x2000>,
844 <0x46000000 0x400000>;
845 reg-names = "mpu", "dat";
846 interrupts = <80>, <81>;
847 interrupt-names = "tx", "rx";
851 dma-names = "tx", "rx";
854 mcasp1: mcasp@4803C000 {
855 compatible = "ti,am33xx-mcasp-audio";
856 ti,hwmods = "mcasp1";
857 reg = <0x4803C000 0x2000>,
858 <0x46400000 0x400000>;
859 reg-names = "mpu", "dat";
860 interrupts = <82>, <83>;
861 interrupt-names = "tx", "rx";
865 dma-names = "tx", "rx";
869 compatible = "ti,omap4-rng";
871 reg = <0x48310000 0x2000>;
877 /include/ "am33xx-clocks.dtsi"