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";
67 reg = <0x48180000 0x4000>;
74 prcm_clockdomains: clockdomains {
79 compatible = "ti,dm816-scrm", "simple-bus";
80 reg = <0x48140000 0x21000>;
84 ranges = <0 0x48140000 0x21000>;
86 dm816x_pinmux: pinmux@800 {
87 compatible = "pinctrl-single";
90 pinctrl-single,register-width = <16>;
91 pinctrl-single,function-mask = <0xf>;
94 /* Device Configuration Registers */
95 scm_conf: syscon@600 {
96 compatible = "syscon", "simple-bus";
100 ranges = <0 0x600 0x110>;
102 usb_phy0: usb-phy@20 {
103 compatible = "ti,dm8168-usb-phy";
106 clocks = <&main_fapll 6>;
107 clock-names = "refclk";
109 syscon = <&scm_conf>;
112 usb_phy1: usb-phy@28 {
113 compatible = "ti,dm8168-usb-phy";
116 clocks = <&main_fapll 6>;
117 clock-names = "refclk";
119 syscon = <&scm_conf>;
123 scrm_clocks: clocks {
126 scrm_clockdomains: clockdomains {
130 edma: edma@49000000 {
131 compatible = "ti,edma3";
132 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2", "tptc3";
133 reg = <0x49000000 0x10000>,
135 interrupts = <12 13 14>;
140 compatible = "ti,816-elm";
142 reg = <0x48080000 0x2000>;
146 gpio1: gpio@48032000 {
147 compatible = "ti,omap4-gpio";
150 reg = <0x48032000 0x1000>;
154 interrupt-controller;
155 #interrupt-cells = <2>;
158 gpio2: gpio@4804c000 {
159 compatible = "ti,omap4-gpio";
162 reg = <0x4804c000 0x1000>;
166 interrupt-controller;
167 #interrupt-cells = <2>;
170 gpmc: gpmc@50000000 {
171 compatible = "ti,am3352-gpmc";
173 reg = <0x50000000 0x2000>;
174 #address-cells = <2>;
180 gpmc,num-waitpins = <2>;
181 interrupt-controller;
182 #interrupt-cells = <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>;
217 compatible = "ti,am3352-rtc", "ti,da830-rtc";
218 reg = <0x480c0000 0x1000>;
219 interrupts = <75 76>;
223 mailbox: mailbox@480c8000 {
224 compatible = "ti,omap4-mailbox";
225 reg = <0x480c8000 0x2000>;
227 ti,hwmods = "mailbox";
229 ti,mbox-num-users = <4>;
230 ti,mbox-num-fifos = <12>;
232 ti,mbox-tx = <3 0 0>;
233 ti,mbox-rx = <0 0 0>;
237 spinbox: spinbox@480ca000 {
238 compatible = "ti,omap4-hwspinlock";
239 reg = <0x480ca000 0x2000>;
240 ti,hwmods = "spinbox";
244 mdio: mdio@4a100800 {
245 compatible = "ti,davinci_mdio";
246 #address-cells = <1>;
248 reg = <0x4a100800 0x100>;
249 ti,hwmods = "davinci_mdio";
250 bus_freq = <1000000>;
251 phy0: ethernet-phy@0 {
254 phy1: ethernet-phy@1 {
259 eth0: ethernet@4a100000 {
260 compatible = "ti,dm816-emac";
262 reg = <0x4a100000 0x800
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 = <40 41 42 43>;
271 phy-handle = <&phy0>;
274 eth1: ethernet@4a120000 {
275 compatible = "ti,dm816-emac";
277 reg = <0x4a120000 0x4000>;
278 clocks = <&sysclk24_ck>;
279 syscon = <&scm_conf>;
280 ti,davinci-ctrl-reg-offset = <0>;
281 ti,davinci-ctrl-mod-reg-offset = <0x900>;
282 ti,davinci-ctrl-ram-offset = <0x2000>;
283 ti,davinci-ctrl-ram-size = <0x2000>;
284 interrupts = <44 45 46 47>;
285 phy-handle = <&phy1>;
288 mcspi1: spi@48030000 {
289 compatible = "ti,omap4-mcspi";
290 reg = <0x48030000 0x1000>;
291 #address-cells = <1>;
295 ti,hwmods = "mcspi1";
296 dmas = <&edma 16 &edma 17
300 dma-names = "tx0", "rx0", "tx1", "rx1",
301 "tx2", "rx2", "tx3", "rx3";
305 compatible = "ti,omap4-hsmmc";
306 reg = <0x48060000 0x11000>;
309 dmas = <&edma 24 &edma 25>;
310 dma-names = "tx", "rx";
313 timer1: timer@4802e000 {
314 compatible = "ti,dm816-timer";
315 reg = <0x4802e000 0x2000>;
317 ti,hwmods = "timer1";
321 timer2: timer@48040000 {
322 compatible = "ti,dm816-timer";
323 reg = <0x48040000 0x2000>;
325 ti,hwmods = "timer2";
328 timer3: timer@48042000 {
329 compatible = "ti,dm816-timer";
330 reg = <0x48042000 0x2000>;
332 ti,hwmods = "timer3";
335 timer4: timer@48044000 {
336 compatible = "ti,dm816-timer";
337 reg = <0x48044000 0x2000>;
339 ti,hwmods = "timer4";
343 timer5: timer@48046000 {
344 compatible = "ti,dm816-timer";
345 reg = <0x48046000 0x2000>;
347 ti,hwmods = "timer5";
351 timer6: timer@48048000 {
352 compatible = "ti,dm816-timer";
353 reg = <0x48048000 0x2000>;
355 ti,hwmods = "timer6";
359 timer7: timer@4804a000 {
360 compatible = "ti,dm816-timer";
361 reg = <0x4804a000 0x2000>;
363 ti,hwmods = "timer7";
367 uart1: uart@48020000 {
368 compatible = "ti,am3352-uart", "ti,omap3-uart";
370 reg = <0x48020000 0x2000>;
371 clock-frequency = <48000000>;
373 dmas = <&edma 26 &edma 27>;
374 dma-names = "tx", "rx";
377 uart2: uart@48022000 {
378 compatible = "ti,am3352-uart", "ti,omap3-uart";
380 reg = <0x48022000 0x2000>;
381 clock-frequency = <48000000>;
383 dmas = <&edma 28 &edma 29>;
384 dma-names = "tx", "rx";
387 uart3: uart@48024000 {
388 compatible = "ti,am3352-uart", "ti,omap3-uart";
390 reg = <0x48024000 0x2000>;
391 clock-frequency = <48000000>;
393 dmas = <&edma 30 &edma 31>;
394 dma-names = "tx", "rx";
397 /* NOTE: USB needs a transceiver driver for phys to work */
398 usb: usb_otg_hs@47401000 {
399 compatible = "ti,am33xx-usb";
400 reg = <0x47401000 0x400000>;
402 #address-cells = <1>;
404 ti,hwmods = "usb_otg_hs";
407 compatible = "ti,musb-dm816";
408 reg = <0x47401400 0x400
410 reg-names = "mc", "control";
412 interrupt-names = "mc";
414 interface-type = <0>;
416 phy-names = "usb2-phy";
417 mentor,multipoint = <1>;
418 mentor,num-eps = <16>;
419 mentor,ram-bits = <12>;
420 mentor,power = <500>;
422 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
423 &cppi41dma 2 0 &cppi41dma 3 0
424 &cppi41dma 4 0 &cppi41dma 5 0
425 &cppi41dma 6 0 &cppi41dma 7 0
426 &cppi41dma 8 0 &cppi41dma 9 0
427 &cppi41dma 10 0 &cppi41dma 11 0
428 &cppi41dma 12 0 &cppi41dma 13 0
429 &cppi41dma 14 0 &cppi41dma 0 1
430 &cppi41dma 1 1 &cppi41dma 2 1
431 &cppi41dma 3 1 &cppi41dma 4 1
432 &cppi41dma 5 1 &cppi41dma 6 1
433 &cppi41dma 7 1 &cppi41dma 8 1
434 &cppi41dma 9 1 &cppi41dma 10 1
435 &cppi41dma 11 1 &cppi41dma 12 1
436 &cppi41dma 13 1 &cppi41dma 14 1>;
438 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
439 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
441 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
442 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
447 compatible = "ti,musb-dm816";
448 reg = <0x47401c00 0x400
450 reg-names = "mc", "control";
452 interrupt-names = "mc";
454 interface-type = <0>;
456 phy-names = "usb2-phy";
457 mentor,multipoint = <1>;
458 mentor,num-eps = <16>;
459 mentor,ram-bits = <12>;
460 mentor,power = <500>;
462 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
463 &cppi41dma 17 0 &cppi41dma 18 0
464 &cppi41dma 19 0 &cppi41dma 20 0
465 &cppi41dma 21 0 &cppi41dma 22 0
466 &cppi41dma 23 0 &cppi41dma 24 0
467 &cppi41dma 25 0 &cppi41dma 26 0
468 &cppi41dma 27 0 &cppi41dma 28 0
469 &cppi41dma 29 0 &cppi41dma 15 1
470 &cppi41dma 16 1 &cppi41dma 17 1
471 &cppi41dma 18 1 &cppi41dma 19 1
472 &cppi41dma 20 1 &cppi41dma 21 1
473 &cppi41dma 22 1 &cppi41dma 23 1
474 &cppi41dma 24 1 &cppi41dma 25 1
475 &cppi41dma 26 1 &cppi41dma 27 1
476 &cppi41dma 28 1 &cppi41dma 29 1>;
478 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
479 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
481 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
482 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
486 cppi41dma: dma-controller@47402000 {
487 compatible = "ti,am3359-cppi41";
488 reg = <0x47400000 0x1000
492 reg-names = "glue", "controller", "scheduler", "queuemgr";
494 interrupt-names = "glue";
496 #dma-channels = <30>;
497 #dma-requests = <256>;
501 wd_timer2: wd_timer@480c2000 {
502 compatible = "ti,omap3-wdt";
503 ti,hwmods = "wd_timer";
504 reg = <0x480c2000 0x1000>;
510 #include "dm816x-clocks.dtsi"