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 */
61 clock-latency = <300000>; /* From omap-cpufreq driver */
66 compatible = "arm,cortex-a8-pmu";
71 * The soc node represents the soc top level view. It is uses for IPs
72 * that are not memory mapped in the MPU view or for the MPU itself.
75 compatible = "ti,omap-infra";
77 compatible = "ti,omap3-mpu";
82 am33xx_pinmux: pinmux@44e10800 {
83 compatible = "pinctrl-single";
84 reg = <0x44e10800 0x0238>;
87 pinctrl-single,register-width = <32>;
88 pinctrl-single,function-mask = <0x7f>;
92 * XXX: Use a flat representation of the AM33XX interconnect.
93 * The real AM33XX interconnect network is quite complex.Since
94 * that will not bring real advantage to represent that in DT
95 * for the moment, just use a fake OCP bus entry to represent
96 * the whole bus hierarchy.
99 compatible = "simple-bus";
100 #address-cells = <1>;
103 ti,hwmods = "l3_main";
105 prcm: prcm@44e00000 {
106 compatible = "ti,am3-prcm";
107 reg = <0x44e00000 0x4000>;
109 prcm_clocks: clocks {
110 #address-cells = <1>;
114 prcm_clockdomains: clockdomains {
118 scrm: scrm@44e10000 {
119 compatible = "ti,am3-scrm";
120 reg = <0x44e10000 0x2000>;
122 scrm_clocks: clocks {
123 #address-cells = <1>;
127 scrm_clockdomains: clockdomains {
131 intc: interrupt-controller@48200000 {
132 compatible = "ti,omap2-intc";
133 interrupt-controller;
134 #interrupt-cells = <1>;
135 ti,intc-size = <128>;
136 reg = <0x48200000 0x1000>;
139 edma: edma@49000000 {
140 compatible = "ti,edma3";
141 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
142 reg = <0x49000000 0x10000>,
144 interrupts = <12 13 14>;
147 ti,edma-regions = <4>;
148 ti,edma-slots = <256>;
151 gpio0: gpio@44e07000 {
152 compatible = "ti,omap4-gpio";
156 interrupt-controller;
157 #interrupt-cells = <2>;
158 reg = <0x44e07000 0x1000>;
162 gpio1: gpio@4804c000 {
163 compatible = "ti,omap4-gpio";
167 interrupt-controller;
168 #interrupt-cells = <2>;
169 reg = <0x4804c000 0x1000>;
173 gpio2: gpio@481ac000 {
174 compatible = "ti,omap4-gpio";
178 interrupt-controller;
179 #interrupt-cells = <2>;
180 reg = <0x481ac000 0x1000>;
184 gpio3: gpio@481ae000 {
185 compatible = "ti,omap4-gpio";
189 interrupt-controller;
190 #interrupt-cells = <2>;
191 reg = <0x481ae000 0x1000>;
195 uart0: serial@44e09000 {
196 compatible = "ti,omap3-uart";
198 clock-frequency = <48000000>;
199 reg = <0x44e09000 0x2000>;
204 uart1: serial@48022000 {
205 compatible = "ti,omap3-uart";
207 clock-frequency = <48000000>;
208 reg = <0x48022000 0x2000>;
213 uart2: serial@48024000 {
214 compatible = "ti,omap3-uart";
216 clock-frequency = <48000000>;
217 reg = <0x48024000 0x2000>;
222 uart3: serial@481a6000 {
223 compatible = "ti,omap3-uart";
225 clock-frequency = <48000000>;
226 reg = <0x481a6000 0x2000>;
231 uart4: serial@481a8000 {
232 compatible = "ti,omap3-uart";
234 clock-frequency = <48000000>;
235 reg = <0x481a8000 0x2000>;
240 uart5: serial@481aa000 {
241 compatible = "ti,omap3-uart";
243 clock-frequency = <48000000>;
244 reg = <0x481aa000 0x2000>;
250 compatible = "ti,omap4-i2c";
251 #address-cells = <1>;
254 reg = <0x44e0b000 0x1000>;
260 compatible = "ti,omap4-i2c";
261 #address-cells = <1>;
264 reg = <0x4802a000 0x1000>;
270 compatible = "ti,omap4-i2c";
271 #address-cells = <1>;
274 reg = <0x4819c000 0x1000>;
280 compatible = "ti,omap4-hsmmc";
283 ti,needs-special-reset;
284 ti,needs-special-hs-handling;
287 dma-names = "tx", "rx";
289 interrupt-parent = <&intc>;
290 reg = <0x48060000 0x1000>;
295 compatible = "ti,omap4-hsmmc";
297 ti,needs-special-reset;
300 dma-names = "tx", "rx";
302 interrupt-parent = <&intc>;
303 reg = <0x481d8000 0x1000>;
308 compatible = "ti,omap4-hsmmc";
310 ti,needs-special-reset;
312 interrupt-parent = <&intc>;
313 reg = <0x47810000 0x1000>;
317 hwspinlock: spinlock@480ca000 {
318 compatible = "ti,omap4-hwspinlock";
319 reg = <0x480ca000 0x1000>;
320 ti,hwmods = "spinlock";
324 compatible = "ti,omap3-wdt";
325 ti,hwmods = "wd_timer2";
326 reg = <0x44e35000 0x1000>;
330 dcan0: d_can@481cc000 {
331 compatible = "bosch,d_can";
332 ti,hwmods = "d_can0";
333 reg = <0x481cc000 0x2000
339 dcan1: d_can@481d0000 {
340 compatible = "bosch,d_can";
341 ti,hwmods = "d_can1";
342 reg = <0x481d0000 0x2000
348 timer1: timer@44e31000 {
349 compatible = "ti,am335x-timer-1ms";
350 reg = <0x44e31000 0x400>;
352 ti,hwmods = "timer1";
356 timer2: timer@48040000 {
357 compatible = "ti,am335x-timer";
358 reg = <0x48040000 0x400>;
360 ti,hwmods = "timer2";
363 timer3: timer@48042000 {
364 compatible = "ti,am335x-timer";
365 reg = <0x48042000 0x400>;
367 ti,hwmods = "timer3";
370 timer4: timer@48044000 {
371 compatible = "ti,am335x-timer";
372 reg = <0x48044000 0x400>;
374 ti,hwmods = "timer4";
378 timer5: timer@48046000 {
379 compatible = "ti,am335x-timer";
380 reg = <0x48046000 0x400>;
382 ti,hwmods = "timer5";
386 timer6: timer@48048000 {
387 compatible = "ti,am335x-timer";
388 reg = <0x48048000 0x400>;
390 ti,hwmods = "timer6";
394 timer7: timer@4804a000 {
395 compatible = "ti,am335x-timer";
396 reg = <0x4804a000 0x400>;
398 ti,hwmods = "timer7";
403 compatible = "ti,da830-rtc";
404 reg = <0x44e3e000 0x1000>;
411 compatible = "ti,omap4-mcspi";
412 #address-cells = <1>;
414 reg = <0x48030000 0x400>;
422 dma-names = "tx0", "rx0", "tx1", "rx1";
427 compatible = "ti,omap4-mcspi";
428 #address-cells = <1>;
430 reg = <0x481a0000 0x400>;
438 dma-names = "tx0", "rx0", "tx1", "rx1";
443 compatible = "ti,am33xx-usb";
444 reg = <0x47400000 0x1000>;
446 #address-cells = <1>;
448 ti,hwmods = "usb_otg_hs";
451 usb_ctrl_mod: control@44e10000 {
452 compatible = "ti,am335x-usb-ctrl-module";
453 reg = <0x44e10620 0x10
455 reg-names = "phy_ctrl", "wakeup";
459 usb0_phy: usb-phy@47401300 {
460 compatible = "ti,am335x-usb-phy";
461 reg = <0x47401300 0x100>;
464 ti,ctrl_mod = <&usb_ctrl_mod>;
468 compatible = "ti,musb-am33xx";
470 reg = <0x47401400 0x400
472 reg-names = "mc", "control";
475 interrupt-names = "mc";
477 mentor,multipoint = <1>;
478 mentor,num-eps = <16>;
479 mentor,ram-bits = <12>;
480 mentor,power = <500>;
483 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
484 &cppi41dma 2 0 &cppi41dma 3 0
485 &cppi41dma 4 0 &cppi41dma 5 0
486 &cppi41dma 6 0 &cppi41dma 7 0
487 &cppi41dma 8 0 &cppi41dma 9 0
488 &cppi41dma 10 0 &cppi41dma 11 0
489 &cppi41dma 12 0 &cppi41dma 13 0
490 &cppi41dma 14 0 &cppi41dma 0 1
491 &cppi41dma 1 1 &cppi41dma 2 1
492 &cppi41dma 3 1 &cppi41dma 4 1
493 &cppi41dma 5 1 &cppi41dma 6 1
494 &cppi41dma 7 1 &cppi41dma 8 1
495 &cppi41dma 9 1 &cppi41dma 10 1
496 &cppi41dma 11 1 &cppi41dma 12 1
497 &cppi41dma 13 1 &cppi41dma 14 1>;
499 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
500 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
502 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
503 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
507 usb1_phy: usb-phy@47401b00 {
508 compatible = "ti,am335x-usb-phy";
509 reg = <0x47401b00 0x100>;
512 ti,ctrl_mod = <&usb_ctrl_mod>;
516 compatible = "ti,musb-am33xx";
518 reg = <0x47401c00 0x400
520 reg-names = "mc", "control";
522 interrupt-names = "mc";
524 mentor,multipoint = <1>;
525 mentor,num-eps = <16>;
526 mentor,ram-bits = <12>;
527 mentor,power = <500>;
530 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
531 &cppi41dma 17 0 &cppi41dma 18 0
532 &cppi41dma 19 0 &cppi41dma 20 0
533 &cppi41dma 21 0 &cppi41dma 22 0
534 &cppi41dma 23 0 &cppi41dma 24 0
535 &cppi41dma 25 0 &cppi41dma 26 0
536 &cppi41dma 27 0 &cppi41dma 28 0
537 &cppi41dma 29 0 &cppi41dma 15 1
538 &cppi41dma 16 1 &cppi41dma 17 1
539 &cppi41dma 18 1 &cppi41dma 19 1
540 &cppi41dma 20 1 &cppi41dma 21 1
541 &cppi41dma 22 1 &cppi41dma 23 1
542 &cppi41dma 24 1 &cppi41dma 25 1
543 &cppi41dma 26 1 &cppi41dma 27 1
544 &cppi41dma 28 1 &cppi41dma 29 1>;
546 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
547 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
549 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
550 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
554 cppi41dma: dma-controller@07402000 {
555 compatible = "ti,am3359-cppi41";
556 reg = <0x47400000 0x1000
560 reg-names = "glue", "controller", "scheduler", "queuemgr";
562 interrupt-names = "glue";
564 #dma-channels = <30>;
565 #dma-requests = <256>;
570 epwmss0: epwmss@48300000 {
571 compatible = "ti,am33xx-pwmss";
572 reg = <0x48300000 0x10>;
573 ti,hwmods = "epwmss0";
574 #address-cells = <1>;
577 ranges = <0x48300100 0x48300100 0x80 /* ECAP */
578 0x48300180 0x48300180 0x80 /* EQEP */
579 0x48300200 0x48300200 0x80>; /* EHRPWM */
581 ecap0: ecap@48300100 {
582 compatible = "ti,am33xx-ecap";
584 reg = <0x48300100 0x80>;
589 ehrpwm0: ehrpwm@48300200 {
590 compatible = "ti,am33xx-ehrpwm";
592 reg = <0x48300200 0x80>;
593 ti,hwmods = "ehrpwm0";
598 epwmss1: epwmss@48302000 {
599 compatible = "ti,am33xx-pwmss";
600 reg = <0x48302000 0x10>;
601 ti,hwmods = "epwmss1";
602 #address-cells = <1>;
605 ranges = <0x48302100 0x48302100 0x80 /* ECAP */
606 0x48302180 0x48302180 0x80 /* EQEP */
607 0x48302200 0x48302200 0x80>; /* EHRPWM */
609 ecap1: ecap@48302100 {
610 compatible = "ti,am33xx-ecap";
612 reg = <0x48302100 0x80>;
617 ehrpwm1: ehrpwm@48302200 {
618 compatible = "ti,am33xx-ehrpwm";
620 reg = <0x48302200 0x80>;
621 ti,hwmods = "ehrpwm1";
626 epwmss2: epwmss@48304000 {
627 compatible = "ti,am33xx-pwmss";
628 reg = <0x48304000 0x10>;
629 ti,hwmods = "epwmss2";
630 #address-cells = <1>;
633 ranges = <0x48304100 0x48304100 0x80 /* ECAP */
634 0x48304180 0x48304180 0x80 /* EQEP */
635 0x48304200 0x48304200 0x80>; /* EHRPWM */
637 ecap2: ecap@48304100 {
638 compatible = "ti,am33xx-ecap";
640 reg = <0x48304100 0x80>;
645 ehrpwm2: ehrpwm@48304200 {
646 compatible = "ti,am33xx-ehrpwm";
648 reg = <0x48304200 0x80>;
649 ti,hwmods = "ehrpwm2";
654 mac: ethernet@4a100000 {
655 compatible = "ti,cpsw";
656 ti,hwmods = "cpgmac0";
657 cpdma_channels = <8>;
658 ale_entries = <1024>;
659 bd_ram_size = <0x2000>;
662 mac_control = <0x20>;
665 cpts_clock_mult = <0x80000000>;
666 cpts_clock_shift = <29>;
667 reg = <0x4a100000 0x800
669 #address-cells = <1>;
671 interrupt-parent = <&intc>;
678 interrupts = <40 41 42 43>;
681 davinci_mdio: mdio@4a101000 {
682 compatible = "ti,davinci_mdio";
683 #address-cells = <1>;
685 ti,hwmods = "davinci_mdio";
686 bus_freq = <1000000>;
687 reg = <0x4a101000 0x100>;
690 cpsw_emac0: slave@4a100200 {
691 /* Filled in by U-Boot */
692 mac-address = [ 00 00 00 00 00 00 ];
695 cpsw_emac1: slave@4a100300 {
696 /* Filled in by U-Boot */
697 mac-address = [ 00 00 00 00 00 00 ];
700 phy_sel: cpsw-phy-sel@44e10650 {
701 compatible = "ti,am3352-cpsw-phy-sel";
702 reg= <0x44e10650 0x4>;
703 reg-names = "gmii-sel";
707 ocmcram: ocmcram@40300000 {
708 compatible = "ti,am3352-ocmcram";
709 reg = <0x40300000 0x10000>;
710 ti,hwmods = "ocmcram";
713 wkup_m3: wkup_m3@44d00000 {
714 compatible = "ti,am3353-wkup-m3";
715 reg = <0x44d00000 0x4000 /* M3 UMEM */
716 0x44d80000 0x2000>; /* M3 DMEM */
717 ti,hwmods = "wkup_m3";
722 compatible = "ti,am3352-elm";
723 reg = <0x48080000 0x2000>;
729 lcdc: lcdc@4830e000 {
730 compatible = "ti,am33xx-tilcdc";
731 reg = <0x4830e000 0x1000>;
732 interrupt-parent = <&intc>;
738 tscadc: tscadc@44e0d000 {
739 compatible = "ti,am3359-tscadc";
740 reg = <0x44e0d000 0x1000>;
741 interrupt-parent = <&intc>;
743 ti,hwmods = "adc_tsc";
747 compatible = "ti,am3359-tsc";
750 #io-channel-cells = <1>;
751 compatible = "ti,am3359-adc";
755 gpmc: gpmc@50000000 {
756 compatible = "ti,am3352-gpmc";
759 reg = <0x50000000 0x2000>;
762 gpmc,num-waitpins = <2>;
763 #address-cells = <2>;
768 sham: sham@53100000 {
769 compatible = "ti,omap4-sham";
771 reg = <0x53100000 0x200>;
778 compatible = "ti,omap4-aes";
780 reg = <0x53500000 0xa0>;
784 dma-names = "tx", "rx";
787 mcasp0: mcasp@48038000 {
788 compatible = "ti,am33xx-mcasp-audio";
789 ti,hwmods = "mcasp0";
790 reg = <0x48038000 0x2000>,
791 <0x46000000 0x400000>;
792 reg-names = "mpu", "dat";
793 interrupts = <80>, <81>;
794 interrupts-names = "tx", "rx";
798 dma-names = "tx", "rx";
801 mcasp1: mcasp@4803C000 {
802 compatible = "ti,am33xx-mcasp-audio";
803 ti,hwmods = "mcasp1";
804 reg = <0x4803C000 0x2000>,
805 <0x46400000 0x400000>;
806 reg-names = "mpu", "dat";
807 interrupts = <82>, <83>;
808 interrupts-names = "tx", "rx";
812 dma-names = "tx", "rx";
816 compatible = "ti,omap4-rng";
818 reg = <0x48310000 0x2000>;
824 /include/ "am33xx-clocks.dtsi"