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 intc: interrupt-controller@48200000 {
106 compatible = "ti,omap2-intc";
107 interrupt-controller;
108 #interrupt-cells = <1>;
109 ti,intc-size = <128>;
110 reg = <0x48200000 0x1000>;
113 edma: edma@49000000 {
114 compatible = "ti,edma3";
115 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
116 reg = <0x49000000 0x10000>,
118 interrupts = <12 13 14>;
121 ti,edma-regions = <4>;
122 ti,edma-slots = <256>;
125 gpio0: gpio@44e07000 {
126 compatible = "ti,omap4-gpio";
130 interrupt-controller;
131 #interrupt-cells = <2>;
132 reg = <0x44e07000 0x1000>;
136 gpio1: gpio@4804c000 {
137 compatible = "ti,omap4-gpio";
141 interrupt-controller;
142 #interrupt-cells = <2>;
143 reg = <0x4804c000 0x1000>;
147 gpio2: gpio@481ac000 {
148 compatible = "ti,omap4-gpio";
152 interrupt-controller;
153 #interrupt-cells = <2>;
154 reg = <0x481ac000 0x1000>;
158 gpio3: gpio@481ae000 {
159 compatible = "ti,omap4-gpio";
163 interrupt-controller;
164 #interrupt-cells = <2>;
165 reg = <0x481ae000 0x1000>;
169 uart0: serial@44e09000 {
170 compatible = "ti,omap3-uart";
172 clock-frequency = <48000000>;
173 reg = <0x44e09000 0x2000>;
178 uart1: serial@48022000 {
179 compatible = "ti,omap3-uart";
181 clock-frequency = <48000000>;
182 reg = <0x48022000 0x2000>;
187 uart2: serial@48024000 {
188 compatible = "ti,omap3-uart";
190 clock-frequency = <48000000>;
191 reg = <0x48024000 0x2000>;
196 uart3: serial@481a6000 {
197 compatible = "ti,omap3-uart";
199 clock-frequency = <48000000>;
200 reg = <0x481a6000 0x2000>;
205 uart4: serial@481a8000 {
206 compatible = "ti,omap3-uart";
208 clock-frequency = <48000000>;
209 reg = <0x481a8000 0x2000>;
214 uart5: serial@481aa000 {
215 compatible = "ti,omap3-uart";
217 clock-frequency = <48000000>;
218 reg = <0x481aa000 0x2000>;
224 compatible = "ti,omap4-i2c";
225 #address-cells = <1>;
228 reg = <0x44e0b000 0x1000>;
234 compatible = "ti,omap4-i2c";
235 #address-cells = <1>;
238 reg = <0x4802a000 0x1000>;
244 compatible = "ti,omap4-i2c";
245 #address-cells = <1>;
248 reg = <0x4819c000 0x1000>;
254 compatible = "ti,omap4-hsmmc";
257 ti,needs-special-reset;
258 ti,needs-special-hs-handling;
261 dma-names = "tx", "rx";
263 interrupt-parent = <&intc>;
264 reg = <0x48060000 0x1000>;
269 compatible = "ti,omap4-hsmmc";
271 ti,needs-special-reset;
274 dma-names = "tx", "rx";
276 interrupt-parent = <&intc>;
277 reg = <0x481d8000 0x1000>;
282 compatible = "ti,omap4-hsmmc";
284 ti,needs-special-reset;
286 interrupt-parent = <&intc>;
287 reg = <0x47810000 0x1000>;
291 hwspinlock: spinlock@480ca000 {
292 compatible = "ti,omap4-hwspinlock";
293 reg = <0x480ca000 0x1000>;
294 ti,hwmods = "spinlock";
298 compatible = "ti,omap3-wdt";
299 ti,hwmods = "wd_timer2";
300 reg = <0x44e35000 0x1000>;
304 dcan0: d_can@481cc000 {
305 compatible = "bosch,d_can";
306 ti,hwmods = "d_can0";
307 reg = <0x481cc000 0x2000
313 dcan1: d_can@481d0000 {
314 compatible = "bosch,d_can";
315 ti,hwmods = "d_can1";
316 reg = <0x481d0000 0x2000
322 timer1: timer@44e31000 {
323 compatible = "ti,am335x-timer-1ms";
324 reg = <0x44e31000 0x400>;
326 ti,hwmods = "timer1";
330 timer2: timer@48040000 {
331 compatible = "ti,am335x-timer";
332 reg = <0x48040000 0x400>;
334 ti,hwmods = "timer2";
337 timer3: timer@48042000 {
338 compatible = "ti,am335x-timer";
339 reg = <0x48042000 0x400>;
341 ti,hwmods = "timer3";
344 timer4: timer@48044000 {
345 compatible = "ti,am335x-timer";
346 reg = <0x48044000 0x400>;
348 ti,hwmods = "timer4";
352 timer5: timer@48046000 {
353 compatible = "ti,am335x-timer";
354 reg = <0x48046000 0x400>;
356 ti,hwmods = "timer5";
360 timer6: timer@48048000 {
361 compatible = "ti,am335x-timer";
362 reg = <0x48048000 0x400>;
364 ti,hwmods = "timer6";
368 timer7: timer@4804a000 {
369 compatible = "ti,am335x-timer";
370 reg = <0x4804a000 0x400>;
372 ti,hwmods = "timer7";
377 compatible = "ti,da830-rtc";
378 reg = <0x44e3e000 0x1000>;
385 compatible = "ti,omap4-mcspi";
386 #address-cells = <1>;
388 reg = <0x48030000 0x400>;
396 dma-names = "tx0", "rx0", "tx1", "rx1";
401 compatible = "ti,omap4-mcspi";
402 #address-cells = <1>;
404 reg = <0x481a0000 0x400>;
412 dma-names = "tx0", "rx0", "tx1", "rx1";
417 compatible = "ti,am33xx-usb";
418 reg = <0x47400000 0x1000>;
420 #address-cells = <1>;
422 ti,hwmods = "usb_otg_hs";
425 usb_ctrl_mod: control@44e10000 {
426 compatible = "ti,am335x-usb-ctrl-module";
427 reg = <0x44e10620 0x10
429 reg-names = "phy_ctrl", "wakeup";
433 usb0_phy: usb-phy@47401300 {
434 compatible = "ti,am335x-usb-phy";
435 reg = <0x47401300 0x100>;
438 ti,ctrl_mod = <&usb_ctrl_mod>;
442 compatible = "ti,musb-am33xx";
444 reg = <0x47401400 0x400
446 reg-names = "mc", "control";
449 interrupt-names = "mc";
451 mentor,multipoint = <1>;
452 mentor,num-eps = <16>;
453 mentor,ram-bits = <12>;
454 mentor,power = <500>;
457 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
458 &cppi41dma 2 0 &cppi41dma 3 0
459 &cppi41dma 4 0 &cppi41dma 5 0
460 &cppi41dma 6 0 &cppi41dma 7 0
461 &cppi41dma 8 0 &cppi41dma 9 0
462 &cppi41dma 10 0 &cppi41dma 11 0
463 &cppi41dma 12 0 &cppi41dma 13 0
464 &cppi41dma 14 0 &cppi41dma 0 1
465 &cppi41dma 1 1 &cppi41dma 2 1
466 &cppi41dma 3 1 &cppi41dma 4 1
467 &cppi41dma 5 1 &cppi41dma 6 1
468 &cppi41dma 7 1 &cppi41dma 8 1
469 &cppi41dma 9 1 &cppi41dma 10 1
470 &cppi41dma 11 1 &cppi41dma 12 1
471 &cppi41dma 13 1 &cppi41dma 14 1>;
473 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
474 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
476 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
477 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
481 usb1_phy: usb-phy@47401b00 {
482 compatible = "ti,am335x-usb-phy";
483 reg = <0x47401b00 0x100>;
486 ti,ctrl_mod = <&usb_ctrl_mod>;
490 compatible = "ti,musb-am33xx";
492 reg = <0x47401c00 0x400
494 reg-names = "mc", "control";
496 interrupt-names = "mc";
498 mentor,multipoint = <1>;
499 mentor,num-eps = <16>;
500 mentor,ram-bits = <12>;
501 mentor,power = <500>;
504 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
505 &cppi41dma 17 0 &cppi41dma 18 0
506 &cppi41dma 19 0 &cppi41dma 20 0
507 &cppi41dma 21 0 &cppi41dma 22 0
508 &cppi41dma 23 0 &cppi41dma 24 0
509 &cppi41dma 25 0 &cppi41dma 26 0
510 &cppi41dma 27 0 &cppi41dma 28 0
511 &cppi41dma 29 0 &cppi41dma 15 1
512 &cppi41dma 16 1 &cppi41dma 17 1
513 &cppi41dma 18 1 &cppi41dma 19 1
514 &cppi41dma 20 1 &cppi41dma 21 1
515 &cppi41dma 22 1 &cppi41dma 23 1
516 &cppi41dma 24 1 &cppi41dma 25 1
517 &cppi41dma 26 1 &cppi41dma 27 1
518 &cppi41dma 28 1 &cppi41dma 29 1>;
520 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
521 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
523 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
524 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
528 cppi41dma: dma-controller@07402000 {
529 compatible = "ti,am3359-cppi41";
530 reg = <0x47400000 0x1000
534 reg-names = "glue", "controller", "scheduler", "queuemgr";
536 interrupt-names = "glue";
538 #dma-channels = <30>;
539 #dma-requests = <256>;
544 epwmss0: epwmss@48300000 {
545 compatible = "ti,am33xx-pwmss";
546 reg = <0x48300000 0x10>;
547 ti,hwmods = "epwmss0";
548 #address-cells = <1>;
551 ranges = <0x48300100 0x48300100 0x80 /* ECAP */
552 0x48300180 0x48300180 0x80 /* EQEP */
553 0x48300200 0x48300200 0x80>; /* EHRPWM */
555 ecap0: ecap@48300100 {
556 compatible = "ti,am33xx-ecap";
558 reg = <0x48300100 0x80>;
563 ehrpwm0: ehrpwm@48300200 {
564 compatible = "ti,am33xx-ehrpwm";
566 reg = <0x48300200 0x80>;
567 ti,hwmods = "ehrpwm0";
572 epwmss1: epwmss@48302000 {
573 compatible = "ti,am33xx-pwmss";
574 reg = <0x48302000 0x10>;
575 ti,hwmods = "epwmss1";
576 #address-cells = <1>;
579 ranges = <0x48302100 0x48302100 0x80 /* ECAP */
580 0x48302180 0x48302180 0x80 /* EQEP */
581 0x48302200 0x48302200 0x80>; /* EHRPWM */
583 ecap1: ecap@48302100 {
584 compatible = "ti,am33xx-ecap";
586 reg = <0x48302100 0x80>;
591 ehrpwm1: ehrpwm@48302200 {
592 compatible = "ti,am33xx-ehrpwm";
594 reg = <0x48302200 0x80>;
595 ti,hwmods = "ehrpwm1";
600 epwmss2: epwmss@48304000 {
601 compatible = "ti,am33xx-pwmss";
602 reg = <0x48304000 0x10>;
603 ti,hwmods = "epwmss2";
604 #address-cells = <1>;
607 ranges = <0x48304100 0x48304100 0x80 /* ECAP */
608 0x48304180 0x48304180 0x80 /* EQEP */
609 0x48304200 0x48304200 0x80>; /* EHRPWM */
611 ecap2: ecap@48304100 {
612 compatible = "ti,am33xx-ecap";
614 reg = <0x48304100 0x80>;
619 ehrpwm2: ehrpwm@48304200 {
620 compatible = "ti,am33xx-ehrpwm";
622 reg = <0x48304200 0x80>;
623 ti,hwmods = "ehrpwm2";
628 mac: ethernet@4a100000 {
629 compatible = "ti,cpsw";
630 ti,hwmods = "cpgmac0";
631 cpdma_channels = <8>;
632 ale_entries = <1024>;
633 bd_ram_size = <0x2000>;
636 mac_control = <0x20>;
639 cpts_clock_mult = <0x80000000>;
640 cpts_clock_shift = <29>;
641 reg = <0x4a100000 0x800
643 #address-cells = <1>;
645 interrupt-parent = <&intc>;
652 interrupts = <40 41 42 43>;
655 davinci_mdio: mdio@4a101000 {
656 compatible = "ti,davinci_mdio";
657 #address-cells = <1>;
659 ti,hwmods = "davinci_mdio";
660 bus_freq = <1000000>;
661 reg = <0x4a101000 0x100>;
664 cpsw_emac0: slave@4a100200 {
665 /* Filled in by U-Boot */
666 mac-address = [ 00 00 00 00 00 00 ];
669 cpsw_emac1: slave@4a100300 {
670 /* Filled in by U-Boot */
671 mac-address = [ 00 00 00 00 00 00 ];
674 phy_sel: cpsw-phy-sel@44e10650 {
675 compatible = "ti,am3352-cpsw-phy-sel";
676 reg= <0x44e10650 0x4>;
677 reg-names = "gmii-sel";
681 ocmcram: ocmcram@40300000 {
682 compatible = "ti,am3352-ocmcram";
683 reg = <0x40300000 0x10000>;
684 ti,hwmods = "ocmcram";
687 wkup_m3: wkup_m3@44d00000 {
688 compatible = "ti,am3353-wkup-m3";
689 reg = <0x44d00000 0x4000 /* M3 UMEM */
690 0x44d80000 0x2000>; /* M3 DMEM */
691 ti,hwmods = "wkup_m3";
696 compatible = "ti,am3352-elm";
697 reg = <0x48080000 0x2000>;
703 lcdc: lcdc@4830e000 {
704 compatible = "ti,am33xx-tilcdc";
705 reg = <0x4830e000 0x1000>;
706 interrupt-parent = <&intc>;
712 tscadc: tscadc@44e0d000 {
713 compatible = "ti,am3359-tscadc";
714 reg = <0x44e0d000 0x1000>;
715 interrupt-parent = <&intc>;
717 ti,hwmods = "adc_tsc";
721 compatible = "ti,am3359-tsc";
724 #io-channel-cells = <1>;
725 compatible = "ti,am3359-adc";
729 gpmc: gpmc@50000000 {
730 compatible = "ti,am3352-gpmc";
733 reg = <0x50000000 0x2000>;
736 gpmc,num-waitpins = <2>;
737 #address-cells = <2>;
742 sham: sham@53100000 {
743 compatible = "ti,omap4-sham";
745 reg = <0x53100000 0x200>;
752 compatible = "ti,omap4-aes";
754 reg = <0x53500000 0xa0>;
758 dma-names = "tx", "rx";
761 mcasp0: mcasp@48038000 {
762 compatible = "ti,am33xx-mcasp-audio";
763 ti,hwmods = "mcasp0";
764 reg = <0x48038000 0x2000>,
765 <0x46000000 0x400000>;
766 reg-names = "mpu", "dat";
767 interrupts = <80>, <81>;
768 interrupts-names = "tx", "rx";
772 dma-names = "tx", "rx";
775 mcasp1: mcasp@4803C000 {
776 compatible = "ti,am33xx-mcasp-audio";
777 ti,hwmods = "mcasp1";
778 reg = <0x4803C000 0x2000>,
779 <0x46400000 0x400000>;
780 reg-names = "mpu", "dat";
781 interrupts = <82>, <83>;
782 interrupts-names = "tx", "rx";
786 dma-names = "tx", "rx";
790 compatible = "ti,omap4-rng";
792 reg = <0x48310000 0x2000>;