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";
86 am33xx_pinmux: pinmux@44e10800 {
87 compatible = "pinctrl-single";
88 reg = <0x44e10800 0x0238>;
91 pinctrl-single,register-width = <32>;
92 pinctrl-single,function-mask = <0x7f>;
96 * XXX: Use a flat representation of the AM33XX interconnect.
97 * The real AM33XX interconnect network is quite complex. Since
98 * it will not bring real advantage to represent that in DT
99 * for the moment, just use a fake OCP bus entry to represent
100 * the whole bus hierarchy.
103 compatible = "simple-bus";
104 #address-cells = <1>;
107 ti,hwmods = "l3_main";
109 prcm: prcm@44e00000 {
110 compatible = "ti,am3-prcm";
111 reg = <0x44e00000 0x4000>;
113 prcm_clocks: clocks {
114 #address-cells = <1>;
118 prcm_clockdomains: clockdomains {
122 scrm: scrm@44e10000 {
123 compatible = "ti,am3-scrm";
124 reg = <0x44e10000 0x2000>;
126 scrm_clocks: clocks {
127 #address-cells = <1>;
131 scrm_clockdomains: clockdomains {
135 cm: syscon@44e10000 {
136 compatible = "ti,am33xx-controlmodule", "syscon";
137 reg = <0x44e10000 0x800>;
140 intc: interrupt-controller@48200000 {
141 compatible = "ti,am33xx-intc";
142 interrupt-controller;
143 #interrupt-cells = <1>;
144 reg = <0x48200000 0x1000>;
147 edma: edma@49000000 {
148 compatible = "ti,edma3";
149 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
150 reg = <0x49000000 0x10000>,
152 interrupts = <12 13 14>;
156 gpio0: gpio@44e07000 {
157 compatible = "ti,omap4-gpio";
161 interrupt-controller;
162 #interrupt-cells = <2>;
163 reg = <0x44e07000 0x1000>;
167 gpio1: gpio@4804c000 {
168 compatible = "ti,omap4-gpio";
172 interrupt-controller;
173 #interrupt-cells = <2>;
174 reg = <0x4804c000 0x1000>;
178 gpio2: gpio@481ac000 {
179 compatible = "ti,omap4-gpio";
183 interrupt-controller;
184 #interrupt-cells = <2>;
185 reg = <0x481ac000 0x1000>;
189 gpio3: gpio@481ae000 {
190 compatible = "ti,omap4-gpio";
194 interrupt-controller;
195 #interrupt-cells = <2>;
196 reg = <0x481ae000 0x1000>;
200 uart0: serial@44e09000 {
201 compatible = "ti,omap3-uart";
203 clock-frequency = <48000000>;
204 reg = <0x44e09000 0x2000>;
209 uart1: serial@48022000 {
210 compatible = "ti,omap3-uart";
212 clock-frequency = <48000000>;
213 reg = <0x48022000 0x2000>;
218 uart2: serial@48024000 {
219 compatible = "ti,omap3-uart";
221 clock-frequency = <48000000>;
222 reg = <0x48024000 0x2000>;
227 uart3: serial@481a6000 {
228 compatible = "ti,omap3-uart";
230 clock-frequency = <48000000>;
231 reg = <0x481a6000 0x2000>;
236 uart4: serial@481a8000 {
237 compatible = "ti,omap3-uart";
239 clock-frequency = <48000000>;
240 reg = <0x481a8000 0x2000>;
245 uart5: serial@481aa000 {
246 compatible = "ti,omap3-uart";
248 clock-frequency = <48000000>;
249 reg = <0x481aa000 0x2000>;
255 compatible = "ti,omap4-i2c";
256 #address-cells = <1>;
259 reg = <0x44e0b000 0x1000>;
265 compatible = "ti,omap4-i2c";
266 #address-cells = <1>;
269 reg = <0x4802a000 0x1000>;
275 compatible = "ti,omap4-i2c";
276 #address-cells = <1>;
279 reg = <0x4819c000 0x1000>;
285 compatible = "ti,omap4-hsmmc";
288 ti,needs-special-reset;
289 ti,needs-special-hs-handling;
292 dma-names = "tx", "rx";
294 interrupt-parent = <&intc>;
295 reg = <0x48060000 0x1000>;
300 compatible = "ti,omap4-hsmmc";
302 ti,needs-special-reset;
305 dma-names = "tx", "rx";
307 interrupt-parent = <&intc>;
308 reg = <0x481d8000 0x1000>;
313 compatible = "ti,omap4-hsmmc";
315 ti,needs-special-reset;
317 interrupt-parent = <&intc>;
318 reg = <0x47810000 0x1000>;
322 hwspinlock: spinlock@480ca000 {
323 compatible = "ti,omap4-hwspinlock";
324 reg = <0x480ca000 0x1000>;
325 ti,hwmods = "spinlock";
330 compatible = "ti,omap3-wdt";
331 ti,hwmods = "wd_timer2";
332 reg = <0x44e35000 0x1000>;
336 dcan0: d_can@481cc000 {
337 compatible = "bosch,d_can";
338 ti,hwmods = "d_can0";
339 reg = <0x481cc000 0x2000
345 dcan1: d_can@481d0000 {
346 compatible = "bosch,d_can";
347 ti,hwmods = "d_can1";
348 reg = <0x481d0000 0x2000
354 mailbox: mailbox@480C8000 {
355 compatible = "ti,omap4-mailbox";
356 reg = <0x480C8000 0x200>;
358 ti,hwmods = "mailbox";
359 ti,mbox-num-users = <4>;
360 ti,mbox-num-fifos = <8>;
361 mbox_wkupm3: wkup_m3 {
362 ti,mbox-tx = <0 0 0>;
363 ti,mbox-rx = <0 0 3>;
367 timer1: timer@44e31000 {
368 compatible = "ti,am335x-timer-1ms";
369 reg = <0x44e31000 0x400>;
371 ti,hwmods = "timer1";
375 timer2: timer@48040000 {
376 compatible = "ti,am335x-timer";
377 reg = <0x48040000 0x400>;
379 ti,hwmods = "timer2";
382 timer3: timer@48042000 {
383 compatible = "ti,am335x-timer";
384 reg = <0x48042000 0x400>;
386 ti,hwmods = "timer3";
389 timer4: timer@48044000 {
390 compatible = "ti,am335x-timer";
391 reg = <0x48044000 0x400>;
393 ti,hwmods = "timer4";
397 timer5: timer@48046000 {
398 compatible = "ti,am335x-timer";
399 reg = <0x48046000 0x400>;
401 ti,hwmods = "timer5";
405 timer6: timer@48048000 {
406 compatible = "ti,am335x-timer";
407 reg = <0x48048000 0x400>;
409 ti,hwmods = "timer6";
413 timer7: timer@4804a000 {
414 compatible = "ti,am335x-timer";
415 reg = <0x4804a000 0x400>;
417 ti,hwmods = "timer7";
422 compatible = "ti,da830-rtc";
423 reg = <0x44e3e000 0x1000>;
430 compatible = "ti,omap4-mcspi";
431 #address-cells = <1>;
433 reg = <0x48030000 0x400>;
441 dma-names = "tx0", "rx0", "tx1", "rx1";
446 compatible = "ti,omap4-mcspi";
447 #address-cells = <1>;
449 reg = <0x481a0000 0x400>;
457 dma-names = "tx0", "rx0", "tx1", "rx1";
462 compatible = "ti,am33xx-usb";
463 reg = <0x47400000 0x1000>;
465 #address-cells = <1>;
467 ti,hwmods = "usb_otg_hs";
470 usb_ctrl_mod: control@44e10620 {
471 compatible = "ti,am335x-usb-ctrl-module";
472 reg = <0x44e10620 0x10
474 reg-names = "phy_ctrl", "wakeup";
478 usb0_phy: usb-phy@47401300 {
479 compatible = "ti,am335x-usb-phy";
480 reg = <0x47401300 0x100>;
483 ti,ctrl_mod = <&usb_ctrl_mod>;
487 compatible = "ti,musb-am33xx";
489 reg = <0x47401400 0x400
491 reg-names = "mc", "control";
494 interrupt-names = "mc";
496 mentor,multipoint = <1>;
497 mentor,num-eps = <16>;
498 mentor,ram-bits = <12>;
499 mentor,power = <500>;
502 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
503 &cppi41dma 2 0 &cppi41dma 3 0
504 &cppi41dma 4 0 &cppi41dma 5 0
505 &cppi41dma 6 0 &cppi41dma 7 0
506 &cppi41dma 8 0 &cppi41dma 9 0
507 &cppi41dma 10 0 &cppi41dma 11 0
508 &cppi41dma 12 0 &cppi41dma 13 0
509 &cppi41dma 14 0 &cppi41dma 0 1
510 &cppi41dma 1 1 &cppi41dma 2 1
511 &cppi41dma 3 1 &cppi41dma 4 1
512 &cppi41dma 5 1 &cppi41dma 6 1
513 &cppi41dma 7 1 &cppi41dma 8 1
514 &cppi41dma 9 1 &cppi41dma 10 1
515 &cppi41dma 11 1 &cppi41dma 12 1
516 &cppi41dma 13 1 &cppi41dma 14 1>;
518 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
519 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
521 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
522 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
526 usb1_phy: usb-phy@47401b00 {
527 compatible = "ti,am335x-usb-phy";
528 reg = <0x47401b00 0x100>;
531 ti,ctrl_mod = <&usb_ctrl_mod>;
535 compatible = "ti,musb-am33xx";
537 reg = <0x47401c00 0x400
539 reg-names = "mc", "control";
541 interrupt-names = "mc";
543 mentor,multipoint = <1>;
544 mentor,num-eps = <16>;
545 mentor,ram-bits = <12>;
546 mentor,power = <500>;
549 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
550 &cppi41dma 17 0 &cppi41dma 18 0
551 &cppi41dma 19 0 &cppi41dma 20 0
552 &cppi41dma 21 0 &cppi41dma 22 0
553 &cppi41dma 23 0 &cppi41dma 24 0
554 &cppi41dma 25 0 &cppi41dma 26 0
555 &cppi41dma 27 0 &cppi41dma 28 0
556 &cppi41dma 29 0 &cppi41dma 15 1
557 &cppi41dma 16 1 &cppi41dma 17 1
558 &cppi41dma 18 1 &cppi41dma 19 1
559 &cppi41dma 20 1 &cppi41dma 21 1
560 &cppi41dma 22 1 &cppi41dma 23 1
561 &cppi41dma 24 1 &cppi41dma 25 1
562 &cppi41dma 26 1 &cppi41dma 27 1
563 &cppi41dma 28 1 &cppi41dma 29 1>;
565 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
566 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
568 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
569 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
573 cppi41dma: dma-controller@47402000 {
574 compatible = "ti,am3359-cppi41";
575 reg = <0x47400000 0x1000
579 reg-names = "glue", "controller", "scheduler", "queuemgr";
581 interrupt-names = "glue";
583 #dma-channels = <30>;
584 #dma-requests = <256>;
589 epwmss0: epwmss@48300000 {
590 compatible = "ti,am33xx-pwmss";
591 reg = <0x48300000 0x10>;
592 ti,hwmods = "epwmss0";
593 #address-cells = <1>;
596 ranges = <0x48300100 0x48300100 0x80 /* ECAP */
597 0x48300180 0x48300180 0x80 /* EQEP */
598 0x48300200 0x48300200 0x80>; /* EHRPWM */
600 ecap0: ecap@48300100 {
601 compatible = "ti,am33xx-ecap";
603 reg = <0x48300100 0x80>;
605 interrupt-names = "ecap0";
610 ehrpwm0: ehrpwm@48300200 {
611 compatible = "ti,am33xx-ehrpwm";
613 reg = <0x48300200 0x80>;
614 ti,hwmods = "ehrpwm0";
619 epwmss1: epwmss@48302000 {
620 compatible = "ti,am33xx-pwmss";
621 reg = <0x48302000 0x10>;
622 ti,hwmods = "epwmss1";
623 #address-cells = <1>;
626 ranges = <0x48302100 0x48302100 0x80 /* ECAP */
627 0x48302180 0x48302180 0x80 /* EQEP */
628 0x48302200 0x48302200 0x80>; /* EHRPWM */
630 ecap1: ecap@48302100 {
631 compatible = "ti,am33xx-ecap";
633 reg = <0x48302100 0x80>;
635 interrupt-names = "ecap1";
640 ehrpwm1: ehrpwm@48302200 {
641 compatible = "ti,am33xx-ehrpwm";
643 reg = <0x48302200 0x80>;
644 ti,hwmods = "ehrpwm1";
649 epwmss2: epwmss@48304000 {
650 compatible = "ti,am33xx-pwmss";
651 reg = <0x48304000 0x10>;
652 ti,hwmods = "epwmss2";
653 #address-cells = <1>;
656 ranges = <0x48304100 0x48304100 0x80 /* ECAP */
657 0x48304180 0x48304180 0x80 /* EQEP */
658 0x48304200 0x48304200 0x80>; /* EHRPWM */
660 ecap2: ecap@48304100 {
661 compatible = "ti,am33xx-ecap";
663 reg = <0x48304100 0x80>;
665 interrupt-names = "ecap2";
670 ehrpwm2: ehrpwm@48304200 {
671 compatible = "ti,am33xx-ehrpwm";
673 reg = <0x48304200 0x80>;
674 ti,hwmods = "ehrpwm2";
679 mac: ethernet@4a100000 {
680 compatible = "ti,cpsw";
681 ti,hwmods = "cpgmac0";
682 clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
683 clock-names = "fck", "cpts";
684 cpdma_channels = <8>;
685 ale_entries = <1024>;
686 bd_ram_size = <0x2000>;
689 mac_control = <0x20>;
692 cpts_clock_mult = <0x80000000>;
693 cpts_clock_shift = <29>;
694 reg = <0x4a100000 0x800
696 #address-cells = <1>;
698 interrupt-parent = <&intc>;
705 interrupts = <40 41 42 43>;
710 davinci_mdio: mdio@4a101000 {
711 compatible = "ti,davinci_mdio";
712 #address-cells = <1>;
714 ti,hwmods = "davinci_mdio";
715 bus_freq = <1000000>;
716 reg = <0x4a101000 0x100>;
720 cpsw_emac0: slave@4a100200 {
721 /* Filled in by U-Boot */
722 mac-address = [ 00 00 00 00 00 00 ];
725 cpsw_emac1: slave@4a100300 {
726 /* Filled in by U-Boot */
727 mac-address = [ 00 00 00 00 00 00 ];
730 phy_sel: cpsw-phy-sel@44e10650 {
731 compatible = "ti,am3352-cpsw-phy-sel";
732 reg= <0x44e10650 0x4>;
733 reg-names = "gmii-sel";
737 ocmcram: ocmcram@40300000 {
738 compatible = "mmio-sram";
739 reg = <0x40300000 0x10000>; /* 64k */
742 wkup_m3: wkup_m3@44d00000 {
743 compatible = "ti,am3353-wkup-m3";
744 reg = <0x44d00000 0x4000 /* M3 UMEM */
745 0x44d80000 0x2000>; /* M3 DMEM */
746 ti,hwmods = "wkup_m3";
751 compatible = "ti,am3352-elm";
752 reg = <0x48080000 0x2000>;
758 lcdc: lcdc@4830e000 {
759 compatible = "ti,am33xx-tilcdc";
760 reg = <0x4830e000 0x1000>;
761 interrupt-parent = <&intc>;
767 tscadc: tscadc@44e0d000 {
768 compatible = "ti,am3359-tscadc";
769 reg = <0x44e0d000 0x1000>;
770 interrupt-parent = <&intc>;
772 ti,hwmods = "adc_tsc";
776 compatible = "ti,am3359-tsc";
779 #io-channel-cells = <1>;
780 compatible = "ti,am3359-adc";
784 gpmc: gpmc@50000000 {
785 compatible = "ti,am3352-gpmc";
788 reg = <0x50000000 0x2000>;
791 gpmc,num-waitpins = <2>;
792 #address-cells = <2>;
797 sham: sham@53100000 {
798 compatible = "ti,omap4-sham";
800 reg = <0x53100000 0x200>;
807 compatible = "ti,omap4-aes";
809 reg = <0x53500000 0xa0>;
813 dma-names = "tx", "rx";
816 mcasp0: mcasp@48038000 {
817 compatible = "ti,am33xx-mcasp-audio";
818 ti,hwmods = "mcasp0";
819 reg = <0x48038000 0x2000>,
820 <0x46000000 0x400000>;
821 reg-names = "mpu", "dat";
822 interrupts = <80>, <81>;
823 interrupt-names = "tx", "rx";
827 dma-names = "tx", "rx";
830 mcasp1: mcasp@4803C000 {
831 compatible = "ti,am33xx-mcasp-audio";
832 ti,hwmods = "mcasp1";
833 reg = <0x4803C000 0x2000>,
834 <0x46400000 0x400000>;
835 reg-names = "mpu", "dat";
836 interrupts = <82>, <83>;
837 interrupt-names = "tx", "rx";
841 dma-names = "tx", "rx";
845 compatible = "ti,omap4-rng";
847 reg = <0x48310000 0x2000>;
853 /include/ "am33xx-clocks.dtsi"