Merge branch 'work.cramfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / da850.dtsi
1 /*
2  * Copyright 2012 DENX Software Engineering GmbH
3  * Heiko Schocher <hs@denx.de>
4  *
5  * This program is free software; you can redistribute  it and/or modify it
6  * under  the terms of  the GNU General  Public License as published by the
7  * Free Software Foundation;  either version 2 of the  License, or (at your
8  * option) any later version.
9  */
10 #include "skeleton.dtsi"
11 #include <dt-bindings/interrupt-controller/irq.h>
12
13 / {
14         arm {
15                 #address-cells = <1>;
16                 #size-cells = <1>;
17                 ranges;
18                 intc: interrupt-controller@fffee000 {
19                         compatible = "ti,cp-intc";
20                         interrupt-controller;
21                         #interrupt-cells = <1>;
22                         ti,intc-size = <101>;
23                         reg = <0xfffee000 0x2000>;
24                 };
25         };
26         dsp: dsp@11800000 {
27                 compatible = "ti,da850-dsp";
28                 reg = <0x11800000 0x40000>,
29                       <0x11e00000 0x8000>,
30                       <0x11f00000 0x8000>,
31                       <0x01c14044 0x4>,
32                       <0x01c14174 0x8>;
33                 reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig";
34                 interrupt-parent = <&intc>;
35                 interrupts = <28>;
36                 status = "disabled";
37         };
38         soc@1c00000 {
39                 compatible = "simple-bus";
40                 model = "da850";
41                 #address-cells = <1>;
42                 #size-cells = <1>;
43                 ranges = <0x0 0x01c00000 0x400000>;
44                 interrupt-parent = <&intc>;
45
46                 pmx_core: pinmux@14120 {
47                         compatible = "pinctrl-single";
48                         reg = <0x14120 0x50>;
49                         #address-cells = <1>;
50                         #size-cells = <0>;
51                         #pinctrl-cells = <2>;
52                         pinctrl-single,bit-per-mux;
53                         pinctrl-single,register-width = <32>;
54                         pinctrl-single,function-mask = <0xf>;
55                         status = "disabled";
56
57                         serial0_rtscts_pins: pinmux_serial0_rtscts_pins {
58                                 pinctrl-single,bits = <
59                                         /* UART0_RTS UART0_CTS */
60                                         0x0c 0x22000000 0xff000000
61                                 >;
62                         };
63                         serial0_rxtx_pins: pinmux_serial0_rxtx_pins {
64                                 pinctrl-single,bits = <
65                                         /* UART0_TXD UART0_RXD */
66                                         0x0c 0x00220000 0x00ff0000
67                                 >;
68                         };
69                         serial1_rtscts_pins: pinmux_serial1_rtscts_pins {
70                                 pinctrl-single,bits = <
71                                         /* UART1_CTS UART1_RTS */
72                                         0x00 0x00440000 0x00ff0000
73                                 >;
74                         };
75                         serial1_rxtx_pins: pinmux_serial1_rxtx_pins {
76                                 pinctrl-single,bits = <
77                                         /* UART1_TXD UART1_RXD */
78                                         0x10 0x22000000 0xff000000
79                                 >;
80                         };
81                         serial2_rtscts_pins: pinmux_serial2_rtscts_pins {
82                                 pinctrl-single,bits = <
83                                         /* UART2_CTS UART2_RTS */
84                                         0x00 0x44000000 0xff000000
85                                 >;
86                         };
87                         serial2_rxtx_pins: pinmux_serial2_rxtx_pins {
88                                 pinctrl-single,bits = <
89                                         /* UART2_TXD UART2_RXD */
90                                         0x10 0x00220000 0x00ff0000
91                                 >;
92                         };
93                         i2c0_pins: pinmux_i2c0_pins {
94                                 pinctrl-single,bits = <
95                                         /* I2C0_SDA,I2C0_SCL */
96                                         0x10 0x00002200 0x0000ff00
97                                 >;
98                         };
99                         i2c1_pins: pinmux_i2c1_pins {
100                                 pinctrl-single,bits = <
101                                         /* I2C1_SDA, I2C1_SCL */
102                                         0x10 0x00440000 0x00ff0000
103                                 >;
104                         };
105                         mmc0_pins: pinmux_mmc_pins {
106                                 pinctrl-single,bits = <
107                                         /* MMCSD0_DAT[3] MMCSD0_DAT[2]
108                                          * MMCSD0_DAT[1] MMCSD0_DAT[0]
109                                          * MMCSD0_CMD    MMCSD0_CLK
110                                          */
111                                         0x28 0x00222222  0x00ffffff
112                                 >;
113                         };
114                         ehrpwm0a_pins: pinmux_ehrpwm0a_pins {
115                                 pinctrl-single,bits = <
116                                         /* EPWM0A */
117                                         0xc 0x00000002 0x0000000f
118                                 >;
119                         };
120                         ehrpwm0b_pins: pinmux_ehrpwm0b_pins {
121                                 pinctrl-single,bits = <
122                                         /* EPWM0B */
123                                         0xc 0x00000020 0x000000f0
124                                 >;
125                         };
126                         ehrpwm1a_pins: pinmux_ehrpwm1a_pins {
127                                 pinctrl-single,bits = <
128                                         /* EPWM1A */
129                                         0x14 0x00000002 0x0000000f
130                                 >;
131                         };
132                         ehrpwm1b_pins: pinmux_ehrpwm1b_pins {
133                                 pinctrl-single,bits = <
134                                         /* EPWM1B */
135                                         0x14 0x00000020 0x000000f0
136                                 >;
137                         };
138                         ecap0_pins: pinmux_ecap0_pins {
139                                 pinctrl-single,bits = <
140                                         /* ECAP0_APWM0 */
141                                         0x8 0x20000000 0xf0000000
142                                 >;
143                         };
144                         ecap1_pins: pinmux_ecap1_pins {
145                                 pinctrl-single,bits = <
146                                         /* ECAP1_APWM1 */
147                                         0x4 0x40000000 0xf0000000
148                                 >;
149                         };
150                         ecap2_pins: pinmux_ecap2_pins {
151                                 pinctrl-single,bits = <
152                                         /* ECAP2_APWM2 */
153                                         0x4 0x00000004 0x0000000f
154                                 >;
155                         };
156                         spi0_pins: pinmux_spi0_pins {
157                                 pinctrl-single,bits = <
158                                         /* SIMO, SOMI, CLK */
159                                         0xc 0x00001101 0x0000ff0f
160                                 >;
161                         };
162                         spi0_cs0_pin: pinmux_spi0_cs0 {
163                                 pinctrl-single,bits = <
164                                         /* CS0 */
165                                         0x10 0x00000010 0x000000f0
166                                 >;
167                         };
168                         spi0_cs3_pin: pinmux_spi0_cs3_pin {
169                                 pinctrl-single,bits = <
170                                         /* CS3 */
171                                         0xc 0x01000000 0x0f000000
172                                 >;
173                         };
174                         spi1_pins: pinmux_spi1_pins {
175                                 pinctrl-single,bits = <
176                                         /* SIMO, SOMI, CLK */
177                                         0x14 0x00110100 0x00ff0f00
178                                 >;
179                         };
180                         spi1_cs0_pin: pinmux_spi1_cs0 {
181                                 pinctrl-single,bits = <
182                                         /* CS0 */
183                                         0x14 0x00000010 0x000000f0
184                                 >;
185                         };
186                         mdio_pins: pinmux_mdio_pins {
187                                 pinctrl-single,bits = <
188                                         /* MDIO_CLK, MDIO_D */
189                                         0x10 0x00000088 0x000000ff
190                                 >;
191                         };
192                         mii_pins: pinmux_mii_pins {
193                                 pinctrl-single,bits = <
194                                         /*
195                                          * MII_TXEN, MII_TXCLK, MII_COL
196                                          * MII_TXD_3, MII_TXD_2, MII_TXD_1
197                                          * MII_TXD_0
198                                          */
199                                         0x8 0x88888880 0xfffffff0
200                                         /*
201                                          * MII_RXER, MII_CRS, MII_RXCLK
202                                          * MII_RXDV, MII_RXD_3, MII_RXD_2
203                                          * MII_RXD_1, MII_RXD_0
204                                          */
205                                         0xc 0x88888888 0xffffffff
206                                 >;
207                         };
208                         lcd_pins: pinmux_lcd_pins {
209                                 pinctrl-single,bits = <
210                                         /*
211                                          * LCD_D[2], LCD_D[3], LCD_D[4], LCD_D[5],
212                                          * LCD_D[6], LCD_D[7]
213                                          */
214                                         0x40 0x22222200 0xffffff00
215                                         /*
216                                          * LCD_D[10], LCD_D[11], LCD_D[12], LCD_D[13],
217                                          * LCD_D[14], LCD_D[15], LCD_D[0], LCD_D[1]
218                                          */
219                                         0x44 0x22222222 0xffffffff
220                                         /* LCD_D[8], LCD_D[9] */
221                                         0x48 0x00000022 0x000000ff
222
223                                         /* LCD_PCLK */
224                                         0x48 0x02000000 0x0f000000
225                                         /* LCD_AC_ENB_CS, LCD_VSYNC, LCD_HSYNC */
226                                         0x4c 0x02000022 0x0f0000ff
227                                 >;
228                         };
229                         vpif_capture_pins: vpif_capture_pins {
230                                 pinctrl-single,bits = <
231                                         /* VP_DIN[2..7], VP_CLKIN1, VP_CLKIN0 */
232                                         0x38 0x11111111 0xffffffff
233                                         /* VP_DIN[10..15,0..1] */
234                                         0x3c 0x11111111 0xffffffff
235                                         /* VP_DIN[8..9] */
236                                         0x40 0x00000011 0x000000ff
237                                 >;
238                         };
239                         vpif_display_pins: vpif_display_pins {
240                                 pinctrl-single,bits = <
241                                         /* VP_DOUT[2..7] */
242                                         0x40 0x11111100 0xffffff00
243                                         /* VP_DOUT[10..15,0..1] */
244                                         0x44 0x11111111 0xffffffff
245                                         /*  VP_DOUT[8..9] */
246                                         0x48 0x00000011 0x000000ff
247                                         /*
248                                          * VP_CLKOUT3, VP_CLKIN3,
249                                          * VP_CLKOUT2, VP_CLKIN2
250                                          */
251                                         0x4c 0x00111100 0x00ffff00
252                                 >;
253                         };
254                 };
255                 prictrl: priority-controller@14110 {
256                         compatible = "ti,da850-mstpri";
257                         reg = <0x14110 0x0c>;
258                         status = "disabled";
259                 };
260                 cfgchip: chip-controller@1417c {
261                         compatible = "ti,da830-cfgchip", "syscon", "simple-mfd";
262                         reg = <0x1417c 0x14>;
263
264                         usb_phy: usb-phy {
265                                 compatible = "ti,da830-usb-phy";
266                                 #phy-cells = <1>;
267                                 status = "disabled";
268                         };
269                 };
270                 edma0: edma@0 {
271                         compatible = "ti,edma3-tpcc";
272                         /* eDMA3 CC0: 0x01c0 0000 - 0x01c0 7fff */
273                         reg =   <0x0 0x8000>;
274                         reg-names = "edma3_cc";
275                         interrupts = <11 12>;
276                         interrupt-names = "edma3_ccint", "edma3_ccerrint";
277                         #dma-cells = <2>;
278
279                         ti,tptcs = <&edma0_tptc0 7>, <&edma0_tptc1 0>;
280                 };
281                 edma0_tptc0: tptc@8000 {
282                         compatible = "ti,edma3-tptc";
283                         reg =   <0x8000 0x400>;
284                         interrupts = <13>;
285                         interrupt-names = "edm3_tcerrint";
286                 };
287                 edma0_tptc1: tptc@8400 {
288                         compatible = "ti,edma3-tptc";
289                         reg =   <0x8400 0x400>;
290                         interrupts = <32>;
291                         interrupt-names = "edm3_tcerrint";
292                 };
293                 edma1: edma@230000 {
294                         compatible = "ti,edma3-tpcc";
295                         /* eDMA3 CC1: 0x01e3 0000 - 0x01e3 7fff */
296                         reg =   <0x230000 0x8000>;
297                         reg-names = "edma3_cc";
298                         interrupts = <93 94>;
299                         interrupt-names = "edma3_ccint", "edma3_ccerrint";
300                         #dma-cells = <2>;
301
302                         ti,tptcs = <&edma1_tptc0 7>;
303                 };
304                 edma1_tptc0: tptc@238000 {
305                         compatible = "ti,edma3-tptc";
306                         reg =   <0x238000 0x400>;
307                         interrupts = <95>;
308                         interrupt-names = "edm3_tcerrint";
309                 };
310                 serial0: serial@42000 {
311                         compatible = "ti,da830-uart", "ns16550a";
312                         reg = <0x42000 0x100>;
313                         reg-io-width = <4>;
314                         reg-shift = <2>;
315                         interrupts = <25>;
316                         status = "disabled";
317                 };
318                 serial1: serial@10c000 {
319                         compatible = "ti,da830-uart", "ns16550a";
320                         reg = <0x10c000 0x100>;
321                         reg-io-width = <4>;
322                         reg-shift = <2>;
323                         interrupts = <53>;
324                         status = "disabled";
325                 };
326                 serial2: serial@10d000 {
327                         compatible = "ti,da830-uart", "ns16550a";
328                         reg = <0x10d000 0x100>;
329                         reg-io-width = <4>;
330                         reg-shift = <2>;
331                         interrupts = <61>;
332                         status = "disabled";
333                 };
334                 rtc0: rtc@23000 {
335                         compatible = "ti,da830-rtc";
336                         reg = <0x23000 0x1000>;
337                         interrupts = <19
338                                       19>;
339                         status = "disabled";
340                 };
341                 i2c0: i2c@22000 {
342                         compatible = "ti,davinci-i2c";
343                         reg = <0x22000 0x1000>;
344                         interrupts = <15>;
345                         #address-cells = <1>;
346                         #size-cells = <0>;
347                         status = "disabled";
348                 };
349                 i2c1: i2c@228000 {
350                         compatible = "ti,davinci-i2c";
351                         reg = <0x228000 0x1000>;
352                         interrupts = <51>;
353                         #address-cells = <1>;
354                         #size-cells = <0>;
355                         status = "disabled";
356                 };
357                 wdt: wdt@21000 {
358                         compatible = "ti,davinci-wdt";
359                         reg = <0x21000 0x1000>;
360                         status = "disabled";
361                 };
362                 mmc0: mmc@40000 {
363                         compatible = "ti,da830-mmc";
364                         reg = <0x40000 0x1000>;
365                         cap-sd-highspeed;
366                         cap-mmc-highspeed;
367                         interrupts = <16>;
368                         dmas = <&edma0 16 0>, <&edma0 17 0>;
369                         dma-names = "rx", "tx";
370                         status = "disabled";
371                 };
372                 vpif: video@217000 {
373                         compatible = "ti,da850-vpif";
374                         reg = <0x217000 0x1000>;
375                         interrupts = <92>;
376                         status = "disabled";
377
378                         /* VPIF capture port */
379                         port@0 {
380                                 #address-cells = <1>;
381                                 #size-cells = <0>;
382                         };
383
384                         /* VPIF display port */
385                         port@1 {
386                                 #address-cells = <1>;
387                                 #size-cells = <0>;
388                         };
389                 };
390                 mmc1: mmc@21b000 {
391                         compatible = "ti,da830-mmc";
392                         reg = <0x21b000 0x1000>;
393                         cap-sd-highspeed;
394                         cap-mmc-highspeed;
395                         interrupts = <72>;
396                         dmas = <&edma1 28 0>, <&edma1 29 0>;
397                         dma-names = "rx", "tx";
398                         status = "disabled";
399                 };
400                 ehrpwm0: pwm@300000 {
401                         compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
402                                      "ti,am33xx-ehrpwm";
403                         #pwm-cells = <3>;
404                         reg = <0x300000 0x2000>;
405                         status = "disabled";
406                 };
407                 ehrpwm1: pwm@302000 {
408                         compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
409                                      "ti,am33xx-ehrpwm";
410                         #pwm-cells = <3>;
411                         reg = <0x302000 0x2000>;
412                         status = "disabled";
413                 };
414                 ecap0: ecap@306000 {
415                         compatible = "ti,da850-ecap", "ti,am3352-ecap",
416                                      "ti,am33xx-ecap";
417                         #pwm-cells = <3>;
418                         reg = <0x306000 0x80>;
419                         status = "disabled";
420                 };
421                 ecap1: ecap@307000 {
422                         compatible = "ti,da850-ecap", "ti,am3352-ecap",
423                                      "ti,am33xx-ecap";
424                         #pwm-cells = <3>;
425                         reg = <0x307000 0x80>;
426                         status = "disabled";
427                 };
428                 ecap2: ecap@308000 {
429                         compatible = "ti,da850-ecap", "ti,am3352-ecap",
430                                      "ti,am33xx-ecap";
431                         #pwm-cells = <3>;
432                         reg = <0x308000 0x80>;
433                         status = "disabled";
434                 };
435                 spi0: spi@41000 {
436                         #address-cells = <1>;
437                         #size-cells = <0>;
438                         compatible = "ti,da830-spi";
439                         reg = <0x41000 0x1000>;
440                         num-cs = <6>;
441                         ti,davinci-spi-intr-line = <1>;
442                         interrupts = <20>;
443                         dmas = <&edma0 14 0>, <&edma0 15 0>;
444                         dma-names = "rx", "tx";
445                         status = "disabled";
446                 };
447                 spi1: spi@30e000 {
448                         #address-cells = <1>;
449                         #size-cells = <0>;
450                         compatible = "ti,da830-spi";
451                         reg = <0x30e000 0x1000>;
452                         num-cs = <4>;
453                         ti,davinci-spi-intr-line = <1>;
454                         interrupts = <56>;
455                         dmas = <&edma0 18 0>, <&edma0 19 0>;
456                         dma-names = "rx", "tx";
457                         status = "disabled";
458                 };
459                 usb0: usb@200000 {
460                         compatible = "ti,da830-musb";
461                         reg = <0x200000 0x1000>;
462                         ranges;
463                         interrupts = <58>;
464                         interrupt-names = "mc";
465                         dr_mode = "otg";
466                         phys = <&usb_phy 0>;
467                         phy-names = "usb-phy";
468                         status = "disabled";
469
470                         #address-cells = <1>;
471                         #size-cells = <1>;
472
473                         dmas = <&cppi41dma 0 0 &cppi41dma 1 0
474                                 &cppi41dma 2 0 &cppi41dma 3 0
475                                 &cppi41dma 0 1 &cppi41dma 1 1
476                                 &cppi41dma 2 1 &cppi41dma 3 1>;
477                         dma-names =
478                                 "rx1", "rx2", "rx3", "rx4",
479                                 "tx1", "tx2", "tx3", "tx4";
480
481                         cppi41dma: dma-controller@201000 {
482                                 compatible = "ti,da830-cppi41";
483                                 reg =  <0x201000 0x1000
484                                         0x202000 0x1000
485                                         0x204000 0x4000>;
486                                 reg-names = "controller",
487                                             "scheduler", "queuemgr";
488                                 interrupts = <58>;
489                                 #dma-cells = <2>;
490                                 #dma-channels = <4>;
491                                 status = "okay";
492                         };
493                 };
494                 sata: sata@218000 {
495                         compatible = "ti,da850-ahci";
496                         reg = <0x218000 0x2000>, <0x22c018 0x4>;
497                         interrupts = <67>;
498                         status = "disabled";
499                 };
500                 mdio: mdio@224000 {
501                         compatible = "ti,davinci_mdio";
502                         #address-cells = <1>;
503                         #size-cells = <0>;
504                         reg = <0x224000 0x1000>;
505                         status = "disabled";
506                 };
507                 eth0: ethernet@220000 {
508                         compatible = "ti,davinci-dm6467-emac";
509                         reg = <0x220000 0x4000>;
510                         ti,davinci-ctrl-reg-offset = <0x3000>;
511                         ti,davinci-ctrl-mod-reg-offset = <0x2000>;
512                         ti,davinci-ctrl-ram-offset = <0>;
513                         ti,davinci-ctrl-ram-size = <0x2000>;
514                         local-mac-address = [ 00 00 00 00 00 00 ];
515                         interrupts = <33
516                                         34
517                                         35
518                                         36
519                                         >;
520                         status = "disabled";
521                 };
522                 usb1: usb@225000 {
523                         compatible = "ti,da830-ohci";
524                         reg = <0x225000 0x1000>;
525                         interrupts = <59>;
526                         phys = <&usb_phy 1>;
527                         phy-names = "usb-phy";
528                         status = "disabled";
529                 };
530                 gpio: gpio@226000 {
531                         compatible = "ti,dm6441-gpio";
532                         gpio-controller;
533                         #gpio-cells = <2>;
534                         reg = <0x226000 0x1000>;
535                         interrupts = <42 IRQ_TYPE_EDGE_BOTH
536                                 43 IRQ_TYPE_EDGE_BOTH 44 IRQ_TYPE_EDGE_BOTH
537                                 45 IRQ_TYPE_EDGE_BOTH 46 IRQ_TYPE_EDGE_BOTH
538                                 47 IRQ_TYPE_EDGE_BOTH 48 IRQ_TYPE_EDGE_BOTH
539                                 49 IRQ_TYPE_EDGE_BOTH 50 IRQ_TYPE_EDGE_BOTH>;
540                         ti,ngpio = <144>;
541                         ti,davinci-gpio-unbanked = <0>;
542                         status = "disabled";
543                         interrupt-controller;
544                         #interrupt-cells = <2>;
545                 };
546                 pinconf: pin-controller@22c00c {
547                         compatible = "ti,da850-pupd";
548                         reg = <0x22c00c 0x8>;
549                         status = "disabled";
550                 };
551
552                 mcasp0: mcasp@100000 {
553                         compatible = "ti,da830-mcasp-audio";
554                         reg = <0x100000 0x2000>,
555                               <0x102000 0x400000>;
556                         reg-names = "mpu", "dat";
557                         interrupts = <54>;
558                         interrupt-names = "common";
559                         status = "disabled";
560                         dmas = <&edma0 1 1>,
561                                 <&edma0 0 1>;
562                         dma-names = "tx", "rx";
563                 };
564
565                 lcdc: display@213000 {
566                         compatible = "ti,da850-tilcdc";
567                         reg = <0x213000 0x1000>;
568                         interrupts = <52>;
569                         max-pixelclock = <37500>;
570                         status = "disabled";
571                 };
572         };
573         aemif: aemif@68000000 {
574                 compatible = "ti,da850-aemif";
575                 #address-cells = <2>;
576                 #size-cells = <1>;
577
578                 reg = <0x68000000 0x00008000>;
579                 ranges = <0 0 0x60000000 0x08000000
580                           1 0 0x68000000 0x00008000>;
581                 status = "disabled";
582         };
583         memctrl: memory-controller@b0000000 {
584                 compatible = "ti,da850-ddr-controller";
585                 reg = <0xb0000000 0xe8>;
586                 status = "disabled";
587         };
588 };