GNU Linux-libre 4.19.245-gnu1
[releases.git] / arch / arm / boot / dts / am33xx.dtsi
1 /*
2  * Device Tree Source for AM33XX SoC
3  *
4  * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
5  *
6  * This file is licensed under the terms of the GNU General Public License
7  * version 2.  This program is licensed "as is" without any warranty of any
8  * kind, whether express or implied.
9  */
10
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/pinctrl/am33xx.h>
13 #include <dt-bindings/clock/am3.h>
14
15 / {
16         compatible = "ti,am33xx";
17         interrupt-parent = <&intc>;
18         #address-cells = <1>;
19         #size-cells = <1>;
20         chosen { };
21
22         aliases {
23                 i2c0 = &i2c0;
24                 i2c1 = &i2c1;
25                 i2c2 = &i2c2;
26                 serial0 = &uart0;
27                 serial1 = &uart1;
28                 serial2 = &uart2;
29                 serial3 = &uart3;
30                 serial4 = &uart4;
31                 serial5 = &uart5;
32                 d-can0 = &dcan0;
33                 d-can1 = &dcan1;
34                 usb0 = &usb0;
35                 usb1 = &usb1;
36                 phy0 = &usb0_phy;
37                 phy1 = &usb1_phy;
38                 ethernet0 = &cpsw_emac0;
39                 ethernet1 = &cpsw_emac1;
40                 spi0 = &spi0;
41                 spi1 = &spi1;
42                 mmc0 = &mmc1;
43                 mmc1 = &mmc2;
44                 mmc2 = &mmc3;
45         };
46
47         cpus {
48                 #address-cells = <1>;
49                 #size-cells = <0>;
50                 cpu@0 {
51                         compatible = "arm,cortex-a8";
52                         device_type = "cpu";
53                         reg = <0>;
54
55                         operating-points-v2 = <&cpu0_opp_table>;
56
57                         clocks = <&dpll_mpu_ck>;
58                         clock-names = "cpu";
59
60                         clock-latency = <300000>; /* From omap-cpufreq driver */
61                 };
62         };
63
64         cpu0_opp_table: opp-table {
65                 compatible = "operating-points-v2-ti-cpu";
66                 syscon = <&scm_conf>;
67
68                 /*
69                  * The three following nodes are marked with opp-suspend
70                  * because the can not be enabled simultaneously on a
71                  * single SoC.
72                  */
73                 opp50-300000000 {
74                         opp-hz = /bits/ 64 <300000000>;
75                         opp-microvolt = <950000 931000 969000>;
76                         opp-supported-hw = <0x06 0x0010>;
77                         opp-suspend;
78                 };
79
80                 opp100-275000000 {
81                         opp-hz = /bits/ 64 <275000000>;
82                         opp-microvolt = <1100000 1078000 1122000>;
83                         opp-supported-hw = <0x01 0x00FF>;
84                         opp-suspend;
85                 };
86
87                 opp100-300000000 {
88                         opp-hz = /bits/ 64 <300000000>;
89                         opp-microvolt = <1100000 1078000 1122000>;
90                         opp-supported-hw = <0x06 0x0020>;
91                         opp-suspend;
92                 };
93
94                 opp100-500000000 {
95                         opp-hz = /bits/ 64 <500000000>;
96                         opp-microvolt = <1100000 1078000 1122000>;
97                         opp-supported-hw = <0x01 0xFFFF>;
98                 };
99
100                 opp100-600000000 {
101                         opp-hz = /bits/ 64 <600000000>;
102                         opp-microvolt = <1100000 1078000 1122000>;
103                         opp-supported-hw = <0x06 0x0040>;
104                 };
105
106                 opp120-600000000 {
107                         opp-hz = /bits/ 64 <600000000>;
108                         opp-microvolt = <1200000 1176000 1224000>;
109                         opp-supported-hw = <0x01 0xFFFF>;
110                 };
111
112                 opp120-720000000 {
113                         opp-hz = /bits/ 64 <720000000>;
114                         opp-microvolt = <1200000 1176000 1224000>;
115                         opp-supported-hw = <0x06 0x0080>;
116                 };
117
118                 oppturbo-720000000 {
119                         opp-hz = /bits/ 64 <720000000>;
120                         opp-microvolt = <1260000 1234800 1285200>;
121                         opp-supported-hw = <0x01 0xFFFF>;
122                 };
123
124                 oppturbo-800000000 {
125                         opp-hz = /bits/ 64 <800000000>;
126                         opp-microvolt = <1260000 1234800 1285200>;
127                         opp-supported-hw = <0x06 0x0100>;
128                 };
129
130                 oppnitro-1000000000 {
131                         opp-hz = /bits/ 64 <1000000000>;
132                         opp-microvolt = <1325000 1298500 1351500>;
133                         opp-supported-hw = <0x04 0x0200>;
134                 };
135         };
136
137         pmu@4b000000 {
138                 compatible = "arm,cortex-a8-pmu";
139                 interrupts = <3>;
140                 reg = <0x4b000000 0x1000000>;
141                 ti,hwmods = "debugss";
142         };
143
144         /*
145          * The soc node represents the soc top level view. It is used for IPs
146          * that are not memory mapped in the MPU view or for the MPU itself.
147          */
148         soc {
149                 compatible = "ti,omap-infra";
150                 mpu {
151                         compatible = "ti,omap3-mpu";
152                         ti,hwmods = "mpu";
153                         pm-sram = <&pm_sram_code
154                                    &pm_sram_data>;
155                 };
156         };
157
158         /*
159          * XXX: Use a flat representation of the AM33XX interconnect.
160          * The real AM33XX interconnect network is quite complex. Since
161          * it will not bring real advantage to represent that in DT
162          * for the moment, just use a fake OCP bus entry to represent
163          * the whole bus hierarchy.
164          */
165         ocp {
166                 compatible = "simple-bus";
167                 #address-cells = <1>;
168                 #size-cells = <1>;
169                 ranges;
170                 ti,hwmods = "l3_main";
171
172                 l4_wkup: l4_wkup@44c00000 {
173                         compatible = "ti,am3-l4-wkup", "simple-bus";
174                         #address-cells = <1>;
175                         #size-cells = <1>;
176                         ranges = <0 0x44c00000 0x280000>;
177
178                         wkup_m3: wkup_m3@100000 {
179                                 compatible = "ti,am3352-wkup-m3";
180                                 reg = <0x100000 0x4000>,
181                                       <0x180000 0x2000>;
182                                 reg-names = "umem", "dmem";
183                                 ti,hwmods = "wkup_m3";
184                                 ti,pm-firmware = "/*(DEBLOBBED)*/";
185                         };
186
187                         prcm: prcm@200000 {
188                                 compatible = "ti,am3-prcm", "simple-bus";
189                                 reg = <0x200000 0x4000>;
190                                 #address-cells = <1>;
191                                 #size-cells = <1>;
192                                 ranges = <0 0x200000 0x4000>;
193
194                                 prcm_clocks: clocks {
195                                         #address-cells = <1>;
196                                         #size-cells = <0>;
197                                 };
198
199                                 prcm_clockdomains: clockdomains {
200                                 };
201                         };
202
203                         scm: scm@210000 {
204                                 compatible = "ti,am3-scm", "simple-bus";
205                                 reg = <0x210000 0x2000>;
206                                 #address-cells = <1>;
207                                 #size-cells = <1>;
208                                 #pinctrl-cells = <1>;
209                                 ranges = <0 0x210000 0x2000>;
210
211                                 am33xx_pinmux: pinmux@800 {
212                                         compatible = "pinctrl-single";
213                                         reg = <0x800 0x238>;
214                                         #address-cells = <1>;
215                                         #size-cells = <0>;
216                                         #pinctrl-cells = <1>;
217                                         pinctrl-single,register-width = <32>;
218                                         pinctrl-single,function-mask = <0x7f>;
219                                 };
220
221                                 scm_conf: scm_conf@0 {
222                                         compatible = "syscon", "simple-bus";
223                                         reg = <0x0 0x800>;
224                                         #address-cells = <1>;
225                                         #size-cells = <1>;
226                                         ranges = <0 0 0x800>;
227
228                                         scm_clocks: clocks {
229                                                 #address-cells = <1>;
230                                                 #size-cells = <0>;
231                                         };
232                                 };
233
234                                 wkup_m3_ipc: wkup_m3_ipc@1324 {
235                                         compatible = "ti,am3352-wkup-m3-ipc";
236                                         reg = <0x1324 0x24>;
237                                         interrupts = <78>;
238                                         ti,rproc = <&wkup_m3>;
239                                         mboxes = <&mailbox &mbox_wkupm3>;
240                                 };
241
242                                 edma_xbar: dma-router@f90 {
243                                         compatible = "ti,am335x-edma-crossbar";
244                                         reg = <0xf90 0x40>;
245                                         #dma-cells = <3>;
246                                         dma-requests = <32>;
247                                         dma-masters = <&edma>;
248                                 };
249
250                                 scm_clockdomains: clockdomains {
251                                 };
252                         };
253                 };
254
255                 intc: interrupt-controller@48200000 {
256                         compatible = "ti,am33xx-intc";
257                         interrupt-controller;
258                         #interrupt-cells = <1>;
259                         reg = <0x48200000 0x1000>;
260                 };
261
262                 edma: edma@49000000 {
263                         compatible = "ti,edma3-tpcc";
264                         ti,hwmods = "tpcc";
265                         reg =   <0x49000000 0x10000>;
266                         reg-names = "edma3_cc";
267                         interrupts = <12 13 14>;
268                         interrupt-names = "edma3_ccint", "edma3_mperr",
269                                           "edma3_ccerrint";
270                         dma-requests = <64>;
271                         #dma-cells = <2>;
272
273                         ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
274                                    <&edma_tptc2 0>;
275
276                         ti,edma-memcpy-channels = <20 21>;
277                 };
278
279                 edma_tptc0: tptc@49800000 {
280                         compatible = "ti,edma3-tptc";
281                         ti,hwmods = "tptc0";
282                         reg =   <0x49800000 0x100000>;
283                         interrupts = <112>;
284                         interrupt-names = "edma3_tcerrint";
285                 };
286
287                 edma_tptc1: tptc@49900000 {
288                         compatible = "ti,edma3-tptc";
289                         ti,hwmods = "tptc1";
290                         reg =   <0x49900000 0x100000>;
291                         interrupts = <113>;
292                         interrupt-names = "edma3_tcerrint";
293                 };
294
295                 edma_tptc2: tptc@49a00000 {
296                         compatible = "ti,edma3-tptc";
297                         ti,hwmods = "tptc2";
298                         reg =   <0x49a00000 0x100000>;
299                         interrupts = <114>;
300                         interrupt-names = "edma3_tcerrint";
301                 };
302
303                 gpio0: gpio@44e07000 {
304                         compatible = "ti,omap4-gpio";
305                         ti,hwmods = "gpio1";
306                         gpio-controller;
307                         #gpio-cells = <2>;
308                         interrupt-controller;
309                         #interrupt-cells = <2>;
310                         reg = <0x44e07000 0x1000>;
311                         interrupts = <96>;
312                 };
313
314                 gpio1: gpio@4804c000 {
315                         compatible = "ti,omap4-gpio";
316                         ti,hwmods = "gpio2";
317                         gpio-controller;
318                         #gpio-cells = <2>;
319                         interrupt-controller;
320                         #interrupt-cells = <2>;
321                         reg = <0x4804c000 0x1000>;
322                         interrupts = <98>;
323                 };
324
325                 gpio2: gpio@481ac000 {
326                         compatible = "ti,omap4-gpio";
327                         ti,hwmods = "gpio3";
328                         gpio-controller;
329                         #gpio-cells = <2>;
330                         interrupt-controller;
331                         #interrupt-cells = <2>;
332                         reg = <0x481ac000 0x1000>;
333                         interrupts = <32>;
334                 };
335
336                 gpio3: gpio@481ae000 {
337                         compatible = "ti,omap4-gpio";
338                         ti,hwmods = "gpio4";
339                         gpio-controller;
340                         #gpio-cells = <2>;
341                         interrupt-controller;
342                         #interrupt-cells = <2>;
343                         reg = <0x481ae000 0x1000>;
344                         interrupts = <62>;
345                 };
346
347                 uart0: serial@44e09000 {
348                         compatible = "ti,am3352-uart", "ti,omap3-uart";
349                         ti,hwmods = "uart1";
350                         clock-frequency = <48000000>;
351                         reg = <0x44e09000 0x2000>;
352                         interrupts = <72>;
353                         status = "disabled";
354                         dmas = <&edma 26 0>, <&edma 27 0>;
355                         dma-names = "tx", "rx";
356                 };
357
358                 uart1: serial@48022000 {
359                         compatible = "ti,am3352-uart", "ti,omap3-uart";
360                         ti,hwmods = "uart2";
361                         clock-frequency = <48000000>;
362                         reg = <0x48022000 0x2000>;
363                         interrupts = <73>;
364                         status = "disabled";
365                         dmas = <&edma 28 0>, <&edma 29 0>;
366                         dma-names = "tx", "rx";
367                 };
368
369                 uart2: serial@48024000 {
370                         compatible = "ti,am3352-uart", "ti,omap3-uart";
371                         ti,hwmods = "uart3";
372                         clock-frequency = <48000000>;
373                         reg = <0x48024000 0x2000>;
374                         interrupts = <74>;
375                         status = "disabled";
376                         dmas = <&edma 30 0>, <&edma 31 0>;
377                         dma-names = "tx", "rx";
378                 };
379
380                 uart3: serial@481a6000 {
381                         compatible = "ti,am3352-uart", "ti,omap3-uart";
382                         ti,hwmods = "uart4";
383                         clock-frequency = <48000000>;
384                         reg = <0x481a6000 0x2000>;
385                         interrupts = <44>;
386                         status = "disabled";
387                 };
388
389                 uart4: serial@481a8000 {
390                         compatible = "ti,am3352-uart", "ti,omap3-uart";
391                         ti,hwmods = "uart5";
392                         clock-frequency = <48000000>;
393                         reg = <0x481a8000 0x2000>;
394                         interrupts = <45>;
395                         status = "disabled";
396                 };
397
398                 uart5: serial@481aa000 {
399                         compatible = "ti,am3352-uart", "ti,omap3-uart";
400                         ti,hwmods = "uart6";
401                         clock-frequency = <48000000>;
402                         reg = <0x481aa000 0x2000>;
403                         interrupts = <46>;
404                         status = "disabled";
405                 };
406
407                 i2c0: i2c@44e0b000 {
408                         compatible = "ti,omap4-i2c";
409                         #address-cells = <1>;
410                         #size-cells = <0>;
411                         ti,hwmods = "i2c1";
412                         reg = <0x44e0b000 0x1000>;
413                         interrupts = <70>;
414                         status = "disabled";
415                 };
416
417                 i2c1: i2c@4802a000 {
418                         compatible = "ti,omap4-i2c";
419                         #address-cells = <1>;
420                         #size-cells = <0>;
421                         ti,hwmods = "i2c2";
422                         reg = <0x4802a000 0x1000>;
423                         interrupts = <71>;
424                         status = "disabled";
425                 };
426
427                 i2c2: i2c@4819c000 {
428                         compatible = "ti,omap4-i2c";
429                         #address-cells = <1>;
430                         #size-cells = <0>;
431                         ti,hwmods = "i2c3";
432                         reg = <0x4819c000 0x1000>;
433                         interrupts = <30>;
434                         status = "disabled";
435                 };
436
437                 mmc1: mmc@48060000 {
438                         compatible = "ti,omap4-hsmmc";
439                         ti,hwmods = "mmc1";
440                         ti,dual-volt;
441                         ti,needs-special-reset;
442                         ti,needs-special-hs-handling;
443                         dmas = <&edma_xbar 24 0 0
444                                 &edma_xbar 25 0 0>;
445                         dma-names = "tx", "rx";
446                         interrupts = <64>;
447                         reg = <0x48060000 0x1000>;
448                         status = "disabled";
449                 };
450
451                 mmc2: mmc@481d8000 {
452                         compatible = "ti,omap4-hsmmc";
453                         ti,hwmods = "mmc2";
454                         ti,needs-special-reset;
455                         dmas = <&edma 2 0
456                                 &edma 3 0>;
457                         dma-names = "tx", "rx";
458                         interrupts = <28>;
459                         reg = <0x481d8000 0x1000>;
460                         status = "disabled";
461                 };
462
463                 mmc3: mmc@47810000 {
464                         compatible = "ti,omap4-hsmmc";
465                         ti,hwmods = "mmc3";
466                         ti,needs-special-reset;
467                         interrupts = <29>;
468                         reg = <0x47810000 0x1000>;
469                         status = "disabled";
470                 };
471
472                 hwspinlock: spinlock@480ca000 {
473                         compatible = "ti,omap4-hwspinlock";
474                         reg = <0x480ca000 0x1000>;
475                         ti,hwmods = "spinlock";
476                         #hwlock-cells = <1>;
477                 };
478
479                 wdt2: wdt@44e35000 {
480                         compatible = "ti,omap3-wdt";
481                         ti,hwmods = "wd_timer2";
482                         reg = <0x44e35000 0x1000>;
483                         interrupts = <91>;
484                 };
485
486                 dcan0: can@481cc000 {
487                         compatible = "ti,am3352-d_can";
488                         ti,hwmods = "d_can0";
489                         reg = <0x481cc000 0x2000>;
490                         clocks = <&dcan0_fck>;
491                         clock-names = "fck";
492                         syscon-raminit = <&scm_conf 0x644 0>;
493                         interrupts = <52>;
494                         status = "disabled";
495                 };
496
497                 dcan1: can@481d0000 {
498                         compatible = "ti,am3352-d_can";
499                         ti,hwmods = "d_can1";
500                         reg = <0x481d0000 0x2000>;
501                         clocks = <&dcan1_fck>;
502                         clock-names = "fck";
503                         syscon-raminit = <&scm_conf 0x644 1>;
504                         interrupts = <55>;
505                         status = "disabled";
506                 };
507
508                 mailbox: mailbox@480c8000 {
509                         compatible = "ti,omap4-mailbox";
510                         reg = <0x480C8000 0x200>;
511                         interrupts = <77>;
512                         ti,hwmods = "mailbox";
513                         #mbox-cells = <1>;
514                         ti,mbox-num-users = <4>;
515                         ti,mbox-num-fifos = <8>;
516                         mbox_wkupm3: wkup_m3 {
517                                 ti,mbox-send-noirq;
518                                 ti,mbox-tx = <0 0 0>;
519                                 ti,mbox-rx = <0 0 3>;
520                         };
521                 };
522
523                 timer1: timer@44e31000 {
524                         compatible = "ti,am335x-timer-1ms";
525                         reg = <0x44e31000 0x400>;
526                         interrupts = <67>;
527                         ti,hwmods = "timer1";
528                         ti,timer-alwon;
529                         clocks = <&timer1_fck>;
530                         clock-names = "fck";
531                 };
532
533                 timer2: timer@48040000 {
534                         compatible = "ti,am335x-timer";
535                         reg = <0x48040000 0x400>;
536                         interrupts = <68>;
537                         ti,hwmods = "timer2";
538                         clocks = <&timer2_fck>;
539                         clock-names = "fck";
540                 };
541
542                 timer3: timer@48042000 {
543                         compatible = "ti,am335x-timer";
544                         reg = <0x48042000 0x400>;
545                         interrupts = <69>;
546                         ti,hwmods = "timer3";
547                 };
548
549                 timer4: timer@48044000 {
550                         compatible = "ti,am335x-timer";
551                         reg = <0x48044000 0x400>;
552                         interrupts = <92>;
553                         ti,hwmods = "timer4";
554                         ti,timer-pwm;
555                 };
556
557                 timer5: timer@48046000 {
558                         compatible = "ti,am335x-timer";
559                         reg = <0x48046000 0x400>;
560                         interrupts = <93>;
561                         ti,hwmods = "timer5";
562                         ti,timer-pwm;
563                 };
564
565                 timer6: timer@48048000 {
566                         compatible = "ti,am335x-timer";
567                         reg = <0x48048000 0x400>;
568                         interrupts = <94>;
569                         ti,hwmods = "timer6";
570                         ti,timer-pwm;
571                 };
572
573                 timer7: timer@4804a000 {
574                         compatible = "ti,am335x-timer";
575                         reg = <0x4804a000 0x400>;
576                         interrupts = <95>;
577                         ti,hwmods = "timer7";
578                         ti,timer-pwm;
579                 };
580
581                 rtc: rtc@44e3e000 {
582                         compatible = "ti,am3352-rtc", "ti,da830-rtc";
583                         reg = <0x44e3e000 0x1000>;
584                         interrupts = <75
585                                       76>;
586                         ti,hwmods = "rtc";
587                         clocks = <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>;
588                         clock-names = "int-clk";
589                 };
590
591                 spi0: spi@48030000 {
592                         compatible = "ti,omap4-mcspi";
593                         #address-cells = <1>;
594                         #size-cells = <0>;
595                         reg = <0x48030000 0x400>;
596                         interrupts = <65>;
597                         ti,spi-num-cs = <2>;
598                         ti,hwmods = "spi0";
599                         dmas = <&edma 16 0
600                                 &edma 17 0
601                                 &edma 18 0
602                                 &edma 19 0>;
603                         dma-names = "tx0", "rx0", "tx1", "rx1";
604                         status = "disabled";
605                 };
606
607                 spi1: spi@481a0000 {
608                         compatible = "ti,omap4-mcspi";
609                         #address-cells = <1>;
610                         #size-cells = <0>;
611                         reg = <0x481a0000 0x400>;
612                         interrupts = <125>;
613                         ti,spi-num-cs = <2>;
614                         ti,hwmods = "spi1";
615                         dmas = <&edma 42 0
616                                 &edma 43 0
617                                 &edma 44 0
618                                 &edma 45 0>;
619                         dma-names = "tx0", "rx0", "tx1", "rx1";
620                         status = "disabled";
621                 };
622
623                 usb: usb@47400000 {
624                         compatible = "ti,am33xx-usb";
625                         reg = <0x47400000 0x1000>;
626                         ranges;
627                         #address-cells = <1>;
628                         #size-cells = <1>;
629                         ti,hwmods = "usb_otg_hs";
630                         status = "disabled";
631
632                         usb_ctrl_mod: control@44e10620 {
633                                 compatible = "ti,am335x-usb-ctrl-module";
634                                 reg = <0x44e10620 0x10
635                                         0x44e10648 0x4>;
636                                 reg-names = "phy_ctrl", "wakeup";
637                                 status = "disabled";
638                         };
639
640                         usb0_phy: usb-phy@47401300 {
641                                 compatible = "ti,am335x-usb-phy";
642                                 reg = <0x47401300 0x100>;
643                                 reg-names = "phy";
644                                 status = "disabled";
645                                 ti,ctrl_mod = <&usb_ctrl_mod>;
646                                 #phy-cells = <0>;
647                         };
648
649                         usb0: usb@47401000 {
650                                 compatible = "ti,musb-am33xx";
651                                 status = "disabled";
652                                 reg = <0x47401400 0x400
653                                         0x47401000 0x200>;
654                                 reg-names = "mc", "control";
655
656                                 interrupts = <18>;
657                                 interrupt-names = "mc";
658                                 dr_mode = "otg";
659                                 mentor,multipoint = <1>;
660                                 mentor,num-eps = <16>;
661                                 mentor,ram-bits = <12>;
662                                 mentor,power = <500>;
663                                 phys = <&usb0_phy>;
664
665                                 dmas = <&cppi41dma  0 0 &cppi41dma  1 0
666                                         &cppi41dma  2 0 &cppi41dma  3 0
667                                         &cppi41dma  4 0 &cppi41dma  5 0
668                                         &cppi41dma  6 0 &cppi41dma  7 0
669                                         &cppi41dma  8 0 &cppi41dma  9 0
670                                         &cppi41dma 10 0 &cppi41dma 11 0
671                                         &cppi41dma 12 0 &cppi41dma 13 0
672                                         &cppi41dma 14 0 &cppi41dma  0 1
673                                         &cppi41dma  1 1 &cppi41dma  2 1
674                                         &cppi41dma  3 1 &cppi41dma  4 1
675                                         &cppi41dma  5 1 &cppi41dma  6 1
676                                         &cppi41dma  7 1 &cppi41dma  8 1
677                                         &cppi41dma  9 1 &cppi41dma 10 1
678                                         &cppi41dma 11 1 &cppi41dma 12 1
679                                         &cppi41dma 13 1 &cppi41dma 14 1>;
680                                 dma-names =
681                                         "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
682                                         "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
683                                         "rx14", "rx15",
684                                         "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
685                                         "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
686                                         "tx14", "tx15";
687                         };
688
689                         usb1_phy: usb-phy@47401b00 {
690                                 compatible = "ti,am335x-usb-phy";
691                                 reg = <0x47401b00 0x100>;
692                                 reg-names = "phy";
693                                 status = "disabled";
694                                 ti,ctrl_mod = <&usb_ctrl_mod>;
695                                 #phy-cells = <0>;
696                         };
697
698                         usb1: usb@47401800 {
699                                 compatible = "ti,musb-am33xx";
700                                 status = "disabled";
701                                 reg = <0x47401c00 0x400
702                                         0x47401800 0x200>;
703                                 reg-names = "mc", "control";
704                                 interrupts = <19>;
705                                 interrupt-names = "mc";
706                                 dr_mode = "otg";
707                                 mentor,multipoint = <1>;
708                                 mentor,num-eps = <16>;
709                                 mentor,ram-bits = <12>;
710                                 mentor,power = <500>;
711                                 phys = <&usb1_phy>;
712
713                                 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
714                                         &cppi41dma 17 0 &cppi41dma 18 0
715                                         &cppi41dma 19 0 &cppi41dma 20 0
716                                         &cppi41dma 21 0 &cppi41dma 22 0
717                                         &cppi41dma 23 0 &cppi41dma 24 0
718                                         &cppi41dma 25 0 &cppi41dma 26 0
719                                         &cppi41dma 27 0 &cppi41dma 28 0
720                                         &cppi41dma 29 0 &cppi41dma 15 1
721                                         &cppi41dma 16 1 &cppi41dma 17 1
722                                         &cppi41dma 18 1 &cppi41dma 19 1
723                                         &cppi41dma 20 1 &cppi41dma 21 1
724                                         &cppi41dma 22 1 &cppi41dma 23 1
725                                         &cppi41dma 24 1 &cppi41dma 25 1
726                                         &cppi41dma 26 1 &cppi41dma 27 1
727                                         &cppi41dma 28 1 &cppi41dma 29 1>;
728                                 dma-names =
729                                         "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
730                                         "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
731                                         "rx14", "rx15",
732                                         "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
733                                         "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
734                                         "tx14", "tx15";
735                         };
736
737                         cppi41dma: dma-controller@47402000 {
738                                 compatible = "ti,am3359-cppi41";
739                                 reg =  <0x47400000 0x1000
740                                         0x47402000 0x1000
741                                         0x47403000 0x1000
742                                         0x47404000 0x4000>;
743                                 reg-names = "glue", "controller", "scheduler", "queuemgr";
744                                 interrupts = <17>;
745                                 interrupt-names = "glue";
746                                 #dma-cells = <2>;
747                                 #dma-channels = <30>;
748                                 #dma-requests = <256>;
749                                 status = "disabled";
750                         };
751                 };
752
753                 epwmss0: epwmss@48300000 {
754                         compatible = "ti,am33xx-pwmss";
755                         reg = <0x48300000 0x10>;
756                         ti,hwmods = "epwmss0";
757                         #address-cells = <1>;
758                         #size-cells = <1>;
759                         status = "disabled";
760                         ranges = <0x48300100 0x48300100 0x80   /* ECAP */
761                                   0x48300180 0x48300180 0x80   /* EQEP */
762                                   0x48300200 0x48300200 0x80>; /* EHRPWM */
763
764                         ecap0: ecap@48300100 {
765                                 compatible = "ti,am3352-ecap",
766                                              "ti,am33xx-ecap";
767                                 #pwm-cells = <3>;
768                                 reg = <0x48300100 0x80>;
769                                 clocks = <&l4ls_gclk>;
770                                 clock-names = "fck";
771                                 interrupts = <31>;
772                                 interrupt-names = "ecap0";
773                                 status = "disabled";
774                         };
775
776                         ehrpwm0: pwm@48300200 {
777                                 compatible = "ti,am3352-ehrpwm",
778                                              "ti,am33xx-ehrpwm";
779                                 #pwm-cells = <3>;
780                                 reg = <0x48300200 0x80>;
781                                 clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
782                                 clock-names = "tbclk", "fck";
783                                 status = "disabled";
784                         };
785                 };
786
787                 epwmss1: epwmss@48302000 {
788                         compatible = "ti,am33xx-pwmss";
789                         reg = <0x48302000 0x10>;
790                         ti,hwmods = "epwmss1";
791                         #address-cells = <1>;
792                         #size-cells = <1>;
793                         status = "disabled";
794                         ranges = <0x48302100 0x48302100 0x80   /* ECAP */
795                                   0x48302180 0x48302180 0x80   /* EQEP */
796                                   0x48302200 0x48302200 0x80>; /* EHRPWM */
797
798                         ecap1: ecap@48302100 {
799                                 compatible = "ti,am3352-ecap",
800                                              "ti,am33xx-ecap";
801                                 #pwm-cells = <3>;
802                                 reg = <0x48302100 0x80>;
803                                 clocks = <&l4ls_gclk>;
804                                 clock-names = "fck";
805                                 interrupts = <47>;
806                                 interrupt-names = "ecap1";
807                                 status = "disabled";
808                         };
809
810                         ehrpwm1: pwm@48302200 {
811                                 compatible = "ti,am3352-ehrpwm",
812                                              "ti,am33xx-ehrpwm";
813                                 #pwm-cells = <3>;
814                                 reg = <0x48302200 0x80>;
815                                 clocks = <&ehrpwm1_tbclk>, <&l4ls_gclk>;
816                                 clock-names = "tbclk", "fck";
817                                 status = "disabled";
818                         };
819                 };
820
821                 epwmss2: epwmss@48304000 {
822                         compatible = "ti,am33xx-pwmss";
823                         reg = <0x48304000 0x10>;
824                         ti,hwmods = "epwmss2";
825                         #address-cells = <1>;
826                         #size-cells = <1>;
827                         status = "disabled";
828                         ranges = <0x48304100 0x48304100 0x80   /* ECAP */
829                                   0x48304180 0x48304180 0x80   /* EQEP */
830                                   0x48304200 0x48304200 0x80>; /* EHRPWM */
831
832                         ecap2: ecap@48304100 {
833                                 compatible = "ti,am3352-ecap",
834                                              "ti,am33xx-ecap";
835                                 #pwm-cells = <3>;
836                                 reg = <0x48304100 0x80>;
837                                 clocks = <&l4ls_gclk>;
838                                 clock-names = "fck";
839                                 interrupts = <61>;
840                                 interrupt-names = "ecap2";
841                                 status = "disabled";
842                         };
843
844                         ehrpwm2: pwm@48304200 {
845                                 compatible = "ti,am3352-ehrpwm",
846                                              "ti,am33xx-ehrpwm";
847                                 #pwm-cells = <3>;
848                                 reg = <0x48304200 0x80>;
849                                 clocks = <&ehrpwm2_tbclk>, <&l4ls_gclk>;
850                                 clock-names = "tbclk", "fck";
851                                 status = "disabled";
852                         };
853                 };
854
855                 mac: ethernet@4a100000 {
856                         compatible = "ti,am335x-cpsw","ti,cpsw";
857                         ti,hwmods = "cpgmac0";
858                         clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
859                         clock-names = "fck", "cpts";
860                         cpdma_channels = <8>;
861                         ale_entries = <1024>;
862                         bd_ram_size = <0x2000>;
863                         mac_control = <0x20>;
864                         slaves = <2>;
865                         active_slave = <0>;
866                         cpts_clock_mult = <0x80000000>;
867                         cpts_clock_shift = <29>;
868                         reg = <0x4a100000 0x800
869                                0x4a101200 0x100>;
870                         #address-cells = <1>;
871                         #size-cells = <1>;
872                         /*
873                          * c0_rx_thresh_pend
874                          * c0_rx_pend
875                          * c0_tx_pend
876                          * c0_misc_pend
877                          */
878                         interrupts = <40 41 42 43>;
879                         ranges;
880                         syscon = <&scm_conf>;
881                         status = "disabled";
882
883                         davinci_mdio: mdio@4a101000 {
884                                 compatible = "ti,cpsw-mdio","ti,davinci_mdio";
885                                 #address-cells = <1>;
886                                 #size-cells = <0>;
887                                 ti,hwmods = "davinci_mdio";
888                                 bus_freq = <1000000>;
889                                 reg = <0x4a101000 0x100>;
890                                 status = "disabled";
891                         };
892
893                         cpsw_emac0: slave@4a100200 {
894                                 /* Filled in by U-Boot */
895                                 mac-address = [ 00 00 00 00 00 00 ];
896                         };
897
898                         cpsw_emac1: slave@4a100300 {
899                                 /* Filled in by U-Boot */
900                                 mac-address = [ 00 00 00 00 00 00 ];
901                         };
902
903                         phy_sel: cpsw-phy-sel@44e10650 {
904                                 compatible = "ti,am3352-cpsw-phy-sel";
905                                 reg= <0x44e10650 0x4>;
906                                 reg-names = "gmii-sel";
907                         };
908                 };
909
910                 ocmcram: ocmcram@40300000 {
911                         compatible = "mmio-sram";
912                         reg = <0x40300000 0x10000>; /* 64k */
913                         ranges = <0x0 0x40300000 0x10000>;
914                         #address-cells = <1>;
915                         #size-cells = <1>;
916
917                         pm_sram_code: pm-sram-code@0 {
918                                 compatible = "ti,sram";
919                                 reg = <0x0 0x1000>;
920                                 protect-exec;
921                         };
922
923                         pm_sram_data: pm-sram-data@1000 {
924                                 compatible = "ti,sram";
925                                 reg = <0x1000 0x1000>;
926                                 pool;
927                         };
928                 };
929
930                 elm: elm@48080000 {
931                         compatible = "ti,am3352-elm";
932                         reg = <0x48080000 0x2000>;
933                         interrupts = <4>;
934                         ti,hwmods = "elm";
935                         status = "disabled";
936                 };
937
938                 lcdc: lcdc@4830e000 {
939                         compatible = "ti,am33xx-tilcdc";
940                         reg = <0x4830e000 0x1000>;
941                         interrupts = <36>;
942                         ti,hwmods = "lcdc";
943                         status = "disabled";
944                 };
945
946                 tscadc: tscadc@44e0d000 {
947                         compatible = "ti,am3359-tscadc";
948                         reg = <0x44e0d000 0x1000>;
949                         interrupts = <16>;
950                         ti,hwmods = "adc_tsc";
951                         status = "disabled";
952                         dmas = <&edma 53 0>, <&edma 57 0>;
953                         dma-names = "fifo0", "fifo1";
954
955                         tsc {
956                                 compatible = "ti,am3359-tsc";
957                         };
958                         am335x_adc: adc {
959                                 #io-channel-cells = <1>;
960                                 compatible = "ti,am3359-adc";
961                         };
962                 };
963
964                 emif: emif@4c000000 {
965                         compatible = "ti,emif-am3352";
966                         reg = <0x4c000000 0x1000000>;
967                         ti,hwmods = "emif";
968                         interrupts = <101>;
969                         sram = <&pm_sram_code
970                                 &pm_sram_data>;
971                         ti,no-idle;
972                 };
973
974                 gpmc: gpmc@50000000 {
975                         compatible = "ti,am3352-gpmc";
976                         ti,hwmods = "gpmc";
977                         ti,no-idle-on-init;
978                         reg = <0x50000000 0x2000>;
979                         interrupts = <100>;
980                         dmas = <&edma 52 0>;
981                         dma-names = "rxtx";
982                         gpmc,num-cs = <7>;
983                         gpmc,num-waitpins = <2>;
984                         #address-cells = <2>;
985                         #size-cells = <1>;
986                         interrupt-controller;
987                         #interrupt-cells = <2>;
988                         gpio-controller;
989                         #gpio-cells = <2>;
990                         status = "disabled";
991                 };
992
993                 sham: sham@53100000 {
994                         compatible = "ti,omap4-sham";
995                         ti,hwmods = "sham";
996                         reg = <0x53100000 0x200>;
997                         interrupts = <109>;
998                         dmas = <&edma 36 0>;
999                         dma-names = "rx";
1000                 };
1001
1002                 aes: aes@53500000 {
1003                         compatible = "ti,omap4-aes";
1004                         ti,hwmods = "aes";
1005                         reg = <0x53500000 0xa0>;
1006                         interrupts = <103>;
1007                         dmas = <&edma 6 0>,
1008                                <&edma 5 0>;
1009                         dma-names = "tx", "rx";
1010                 };
1011
1012                 mcasp0: mcasp@48038000 {
1013                         compatible = "ti,am33xx-mcasp-audio";
1014                         ti,hwmods = "mcasp0";
1015                         reg = <0x48038000 0x2000>,
1016                               <0x46000000 0x400000>;
1017                         reg-names = "mpu", "dat";
1018                         interrupts = <80>, <81>;
1019                         interrupt-names = "tx", "rx";
1020                         status = "disabled";
1021                         dmas = <&edma 8 2>,
1022                                 <&edma 9 2>;
1023                         dma-names = "tx", "rx";
1024                 };
1025
1026                 mcasp1: mcasp@4803c000 {
1027                         compatible = "ti,am33xx-mcasp-audio";
1028                         ti,hwmods = "mcasp1";
1029                         reg = <0x4803C000 0x2000>,
1030                               <0x46400000 0x400000>;
1031                         reg-names = "mpu", "dat";
1032                         interrupts = <82>, <83>;
1033                         interrupt-names = "tx", "rx";
1034                         status = "disabled";
1035                         dmas = <&edma 10 2>,
1036                                 <&edma 11 2>;
1037                         dma-names = "tx", "rx";
1038                 };
1039
1040                 rng: rng@48310000 {
1041                         compatible = "ti,omap4-rng";
1042                         ti,hwmods = "rng";
1043                         reg = <0x48310000 0x2000>;
1044                         interrupts = <111>;
1045                 };
1046         };
1047 };
1048
1049 #include "am33xx-clocks.dtsi"