22d468d863a05d32d561ee06428866386181c94f
[linux-2.6-microblaze.git] / arch / arm / boot / dts / omap3.dtsi
1 /*
2  * Device Tree Source for OMAP3 SoC
3  *
4  * Copyright (C) 2011 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/ "skeleton.dtsi"
12
13 / {
14         compatible = "ti,omap3430", "ti,omap3";
15         interrupt-parent = <&intc>;
16
17         aliases {
18                 serial0 = &uart1;
19                 serial1 = &uart2;
20                 serial2 = &uart3;
21         };
22
23         cpus {
24                 cpu@0 {
25                         compatible = "arm,cortex-a8";
26                 };
27         };
28
29         pmu {
30                 compatible = "arm,cortex-a8-pmu";
31                 interrupts = <3>;
32                 ti,hwmods = "debugss";
33         };
34
35         /*
36          * The soc node represents the soc top level view. It is uses for IPs
37          * that are not memory mapped in the MPU view or for the MPU itself.
38          */
39         soc {
40                 compatible = "ti,omap-infra";
41                 mpu {
42                         compatible = "ti,omap3-mpu";
43                         ti,hwmods = "mpu";
44                 };
45
46                 iva {
47                         compatible = "ti,iva2.2";
48                         ti,hwmods = "iva";
49
50                         dsp {
51                                 compatible = "ti,omap3-c64";
52                         };
53                 };
54         };
55
56         /*
57          * XXX: Use a flat representation of the OMAP3 interconnect.
58          * The real OMAP interconnect network is quite complex.
59          * Since that will not bring real advantage to represent that in DT for
60          * the moment, just use a fake OCP bus entry to represent the whole bus
61          * hierarchy.
62          */
63         ocp {
64                 compatible = "simple-bus";
65                 #address-cells = <1>;
66                 #size-cells = <1>;
67                 ranges;
68                 ti,hwmods = "l3_main";
69
70                 counter32k: counter@48320000 {
71                         compatible = "ti,omap-counter32k";
72                         reg = <0x48320000 0x20>;
73                         ti,hwmods = "counter_32k";
74                 };
75
76                 intc: interrupt-controller@48200000 {
77                         compatible = "ti,omap2-intc";
78                         interrupt-controller;
79                         #interrupt-cells = <1>;
80                         ti,intc-size = <96>;
81                         reg = <0x48200000 0x1000>;
82                 };
83
84                 sdma: dma-controller@48056000 {
85                         compatible = "ti,omap3630-sdma", "ti,omap3430-sdma";
86                         reg = <0x48056000 0x1000>;
87                         interrupts = <12>,
88                                      <13>,
89                                      <14>,
90                                      <15>;
91                         #dma-cells = <1>;
92                         #dma-channels = <32>;
93                         #dma-requests = <96>;
94                 };
95
96                 omap3_pmx_core: pinmux@48002030 {
97                         compatible = "ti,omap3-padconf", "pinctrl-single";
98                         reg = <0x48002030 0x05cc>;
99                         #address-cells = <1>;
100                         #size-cells = <0>;
101                         pinctrl-single,register-width = <16>;
102                         pinctrl-single,function-mask = <0x7fff>;
103                 };
104
105                 omap3_pmx_wkup: pinmux@0x48002a58 {
106                         compatible = "ti,omap3-padconf", "pinctrl-single";
107                         reg = <0x48002a58 0x5c>;
108                         #address-cells = <1>;
109                         #size-cells = <0>;
110                         pinctrl-single,register-width = <16>;
111                         pinctrl-single,function-mask = <0x7fff>;
112                 };
113
114                 gpio1: gpio@48310000 {
115                         compatible = "ti,omap3-gpio";
116                         reg = <0x48310000 0x200>;
117                         interrupts = <29>;
118                         ti,hwmods = "gpio1";
119                         gpio-controller;
120                         #gpio-cells = <2>;
121                         interrupt-controller;
122                         #interrupt-cells = <2>;
123                 };
124
125                 gpio2: gpio@49050000 {
126                         compatible = "ti,omap3-gpio";
127                         reg = <0x49050000 0x200>;
128                         interrupts = <30>;
129                         ti,hwmods = "gpio2";
130                         gpio-controller;
131                         #gpio-cells = <2>;
132                         interrupt-controller;
133                         #interrupt-cells = <2>;
134                 };
135
136                 gpio3: gpio@49052000 {
137                         compatible = "ti,omap3-gpio";
138                         reg = <0x49052000 0x200>;
139                         interrupts = <31>;
140                         ti,hwmods = "gpio3";
141                         gpio-controller;
142                         #gpio-cells = <2>;
143                         interrupt-controller;
144                         #interrupt-cells = <2>;
145                 };
146
147                 gpio4: gpio@49054000 {
148                         compatible = "ti,omap3-gpio";
149                         reg = <0x49054000 0x200>;
150                         interrupts = <32>;
151                         ti,hwmods = "gpio4";
152                         gpio-controller;
153                         #gpio-cells = <2>;
154                         interrupt-controller;
155                         #interrupt-cells = <2>;
156                 };
157
158                 gpio5: gpio@49056000 {
159                         compatible = "ti,omap3-gpio";
160                         reg = <0x49056000 0x200>;
161                         interrupts = <33>;
162                         ti,hwmods = "gpio5";
163                         gpio-controller;
164                         #gpio-cells = <2>;
165                         interrupt-controller;
166                         #interrupt-cells = <2>;
167                 };
168
169                 gpio6: gpio@49058000 {
170                         compatible = "ti,omap3-gpio";
171                         reg = <0x49058000 0x200>;
172                         interrupts = <34>;
173                         ti,hwmods = "gpio6";
174                         gpio-controller;
175                         #gpio-cells = <2>;
176                         interrupt-controller;
177                         #interrupt-cells = <2>;
178                 };
179
180                 uart1: serial@4806a000 {
181                         compatible = "ti,omap3-uart";
182                         ti,hwmods = "uart1";
183                         clock-frequency = <48000000>;
184                 };
185
186                 uart2: serial@4806c000 {
187                         compatible = "ti,omap3-uart";
188                         ti,hwmods = "uart2";
189                         clock-frequency = <48000000>;
190                 };
191
192                 uart3: serial@49020000 {
193                         compatible = "ti,omap3-uart";
194                         ti,hwmods = "uart3";
195                         clock-frequency = <48000000>;
196                 };
197
198                 i2c1: i2c@48070000 {
199                         compatible = "ti,omap3-i2c";
200                         #address-cells = <1>;
201                         #size-cells = <0>;
202                         ti,hwmods = "i2c1";
203                 };
204
205                 i2c2: i2c@48072000 {
206                         compatible = "ti,omap3-i2c";
207                         #address-cells = <1>;
208                         #size-cells = <0>;
209                         ti,hwmods = "i2c2";
210                 };
211
212                 i2c3: i2c@48060000 {
213                         compatible = "ti,omap3-i2c";
214                         #address-cells = <1>;
215                         #size-cells = <0>;
216                         ti,hwmods = "i2c3";
217                 };
218
219                 mcspi1: spi@48098000 {
220                         compatible = "ti,omap2-mcspi";
221                         #address-cells = <1>;
222                         #size-cells = <0>;
223                         ti,hwmods = "mcspi1";
224                         ti,spi-num-cs = <4>;
225                         dmas = <&sdma 35>,
226                                <&sdma 36>,
227                                <&sdma 37>,
228                                <&sdma 38>,
229                                <&sdma 39>,
230                                <&sdma 40>,
231                                <&sdma 41>,
232                                <&sdma 42>;
233                         dma-names = "tx0", "rx0", "tx1", "rx1",
234                                     "tx2", "rx2", "tx3", "rx3";
235                 };
236
237                 mcspi2: spi@4809a000 {
238                         compatible = "ti,omap2-mcspi";
239                         #address-cells = <1>;
240                         #size-cells = <0>;
241                         ti,hwmods = "mcspi2";
242                         ti,spi-num-cs = <2>;
243                         dmas = <&sdma 43>,
244                                <&sdma 44>,
245                                <&sdma 45>,
246                                <&sdma 46>;
247                         dma-names = "tx0", "rx0", "tx1", "rx1";
248                 };
249
250                 mcspi3: spi@480b8000 {
251                         compatible = "ti,omap2-mcspi";
252                         #address-cells = <1>;
253                         #size-cells = <0>;
254                         ti,hwmods = "mcspi3";
255                         ti,spi-num-cs = <2>;
256                         dmas = <&sdma 15>,
257                                <&sdma 16>,
258                                <&sdma 23>,
259                                <&sdma 24>;
260                         dma-names = "tx0", "rx0", "tx1", "rx1";
261                 };
262
263                 mcspi4: spi@480ba000 {
264                         compatible = "ti,omap2-mcspi";
265                         #address-cells = <1>;
266                         #size-cells = <0>;
267                         ti,hwmods = "mcspi4";
268                         ti,spi-num-cs = <1>;
269                         dmas = <&sdma 70>, <&sdma 71>;
270                         dma-names = "tx0", "rx0";
271                 };
272
273                 mmc1: mmc@4809c000 {
274                         compatible = "ti,omap3-hsmmc";
275                         ti,hwmods = "mmc1";
276                         ti,dual-volt;
277                         dmas = <&sdma 61>, <&sdma 62>;
278                         dma-names = "tx", "rx";
279                 };
280
281                 mmc2: mmc@480b4000 {
282                         compatible = "ti,omap3-hsmmc";
283                         ti,hwmods = "mmc2";
284                         dmas = <&sdma 47>, <&sdma 48>;
285                         dma-names = "tx", "rx";
286                 };
287
288                 mmc3: mmc@480ad000 {
289                         compatible = "ti,omap3-hsmmc";
290                         ti,hwmods = "mmc3";
291                         dmas = <&sdma 77>, <&sdma 78>;
292                         dma-names = "tx", "rx";
293                 };
294
295                 wdt2: wdt@48314000 {
296                         compatible = "ti,omap3-wdt";
297                         ti,hwmods = "wd_timer2";
298                 };
299
300                 mcbsp1: mcbsp@48074000 {
301                         compatible = "ti,omap3-mcbsp";
302                         reg = <0x48074000 0xff>;
303                         reg-names = "mpu";
304                         interrupts = <16>, /* OCP compliant interrupt */
305                                      <59>, /* TX interrupt */
306                                      <60>; /* RX interrupt */
307                         interrupt-names = "common", "tx", "rx";
308                         ti,buffer-size = <128>;
309                         ti,hwmods = "mcbsp1";
310                         dmas = <&sdma 31>,
311                                <&sdma 32>;
312                         dma-names = "tx", "rx";
313                 };
314
315                 mcbsp2: mcbsp@49022000 {
316                         compatible = "ti,omap3-mcbsp";
317                         reg = <0x49022000 0xff>,
318                               <0x49028000 0xff>;
319                         reg-names = "mpu", "sidetone";
320                         interrupts = <17>, /* OCP compliant interrupt */
321                                      <62>, /* TX interrupt */
322                                      <63>, /* RX interrupt */
323                                      <4>;  /* Sidetone */
324                         interrupt-names = "common", "tx", "rx", "sidetone";
325                         ti,buffer-size = <1280>;
326                         ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
327                         dmas = <&sdma 33>,
328                                <&sdma 34>;
329                         dma-names = "tx", "rx";
330                 };
331
332                 mcbsp3: mcbsp@49024000 {
333                         compatible = "ti,omap3-mcbsp";
334                         reg = <0x49024000 0xff>,
335                               <0x4902a000 0xff>;
336                         reg-names = "mpu", "sidetone";
337                         interrupts = <22>, /* OCP compliant interrupt */
338                                      <89>, /* TX interrupt */
339                                      <90>, /* RX interrupt */
340                                      <5>;  /* Sidetone */
341                         interrupt-names = "common", "tx", "rx", "sidetone";
342                         ti,buffer-size = <128>;
343                         ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
344                         dmas = <&sdma 17>,
345                                <&sdma 18>;
346                         dma-names = "tx", "rx";
347                 };
348
349                 mcbsp4: mcbsp@49026000 {
350                         compatible = "ti,omap3-mcbsp";
351                         reg = <0x49026000 0xff>;
352                         reg-names = "mpu";
353                         interrupts = <23>, /* OCP compliant interrupt */
354                                      <54>, /* TX interrupt */
355                                      <55>; /* RX interrupt */
356                         interrupt-names = "common", "tx", "rx";
357                         ti,buffer-size = <128>;
358                         ti,hwmods = "mcbsp4";
359                         dmas = <&sdma 19>,
360                                <&sdma 20>;
361                         dma-names = "tx", "rx";
362                 };
363
364                 mcbsp5: mcbsp@48096000 {
365                         compatible = "ti,omap3-mcbsp";
366                         reg = <0x48096000 0xff>;
367                         reg-names = "mpu";
368                         interrupts = <27>, /* OCP compliant interrupt */
369                                      <81>, /* TX interrupt */
370                                      <82>; /* RX interrupt */
371                         interrupt-names = "common", "tx", "rx";
372                         ti,buffer-size = <128>;
373                         ti,hwmods = "mcbsp5";
374                         dmas = <&sdma 21>,
375                                <&sdma 22>;
376                         dma-names = "tx", "rx";
377                 };
378
379                 timer1: timer@48318000 {
380                         compatible = "ti,omap3430-timer";
381                         reg = <0x48318000 0x400>;
382                         interrupts = <37>;
383                         ti,hwmods = "timer1";
384                         ti,timer-alwon;
385                 };
386
387                 timer2: timer@49032000 {
388                         compatible = "ti,omap3430-timer";
389                         reg = <0x49032000 0x400>;
390                         interrupts = <38>;
391                         ti,hwmods = "timer2";
392                 };
393
394                 timer3: timer@49034000 {
395                         compatible = "ti,omap3430-timer";
396                         reg = <0x49034000 0x400>;
397                         interrupts = <39>;
398                         ti,hwmods = "timer3";
399                 };
400
401                 timer4: timer@49036000 {
402                         compatible = "ti,omap3430-timer";
403                         reg = <0x49036000 0x400>;
404                         interrupts = <40>;
405                         ti,hwmods = "timer4";
406                 };
407
408                 timer5: timer@49038000 {
409                         compatible = "ti,omap3430-timer";
410                         reg = <0x49038000 0x400>;
411                         interrupts = <41>;
412                         ti,hwmods = "timer5";
413                         ti,timer-dsp;
414                 };
415
416                 timer6: timer@4903a000 {
417                         compatible = "ti,omap3430-timer";
418                         reg = <0x4903a000 0x400>;
419                         interrupts = <42>;
420                         ti,hwmods = "timer6";
421                         ti,timer-dsp;
422                 };
423
424                 timer7: timer@4903c000 {
425                         compatible = "ti,omap3430-timer";
426                         reg = <0x4903c000 0x400>;
427                         interrupts = <43>;
428                         ti,hwmods = "timer7";
429                         ti,timer-dsp;
430                 };
431
432                 timer8: timer@4903e000 {
433                         compatible = "ti,omap3430-timer";
434                         reg = <0x4903e000 0x400>;
435                         interrupts = <44>;
436                         ti,hwmods = "timer8";
437                         ti,timer-pwm;
438                         ti,timer-dsp;
439                 };
440
441                 timer9: timer@49040000 {
442                         compatible = "ti,omap3430-timer";
443                         reg = <0x49040000 0x400>;
444                         interrupts = <45>;
445                         ti,hwmods = "timer9";
446                         ti,timer-pwm;
447                 };
448
449                 timer10: timer@48086000 {
450                         compatible = "ti,omap3430-timer";
451                         reg = <0x48086000 0x400>;
452                         interrupts = <46>;
453                         ti,hwmods = "timer10";
454                         ti,timer-pwm;
455                 };
456
457                 timer11: timer@48088000 {
458                         compatible = "ti,omap3430-timer";
459                         reg = <0x48088000 0x400>;
460                         interrupts = <47>;
461                         ti,hwmods = "timer11";
462                         ti,timer-pwm;
463                 };
464
465                 timer12: timer@48304000 {
466                         compatible = "ti,omap3430-timer";
467                         reg = <0x48304000 0x400>;
468                         interrupts = <95>;
469                         ti,hwmods = "timer12";
470                         ti,timer-alwon;
471                         ti,timer-secure;
472                 };
473
474                 usbhstll: usbhstll@48062000 {
475                         compatible = "ti,usbhs-tll";
476                         reg = <0x48062000 0x1000>;
477                         interrupts = <78>;
478                         ti,hwmods = "usb_tll_hs";
479                 };
480
481                 usbhshost: usbhshost@48064000 {
482                         compatible = "ti,usbhs-host";
483                         reg = <0x48064000 0x400>;
484                         ti,hwmods = "usb_host_hs";
485                         #address-cells = <1>;
486                         #size-cells = <1>;
487                         ranges;
488
489                         usbhsohci: ohci@48064400 {
490                                 compatible = "ti,ohci-omap3", "usb-ohci";
491                                 reg = <0x48064400 0x400>;
492                                 interrupt-parent = <&intc>;
493                                 interrupts = <76>;
494                         };
495
496                         usbhsehci: ehci@48064800 {
497                                 compatible = "ti,ehci-omap", "usb-ehci";
498                                 reg = <0x48064800 0x400>;
499                                 interrupt-parent = <&intc>;
500                                 interrupts = <77>;
501                         };
502                 };
503
504                 gpmc: gpmc@6e000000 {
505                         compatible = "ti,omap3430-gpmc";
506                         ti,hwmods = "gpmc";
507                         reg = <0x6e000000 0x02d0>;
508                         interrupts = <20>;
509                         gpmc,num-cs = <8>;
510                         gpmc,num-waitpins = <4>;
511                         #address-cells = <2>;
512                         #size-cells = <1>;
513                 };
514
515                 usb_otg_hs: usb_otg_hs@480ab000 {
516                         compatible = "ti,omap3-musb";
517                         reg = <0x480ab000 0x1000>;
518                         interrupts = <0 92 0x4>, <0 93 0x4>;
519                         interrupt-names = "mc", "dma";
520                         ti,hwmods = "usb_otg_hs";
521                         usb-phy = <&usb2_phy>;
522                         multipoint = <1>;
523                         num-eps = <16>;
524                         ram-bits = <12>;
525                 };
526         };
527 };