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/ "skeleton.dtsi"
14 compatible = "ti,am33xx";
15 interrupt-parent = <&intc>;
28 compatible = "arm,cortex-a8";
31 * To consider voltage drop between PMIC and SoC,
32 * tolerance value is reduced to 2% from 4% and
33 * voltage value is increased as a precaution.
42 voltage-tolerance = <2>; /* 2 percentage */
43 clock-latency = <300000>; /* From omap-cpufreq driver */
48 * The soc node represents the soc top level view. It is uses for IPs
49 * that are not memory mapped in the MPU view or for the MPU itself.
52 compatible = "ti,omap-infra";
54 compatible = "ti,omap3-mpu";
59 am33xx_pinmux: pinmux@44e10800 {
60 compatible = "pinctrl-single";
61 reg = <0x44e10800 0x0238>;
64 pinctrl-single,register-width = <32>;
65 pinctrl-single,function-mask = <0x7f>;
69 * XXX: Use a flat representation of the AM33XX interconnect.
70 * The real AM33XX interconnect network is quite complex.Since
71 * that will not bring real advantage to represent that in DT
72 * for the moment, just use a fake OCP bus entry to represent
73 * the whole bus hierarchy.
76 compatible = "simple-bus";
80 ti,hwmods = "l3_main";
82 intc: interrupt-controller@48200000 {
83 compatible = "ti,omap2-intc";
85 #interrupt-cells = <1>;
87 reg = <0x48200000 0x1000>;
91 compatible = "ti,edma3";
92 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
93 reg = <0x49000000 0x10000>,
95 interrupt-parent = <&intc>;
96 interrupts = <12 13 14>;
99 ti,edma-regions = <4>;
100 ti,edma-slots = <256>;
101 ti,edma-queue-tc-map = <0 0
104 ti,edma-queue-priority-map = <0 0
107 ti,edma-default-queue = <0>;
110 gpio1: gpio@44e07000 {
111 compatible = "ti,omap4-gpio";
115 interrupt-controller;
116 #interrupt-cells = <1>;
117 reg = <0x44e07000 0x1000>;
121 gpio2: gpio@4804c000 {
122 compatible = "ti,omap4-gpio";
126 interrupt-controller;
127 #interrupt-cells = <1>;
128 reg = <0x4804c000 0x1000>;
132 gpio3: gpio@481ac000 {
133 compatible = "ti,omap4-gpio";
137 interrupt-controller;
138 #interrupt-cells = <1>;
139 reg = <0x481ac000 0x1000>;
143 gpio4: gpio@481ae000 {
144 compatible = "ti,omap4-gpio";
148 interrupt-controller;
149 #interrupt-cells = <1>;
150 reg = <0x481ae000 0x1000>;
154 uart1: serial@44e09000 {
155 compatible = "ti,omap3-uart";
157 clock-frequency = <48000000>;
158 reg = <0x44e09000 0x2000>;
163 uart2: serial@48022000 {
164 compatible = "ti,omap3-uart";
166 clock-frequency = <48000000>;
167 reg = <0x48022000 0x2000>;
172 uart3: serial@48024000 {
173 compatible = "ti,omap3-uart";
175 clock-frequency = <48000000>;
176 reg = <0x48024000 0x2000>;
181 uart4: serial@481a6000 {
182 compatible = "ti,omap3-uart";
184 clock-frequency = <48000000>;
185 reg = <0x481a6000 0x2000>;
190 uart5: serial@481a8000 {
191 compatible = "ti,omap3-uart";
193 clock-frequency = <48000000>;
194 reg = <0x481a8000 0x2000>;
199 uart6: serial@481aa000 {
200 compatible = "ti,omap3-uart";
202 clock-frequency = <48000000>;
203 reg = <0x481aa000 0x2000>;
209 compatible = "ti,omap4-i2c";
210 #address-cells = <1>;
213 reg = <0x44e0b000 0x1000>;
219 compatible = "ti,omap4-i2c";
220 #address-cells = <1>;
223 reg = <0x4802a000 0x1000>;
229 compatible = "ti,omap4-i2c";
230 #address-cells = <1>;
233 reg = <0x4819c000 0x1000>;
239 compatible = "ti,omap3-wdt";
240 ti,hwmods = "wd_timer2";
241 reg = <0x44e35000 0x1000>;
245 dcan0: d_can@481cc000 {
246 compatible = "bosch,d_can";
247 ti,hwmods = "d_can0";
248 reg = <0x481cc000 0x2000>;
253 dcan1: d_can@481d0000 {
254 compatible = "bosch,d_can";
255 ti,hwmods = "d_can1";
256 reg = <0x481d0000 0x2000>;
261 timer1: timer@44e31000 {
262 compatible = "ti,omap2-timer";
263 reg = <0x44e31000 0x400>;
265 ti,hwmods = "timer1";
269 timer2: timer@48040000 {
270 compatible = "ti,omap2-timer";
271 reg = <0x48040000 0x400>;
273 ti,hwmods = "timer2";
276 timer3: timer@48042000 {
277 compatible = "ti,omap2-timer";
278 reg = <0x48042000 0x400>;
280 ti,hwmods = "timer3";
283 timer4: timer@48044000 {
284 compatible = "ti,omap2-timer";
285 reg = <0x48044000 0x400>;
287 ti,hwmods = "timer4";
291 timer5: timer@48046000 {
292 compatible = "ti,omap2-timer";
293 reg = <0x48046000 0x400>;
295 ti,hwmods = "timer5";
299 timer6: timer@48048000 {
300 compatible = "ti,omap2-timer";
301 reg = <0x48048000 0x400>;
303 ti,hwmods = "timer6";
307 timer7: timer@4804a000 {
308 compatible = "ti,omap2-timer";
309 reg = <0x4804a000 0x400>;
311 ti,hwmods = "timer7";
316 compatible = "ti,da830-rtc";
317 reg = <0x44e3e000 0x1000>;
320 interrupt-parent = <&intc>;
325 compatible = "ti,omap4-mcspi";
326 #address-cells = <1>;
328 reg = <0x48030000 0x400>;
336 dma-names = "tx0", "rx0", "tx1", "rx1";
341 compatible = "ti,omap4-mcspi";
342 #address-cells = <1>;
344 reg = <0x481a0000 0x400>;
352 dma-names = "tx0", "rx0", "tx1", "rx1";
356 mmchs0: mmc@48060000 {
357 compatible = "ti,omap4-hsmmc";
358 reg = <0x48060200 0x400>;
361 ti,needs-special-reset;
362 ti,needs-special-hs-handling;
363 max-frequency = <48000000>;
367 mmchs1: mmc@481d8000 {
368 compatible = "ti,omap4-hsmmc";
369 reg = <0x481d8000 0x400>;
372 ti,needs-special-reset;
373 ti,needs-special-hs-handling;
374 max-frequency = <48000000>;
378 mmchs2: mmc@47810000 {
379 compatible = "ti,omap4-hsmmc";
380 reg = <0x47810000 0x400>;
383 ti,needs-special-reset;
384 ti,needs-special-hs-handling;
385 max-frequency = <48000000>;
390 compatible = "ti,musb-am33xx";
391 reg = <0x47400000 0x1000 /* usbss */
392 0x47401000 0x800 /* musb instance 0 */
393 0x47401800 0x800>; /* musb instance 1 */
394 interrupts = <17 /* usbss */
395 18 /* musb instance 0 */
396 19>; /* musb instance 1 */
403 ti,hwmods = "usb_otg_hs";
406 gpmc: gpmc@50000000 {
407 compatible = "ti,am3352-gpmc";
409 reg = <0x50000000 0x2000>;
413 gpmc,num-waitpins = <2>;
414 #address-cells = <2>;
416 ranges = <0 0 0x08000000 0x10000000>; /* CS0 @addr 0x8000000, size 0x10000000 */
420 compatible = "ti,am3352-elm";
421 reg = <0x48080000 0x2000>;
425 mac: ethernet@4a100000 {
426 compatible = "ti,cpsw";
427 ti,hwmods = "cpgmac0";
428 cpdma_channels = <8>;
429 ale_entries = <1024>;
430 bd_ram_size = <0x2000>;
433 mac_control = <0x20>;
436 cpts_clock_mult = <0x80000000>;
437 cpts_clock_shift = <29>;
438 reg = <0x4a100000 0x800
440 #address-cells = <1>;
442 interrupt-parent = <&intc>;
449 interrupts = <40 41 42 43>;
452 davinci_mdio: mdio@4a101000 {
453 compatible = "ti,davinci_mdio";
454 #address-cells = <1>;
456 ti,hwmods = "davinci_mdio";
457 bus_freq = <1000000>;
458 reg = <0x4a101000 0x100>;
461 cpsw_emac0: slave@4a100200 {
462 /* Filled in by U-Boot */
463 mac-address = [ 00 00 00 00 00 00 ];
466 cpsw_emac1: slave@4a100300 {
467 /* Filled in by U-Boot */
468 mac-address = [ 00 00 00 00 00 00 ];
472 ocmcram: ocmcram@40300000 {
473 compatible = "ti,am3352-ocmcram";
474 reg = <0x40300000 0x10000>;
475 ti,hwmods = "ocmcram";
476 ti,no_idle_on_suspend;
479 wkup_m3: wkup_m3@44d00000 {
480 compatible = "ti,am3353-wkup-m3";
481 reg = <0x44d00000 0x4000 /* M3 UMEM */
482 0x44d80000 0x2000>; /* M3 DMEM */
483 ti,hwmods = "wkup_m3";