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 compatible = "arm,cortex-a8-pmu";
66 * The soc node represents the soc top level view. It is uses for IPs
67 * that are not memory mapped in the MPU view or for the MPU itself.
70 compatible = "ti,omap-infra";
72 compatible = "ti,omap3-mpu";
77 am33xx_pinmux: pinmux@44e10800 {
78 compatible = "pinctrl-single";
79 reg = <0x44e10800 0x0238>;
82 pinctrl-single,register-width = <32>;
83 pinctrl-single,function-mask = <0x7f>;
87 * XXX: Use a flat representation of the AM33XX interconnect.
88 * The real AM33XX interconnect network is quite complex.Since
89 * that 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.
94 compatible = "simple-bus";
98 ti,hwmods = "l3_main";
100 intc: interrupt-controller@48200000 {
101 compatible = "ti,omap2-intc";
102 interrupt-controller;
103 #interrupt-cells = <1>;
104 ti,intc-size = <128>;
105 reg = <0x48200000 0x1000>;
108 edma: edma@49000000 {
109 compatible = "ti,edma3";
110 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
111 reg = <0x49000000 0x10000>,
113 interrupts = <12 13 14>;
116 ti,edma-regions = <4>;
117 ti,edma-slots = <256>;
120 gpio0: gpio@44e07000 {
121 compatible = "ti,omap4-gpio";
125 interrupt-controller;
126 #interrupt-cells = <2>;
127 reg = <0x44e07000 0x1000>;
131 gpio1: gpio@4804c000 {
132 compatible = "ti,omap4-gpio";
136 interrupt-controller;
137 #interrupt-cells = <2>;
138 reg = <0x4804c000 0x1000>;
142 gpio2: gpio@481ac000 {
143 compatible = "ti,omap4-gpio";
147 interrupt-controller;
148 #interrupt-cells = <2>;
149 reg = <0x481ac000 0x1000>;
153 gpio3: gpio@481ae000 {
154 compatible = "ti,omap4-gpio";
158 interrupt-controller;
159 #interrupt-cells = <2>;
160 reg = <0x481ae000 0x1000>;
164 uart0: serial@44e09000 {
165 compatible = "ti,omap3-uart";
167 clock-frequency = <48000000>;
168 reg = <0x44e09000 0x2000>;
173 uart1: serial@48022000 {
174 compatible = "ti,omap3-uart";
176 clock-frequency = <48000000>;
177 reg = <0x48022000 0x2000>;
182 uart2: serial@48024000 {
183 compatible = "ti,omap3-uart";
185 clock-frequency = <48000000>;
186 reg = <0x48024000 0x2000>;
191 uart3: serial@481a6000 {
192 compatible = "ti,omap3-uart";
194 clock-frequency = <48000000>;
195 reg = <0x481a6000 0x2000>;
200 uart4: serial@481a8000 {
201 compatible = "ti,omap3-uart";
203 clock-frequency = <48000000>;
204 reg = <0x481a8000 0x2000>;
209 uart5: serial@481aa000 {
210 compatible = "ti,omap3-uart";
212 clock-frequency = <48000000>;
213 reg = <0x481aa000 0x2000>;
219 compatible = "ti,omap4-i2c";
220 #address-cells = <1>;
223 reg = <0x44e0b000 0x1000>;
229 compatible = "ti,omap4-i2c";
230 #address-cells = <1>;
233 reg = <0x4802a000 0x1000>;
239 compatible = "ti,omap4-i2c";
240 #address-cells = <1>;
243 reg = <0x4819c000 0x1000>;
249 compatible = "ti,omap3-wdt";
250 ti,hwmods = "wd_timer2";
251 reg = <0x44e35000 0x1000>;
255 dcan0: d_can@481cc000 {
256 compatible = "bosch,d_can";
257 ti,hwmods = "d_can0";
258 reg = <0x481cc000 0x2000
264 dcan1: d_can@481d0000 {
265 compatible = "bosch,d_can";
266 ti,hwmods = "d_can1";
267 reg = <0x481d0000 0x2000
273 timer1: timer@44e31000 {
274 compatible = "ti,am335x-timer-1ms";
275 reg = <0x44e31000 0x400>;
277 ti,hwmods = "timer1";
281 timer2: timer@48040000 {
282 compatible = "ti,am335x-timer";
283 reg = <0x48040000 0x400>;
285 ti,hwmods = "timer2";
288 timer3: timer@48042000 {
289 compatible = "ti,am335x-timer";
290 reg = <0x48042000 0x400>;
292 ti,hwmods = "timer3";
295 timer4: timer@48044000 {
296 compatible = "ti,am335x-timer";
297 reg = <0x48044000 0x400>;
299 ti,hwmods = "timer4";
303 timer5: timer@48046000 {
304 compatible = "ti,am335x-timer";
305 reg = <0x48046000 0x400>;
307 ti,hwmods = "timer5";
311 timer6: timer@48048000 {
312 compatible = "ti,am335x-timer";
313 reg = <0x48048000 0x400>;
315 ti,hwmods = "timer6";
319 timer7: timer@4804a000 {
320 compatible = "ti,am335x-timer";
321 reg = <0x4804a000 0x400>;
323 ti,hwmods = "timer7";
328 compatible = "ti,da830-rtc";
329 reg = <0x44e3e000 0x1000>;
336 compatible = "ti,omap4-mcspi";
337 #address-cells = <1>;
339 reg = <0x48030000 0x400>;
347 dma-names = "tx0", "rx0", "tx1", "rx1";
352 compatible = "ti,omap4-mcspi";
353 #address-cells = <1>;
355 reg = <0x481a0000 0x400>;
363 dma-names = "tx0", "rx0", "tx1", "rx1";
368 compatible = "ti,am33xx-usb";
369 reg = <0x47400000 0x1000>;
371 #address-cells = <1>;
373 ti,hwmods = "usb_otg_hs";
376 ctrl_mod: control@44e10000 {
377 compatible = "ti,am335x-usb-ctrl-module";
378 reg = <0x44e10620 0x10
380 reg-names = "phy_ctrl", "wakeup";
384 usb0_phy: usb-phy@47401300 {
385 compatible = "ti,am335x-usb-phy";
386 reg = <0x47401300 0x100>;
389 ti,ctrl_mod = <&ctrl_mod>;
393 compatible = "ti,musb-am33xx";
395 reg = <0x47401400 0x400
397 reg-names = "mc", "control";
400 interrupt-names = "mc";
402 mentor,multipoint = <1>;
403 mentor,num-eps = <16>;
404 mentor,ram-bits = <12>;
405 mentor,power = <500>;
408 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
409 &cppi41dma 2 0 &cppi41dma 3 0
410 &cppi41dma 4 0 &cppi41dma 5 0
411 &cppi41dma 6 0 &cppi41dma 7 0
412 &cppi41dma 8 0 &cppi41dma 9 0
413 &cppi41dma 10 0 &cppi41dma 11 0
414 &cppi41dma 12 0 &cppi41dma 13 0
415 &cppi41dma 14 0 &cppi41dma 0 1
416 &cppi41dma 1 1 &cppi41dma 2 1
417 &cppi41dma 3 1 &cppi41dma 4 1
418 &cppi41dma 5 1 &cppi41dma 6 1
419 &cppi41dma 7 1 &cppi41dma 8 1
420 &cppi41dma 9 1 &cppi41dma 10 1
421 &cppi41dma 11 1 &cppi41dma 12 1
422 &cppi41dma 13 1 &cppi41dma 14 1>;
424 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
425 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
427 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
428 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
432 usb1_phy: usb-phy@47401b00 {
433 compatible = "ti,am335x-usb-phy";
434 reg = <0x47401b00 0x100>;
437 ti,ctrl_mod = <&ctrl_mod>;
441 compatible = "ti,musb-am33xx";
443 reg = <0x47401c00 0x400
445 reg-names = "mc", "control";
447 interrupt-names = "mc";
449 mentor,multipoint = <1>;
450 mentor,num-eps = <16>;
451 mentor,ram-bits = <12>;
452 mentor,power = <500>;
455 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
456 &cppi41dma 17 0 &cppi41dma 18 0
457 &cppi41dma 19 0 &cppi41dma 20 0
458 &cppi41dma 21 0 &cppi41dma 22 0
459 &cppi41dma 23 0 &cppi41dma 24 0
460 &cppi41dma 25 0 &cppi41dma 26 0
461 &cppi41dma 27 0 &cppi41dma 28 0
462 &cppi41dma 29 0 &cppi41dma 15 1
463 &cppi41dma 16 1 &cppi41dma 17 1
464 &cppi41dma 18 1 &cppi41dma 19 1
465 &cppi41dma 20 1 &cppi41dma 21 1
466 &cppi41dma 22 1 &cppi41dma 23 1
467 &cppi41dma 24 1 &cppi41dma 25 1
468 &cppi41dma 26 1 &cppi41dma 27 1
469 &cppi41dma 28 1 &cppi41dma 29 1>;
471 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
472 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
474 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
475 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
479 cppi41dma: dma-controller@07402000 {
480 compatible = "ti,am3359-cppi41";
481 reg = <0x47400000 0x1000
485 reg-names = "glue", "controller", "scheduler", "queuemgr";
487 interrupt-names = "glue";
489 #dma-channels = <30>;
490 #dma-requests = <256>;
495 epwmss0: epwmss@48300000 {
496 compatible = "ti,am33xx-pwmss";
497 reg = <0x48300000 0x10>;
498 ti,hwmods = "epwmss0";
499 #address-cells = <1>;
502 ranges = <0x48300100 0x48300100 0x80 /* ECAP */
503 0x48300180 0x48300180 0x80 /* EQEP */
504 0x48300200 0x48300200 0x80>; /* EHRPWM */
506 ecap0: ecap@48300100 {
507 compatible = "ti,am33xx-ecap";
509 reg = <0x48300100 0x80>;
514 ehrpwm0: ehrpwm@48300200 {
515 compatible = "ti,am33xx-ehrpwm";
517 reg = <0x48300200 0x80>;
518 ti,hwmods = "ehrpwm0";
523 epwmss1: epwmss@48302000 {
524 compatible = "ti,am33xx-pwmss";
525 reg = <0x48302000 0x10>;
526 ti,hwmods = "epwmss1";
527 #address-cells = <1>;
530 ranges = <0x48302100 0x48302100 0x80 /* ECAP */
531 0x48302180 0x48302180 0x80 /* EQEP */
532 0x48302200 0x48302200 0x80>; /* EHRPWM */
534 ecap1: ecap@48302100 {
535 compatible = "ti,am33xx-ecap";
537 reg = <0x48302100 0x80>;
542 ehrpwm1: ehrpwm@48302200 {
543 compatible = "ti,am33xx-ehrpwm";
545 reg = <0x48302200 0x80>;
546 ti,hwmods = "ehrpwm1";
551 epwmss2: epwmss@48304000 {
552 compatible = "ti,am33xx-pwmss";
553 reg = <0x48304000 0x10>;
554 ti,hwmods = "epwmss2";
555 #address-cells = <1>;
558 ranges = <0x48304100 0x48304100 0x80 /* ECAP */
559 0x48304180 0x48304180 0x80 /* EQEP */
560 0x48304200 0x48304200 0x80>; /* EHRPWM */
562 ecap2: ecap@48304100 {
563 compatible = "ti,am33xx-ecap";
565 reg = <0x48304100 0x80>;
570 ehrpwm2: ehrpwm@48304200 {
571 compatible = "ti,am33xx-ehrpwm";
573 reg = <0x48304200 0x80>;
574 ti,hwmods = "ehrpwm2";
579 mac: ethernet@4a100000 {
580 compatible = "ti,cpsw";
581 ti,hwmods = "cpgmac0";
582 cpdma_channels = <8>;
583 ale_entries = <1024>;
584 bd_ram_size = <0x2000>;
587 mac_control = <0x20>;
590 cpts_clock_mult = <0x80000000>;
591 cpts_clock_shift = <29>;
592 reg = <0x4a100000 0x800
594 #address-cells = <1>;
596 interrupt-parent = <&intc>;
603 interrupts = <40 41 42 43>;
606 davinci_mdio: mdio@4a101000 {
607 compatible = "ti,davinci_mdio";
608 #address-cells = <1>;
610 ti,hwmods = "davinci_mdio";
611 bus_freq = <1000000>;
612 reg = <0x4a101000 0x100>;
615 cpsw_emac0: slave@4a100200 {
616 /* Filled in by U-Boot */
617 mac-address = [ 00 00 00 00 00 00 ];
620 cpsw_emac1: slave@4a100300 {
621 /* Filled in by U-Boot */
622 mac-address = [ 00 00 00 00 00 00 ];
626 ocmcram: ocmcram@40300000 {
627 compatible = "ti,am3352-ocmcram";
628 reg = <0x40300000 0x10000>;
629 ti,hwmods = "ocmcram";
632 wkup_m3: wkup_m3@44d00000 {
633 compatible = "ti,am3353-wkup-m3";
634 reg = <0x44d00000 0x4000 /* M3 UMEM */
635 0x44d80000 0x2000>; /* M3 DMEM */
636 ti,hwmods = "wkup_m3";
640 compatible = "ti,am3352-elm";
641 reg = <0x48080000 0x2000>;
647 tscadc: tscadc@44e0d000 {
648 compatible = "ti,am3359-tscadc";
649 reg = <0x44e0d000 0x1000>;
650 interrupt-parent = <&intc>;
652 ti,hwmods = "adc_tsc";
656 compatible = "ti,am3359-tsc";
659 #io-channel-cells = <1>;
660 compatible = "ti,am3359-adc";
664 gpmc: gpmc@50000000 {
665 compatible = "ti,am3352-gpmc";
667 reg = <0x50000000 0x2000>;
670 gpmc,num-waitpins = <2>;
671 #address-cells = <2>;