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>;
39 compatible = "arm,cortex-a8";
44 * To consider voltage drop between PMIC and SoC,
45 * tolerance value is reduced to 2% from 4% and
46 * voltage value is increased as a precaution.
55 voltage-tolerance = <2>; /* 2 percentage */
56 clock-latency = <300000>; /* From omap-cpufreq driver */
61 * The soc node represents the soc top level view. It is uses for IPs
62 * that are not memory mapped in the MPU view or for the MPU itself.
65 compatible = "ti,omap-infra";
67 compatible = "ti,omap3-mpu";
72 am33xx_pinmux: pinmux@44e10800 {
73 compatible = "pinctrl-single";
74 reg = <0x44e10800 0x0238>;
77 pinctrl-single,register-width = <32>;
78 pinctrl-single,function-mask = <0x7f>;
82 * XXX: Use a flat representation of the AM33XX interconnect.
83 * The real AM33XX interconnect network is quite complex.Since
84 * that will not bring real advantage to represent that in DT
85 * for the moment, just use a fake OCP bus entry to represent
86 * the whole bus hierarchy.
89 compatible = "simple-bus";
93 ti,hwmods = "l3_main";
95 intc: interrupt-controller@48200000 {
96 compatible = "ti,omap2-intc";
98 #interrupt-cells = <1>;
100 reg = <0x48200000 0x1000>;
103 gpio0: gpio@44e07000 {
104 compatible = "ti,omap4-gpio";
108 interrupt-controller;
109 #interrupt-cells = <1>;
110 reg = <0x44e07000 0x1000>;
114 gpio1: gpio@4804c000 {
115 compatible = "ti,omap4-gpio";
119 interrupt-controller;
120 #interrupt-cells = <1>;
121 reg = <0x4804c000 0x1000>;
125 gpio2: gpio@481ac000 {
126 compatible = "ti,omap4-gpio";
130 interrupt-controller;
131 #interrupt-cells = <1>;
132 reg = <0x481ac000 0x1000>;
136 gpio3: gpio@481ae000 {
137 compatible = "ti,omap4-gpio";
141 interrupt-controller;
142 #interrupt-cells = <1>;
143 reg = <0x481ae000 0x1000>;
147 uart0: serial@44e09000 {
148 compatible = "ti,omap3-uart";
150 clock-frequency = <48000000>;
151 reg = <0x44e09000 0x2000>;
156 uart1: serial@48022000 {
157 compatible = "ti,omap3-uart";
159 clock-frequency = <48000000>;
160 reg = <0x48022000 0x2000>;
165 uart2: serial@48024000 {
166 compatible = "ti,omap3-uart";
168 clock-frequency = <48000000>;
169 reg = <0x48024000 0x2000>;
174 uart3: serial@481a6000 {
175 compatible = "ti,omap3-uart";
177 clock-frequency = <48000000>;
178 reg = <0x481a6000 0x2000>;
183 uart4: serial@481a8000 {
184 compatible = "ti,omap3-uart";
186 clock-frequency = <48000000>;
187 reg = <0x481a8000 0x2000>;
192 uart5: serial@481aa000 {
193 compatible = "ti,omap3-uart";
195 clock-frequency = <48000000>;
196 reg = <0x481aa000 0x2000>;
202 compatible = "ti,omap4-i2c";
203 #address-cells = <1>;
206 reg = <0x44e0b000 0x1000>;
212 compatible = "ti,omap4-i2c";
213 #address-cells = <1>;
216 reg = <0x4802a000 0x1000>;
222 compatible = "ti,omap4-i2c";
223 #address-cells = <1>;
226 reg = <0x4819c000 0x1000>;
232 compatible = "ti,omap3-wdt";
233 ti,hwmods = "wd_timer2";
234 reg = <0x44e35000 0x1000>;
238 dcan0: d_can@481cc000 {
239 compatible = "bosch,d_can";
240 ti,hwmods = "d_can0";
241 reg = <0x481cc000 0x2000
247 dcan1: d_can@481d0000 {
248 compatible = "bosch,d_can";
249 ti,hwmods = "d_can1";
250 reg = <0x481d0000 0x2000
256 timer1: timer@44e31000 {
257 compatible = "ti,am335x-timer-1ms";
258 reg = <0x44e31000 0x400>;
260 ti,hwmods = "timer1";
264 timer2: timer@48040000 {
265 compatible = "ti,am335x-timer";
266 reg = <0x48040000 0x400>;
268 ti,hwmods = "timer2";
271 timer3: timer@48042000 {
272 compatible = "ti,am335x-timer";
273 reg = <0x48042000 0x400>;
275 ti,hwmods = "timer3";
278 timer4: timer@48044000 {
279 compatible = "ti,am335x-timer";
280 reg = <0x48044000 0x400>;
282 ti,hwmods = "timer4";
286 timer5: timer@48046000 {
287 compatible = "ti,am335x-timer";
288 reg = <0x48046000 0x400>;
290 ti,hwmods = "timer5";
294 timer6: timer@48048000 {
295 compatible = "ti,am335x-timer";
296 reg = <0x48048000 0x400>;
298 ti,hwmods = "timer6";
302 timer7: timer@4804a000 {
303 compatible = "ti,am335x-timer";
304 reg = <0x4804a000 0x400>;
306 ti,hwmods = "timer7";
311 compatible = "ti,da830-rtc";
312 reg = <0x44e3e000 0x1000>;
319 compatible = "ti,omap4-mcspi";
320 #address-cells = <1>;
322 reg = <0x48030000 0x400>;
330 compatible = "ti,omap4-mcspi";
331 #address-cells = <1>;
333 reg = <0x481a0000 0x400>;
341 compatible = "ti,am33xx-usb";
342 reg = <0x47400000 0x1000>;
344 #address-cells = <1>;
346 ti,hwmods = "usb_otg_hs";
349 ctrl_mod: control@44e10000 {
350 compatible = "ti,am335x-usb-ctrl-module";
351 reg = <0x44e10620 0x10
353 reg-names = "phy_ctrl", "wakeup";
357 usb0_phy: phy@47401300 {
358 compatible = "ti,am335x-usb-phy";
359 reg = <0x47401300 0x100>;
362 ti,ctrl_mod = <&ctrl_mod>;
366 compatible = "ti,musb-am33xx";
368 #address-cells = <1>;
370 reg = <0x47401000 0x200>;
371 reg-names = "control";
374 musb0: usb@47401400 {
375 compatible = "mg,musbmhdrc";
376 reg = <0x47401400 0x400>;
379 interrupt-names = "mc";
387 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
388 &cppi41dma 2 0 &cppi41dma 3 0
389 &cppi41dma 4 0 &cppi41dma 5 0
390 &cppi41dma 6 0 &cppi41dma 7 0
391 &cppi41dma 8 0 &cppi41dma 9 0
392 &cppi41dma 10 0 &cppi41dma 11 0
393 &cppi41dma 12 0 &cppi41dma 13 0
394 &cppi41dma 14 0 &cppi41dma 0 1
395 &cppi41dma 1 1 &cppi41dma 2 1
396 &cppi41dma 3 1 &cppi41dma 4 1
397 &cppi41dma 5 1 &cppi41dma 6 1
398 &cppi41dma 7 1 &cppi41dma 8 1
399 &cppi41dma 9 1 &cppi41dma 10 1
400 &cppi41dma 11 1 &cppi41dma 12 1
401 &cppi41dma 13 1 &cppi41dma 14 1>;
403 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
404 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
406 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
407 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
412 usb1_phy: phy@47401b00 {
413 compatible = "ti,am335x-usb-phy";
414 reg = <0x47401b00 0x100>;
417 ti,ctrl_mod = <&ctrl_mod>;
421 compatible = "ti,musb-am33xx";
423 #address-cells = <1>;
425 reg = <0x47401800 0x200>;
426 reg-names = "control";
429 musb1: usb@47401c00 {
430 compatible = "mg,musbmhdrc";
431 reg = <0x47401c00 0x400>;
434 interrupt-names = "mc";
442 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
443 &cppi41dma 17 0 &cppi41dma 18 0
444 &cppi41dma 19 0 &cppi41dma 20 0
445 &cppi41dma 21 0 &cppi41dma 22 0
446 &cppi41dma 23 0 &cppi41dma 24 0
447 &cppi41dma 25 0 &cppi41dma 26 0
448 &cppi41dma 27 0 &cppi41dma 28 0
449 &cppi41dma 29 0 &cppi41dma 15 1
450 &cppi41dma 16 1 &cppi41dma 17 1
451 &cppi41dma 18 1 &cppi41dma 19 1
452 &cppi41dma 20 1 &cppi41dma 21 1
453 &cppi41dma 22 1 &cppi41dma 23 1
454 &cppi41dma 24 1 &cppi41dma 25 1
455 &cppi41dma 26 1 &cppi41dma 27 1
456 &cppi41dma 28 1 &cppi41dma 29 1>;
458 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
459 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
461 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
462 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
467 cppi41dma: dma@07402000 {
468 compatible = "ti,am3359-cppi41";
469 reg = <0x47400000 0x1000
473 reg-names = "glue", "controller", "scheduler", "queuemgr";
475 interrupt-names = "glue";
477 #dma-channels = <30>;
478 #dma-requests = <256>;
483 epwmss0: epwmss@48300000 {
484 compatible = "ti,am33xx-pwmss";
485 reg = <0x48300000 0x10>;
486 ti,hwmods = "epwmss0";
487 #address-cells = <1>;
490 ranges = <0x48300100 0x48300100 0x80 /* ECAP */
491 0x48300180 0x48300180 0x80 /* EQEP */
492 0x48300200 0x48300200 0x80>; /* EHRPWM */
494 ecap0: ecap@48300100 {
495 compatible = "ti,am33xx-ecap";
497 reg = <0x48300100 0x80>;
502 ehrpwm0: ehrpwm@48300200 {
503 compatible = "ti,am33xx-ehrpwm";
505 reg = <0x48300200 0x80>;
506 ti,hwmods = "ehrpwm0";
511 epwmss1: epwmss@48302000 {
512 compatible = "ti,am33xx-pwmss";
513 reg = <0x48302000 0x10>;
514 ti,hwmods = "epwmss1";
515 #address-cells = <1>;
518 ranges = <0x48302100 0x48302100 0x80 /* ECAP */
519 0x48302180 0x48302180 0x80 /* EQEP */
520 0x48302200 0x48302200 0x80>; /* EHRPWM */
522 ecap1: ecap@48302100 {
523 compatible = "ti,am33xx-ecap";
525 reg = <0x48302100 0x80>;
530 ehrpwm1: ehrpwm@48302200 {
531 compatible = "ti,am33xx-ehrpwm";
533 reg = <0x48302200 0x80>;
534 ti,hwmods = "ehrpwm1";
539 epwmss2: epwmss@48304000 {
540 compatible = "ti,am33xx-pwmss";
541 reg = <0x48304000 0x10>;
542 ti,hwmods = "epwmss2";
543 #address-cells = <1>;
546 ranges = <0x48304100 0x48304100 0x80 /* ECAP */
547 0x48304180 0x48304180 0x80 /* EQEP */
548 0x48304200 0x48304200 0x80>; /* EHRPWM */
550 ecap2: ecap@48304100 {
551 compatible = "ti,am33xx-ecap";
553 reg = <0x48304100 0x80>;
558 ehrpwm2: ehrpwm@48304200 {
559 compatible = "ti,am33xx-ehrpwm";
561 reg = <0x48304200 0x80>;
562 ti,hwmods = "ehrpwm2";
567 mac: ethernet@4a100000 {
568 compatible = "ti,cpsw";
569 ti,hwmods = "cpgmac0";
570 cpdma_channels = <8>;
571 ale_entries = <1024>;
572 bd_ram_size = <0x2000>;
575 mac_control = <0x20>;
578 cpts_clock_mult = <0x80000000>;
579 cpts_clock_shift = <29>;
580 reg = <0x4a100000 0x800
582 #address-cells = <1>;
584 interrupt-parent = <&intc>;
591 interrupts = <40 41 42 43>;
594 davinci_mdio: mdio@4a101000 {
595 compatible = "ti,davinci_mdio";
596 #address-cells = <1>;
598 ti,hwmods = "davinci_mdio";
599 bus_freq = <1000000>;
600 reg = <0x4a101000 0x100>;
603 cpsw_emac0: slave@4a100200 {
604 /* Filled in by U-Boot */
605 mac-address = [ 00 00 00 00 00 00 ];
608 cpsw_emac1: slave@4a100300 {
609 /* Filled in by U-Boot */
610 mac-address = [ 00 00 00 00 00 00 ];
614 ocmcram: ocmcram@40300000 {
615 compatible = "ti,am3352-ocmcram";
616 reg = <0x40300000 0x10000>;
617 ti,hwmods = "ocmcram";
620 wkup_m3: wkup_m3@44d00000 {
621 compatible = "ti,am3353-wkup-m3";
622 reg = <0x44d00000 0x4000 /* M3 UMEM */
623 0x44d80000 0x2000>; /* M3 DMEM */
624 ti,hwmods = "wkup_m3";
628 compatible = "ti,am3352-elm";
629 reg = <0x48080000 0x2000>;
635 tscadc: tscadc@44e0d000 {
636 compatible = "ti,am3359-tscadc";
637 reg = <0x44e0d000 0x1000>;
638 interrupt-parent = <&intc>;
640 ti,hwmods = "adc_tsc";
644 compatible = "ti,am3359-tsc";
647 #io-channel-cells = <1>;
648 compatible = "ti,am3359-adc";
652 gpmc: gpmc@50000000 {
653 compatible = "ti,am3352-gpmc";
655 reg = <0x50000000 0x2000>;
658 gpmc,num-waitpins = <2>;
659 #address-cells = <2>;