1 // SPDX-License-Identifier: GPL-2.0-only
3 #include <dt-bindings/gpio/gpio.h>
4 #include <dt-bindings/pinctrl/omap.h>
7 compatible = "ti,dm816";
8 interrupt-parent = <&intc>;
27 compatible = "arm,cortex-a8";
34 compatible = "arm,cortex-a8-pmu";
39 * The soc node represents the soc top level view. It is used for IPs
40 * that are not memory mapped in the MPU view or for the MPU itself.
43 compatible = "ti,omap-infra";
45 compatible = "ti,omap3-mpu";
51 * XXX: Use a flat representation of the dm816x interconnect.
52 * The real dm816x interconnect network is quite complex. Since
53 * it will not bring real advantage to represent that in DT
54 * for the moment, just use a fake OCP bus entry to represent
55 * the whole bus hierarchy.
58 compatible = "simple-bus";
59 reg = <0x44000000 0x10000>;
66 compatible = "ti,dm816-prcm", "simple-bus";
67 reg = <0x48180000 0x4000>;
70 ranges = <0 0x48180000 0x4000>;
77 prcm_clockdomains: clockdomains {
82 compatible = "ti,dm816-scrm", "simple-bus";
83 reg = <0x48140000 0x21000>;
87 ranges = <0 0x48140000 0x21000>;
89 dm816x_pinmux: pinmux@800 {
90 compatible = "pinctrl-single";
95 pinctrl-single,register-width = <16>;
96 pinctrl-single,function-mask = <0xf>;
99 /* Device Configuration Registers */
100 scm_conf: syscon@600 {
101 compatible = "syscon", "simple-bus";
103 #address-cells = <1>;
105 ranges = <0 0x600 0x110>;
107 usb_phy0: usb-phy@20 {
108 compatible = "ti,dm8168-usb-phy";
111 clocks = <&main_fapll 6>;
112 clock-names = "refclk";
114 syscon = <&scm_conf>;
117 usb_phy1: usb-phy@28 {
118 compatible = "ti,dm8168-usb-phy";
121 clocks = <&main_fapll 6>;
122 clock-names = "refclk";
124 syscon = <&scm_conf>;
128 scrm_clocks: clocks {
129 #address-cells = <1>;
133 scrm_clockdomains: clockdomains {
137 edma: edma@49000000 {
138 compatible = "ti,edma3";
139 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2", "tptc3";
140 reg = <0x49000000 0x10000>,
142 interrupts = <12 13 14>;
147 compatible = "ti,816-elm";
149 reg = <0x48080000 0x2000>;
153 gpio1: gpio@48032000 {
154 compatible = "ti,omap4-gpio";
157 reg = <0x48032000 0x1000>;
161 interrupt-controller;
162 #interrupt-cells = <2>;
165 gpio2: gpio@4804c000 {
166 compatible = "ti,omap4-gpio";
169 reg = <0x4804c000 0x1000>;
173 interrupt-controller;
174 #interrupt-cells = <2>;
177 gpmc: gpmc@50000000 {
178 compatible = "ti,am3352-gpmc";
180 reg = <0x50000000 0x2000>;
181 #address-cells = <2>;
187 gpmc,num-waitpins = <2>;
188 interrupt-controller;
189 #interrupt-cells = <2>;
195 compatible = "ti,omap4-i2c";
197 reg = <0x48028000 0x1000>;
198 #address-cells = <1>;
201 dmas = <&edma 58 &edma 59>;
202 dma-names = "tx", "rx";
206 compatible = "ti,omap4-i2c";
208 reg = <0x4802a000 0x1000>;
209 #address-cells = <1>;
212 dmas = <&edma 60 &edma 61>;
213 dma-names = "tx", "rx";
216 intc: interrupt-controller@48200000 {
217 compatible = "ti,dm816-intc";
218 interrupt-controller;
219 #interrupt-cells = <1>;
220 reg = <0x48200000 0x1000>;
224 compatible = "ti,am3352-rtc", "ti,da830-rtc";
225 reg = <0x480c0000 0x1000>;
226 interrupts = <75 76>;
230 mailbox: mailbox@480c8000 {
231 compatible = "ti,omap4-mailbox";
232 reg = <0x480c8000 0x2000>;
234 ti,hwmods = "mailbox";
236 ti,mbox-num-users = <4>;
237 ti,mbox-num-fifos = <12>;
239 ti,mbox-tx = <3 0 0>;
240 ti,mbox-rx = <0 0 0>;
244 spinbox: spinbox@480ca000 {
245 compatible = "ti,omap4-hwspinlock";
246 reg = <0x480ca000 0x2000>;
247 ti,hwmods = "spinbox";
251 mdio: mdio@4a100800 {
252 compatible = "ti,davinci_mdio";
253 #address-cells = <1>;
255 reg = <0x4a100800 0x100>;
256 ti,hwmods = "davinci_mdio";
257 bus_freq = <1000000>;
258 phy0: ethernet-phy@0 {
261 phy1: ethernet-phy@1 {
266 eth0: ethernet@4a100000 {
267 compatible = "ti,dm816-emac";
269 reg = <0x4a100000 0x800
271 clocks = <&sysclk24_ck>;
272 syscon = <&scm_conf>;
273 ti,davinci-ctrl-reg-offset = <0>;
274 ti,davinci-ctrl-mod-reg-offset = <0x900>;
275 ti,davinci-ctrl-ram-offset = <0x2000>;
276 ti,davinci-ctrl-ram-size = <0x2000>;
277 interrupts = <40 41 42 43>;
278 phy-handle = <&phy0>;
281 eth1: ethernet@4a120000 {
282 compatible = "ti,dm816-emac";
284 reg = <0x4a120000 0x4000>;
285 clocks = <&sysclk24_ck>;
286 syscon = <&scm_conf>;
287 ti,davinci-ctrl-reg-offset = <0>;
288 ti,davinci-ctrl-mod-reg-offset = <0x900>;
289 ti,davinci-ctrl-ram-offset = <0x2000>;
290 ti,davinci-ctrl-ram-size = <0x2000>;
291 interrupts = <44 45 46 47>;
292 phy-handle = <&phy1>;
295 mcspi1: spi@48030000 {
296 compatible = "ti,omap4-mcspi";
297 reg = <0x48030000 0x1000>;
298 #address-cells = <1>;
302 ti,hwmods = "mcspi1";
303 dmas = <&edma 16 &edma 17
307 dma-names = "tx0", "rx0", "tx1", "rx1",
308 "tx2", "rx2", "tx3", "rx3";
312 compatible = "ti,omap4-hsmmc";
313 reg = <0x48060000 0x11000>;
316 dmas = <&edma 24 &edma 25>;
317 dma-names = "tx", "rx";
320 timer1: timer@4802e000 {
321 compatible = "ti,dm816-timer";
322 reg = <0x4802e000 0x2000>;
324 ti,hwmods = "timer1";
328 timer2: timer@48040000 {
329 compatible = "ti,dm816-timer";
330 reg = <0x48040000 0x2000>;
332 ti,hwmods = "timer2";
335 timer3: timer@48042000 {
336 compatible = "ti,dm816-timer";
337 reg = <0x48042000 0x2000>;
339 ti,hwmods = "timer3";
342 timer4: timer@48044000 {
343 compatible = "ti,dm816-timer";
344 reg = <0x48044000 0x2000>;
346 ti,hwmods = "timer4";
350 timer5: timer@48046000 {
351 compatible = "ti,dm816-timer";
352 reg = <0x48046000 0x2000>;
354 ti,hwmods = "timer5";
358 timer6: timer@48048000 {
359 compatible = "ti,dm816-timer";
360 reg = <0x48048000 0x2000>;
362 ti,hwmods = "timer6";
366 timer7: timer@4804a000 {
367 compatible = "ti,dm816-timer";
368 reg = <0x4804a000 0x2000>;
370 ti,hwmods = "timer7";
374 uart1: serial@48020000 {
375 compatible = "ti,am3352-uart", "ti,omap3-uart";
377 reg = <0x48020000 0x2000>;
378 clock-frequency = <48000000>;
380 dmas = <&edma 26 &edma 27>;
381 dma-names = "tx", "rx";
384 uart2: serial@48022000 {
385 compatible = "ti,am3352-uart", "ti,omap3-uart";
387 reg = <0x48022000 0x2000>;
388 clock-frequency = <48000000>;
390 dmas = <&edma 28 &edma 29>;
391 dma-names = "tx", "rx";
394 uart3: serial@48024000 {
395 compatible = "ti,am3352-uart", "ti,omap3-uart";
397 reg = <0x48024000 0x2000>;
398 clock-frequency = <48000000>;
400 dmas = <&edma 30 &edma 31>;
401 dma-names = "tx", "rx";
404 /* NOTE: USB needs a transceiver driver for phys to work */
405 usb: usb_otg_hs@47401000 {
406 compatible = "ti,am33xx-usb";
407 reg = <0x47401000 0x400000>;
409 #address-cells = <1>;
411 ti,hwmods = "usb_otg_hs";
414 compatible = "ti,musb-dm816";
415 reg = <0x47401400 0x400
417 reg-names = "mc", "control";
419 interrupt-names = "mc";
421 interface-type = <0>;
423 phy-names = "usb2-phy";
424 mentor,multipoint = <1>;
425 mentor,num-eps = <16>;
426 mentor,ram-bits = <12>;
427 mentor,power = <500>;
429 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
430 &cppi41dma 2 0 &cppi41dma 3 0
431 &cppi41dma 4 0 &cppi41dma 5 0
432 &cppi41dma 6 0 &cppi41dma 7 0
433 &cppi41dma 8 0 &cppi41dma 9 0
434 &cppi41dma 10 0 &cppi41dma 11 0
435 &cppi41dma 12 0 &cppi41dma 13 0
436 &cppi41dma 14 0 &cppi41dma 0 1
437 &cppi41dma 1 1 &cppi41dma 2 1
438 &cppi41dma 3 1 &cppi41dma 4 1
439 &cppi41dma 5 1 &cppi41dma 6 1
440 &cppi41dma 7 1 &cppi41dma 8 1
441 &cppi41dma 9 1 &cppi41dma 10 1
442 &cppi41dma 11 1 &cppi41dma 12 1
443 &cppi41dma 13 1 &cppi41dma 14 1>;
445 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
446 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
448 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
449 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
454 compatible = "ti,musb-dm816";
455 reg = <0x47401c00 0x400
457 reg-names = "mc", "control";
459 interrupt-names = "mc";
461 interface-type = <0>;
463 phy-names = "usb2-phy";
464 mentor,multipoint = <1>;
465 mentor,num-eps = <16>;
466 mentor,ram-bits = <12>;
467 mentor,power = <500>;
469 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
470 &cppi41dma 17 0 &cppi41dma 18 0
471 &cppi41dma 19 0 &cppi41dma 20 0
472 &cppi41dma 21 0 &cppi41dma 22 0
473 &cppi41dma 23 0 &cppi41dma 24 0
474 &cppi41dma 25 0 &cppi41dma 26 0
475 &cppi41dma 27 0 &cppi41dma 28 0
476 &cppi41dma 29 0 &cppi41dma 15 1
477 &cppi41dma 16 1 &cppi41dma 17 1
478 &cppi41dma 18 1 &cppi41dma 19 1
479 &cppi41dma 20 1 &cppi41dma 21 1
480 &cppi41dma 22 1 &cppi41dma 23 1
481 &cppi41dma 24 1 &cppi41dma 25 1
482 &cppi41dma 26 1 &cppi41dma 27 1
483 &cppi41dma 28 1 &cppi41dma 29 1>;
485 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
486 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
488 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
489 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
493 cppi41dma: dma-controller@47402000 {
494 compatible = "ti,am3359-cppi41";
495 reg = <0x47400000 0x1000
499 reg-names = "glue", "controller", "scheduler", "queuemgr";
501 interrupt-names = "glue";
503 #dma-channels = <30>;
504 #dma-requests = <256>;
508 wd_timer2: wd_timer@480c2000 {
509 compatible = "ti,omap3-wdt";
510 ti,hwmods = "wd_timer";
511 reg = <0x480c2000 0x1000>;
517 #include "dm816x-clocks.dtsi"