2 * This file is licensed under the terms of the GNU General Public License
3 * version 2. This program is licensed "as is" without any warranty of any
4 * kind, whether express or implied.
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/pinctrl/omap.h>
10 #include "skeleton.dtsi"
13 compatible = "ti,dm816";
14 interrupt-parent = <&intc>;
30 compatible = "arm,cortex-a8";
37 compatible = "arm,cortex-a8-pmu";
42 * The soc node represents the soc top level view. It is used for IPs
43 * that are not memory mapped in the MPU view or for the MPU itself.
46 compatible = "ti,omap-infra";
48 compatible = "ti,omap3-mpu";
54 * XXX: Use a flat representation of the dm816x interconnect.
55 * The real dm816x interconnect network is quite complex. Since
56 * it will not bring real advantage to represent that in DT
57 * for the moment, just use a fake OCP bus entry to represent
58 * the whole bus hierarchy.
61 compatible = "simple-bus";
62 reg = <0x44000000 0x10000>;
69 compatible = "ti,dm816-prcm";
70 reg = <0x48180000 0x4000>;
77 prcm_clockdomains: clockdomains {
82 compatible = "ti,dm816-scrm", "simple-bus";
83 reg = <0x48140000 0x21000>;
86 ranges = <0 0x48140000 0x21000>;
88 dm816x_pinmux: pinmux@800 {
89 compatible = "pinctrl-single";
93 pinctrl-single,register-width = <16>;
94 pinctrl-single,function-mask = <0xf>;
97 /* Device Configuration Registers */
98 scm_conf: syscon@600 {
99 compatible = "syscon", "simple-bus";
101 #address-cells = <1>;
103 ranges = <0 0x600 0x110>;
105 usb_phy0: usb-phy@20 {
106 compatible = "ti,dm8168-usb-phy";
109 clocks = <&main_fapll 6>;
110 clock-names = "refclk";
112 syscon = <&scm_conf>;
115 usb_phy1: usb-phy@28 {
116 compatible = "ti,dm8168-usb-phy";
119 clocks = <&main_fapll 6>;
120 clock-names = "refclk";
122 syscon = <&scm_conf>;
126 scrm_clocks: clocks {
127 #address-cells = <1>;
131 scrm_clockdomains: clockdomains {
135 edma: edma@49000000 {
136 compatible = "ti,edma3";
137 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2", "tptc3";
138 reg = <0x49000000 0x10000>,
140 interrupts = <12 13 14>;
145 compatible = "ti,816-elm";
147 reg = <0x48080000 0x2000>;
151 gpio1: gpio@48032000 {
152 compatible = "ti,omap4-gpio";
155 reg = <0x48032000 0x1000>;
159 interrupt-controller;
160 #interrupt-cells = <2>;
163 gpio2: gpio@4804c000 {
164 compatible = "ti,omap4-gpio";
167 reg = <0x4804c000 0x1000>;
171 interrupt-controller;
172 #interrupt-cells = <2>;
175 gpmc: gpmc@50000000 {
176 compatible = "ti,am3352-gpmc";
178 reg = <0x50000000 0x2000>;
179 #address-cells = <2>;
185 gpmc,num-waitpins = <2>;
186 interrupt-controller;
187 #interrupt-cells = <2>;
191 compatible = "ti,omap4-i2c";
193 reg = <0x48028000 0x1000>;
194 #address-cells = <1>;
197 dmas = <&edma 58 &edma 59>;
198 dma-names = "tx", "rx";
202 compatible = "ti,omap4-i2c";
204 reg = <0x4802a000 0x1000>;
205 #address-cells = <1>;
208 dmas = <&edma 60 &edma 61>;
209 dma-names = "tx", "rx";
212 intc: interrupt-controller@48200000 {
213 compatible = "ti,dm816-intc";
214 interrupt-controller;
215 #interrupt-cells = <1>;
216 reg = <0x48200000 0x1000>;
219 mailbox: mailbox@480c8000 {
220 compatible = "ti,omap4-mailbox";
221 reg = <0x480c8000 0x2000>;
223 ti,hwmods = "mailbox";
225 ti,mbox-num-users = <4>;
226 ti,mbox-num-fifos = <12>;
228 ti,mbox-tx = <3 0 0>;
229 ti,mbox-rx = <0 0 0>;
233 spinbox: spinbox@480ca000 {
234 compatible = "ti,omap4-hwspinlock";
235 reg = <0x480ca000 0x2000>;
236 ti,hwmods = "spinbox";
240 mdio: mdio@4a100800 {
241 compatible = "ti,davinci_mdio";
242 #address-cells = <1>;
244 reg = <0x4a100800 0x100>;
245 ti,hwmods = "davinci_mdio";
246 bus_freq = <1000000>;
247 phy0: ethernet-phy@0 {
250 phy1: ethernet-phy@1 {
255 eth0: ethernet@4a100000 {
256 compatible = "ti,dm816-emac";
258 reg = <0x4a100000 0x800
260 clocks = <&sysclk24_ck>;
261 syscon = <&scm_conf>;
262 ti,davinci-ctrl-reg-offset = <0>;
263 ti,davinci-ctrl-mod-reg-offset = <0x900>;
264 ti,davinci-ctrl-ram-offset = <0x2000>;
265 ti,davinci-ctrl-ram-size = <0x2000>;
266 interrupts = <40 41 42 43>;
267 phy-handle = <&phy0>;
270 eth1: ethernet@4a120000 {
271 compatible = "ti,dm816-emac";
273 reg = <0x4a120000 0x4000>;
274 clocks = <&sysclk24_ck>;
275 syscon = <&scm_conf>;
276 ti,davinci-ctrl-reg-offset = <0>;
277 ti,davinci-ctrl-mod-reg-offset = <0x900>;
278 ti,davinci-ctrl-ram-offset = <0x2000>;
279 ti,davinci-ctrl-ram-size = <0x2000>;
280 interrupts = <44 45 46 47>;
281 phy-handle = <&phy1>;
284 mcspi1: spi@48030000 {
285 compatible = "ti,omap4-mcspi";
286 reg = <0x48030000 0x1000>;
287 #address-cells = <1>;
291 ti,hwmods = "mcspi1";
292 dmas = <&edma 16 &edma 17
296 dma-names = "tx0", "rx0", "tx1", "rx1",
297 "tx2", "rx2", "tx3", "rx3";
301 compatible = "ti,omap4-hsmmc";
302 reg = <0x48060000 0x11000>;
305 dmas = <&edma 24 &edma 25>;
306 dma-names = "tx", "rx";
309 timer1: timer@4802e000 {
310 compatible = "ti,dm816-timer";
311 reg = <0x4802e000 0x2000>;
313 ti,hwmods = "timer1";
317 timer2: timer@48040000 {
318 compatible = "ti,dm816-timer";
319 reg = <0x48040000 0x2000>;
321 ti,hwmods = "timer2";
324 timer3: timer@48042000 {
325 compatible = "ti,dm816-timer";
326 reg = <0x48042000 0x2000>;
328 ti,hwmods = "timer3";
331 timer4: timer@48044000 {
332 compatible = "ti,dm816-timer";
333 reg = <0x48044000 0x2000>;
335 ti,hwmods = "timer4";
339 timer5: timer@48046000 {
340 compatible = "ti,dm816-timer";
341 reg = <0x48046000 0x2000>;
343 ti,hwmods = "timer5";
347 timer6: timer@48048000 {
348 compatible = "ti,dm816-timer";
349 reg = <0x48048000 0x2000>;
351 ti,hwmods = "timer6";
355 timer7: timer@4804a000 {
356 compatible = "ti,dm816-timer";
357 reg = <0x4804a000 0x2000>;
359 ti,hwmods = "timer7";
363 uart1: uart@48020000 {
364 compatible = "ti,omap3-uart";
366 reg = <0x48020000 0x2000>;
367 clock-frequency = <48000000>;
369 dmas = <&edma 26 &edma 27>;
370 dma-names = "tx", "rx";
373 uart2: uart@48022000 {
374 compatible = "ti,omap3-uart";
376 reg = <0x48022000 0x2000>;
377 clock-frequency = <48000000>;
379 dmas = <&edma 28 &edma 29>;
380 dma-names = "tx", "rx";
383 uart3: uart@48024000 {
384 compatible = "ti,omap3-uart";
386 reg = <0x48024000 0x2000>;
387 clock-frequency = <48000000>;
389 dmas = <&edma 30 &edma 31>;
390 dma-names = "tx", "rx";
393 /* NOTE: USB needs a transceiver driver for phys to work */
394 usb: usb_otg_hs@47401000 {
395 compatible = "ti,am33xx-usb";
396 reg = <0x47401000 0x400000>;
398 #address-cells = <1>;
400 ti,hwmods = "usb_otg_hs";
403 compatible = "ti,musb-dm816";
404 reg = <0x47401400 0x400
406 reg-names = "mc", "control";
408 interrupt-names = "mc";
410 interface-type = <0>;
412 phy-names = "usb2-phy";
413 mentor,multipoint = <1>;
414 mentor,num-eps = <16>;
415 mentor,ram-bits = <12>;
416 mentor,power = <500>;
418 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
419 &cppi41dma 2 0 &cppi41dma 3 0
420 &cppi41dma 4 0 &cppi41dma 5 0
421 &cppi41dma 6 0 &cppi41dma 7 0
422 &cppi41dma 8 0 &cppi41dma 9 0
423 &cppi41dma 10 0 &cppi41dma 11 0
424 &cppi41dma 12 0 &cppi41dma 13 0
425 &cppi41dma 14 0 &cppi41dma 0 1
426 &cppi41dma 1 1 &cppi41dma 2 1
427 &cppi41dma 3 1 &cppi41dma 4 1
428 &cppi41dma 5 1 &cppi41dma 6 1
429 &cppi41dma 7 1 &cppi41dma 8 1
430 &cppi41dma 9 1 &cppi41dma 10 1
431 &cppi41dma 11 1 &cppi41dma 12 1
432 &cppi41dma 13 1 &cppi41dma 14 1>;
434 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
435 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
437 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
438 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
443 compatible = "ti,musb-dm816";
444 reg = <0x47401c00 0x400
446 reg-names = "mc", "control";
448 interrupt-names = "mc";
450 interface-type = <0>;
452 phy-names = "usb2-phy";
453 mentor,multipoint = <1>;
454 mentor,num-eps = <16>;
455 mentor,ram-bits = <12>;
456 mentor,power = <500>;
458 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
459 &cppi41dma 17 0 &cppi41dma 18 0
460 &cppi41dma 19 0 &cppi41dma 20 0
461 &cppi41dma 21 0 &cppi41dma 22 0
462 &cppi41dma 23 0 &cppi41dma 24 0
463 &cppi41dma 25 0 &cppi41dma 26 0
464 &cppi41dma 27 0 &cppi41dma 28 0
465 &cppi41dma 29 0 &cppi41dma 15 1
466 &cppi41dma 16 1 &cppi41dma 17 1
467 &cppi41dma 18 1 &cppi41dma 19 1
468 &cppi41dma 20 1 &cppi41dma 21 1
469 &cppi41dma 22 1 &cppi41dma 23 1
470 &cppi41dma 24 1 &cppi41dma 25 1
471 &cppi41dma 26 1 &cppi41dma 27 1
472 &cppi41dma 28 1 &cppi41dma 29 1>;
474 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
475 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
477 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
478 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
482 cppi41dma: dma-controller@47402000 {
483 compatible = "ti,am3359-cppi41";
484 reg = <0x47400000 0x1000
488 reg-names = "glue", "controller", "scheduler", "queuemgr";
490 interrupt-names = "glue";
492 #dma-channels = <30>;
493 #dma-requests = <256>;
497 wd_timer2: wd_timer@480c2000 {
498 compatible = "ti,omap3-wdt";
499 ti,hwmods = "wd_timer";
500 reg = <0x480c2000 0x1000>;
506 #include "dm816x-clocks.dtsi"