blob: a9e7274806f46bcb37ac8f35d6f7930e63c7a373 [file] [log] [blame]
Tony Lindgren78000642015-01-19 11:47:35 -08001/*
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.
5 */
6
Tony Lindgrene0c782f2020-03-17 09:46:01 -07007#include <dt-bindings/bus/ti-sysc.h>
8#include <dt-bindings/clock/dm816.h>
Tony Lindgren78000642015-01-19 11:47:35 -08009#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/pinctrl/omap.h>
11
Tony Lindgren78000642015-01-19 11:47:35 -080012/ {
13 compatible = "ti,dm816";
14 interrupt-parent = <&intc>;
Javier Martinez Canillas06bfb9c2016-08-31 12:35:23 +020015 #address-cells = <1>;
16 #size-cells = <1>;
Javier Martinez Canillas6ed80b32016-12-19 11:44:40 -030017 chosen { };
Tony Lindgren78000642015-01-19 11:47:35 -080018
19 aliases {
20 i2c0 = &i2c1;
21 i2c1 = &i2c2;
22 serial0 = &uart1;
23 serial1 = &uart2;
24 serial2 = &uart3;
25 ethernet0 = &eth0;
26 ethernet1 = &eth1;
27 };
28
29 cpus {
30 #address-cells = <1>;
31 #size-cells = <0>;
32 cpu@0 {
33 compatible = "arm,cortex-a8";
34 device_type = "cpu";
35 reg = <0>;
36 };
37 };
38
39 pmu {
40 compatible = "arm,cortex-a8-pmu";
41 interrupts = <3>;
42 };
43
44 /*
45 * The soc node represents the soc top level view. It is used for IPs
46 * that are not memory mapped in the MPU view or for the MPU itself.
47 */
48 soc {
49 compatible = "ti,omap-infra";
50 mpu {
51 compatible = "ti,omap3-mpu";
52 ti,hwmods = "mpu";
53 };
54 };
55
Tony Lindgren78000642015-01-19 11:47:35 -080056 /*
57 * XXX: Use a flat representation of the dm816x interconnect.
58 * The real dm816x interconnect network is quite complex. Since
59 * it will not bring real advantage to represent that in DT
60 * for the moment, just use a fake OCP bus entry to represent
61 * the whole bus hierarchy.
62 */
63 ocp {
Tony Lindgren71bed412015-05-29 10:21:52 -070064 compatible = "simple-bus";
Tony Lindgren78000642015-01-19 11:47:35 -080065 reg = <0x44000000 0x10000>;
66 interrupts = <9 10>;
67 #address-cells = <1>;
68 #size-cells = <1>;
69 ranges;
Tony Lindgren78000642015-01-19 11:47:35 -080070
71 prcm: prcm@48180000 {
Tero Kristo519262c2017-12-07 10:46:46 +020072 compatible = "ti,dm816-prcm", "simple-bus";
Tony Lindgren78000642015-01-19 11:47:35 -080073 reg = <0x48180000 0x4000>;
Tero Kristo519262c2017-12-07 10:46:46 +020074 #address-cells = <1>;
75 #size-cells = <1>;
76 ranges = <0 0x48180000 0x4000>;
Tony Lindgren78000642015-01-19 11:47:35 -080077
78 prcm_clocks: clocks {
79 #address-cells = <1>;
80 #size-cells = <0>;
81 };
82
83 prcm_clockdomains: clockdomains {
84 };
85 };
86
87 scrm: scrm@48140000 {
Tony Lindgren72d03222015-01-21 16:21:52 -080088 compatible = "ti,dm816-scrm", "simple-bus";
Tony Lindgren78000642015-01-19 11:47:35 -080089 reg = <0x48140000 0x21000>;
90 #address-cells = <1>;
91 #size-cells = <1>;
Tony Lindgrenbe76fd32016-11-07 08:27:49 -070092 #pinctrl-cells = <1>;
Tony Lindgren78000642015-01-19 11:47:35 -080093 ranges = <0 0x48140000 0x21000>;
94
Tony Lindgren72d03222015-01-21 16:21:52 -080095 dm816x_pinmux: pinmux@800 {
96 compatible = "pinctrl-single";
97 reg = <0x800 0x50a>;
98 #address-cells = <1>;
99 #size-cells = <0>;
Tony Lindgrenbe76fd32016-11-07 08:27:49 -0700100 #pinctrl-cells = <1>;
Tony Lindgren72d03222015-01-21 16:21:52 -0800101 pinctrl-single,register-width = <16>;
102 pinctrl-single,function-mask = <0xf>;
103 };
104
105 /* Device Configuration Registers */
106 scm_conf: syscon@600 {
Tony Lindgrena54879a2015-02-24 08:48:52 -0800107 compatible = "syscon", "simple-bus";
Tony Lindgren72d03222015-01-21 16:21:52 -0800108 reg = <0x600 0x110>;
109 #address-cells = <1>;
110 #size-cells = <1>;
Tony Lindgrena54879a2015-02-24 08:48:52 -0800111 ranges = <0 0x600 0x110>;
112
113 usb_phy0: usb-phy@20 {
114 compatible = "ti,dm8168-usb-phy";
115 reg = <0x20 0x8>;
116 reg-names = "phy";
117 clocks = <&main_fapll 6>;
118 clock-names = "refclk";
119 #phy-cells = <0>;
120 syscon = <&scm_conf>;
121 };
122
123 usb_phy1: usb-phy@28 {
124 compatible = "ti,dm8168-usb-phy";
125 reg = <0x28 0x8>;
126 reg-names = "phy";
127 clocks = <&main_fapll 6>;
128 clock-names = "refclk";
129 #phy-cells = <0>;
130 syscon = <&scm_conf>;
131 };
Tony Lindgren72d03222015-01-21 16:21:52 -0800132 };
133
Tony Lindgren78000642015-01-19 11:47:35 -0800134 scrm_clocks: clocks {
135 #address-cells = <1>;
136 #size-cells = <0>;
137 };
138
139 scrm_clockdomains: clockdomains {
140 };
141 };
142
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700143 target-module@49000000 {
144 compatible = "ti,sysc-omap4", "ti,sysc";
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700145 reg = <0x49000000 0x4>;
146 reg-names = "rev";
147 clocks = <&alwon_clkctrl DM816_TPCC_CLKCTRL 0>;
148 clock-names = "fck";
149 #address-cells = <1>;
150 #size-cells = <1>;
151 ranges = <0x0 0x49000000 0x10000>;
152
153 edma: dma@0 {
154 compatible = "ti,edma3-tpcc";
155 reg = <0 0x10000>;
156 reg-names = "edma3_cc";
157 interrupts = <12 13 14>;
158 interrupt-names = "edma3_ccint", "edma3_mperr",
159 "edma3_ccerrint";
160 dma-requests = <64>;
161 #dma-cells = <2>;
162
163 ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
164 <&edma_tptc2 3>, <&edma_tptc3 0>;
165
166 ti,edma-memcpy-channels = <20 21>;
167 };
168 };
169
170 target-module@49800000 {
171 compatible = "ti,sysc-omap4", "ti,sysc";
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700172 reg = <0x49800000 0x4>,
173 <0x49800010 0x4>;
174 reg-names = "rev", "sysc";
175 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
176 ti,sysc-midle = <SYSC_IDLE_FORCE>;
177 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
178 <SYSC_IDLE_SMART>;
179 clocks = <&alwon_clkctrl DM816_TPTC0_CLKCTRL 0>;
180 clock-names = "fck";
181 #address-cells = <1>;
182 #size-cells = <1>;
183 ranges = <0x0 0x49800000 0x100000>;
184
185 edma_tptc0: dma@0 {
186 compatible = "ti,edma3-tptc";
187 reg = <0 0x100000>;
188 interrupts = <112>;
189 interrupt-names = "edma3_tcerrint";
190 };
191 };
192
193 target-module@49900000 {
194 compatible = "ti,sysc-omap4", "ti,sysc";
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700195 reg = <0x49900000 0x4>,
196 <0x49900010 0x4>;
197 reg-names = "rev", "sysc";
198 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
199 ti,sysc-midle = <SYSC_IDLE_FORCE>;
200 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
201 <SYSC_IDLE_SMART>;
202 clocks = <&alwon_clkctrl DM816_TPTC1_CLKCTRL 0>;
203 clock-names = "fck";
204 #address-cells = <1>;
205 #size-cells = <1>;
206 ranges = <0x0 0x49900000 0x100000>;
207
208 edma_tptc1: dma@0 {
209 compatible = "ti,edma3-tptc";
210 reg = <0 0x100000>;
211 interrupts = <113>;
212 interrupt-names = "edma3_tcerrint";
213 };
214 };
215
216 target-module@49a00000 {
217 compatible = "ti,sysc-omap4", "ti,sysc";
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700218 reg = <0x49a00000 0x4>,
219 <0x49a00010 0x4>;
220 reg-names = "rev", "sysc";
221 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
222 ti,sysc-midle = <SYSC_IDLE_FORCE>;
223 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
224 <SYSC_IDLE_SMART>;
225 clocks = <&alwon_clkctrl DM816_TPTC2_CLKCTRL 0>;
226 clock-names = "fck";
227 #address-cells = <1>;
228 #size-cells = <1>;
229 ranges = <0x0 0x49a00000 0x100000>;
230
231 edma_tptc2: dma@0 {
232 compatible = "ti,edma3-tptc";
233 reg = <0 0x100000>;
234 interrupts = <114>;
235 interrupt-names = "edma3_tcerrint";
236 };
237 };
238
239 target-module@49b00000 {
240 compatible = "ti,sysc-omap4", "ti,sysc";
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700241 reg = <0x49b00000 0x4>,
242 <0x49b00010 0x4>;
243 reg-names = "rev", "sysc";
244 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
245 ti,sysc-midle = <SYSC_IDLE_FORCE>;
246 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
247 <SYSC_IDLE_SMART>;
248 clocks = <&alwon_clkctrl DM816_TPTC3_CLKCTRL 0>;
249 clock-names = "fck";
250 #address-cells = <1>;
251 #size-cells = <1>;
252 ranges = <0x0 0x49b00000 0x100000>;
253
254 edma_tptc3: dma@0 {
255 compatible = "ti,edma3-tptc";
256 reg = <0 0x100000>;
257 interrupts = <115>;
258 interrupt-names = "edma3_tcerrint";
259 };
Tony Lindgren78000642015-01-19 11:47:35 -0800260 };
261
262 elm: elm@48080000 {
Tom Rini0c88e962017-07-05 00:54:36 -0700263 compatible = "ti,am3352-elm";
Tony Lindgren78000642015-01-19 11:47:35 -0800264 ti,hwmods = "elm";
265 reg = <0x48080000 0x2000>;
266 interrupts = <4>;
267 };
268
269 gpio1: gpio@48032000 {
Tony Lindgren599c3762015-03-18 13:41:34 -0700270 compatible = "ti,omap4-gpio";
Tony Lindgren78000642015-01-19 11:47:35 -0800271 ti,hwmods = "gpio1";
Tony Lindgren599c3762015-03-18 13:41:34 -0700272 ti,gpio-always-on;
Tony Lindgren78000642015-01-19 11:47:35 -0800273 reg = <0x48032000 0x1000>;
Tony Lindgren599c3762015-03-18 13:41:34 -0700274 interrupts = <96>;
275 gpio-controller;
276 #gpio-cells = <2>;
277 interrupt-controller;
278 #interrupt-cells = <2>;
Tony Lindgren78000642015-01-19 11:47:35 -0800279 };
280
281 gpio2: gpio@4804c000 {
Tony Lindgren599c3762015-03-18 13:41:34 -0700282 compatible = "ti,omap4-gpio";
Tony Lindgren78000642015-01-19 11:47:35 -0800283 ti,hwmods = "gpio2";
Tony Lindgren599c3762015-03-18 13:41:34 -0700284 ti,gpio-always-on;
Tony Lindgren78000642015-01-19 11:47:35 -0800285 reg = <0x4804c000 0x1000>;
Tony Lindgren599c3762015-03-18 13:41:34 -0700286 interrupts = <98>;
287 gpio-controller;
288 #gpio-cells = <2>;
289 interrupt-controller;
290 #interrupt-cells = <2>;
Tony Lindgren78000642015-01-19 11:47:35 -0800291 };
292
293 gpmc: gpmc@50000000 {
294 compatible = "ti,am3352-gpmc";
295 ti,hwmods = "gpmc";
296 reg = <0x50000000 0x2000>;
297 #address-cells = <2>;
298 #size-cells = <1>;
299 interrupts = <100>;
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700300 dmas = <&edma 52 0>;
Franklin S Cooper Jr201c7e32015-10-15 12:37:27 -0500301 dma-names = "rxtx";
Tony Lindgren78000642015-01-19 11:47:35 -0800302 gpmc,num-cs = <6>;
303 gpmc,num-waitpins = <2>;
Roger Quadros6d840d82016-02-23 18:37:23 +0200304 interrupt-controller;
305 #interrupt-cells = <2>;
Roger Quadros8675afe2016-04-07 13:25:36 +0300306 gpio-controller;
307 #gpio-cells = <2>;
Tony Lindgren78000642015-01-19 11:47:35 -0800308 };
309
310 i2c1: i2c@48028000 {
311 compatible = "ti,omap4-i2c";
312 ti,hwmods = "i2c1";
313 reg = <0x48028000 0x1000>;
314 #address-cells = <1>;
315 #size-cells = <0>;
316 interrupts = <70>;
Tony Lindgren78000642015-01-19 11:47:35 -0800317 };
318
319 i2c2: i2c@4802a000 {
320 compatible = "ti,omap4-i2c";
321 ti,hwmods = "i2c2";
322 reg = <0x4802a000 0x1000>;
323 #address-cells = <1>;
324 #size-cells = <0>;
325 interrupts = <71>;
Tony Lindgren78000642015-01-19 11:47:35 -0800326 };
327
328 intc: interrupt-controller@48200000 {
329 compatible = "ti,dm816-intc";
330 interrupt-controller;
331 #interrupt-cells = <1>;
332 reg = <0x48200000 0x1000>;
333 };
334
Tony Lindgren5a28f432016-02-26 10:58:16 -0800335 rtc: rtc@480c0000 {
336 compatible = "ti,am3352-rtc", "ti,da830-rtc";
337 reg = <0x480c0000 0x1000>;
338 interrupts = <75 76>;
339 ti,hwmods = "rtc";
340 };
341
Tony Lindgren78000642015-01-19 11:47:35 -0800342 mailbox: mailbox@480c8000 {
343 compatible = "ti,omap4-mailbox";
344 reg = <0x480c8000 0x2000>;
345 interrupts = <77>;
346 ti,hwmods = "mailbox";
Neil Armstrongd3e41a92015-11-12 15:07:30 +0100347 #mbox-cells = <1>;
Tony Lindgren78000642015-01-19 11:47:35 -0800348 ti,mbox-num-users = <4>;
349 ti,mbox-num-fifos = <12>;
Suman Anna9e7f5ee2021-05-18 12:36:45 -0500350 mbox_dsp: mbox-dsp {
Tony Lindgren78000642015-01-19 11:47:35 -0800351 ti,mbox-tx = <3 0 0>;
352 ti,mbox-rx = <0 0 0>;
353 };
354 };
355
Neil Armstrong24f09822015-11-12 15:07:49 +0100356 spinbox: spinbox@480ca000 {
357 compatible = "ti,omap4-hwspinlock";
358 reg = <0x480ca000 0x2000>;
359 ti,hwmods = "spinbox";
360 #hwlock-cells = <1>;
361 };
362
Tony Lindgren78000642015-01-19 11:47:35 -0800363 mdio: mdio@4a100800 {
364 compatible = "ti,davinci_mdio";
365 #address-cells = <1>;
366 #size-cells = <0>;
367 reg = <0x4a100800 0x100>;
368 ti,hwmods = "davinci_mdio";
369 bus_freq = <1000000>;
370 phy0: ethernet-phy@0 {
371 reg = <1>;
372 };
373 phy1: ethernet-phy@1 {
374 reg = <2>;
375 };
376 };
377
378 eth0: ethernet@4a100000 {
379 compatible = "ti,dm816-emac";
380 ti,hwmods = "emac0";
381 reg = <0x4a100000 0x800
382 0x4a100900 0x3700>;
383 clocks = <&sysclk24_ck>;
Tony Lindgren72d03222015-01-21 16:21:52 -0800384 syscon = <&scm_conf>;
Tony Lindgren78000642015-01-19 11:47:35 -0800385 ti,davinci-ctrl-reg-offset = <0>;
386 ti,davinci-ctrl-mod-reg-offset = <0x900>;
387 ti,davinci-ctrl-ram-offset = <0x2000>;
388 ti,davinci-ctrl-ram-size = <0x2000>;
389 interrupts = <40 41 42 43>;
390 phy-handle = <&phy0>;
391 };
392
393 eth1: ethernet@4a120000 {
394 compatible = "ti,dm816-emac";
395 ti,hwmods = "emac1";
396 reg = <0x4a120000 0x4000>;
397 clocks = <&sysclk24_ck>;
Tony Lindgren72d03222015-01-21 16:21:52 -0800398 syscon = <&scm_conf>;
Tony Lindgren78000642015-01-19 11:47:35 -0800399 ti,davinci-ctrl-reg-offset = <0>;
400 ti,davinci-ctrl-mod-reg-offset = <0x900>;
401 ti,davinci-ctrl-ram-offset = <0x2000>;
402 ti,davinci-ctrl-ram-size = <0x2000>;
403 interrupts = <44 45 46 47>;
404 phy-handle = <&phy1>;
405 };
406
Bartosz Golaszewski9f6b5722017-03-14 12:14:14 +0100407 sata: sata@4a140000 {
408 compatible = "ti,dm816-ahci";
409 reg = <0x4a140000 0x10000>;
410 interrupts = <16>;
411 ti,hwmods = "sata";
412 };
413
Tony Lindgren78000642015-01-19 11:47:35 -0800414 mcspi1: spi@48030000 {
415 compatible = "ti,omap4-mcspi";
416 reg = <0x48030000 0x1000>;
417 #address-cells = <1>;
418 #size-cells = <0>;
419 interrupts = <65>;
420 ti,spi-num-cs = <4>;
421 ti,hwmods = "mcspi1";
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700422 dmas = <&edma 16 0 &edma 17 0
423 &edma 18 0 &edma 19 0
424 &edma 20 0 &edma 21 0
425 &edma 22 0 &edma 23 0>;
Neil Armstrongf1b2e7c2015-11-12 15:07:35 +0100426 dma-names = "tx0", "rx0", "tx1", "rx1",
427 "tx2", "rx2", "tx3", "rx3";
Tony Lindgren78000642015-01-19 11:47:35 -0800428 };
429
430 mmc1: mmc@48060000 {
431 compatible = "ti,omap4-hsmmc";
432 reg = <0x48060000 0x11000>;
433 ti,hwmods = "mmc1";
434 interrupts = <64>;
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700435 dmas = <&edma 24 0 &edma 25 0>;
Tony Lindgren78000642015-01-19 11:47:35 -0800436 dma-names = "tx", "rx";
437 };
438
Tony Lindgren83bd18b2020-05-07 09:59:31 -0700439 timer1_target: target-module@4802e000 {
440 compatible = "ti,sysc-omap4-timer", "ti,sysc";
441 reg = <0x4802e000 0x4>,
442 <0x4802e010 0x4>;
443 reg-names = "rev", "sysc";
444 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
445 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
446 <SYSC_IDLE_NO>,
447 <SYSC_IDLE_SMART>,
448 <SYSC_IDLE_SMART_WKUP>;
449 clocks = <&alwon_clkctrl DM816_TIMER1_CLKCTRL 0>;
Tero Kristoed839c32017-12-07 10:46:40 +0200450 clock-names = "fck";
Tony Lindgren83bd18b2020-05-07 09:59:31 -0700451 #address-cells = <1>;
452 #size-cells = <1>;
453 ranges = <0x0 0x4802e000 0x1000>;
454
455 timer1: timer@0 {
456 compatible = "ti,dm816-timer";
457 reg = <0 0x1000>;
458 interrupts = <67>;
459 ti,timer-alwon;
460 clocks = <&alwon_clkctrl DM816_TIMER1_CLKCTRL 0>;
461 clock-names = "fck";
462 };
Tony Lindgren78000642015-01-19 11:47:35 -0800463 };
464
Tony Lindgren83bd18b2020-05-07 09:59:31 -0700465 timer2_target: target-module@48040000 {
466 compatible = "ti,sysc-omap4-timer", "ti,sysc";
467 reg = <0x48040000 0x4>,
468 <0x48040010 0x4>;
469 reg-names = "rev", "sysc";
470 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
471 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
472 <SYSC_IDLE_NO>,
473 <SYSC_IDLE_SMART>,
474 <SYSC_IDLE_SMART_WKUP>;
475 clocks = <&alwon_clkctrl DM816_TIMER2_CLKCTRL 0>;
Tero Kristoed839c32017-12-07 10:46:40 +0200476 clock-names = "fck";
Tony Lindgren83bd18b2020-05-07 09:59:31 -0700477 #address-cells = <1>;
478 #size-cells = <1>;
479 ranges = <0x0 0x48040000 0x1000>;
480
481 timer2: timer@0 {
482 compatible = "ti,dm816-timer";
483 reg = <0 0x1000>;
484 interrupts = <68>;
485 clocks = <&alwon_clkctrl DM816_TIMER2_CLKCTRL 0>;
486 clock-names = "fck";
487 };
Tony Lindgren78000642015-01-19 11:47:35 -0800488 };
489
490 timer3: timer@48042000 {
491 compatible = "ti,dm816-timer";
492 reg = <0x48042000 0x2000>;
493 interrupts = <69>;
494 ti,hwmods = "timer3";
495 };
496
497 timer4: timer@48044000 {
498 compatible = "ti,dm816-timer";
499 reg = <0x48044000 0x2000>;
500 interrupts = <92>;
501 ti,hwmods = "timer4";
Neil Armstrong8ca31db2015-11-12 15:07:40 +0100502 ti,timer-pwm;
Tony Lindgren78000642015-01-19 11:47:35 -0800503 };
504
505 timer5: timer@48046000 {
506 compatible = "ti,dm816-timer";
507 reg = <0x48046000 0x2000>;
508 interrupts = <93>;
509 ti,hwmods = "timer5";
Neil Armstrong8ca31db2015-11-12 15:07:40 +0100510 ti,timer-pwm;
Tony Lindgren78000642015-01-19 11:47:35 -0800511 };
512
513 timer6: timer@48048000 {
514 compatible = "ti,dm816-timer";
515 reg = <0x48048000 0x2000>;
516 interrupts = <94>;
517 ti,hwmods = "timer6";
Neil Armstrong8ca31db2015-11-12 15:07:40 +0100518 ti,timer-pwm;
Tony Lindgren78000642015-01-19 11:47:35 -0800519 };
520
521 timer7: timer@4804a000 {
522 compatible = "ti,dm816-timer";
523 reg = <0x4804a000 0x2000>;
524 interrupts = <95>;
525 ti,hwmods = "timer7";
Neil Armstrong8ca31db2015-11-12 15:07:40 +0100526 ti,timer-pwm;
Tony Lindgren78000642015-01-19 11:47:35 -0800527 };
528
529 uart1: uart@48020000 {
Tony Lindgrenf62280e2017-01-05 11:17:30 -0800530 compatible = "ti,am3352-uart", "ti,omap3-uart";
Tony Lindgren78000642015-01-19 11:47:35 -0800531 ti,hwmods = "uart1";
532 reg = <0x48020000 0x2000>;
533 clock-frequency = <48000000>;
534 interrupts = <72>;
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700535 dmas = <&edma 26 0 &edma 27 0>;
Tony Lindgren78000642015-01-19 11:47:35 -0800536 dma-names = "tx", "rx";
537 };
538
539 uart2: uart@48022000 {
Tony Lindgrenf62280e2017-01-05 11:17:30 -0800540 compatible = "ti,am3352-uart", "ti,omap3-uart";
Tony Lindgren78000642015-01-19 11:47:35 -0800541 ti,hwmods = "uart2";
542 reg = <0x48022000 0x2000>;
543 clock-frequency = <48000000>;
544 interrupts = <73>;
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700545 dmas = <&edma 28 0 &edma 29 0>;
Tony Lindgren78000642015-01-19 11:47:35 -0800546 dma-names = "tx", "rx";
547 };
548
549 uart3: uart@48024000 {
Tony Lindgrenf62280e2017-01-05 11:17:30 -0800550 compatible = "ti,am3352-uart", "ti,omap3-uart";
Tony Lindgren78000642015-01-19 11:47:35 -0800551 ti,hwmods = "uart3";
552 reg = <0x48024000 0x2000>;
553 clock-frequency = <48000000>;
554 interrupts = <74>;
Tony Lindgrene0c782f2020-03-17 09:46:01 -0700555 dmas = <&edma 30 0 &edma 31 0>;
Tony Lindgren78000642015-01-19 11:47:35 -0800556 dma-names = "tx", "rx";
557 };
558
559 /* NOTE: USB needs a transceiver driver for phys to work */
560 usb: usb_otg_hs@47401000 {
561 compatible = "ti,am33xx-usb";
562 reg = <0x47401000 0x400000>;
563 ranges;
564 #address-cells = <1>;
565 #size-cells = <1>;
566 ti,hwmods = "usb_otg_hs";
567
568 usb0: usb@47401000 {
Tony Lindgren1b205c52015-05-29 09:59:42 -0700569 compatible = "ti,musb-dm816";
Tony Lindgren78000642015-01-19 11:47:35 -0800570 reg = <0x47401400 0x400
571 0x47401000 0x200>;
572 reg-names = "mc", "control";
573 interrupts = <18>;
574 interrupt-names = "mc";
Tony Lindgrena54879a2015-02-24 08:48:52 -0800575 dr_mode = "host";
576 interface-type = <0>;
577 phys = <&usb_phy0>;
578 phy-names = "usb2-phy";
Tony Lindgren78000642015-01-19 11:47:35 -0800579 mentor,multipoint = <1>;
580 mentor,num-eps = <16>;
581 mentor,ram-bits = <12>;
582 mentor,power = <500>;
Tony Lindgrende1a1222015-03-19 09:14:36 -0700583
584 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
585 &cppi41dma 2 0 &cppi41dma 3 0
586 &cppi41dma 4 0 &cppi41dma 5 0
587 &cppi41dma 6 0 &cppi41dma 7 0
588 &cppi41dma 8 0 &cppi41dma 9 0
589 &cppi41dma 10 0 &cppi41dma 11 0
590 &cppi41dma 12 0 &cppi41dma 13 0
591 &cppi41dma 14 0 &cppi41dma 0 1
592 &cppi41dma 1 1 &cppi41dma 2 1
593 &cppi41dma 3 1 &cppi41dma 4 1
594 &cppi41dma 5 1 &cppi41dma 6 1
595 &cppi41dma 7 1 &cppi41dma 8 1
596 &cppi41dma 9 1 &cppi41dma 10 1
597 &cppi41dma 11 1 &cppi41dma 12 1
598 &cppi41dma 13 1 &cppi41dma 14 1>;
599 dma-names =
600 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
601 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
602 "rx14", "rx15",
603 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
604 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
605 "tx14", "tx15";
Tony Lindgren78000642015-01-19 11:47:35 -0800606 };
607
608 usb1: usb@47401800 {
Tony Lindgren1b205c52015-05-29 09:59:42 -0700609 compatible = "ti,musb-dm816";
Tony Lindgren78000642015-01-19 11:47:35 -0800610 reg = <0x47401c00 0x400
611 0x47401800 0x200>;
612 reg-names = "mc", "control";
613 interrupts = <19>;
614 interrupt-names = "mc";
Tony Lindgrena54879a2015-02-24 08:48:52 -0800615 dr_mode = "host";
616 interface-type = <0>;
617 phys = <&usb_phy1>;
618 phy-names = "usb2-phy";
Tony Lindgren78000642015-01-19 11:47:35 -0800619 mentor,multipoint = <1>;
620 mentor,num-eps = <16>;
621 mentor,ram-bits = <12>;
622 mentor,power = <500>;
Tony Lindgrende1a1222015-03-19 09:14:36 -0700623
624 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
625 &cppi41dma 17 0 &cppi41dma 18 0
626 &cppi41dma 19 0 &cppi41dma 20 0
627 &cppi41dma 21 0 &cppi41dma 22 0
628 &cppi41dma 23 0 &cppi41dma 24 0
629 &cppi41dma 25 0 &cppi41dma 26 0
630 &cppi41dma 27 0 &cppi41dma 28 0
631 &cppi41dma 29 0 &cppi41dma 15 1
632 &cppi41dma 16 1 &cppi41dma 17 1
633 &cppi41dma 18 1 &cppi41dma 19 1
634 &cppi41dma 20 1 &cppi41dma 21 1
635 &cppi41dma 22 1 &cppi41dma 23 1
636 &cppi41dma 24 1 &cppi41dma 25 1
637 &cppi41dma 26 1 &cppi41dma 27 1
638 &cppi41dma 28 1 &cppi41dma 29 1>;
639 dma-names =
640 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
641 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
642 "rx14", "rx15",
643 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
644 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
645 "tx14", "tx15";
646 };
647
648 cppi41dma: dma-controller@47402000 {
649 compatible = "ti,am3359-cppi41";
650 reg = <0x47400000 0x1000
651 0x47402000 0x1000
652 0x47403000 0x1000
653 0x47404000 0x4000>;
654 reg-names = "glue", "controller", "scheduler", "queuemgr";
655 interrupts = <17>;
656 interrupt-names = "glue";
657 #dma-cells = <2>;
658 #dma-channels = <30>;
659 #dma-requests = <256>;
Tony Lindgren78000642015-01-19 11:47:35 -0800660 };
661 };
662
663 wd_timer2: wd_timer@480c2000 {
664 compatible = "ti,omap3-wdt";
665 ti,hwmods = "wd_timer";
666 reg = <0x480c2000 0x1000>;
667 interrupts = <0>;
668 };
669 };
670};
671
Tony Lindgren7383ca92015-01-19 11:47:35 -0800672#include "dm816x-clocks.dtsi"
Tony Lindgren83bd18b2020-05-07 09:59:31 -0700673
674/* Preferred always-on timer for clocksource */
675&timer1_target {
676 ti,no-reset-on-init;
677 ti,no-idle;
678 timer@0 {
679 assigned-clocks = <&timer1_fck>;
680 assigned-clock-parents = <&sys_clkin_ck>;
681 };
682};
683
684/* Preferred timer for clockevent */
685&timer2_target {
686 ti,no-reset-on-init;
687 ti,no-idle;
688 timer@0 {
689 assigned-clocks = <&timer2_fck>;
690 assigned-clock-parents = <&sys_clkin_ck>;
691 };
692};