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>;
67 ti,hwmods = "l3_main";
70 compatible = "ti,dm816-prcm";
71 reg = <0x48180000 0x4000>;
78 prcm_clockdomains: clockdomains {
83 compatible = "ti,dm816-scrm", "simple-bus";
84 reg = <0x48140000 0x21000>;
87 ranges = <0 0x48140000 0x21000>;
89 dm816x_pinmux: pinmux@800 {
90 compatible = "pinctrl-single";
94 pinctrl-single,register-width = <16>;
95 pinctrl-single,function-mask = <0xf>;
98 /* Device Configuration Registers */
99 scm_conf: syscon@600 {
100 compatible = "syscon", "simple-bus";
102 #address-cells = <1>;
104 ranges = <0 0x600 0x110>;
106 usb_phy0: usb-phy@20 {
107 compatible = "ti,dm8168-usb-phy";
110 clocks = <&main_fapll 6>;
111 clock-names = "refclk";
113 syscon = <&scm_conf>;
116 usb_phy1: usb-phy@28 {
117 compatible = "ti,dm8168-usb-phy";
120 clocks = <&main_fapll 6>;
121 clock-names = "refclk";
123 syscon = <&scm_conf>;
127 scrm_clocks: clocks {
128 #address-cells = <1>;
132 scrm_clockdomains: clockdomains {
136 edma: edma@49000000 {
137 compatible = "ti,edma3";
138 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2", "tptc3";
139 reg = <0x49000000 0x10000>,
141 interrupts = <12 13 14>;
146 compatible = "ti,816-elm";
148 reg = <0x48080000 0x2000>;
152 gpio1: gpio@48032000 {
153 compatible = "ti,omap4-gpio";
156 reg = <0x48032000 0x1000>;
160 interrupt-controller;
161 #interrupt-cells = <2>;
164 gpio2: gpio@4804c000 {
165 compatible = "ti,omap4-gpio";
168 reg = <0x4804c000 0x1000>;
172 interrupt-controller;
173 #interrupt-cells = <2>;
176 gpmc: gpmc@50000000 {
177 compatible = "ti,am3352-gpmc";
179 reg = <0x50000000 0x2000>;
180 #address-cells = <2>;
184 gpmc,num-waitpins = <2>;
188 compatible = "ti,omap4-i2c";
190 reg = <0x48028000 0x1000>;
191 #address-cells = <1>;
194 dmas = <&edma 58 &edma 59>;
195 dma-names = "tx", "rx";
199 compatible = "ti,omap4-i2c";
201 reg = <0x4802a000 0x1000>;
202 #address-cells = <1>;
205 dmas = <&edma 60 &edma 61>;
206 dma-names = "tx", "rx";
209 intc: interrupt-controller@48200000 {
210 compatible = "ti,dm816-intc";
211 interrupt-controller;
212 #interrupt-cells = <1>;
213 reg = <0x48200000 0x1000>;
216 mailbox: mailbox@480c8000 {
217 compatible = "ti,omap4-mailbox";
218 reg = <0x480c8000 0x2000>;
220 ti,hwmods = "mailbox";
222 ti,mbox-num-users = <4>;
223 ti,mbox-num-fifos = <12>;
225 ti,mbox-tx = <3 0 0>;
226 ti,mbox-rx = <0 0 0>;
230 mdio: mdio@4a100800 {
231 compatible = "ti,davinci_mdio";
232 #address-cells = <1>;
234 reg = <0x4a100800 0x100>;
235 ti,hwmods = "davinci_mdio";
236 bus_freq = <1000000>;
237 phy0: ethernet-phy@0 {
240 phy1: ethernet-phy@1 {
245 eth0: ethernet@4a100000 {
246 compatible = "ti,dm816-emac";
248 reg = <0x4a100000 0x800
250 clocks = <&sysclk24_ck>;
251 syscon = <&scm_conf>;
252 ti,davinci-ctrl-reg-offset = <0>;
253 ti,davinci-ctrl-mod-reg-offset = <0x900>;
254 ti,davinci-ctrl-ram-offset = <0x2000>;
255 ti,davinci-ctrl-ram-size = <0x2000>;
256 interrupts = <40 41 42 43>;
257 phy-handle = <&phy0>;
260 eth1: ethernet@4a120000 {
261 compatible = "ti,dm816-emac";
263 reg = <0x4a120000 0x4000>;
264 clocks = <&sysclk24_ck>;
265 syscon = <&scm_conf>;
266 ti,davinci-ctrl-reg-offset = <0>;
267 ti,davinci-ctrl-mod-reg-offset = <0x900>;
268 ti,davinci-ctrl-ram-offset = <0x2000>;
269 ti,davinci-ctrl-ram-size = <0x2000>;
270 interrupts = <44 45 46 47>;
271 phy-handle = <&phy1>;
274 mcspi1: spi@48030000 {
275 compatible = "ti,omap4-mcspi";
276 reg = <0x48030000 0x1000>;
277 #address-cells = <1>;
281 ti,hwmods = "mcspi1";
282 dmas = <&edma 16 &edma 17
286 dma-names = "tx0", "rx0", "tx1", "rx1",
287 "tx2", "rx2", "tx3", "rx3";
291 compatible = "ti,omap4-hsmmc";
292 reg = <0x48060000 0x11000>;
295 dmas = <&edma 24 &edma 25>;
296 dma-names = "tx", "rx";
299 timer1: timer@4802e000 {
300 compatible = "ti,dm816-timer";
301 reg = <0x4802e000 0x2000>;
303 ti,hwmods = "timer1";
307 timer2: timer@48040000 {
308 compatible = "ti,dm816-timer";
309 reg = <0x48040000 0x2000>;
311 ti,hwmods = "timer2";
314 timer3: timer@48042000 {
315 compatible = "ti,dm816-timer";
316 reg = <0x48042000 0x2000>;
318 ti,hwmods = "timer3";
321 timer4: timer@48044000 {
322 compatible = "ti,dm816-timer";
323 reg = <0x48044000 0x2000>;
325 ti,hwmods = "timer4";
328 timer5: timer@48046000 {
329 compatible = "ti,dm816-timer";
330 reg = <0x48046000 0x2000>;
332 ti,hwmods = "timer5";
335 timer6: timer@48048000 {
336 compatible = "ti,dm816-timer";
337 reg = <0x48048000 0x2000>;
339 ti,hwmods = "timer6";
342 timer7: timer@4804a000 {
343 compatible = "ti,dm816-timer";
344 reg = <0x4804a000 0x2000>;
346 ti,hwmods = "timer7";
349 uart1: uart@48020000 {
350 compatible = "ti,omap3-uart";
352 reg = <0x48020000 0x2000>;
353 clock-frequency = <48000000>;
355 dmas = <&edma 26 &edma 27>;
356 dma-names = "tx", "rx";
359 uart2: uart@48022000 {
360 compatible = "ti,omap3-uart";
362 reg = <0x48022000 0x2000>;
363 clock-frequency = <48000000>;
365 dmas = <&edma 28 &edma 29>;
366 dma-names = "tx", "rx";
369 uart3: uart@48024000 {
370 compatible = "ti,omap3-uart";
372 reg = <0x48024000 0x2000>;
373 clock-frequency = <48000000>;
375 dmas = <&edma 30 &edma 31>;
376 dma-names = "tx", "rx";
379 /* NOTE: USB needs a transceiver driver for phys to work */
380 usb: usb_otg_hs@47401000 {
381 compatible = "ti,am33xx-usb";
382 reg = <0x47401000 0x400000>;
384 #address-cells = <1>;
386 ti,hwmods = "usb_otg_hs";
389 compatible = "ti,musb-dm816";
390 reg = <0x47401400 0x400
392 reg-names = "mc", "control";
394 interrupt-names = "mc";
396 interface-type = <0>;
398 phy-names = "usb2-phy";
399 mentor,multipoint = <1>;
400 mentor,num-eps = <16>;
401 mentor,ram-bits = <12>;
402 mentor,power = <500>;
404 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
405 &cppi41dma 2 0 &cppi41dma 3 0
406 &cppi41dma 4 0 &cppi41dma 5 0
407 &cppi41dma 6 0 &cppi41dma 7 0
408 &cppi41dma 8 0 &cppi41dma 9 0
409 &cppi41dma 10 0 &cppi41dma 11 0
410 &cppi41dma 12 0 &cppi41dma 13 0
411 &cppi41dma 14 0 &cppi41dma 0 1
412 &cppi41dma 1 1 &cppi41dma 2 1
413 &cppi41dma 3 1 &cppi41dma 4 1
414 &cppi41dma 5 1 &cppi41dma 6 1
415 &cppi41dma 7 1 &cppi41dma 8 1
416 &cppi41dma 9 1 &cppi41dma 10 1
417 &cppi41dma 11 1 &cppi41dma 12 1
418 &cppi41dma 13 1 &cppi41dma 14 1>;
420 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
421 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
423 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
424 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
429 compatible = "ti,musb-dm816";
430 reg = <0x47401c00 0x400
432 reg-names = "mc", "control";
434 interrupt-names = "mc";
436 interface-type = <0>;
438 phy-names = "usb2-phy";
439 mentor,multipoint = <1>;
440 mentor,num-eps = <16>;
441 mentor,ram-bits = <12>;
442 mentor,power = <500>;
444 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
445 &cppi41dma 17 0 &cppi41dma 18 0
446 &cppi41dma 19 0 &cppi41dma 20 0
447 &cppi41dma 21 0 &cppi41dma 22 0
448 &cppi41dma 23 0 &cppi41dma 24 0
449 &cppi41dma 25 0 &cppi41dma 26 0
450 &cppi41dma 27 0 &cppi41dma 28 0
451 &cppi41dma 29 0 &cppi41dma 15 1
452 &cppi41dma 16 1 &cppi41dma 17 1
453 &cppi41dma 18 1 &cppi41dma 19 1
454 &cppi41dma 20 1 &cppi41dma 21 1
455 &cppi41dma 22 1 &cppi41dma 23 1
456 &cppi41dma 24 1 &cppi41dma 25 1
457 &cppi41dma 26 1 &cppi41dma 27 1
458 &cppi41dma 28 1 &cppi41dma 29 1>;
460 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
461 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
463 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
464 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
468 cppi41dma: dma-controller@47402000 {
469 compatible = "ti,am3359-cppi41";
470 reg = <0x47400000 0x1000
474 reg-names = "glue", "controller", "scheduler", "queuemgr";
476 interrupt-names = "glue";
478 #dma-channels = <30>;
479 #dma-requests = <256>;
483 wd_timer2: wd_timer@480c2000 {
484 compatible = "ti,omap3-wdt";
485 ti,hwmods = "wd_timer";
486 reg = <0x480c2000 0x1000>;
492 #include "dm816x-clocks.dtsi"