Merge tag 'ntb-3.13' of git://github.com/jonmason/ntb
[linux-drm-fsl-dcu.git] / arch / arm / boot / dts / ste-nomadik-stn8815.dtsi
1 /*
2  * Device Tree for the ST-Ericsson Nomadik 8815 STn8815 SoC
3  */
4 /include/ "skeleton.dtsi"
5
6 / {
7         #address-cells = <1>;
8         #size-cells = <1>;
9
10         memory {
11                 reg = <0x00000000 0x04000000>,
12                     <0x08000000 0x04000000>;
13         };
14
15         L2: l2-cache {
16                 compatible = "arm,l210-cache";
17                 reg = <0x10210000 0x1000>;
18                 interrupt-parent = <&vica>;
19                 interrupts = <30>;
20                 cache-unified;
21                 cache-level = <2>;
22         };
23
24         mtu0: mtu@101e2000 {
25                 /* Nomadik system timer */
26                 compatible = "st,nomadik-mtu";
27                 reg = <0x101e2000 0x1000>;
28                 interrupt-parent = <&vica>;
29                 interrupts = <4>;
30                 clocks = <&timclk>, <&pclk>;
31                 clock-names = "timclk", "apb_pclk";
32         };
33
34         mtu1: mtu@101e3000 {
35                 /* Secondary timer */
36                 reg = <0x101e3000 0x1000>;
37                 interrupt-parent = <&vica>;
38                 interrupts = <5>;
39                 clocks = <&timclk>, <&pclk>;
40                 clock-names = "timclk", "apb_pclk";
41         };
42
43         gpio0: gpio@101e4000 {
44                 compatible = "st,nomadik-gpio";
45                 reg =  <0x101e4000 0x80>;
46                 interrupt-parent = <&vica>;
47                 interrupts = <6>;
48                 interrupt-controller;
49                 #interrupt-cells = <2>;
50                 gpio-controller;
51                 #gpio-cells = <2>;
52                 gpio-bank = <0>;
53                 clocks = <&pclk>;
54         };
55
56         gpio1: gpio@101e5000 {
57                 compatible = "st,nomadik-gpio";
58                 reg =  <0x101e5000 0x80>;
59                 interrupt-parent = <&vica>;
60                 interrupts = <7>;
61                 interrupt-controller;
62                 #interrupt-cells = <2>;
63                 gpio-controller;
64                 #gpio-cells = <2>;
65                 gpio-bank = <1>;
66                 clocks = <&pclk>;
67         };
68
69         gpio2: gpio@101e6000 {
70                 compatible = "st,nomadik-gpio";
71                 reg =  <0x101e6000 0x80>;
72                 interrupt-parent = <&vica>;
73                 interrupts = <8>;
74                 interrupt-controller;
75                 #interrupt-cells = <2>;
76                 gpio-controller;
77                 #gpio-cells = <2>;
78                 gpio-bank = <2>;
79                 clocks = <&pclk>;
80         };
81
82         gpio3: gpio@101e7000 {
83                 compatible = "st,nomadik-gpio";
84                 reg =  <0x101e7000 0x80>;
85                 interrupt-parent = <&vica>;
86                 interrupts = <9>;
87                 interrupt-controller;
88                 #interrupt-cells = <2>;
89                 gpio-controller;
90                 #gpio-cells = <2>;
91                 gpio-bank = <3>;
92                 clocks = <&pclk>;
93         };
94
95         pinctrl {
96                 compatible = "stericsson,stn8815-pinctrl";
97                 /* Pin configurations */
98                 uart0 {
99                         uart0_default_mux: uart0_mux {
100                                 u0_default_mux {
101                                         ste,function = "u0";
102                                         ste,pins = "u0_a_1";
103                                 };
104                         };
105                 };
106                 uart1 {
107                         uart1_default_mux: uart1_mux {
108                                 u1_default_mux {
109                                         ste,function = "u1";
110                                         ste,pins = "u1_a_1";
111                                 };
112                         };
113                 };
114                 mmcsd {
115                         mmcsd_default_mux: mmcsd_mux {
116                                 mmcsd_default_mux {
117                                         ste,function = "mmcsd";
118                                         ste,pins = "mmcsd_a_1";
119                                 };
120                         };
121                         mmcsd_default_mode: mmcsd_default {
122                                 mmcsd_default_cfg1 {
123                                         /* MCCLK */
124                                         ste,pins = "GPIO8_B10";
125                                         ste,output = <0>;
126                                 };
127                                 mmcsd_default_cfg2 {
128                                         /* MCCMDDIR, MCDAT0DIR, MCDAT31DIR */
129                                         ste,pins = "GPIO10_C11", "GPIO15_A12",
130                                         "GPIO16_C13";
131                                         ste,output = <1>;
132                                 };
133                                 mmcsd_default_cfg3 {
134                                         /* MCCMD, MCDAT3-0, MCMSFBCLK */
135                                         ste,pins = "GPIO9_A10", "GPIO11_B11",
136                                         "GPIO12_A11", "GPIO13_C12",
137                                         "GPIO14_B12", "GPIO24_C15";
138                                         ste,input = <1>;
139                                 };
140                         };
141                 };
142                 i2c0 {
143                         i2c0_default_mux: i2c0_mux {
144                                 i2c0_default_mux {
145                                         ste,function = "i2c0";
146                                         ste,pins = "i2c0_a_1";
147                                 };
148                         };
149                         i2c0_default_mode: i2c0_default {
150                                 i2c0_default_cfg {
151                                         ste,pins = "GPIO62_D3", "GPIO63_D2";
152                                         ste,input = <0>;
153                                 };
154                         };
155                 };
156                 i2c1 {
157                         i2c1_default_mux: i2c1_mux {
158                                 i2c1_default_mux {
159                                         ste,function = "i2c1";
160                                         ste,pins = "i2c1_a_1";
161                                 };
162                         };
163                         i2c1_default_mode: i2c1_default {
164                                 i2c1_default_cfg {
165                                         ste,pins = "GPIO53_L4", "GPIO54_L3";
166                                         ste,input = <0>;
167                                 };
168                         };
169                 };
170                 i2c2 {
171                         i2c2_default_mode: i2c2_default {
172                                 i2c2_default_cfg {
173                                         ste,pins = "GPIO73_C21", "GPIO74_C20";
174                                         ste,input = <0>;
175                                 };
176                         };
177                 };
178         };
179
180         src: src@101e0000 {
181                 compatible = "stericsson,nomadik-src";
182                 reg = <0x101e0000 0x1000>;
183                 disable-sxtalo;
184                 disable-mxtalo;
185
186                 /*
187                  * MXTAL "Main Chrystal" is a chrystal oscillator @19.2 MHz
188                  * that is parent of TIMCLK, PLL1 and PLL2
189                  */
190                 mxtal: mxtal@19.2M {
191                         #clock-cells = <0>;
192                         compatible = "fixed-clock";
193                         clock-frequency = <19200000>;
194                 };
195
196                 /*
197                  * The 2.4 MHz TIMCLK reference clock is active at
198                  * boot time, this is actually the MXTALCLK @19.2 MHz
199                  * divided by 8. This clock is used by the timers and
200                  * watchdog. See page 105 ff.
201                  */
202                 timclk: timclk@2.4M {
203                         #clock-cells = <0>;
204                         compatible = "fixed-factor-clock";
205                         clock-div = <8>;
206                         clock-mult = <1>;
207                         clocks = <&mxtal>;
208                 };
209
210                 /* PLL1 is locked to MXTALI and variable from 20.4 to 334 MHz */
211                 pll1: pll1@0 {
212                         #clock-cells = <0>;
213                         compatible = "st,nomadik-pll-clock";
214                         pll-id = <1>;
215                         clocks = <&mxtal>;
216                 };
217
218                 /* HCLK divides the PLL1 with 1,2,3 or 4 */
219                 hclk: hclk@0 {
220                         #clock-cells = <0>;
221                         compatible = "st,nomadik-hclk-clock";
222                         clocks = <&pll1>;
223                 };
224                 /* The PCLK domain uses HCLK right off */
225                 pclk: pclk@0 {
226                         #clock-cells = <0>;
227                         compatible = "fixed-factor-clock";
228                         clock-div = <1>;
229                         clock-mult = <1>;
230                         clocks = <&hclk>;
231                 };
232
233                 /* PLL2 is usually 864 MHz and divided into a few fixed rates */
234                 pll2: pll2@0 {
235                         #clock-cells = <0>;
236                         compatible = "st,nomadik-pll-clock";
237                         pll-id = <2>;
238                         clocks = <&mxtal>;
239                 };
240                 clk216: clk216@216M {
241                         #clock-cells = <0>;
242                         compatible = "fixed-factor-clock";
243                         clock-div = <4>;
244                         clock-mult = <1>;
245                         clocks = <&pll2>;
246                 };
247                 clk108: clk108@108M {
248                         #clock-cells = <0>;
249                         compatible = "fixed-factor-clock";
250                         clock-div = <2>;
251                         clock-mult = <1>;
252                         clocks = <&clk216>;
253                 };
254                 clk72: clk72@72M {
255                         #clock-cells = <0>;
256                         compatible = "fixed-factor-clock";
257                         /* The data sheet does not say how this is derived */
258                         clock-div = <12>;
259                         clock-mult = <1>;
260                         clocks = <&pll2>;
261                 };
262                 clk48: clk48@48M {
263                         #clock-cells = <0>;
264                         compatible = "fixed-factor-clock";
265                         /* The data sheet does not say how this is derived */
266                         clock-div = <18>;
267                         clock-mult = <1>;
268                         clocks = <&pll2>;
269                 };
270                 clk27: clk27@27M {
271                         #clock-cells = <0>;
272                         compatible = "fixed-factor-clock";
273                         clock-div = <4>;
274                         clock-mult = <1>;
275                         clocks = <&clk108>;
276                 };
277
278                 /* This apparently exists as well */
279                 ulpiclk: ulpiclk@60M {
280                         #clock-cells = <0>;
281                         compatible = "fixed-clock";
282                         clock-frequency = <60000000>;
283                 };
284
285                 /*
286                  * IP AMBA bus clocks, driving the bus side of the
287                  * peripheral clocking, clock gates.
288                  */
289
290                 hclkdma0: hclkdma0@48M {
291                         #clock-cells = <0>;
292                         compatible = "st,nomadik-src-clock";
293                         clock-id = <0>;
294                         clocks = <&hclk>;
295                 };
296                 hclksmc: hclksmc@48M {
297                         #clock-cells = <0>;
298                         compatible = "st,nomadik-src-clock";
299                         clock-id = <1>;
300                         clocks = <&hclk>;
301                 };
302                 hclksdram: hclksdram@48M {
303                         #clock-cells = <0>;
304                         compatible = "st,nomadik-src-clock";
305                         clock-id = <2>;
306                         clocks = <&hclk>;
307                 };
308                 hclkdma1: hclkdma1@48M {
309                         #clock-cells = <0>;
310                         compatible = "st,nomadik-src-clock";
311                         clock-id = <3>;
312                         clocks = <&hclk>;
313                 };
314                 hclkclcd: hclkclcd@48M {
315                         #clock-cells = <0>;
316                         compatible = "st,nomadik-src-clock";
317                         clock-id = <4>;
318                         clocks = <&hclk>;
319                 };
320                 pclkirda: pclkirda@48M {
321                         #clock-cells = <0>;
322                         compatible = "st,nomadik-src-clock";
323                         clock-id = <5>;
324                         clocks = <&pclk>;
325                 };
326                 pclkssp: pclkssp@48M {
327                         #clock-cells = <0>;
328                         compatible = "st,nomadik-src-clock";
329                         clock-id = <6>;
330                         clocks = <&pclk>;
331                 };
332                 pclkuart0: pclkuart0@48M {
333                         #clock-cells = <0>;
334                         compatible = "st,nomadik-src-clock";
335                         clock-id = <7>;
336                         clocks = <&pclk>;
337                 };
338                 pclksdi: pclksdi@48M {
339                         #clock-cells = <0>;
340                         compatible = "st,nomadik-src-clock";
341                         clock-id = <8>;
342                         clocks = <&pclk>;
343                 };
344                 pclki2c0: pclki2c0@48M {
345                         #clock-cells = <0>;
346                         compatible = "st,nomadik-src-clock";
347                         clock-id = <9>;
348                         clocks = <&pclk>;
349                 };
350                 pclki2c1: pclki2c1@48M {
351                         #clock-cells = <0>;
352                         compatible = "st,nomadik-src-clock";
353                         clock-id = <10>;
354                         clocks = <&pclk>;
355                 };
356                 pclkuart1: pclkuart1@48M {
357                         #clock-cells = <0>;
358                         compatible = "st,nomadik-src-clock";
359                         clock-id = <11>;
360                         clocks = <&pclk>;
361                 };
362                 pclkmsp0: pclkmsp0@48M {
363                         #clock-cells = <0>;
364                         compatible = "st,nomadik-src-clock";
365                         clock-id = <12>;
366                         clocks = <&pclk>;
367                 };
368                 hclkusb: hclkusb@48M {
369                         #clock-cells = <0>;
370                         compatible = "st,nomadik-src-clock";
371                         clock-id = <13>;
372                         clocks = <&hclk>;
373                 };
374                 hclkdif: hclkdif@48M {
375                         #clock-cells = <0>;
376                         compatible = "st,nomadik-src-clock";
377                         clock-id = <14>;
378                         clocks = <&hclk>;
379                 };
380                 hclksaa: hclksaa@48M {
381                         #clock-cells = <0>;
382                         compatible = "st,nomadik-src-clock";
383                         clock-id = <15>;
384                         clocks = <&hclk>;
385                 };
386                 hclksva: hclksva@48M {
387                         #clock-cells = <0>;
388                         compatible = "st,nomadik-src-clock";
389                         clock-id = <16>;
390                         clocks = <&hclk>;
391                 };
392                 pclkhsi: pclkhsi@48M {
393                         #clock-cells = <0>;
394                         compatible = "st,nomadik-src-clock";
395                         clock-id = <17>;
396                         clocks = <&pclk>;
397                 };
398                 pclkxti: pclkxti@48M {
399                         #clock-cells = <0>;
400                         compatible = "st,nomadik-src-clock";
401                         clock-id = <18>;
402                         clocks = <&pclk>;
403                 };
404                 pclkuart2: pclkuart2@48M {
405                         #clock-cells = <0>;
406                         compatible = "st,nomadik-src-clock";
407                         clock-id = <19>;
408                         clocks = <&pclk>;
409                 };
410                 pclkmsp1: pclkmsp1@48M {
411                         #clock-cells = <0>;
412                         compatible = "st,nomadik-src-clock";
413                         clock-id = <20>;
414                         clocks = <&pclk>;
415                 };
416                 pclkmsp2: pclkmsp2@48M {
417                         #clock-cells = <0>;
418                         compatible = "st,nomadik-src-clock";
419                         clock-id = <21>;
420                         clocks = <&pclk>;
421                 };
422                 pclkowm: pclkowm@48M {
423                         #clock-cells = <0>;
424                         compatible = "st,nomadik-src-clock";
425                         clock-id = <22>;
426                         clocks = <&pclk>;
427                 };
428                 hclkhpi: hclkhpi@48M {
429                         #clock-cells = <0>;
430                         compatible = "st,nomadik-src-clock";
431                         clock-id = <23>;
432                         clocks = <&hclk>;
433                 };
434                 pclkske: pclkske@48M {
435                         #clock-cells = <0>;
436                         compatible = "st,nomadik-src-clock";
437                         clock-id = <24>;
438                         clocks = <&pclk>;
439                 };
440                 pclkhsem: pclkhsem@48M {
441                         #clock-cells = <0>;
442                         compatible = "st,nomadik-src-clock";
443                         clock-id = <25>;
444                         clocks = <&pclk>;
445                 };
446                 hclk3d: hclk3d@48M {
447                         #clock-cells = <0>;
448                         compatible = "st,nomadik-src-clock";
449                         clock-id = <26>;
450                         clocks = <&hclk>;
451                 };
452                 hclkhash: hclkhash@48M {
453                         #clock-cells = <0>;
454                         compatible = "st,nomadik-src-clock";
455                         clock-id = <27>;
456                         clocks = <&hclk>;
457                 };
458                 hclkcryp: hclkcryp@48M {
459                         #clock-cells = <0>;
460                         compatible = "st,nomadik-src-clock";
461                         clock-id = <28>;
462                         clocks = <&hclk>;
463                 };
464                 pclkmshc: pclkmshc@48M {
465                         #clock-cells = <0>;
466                         compatible = "st,nomadik-src-clock";
467                         clock-id = <29>;
468                         clocks = <&pclk>;
469                 };
470                 hclkusbm: hclkusbm@48M {
471                         #clock-cells = <0>;
472                         compatible = "st,nomadik-src-clock";
473                         clock-id = <30>;
474                         clocks = <&hclk>;
475                 };
476                 hclkrng: hclkrng@48M {
477                         #clock-cells = <0>;
478                         compatible = "st,nomadik-src-clock";
479                         clock-id = <31>;
480                         clocks = <&hclk>;
481                 };
482
483                 /* IP kernel clocks */
484                 clcdclk: clcdclk@0 {
485                         #clock-cells = <0>;
486                         compatible = "st,nomadik-src-clock";
487                         clock-id = <36>;
488                         clocks = <&clk72 &clk48>;
489                 };
490                 irdaclk: irdaclk@48M {
491                         #clock-cells = <0>;
492                         compatible = "st,nomadik-src-clock";
493                         clock-id = <37>;
494                         clocks = <&clk48>;
495                 };
496                 sspiclk: sspiclk@48M {
497                         #clock-cells = <0>;
498                         compatible = "st,nomadik-src-clock";
499                         clock-id = <38>;
500                         clocks = <&clk48>;
501                 };
502                 uart0clk: uart0clk@48M {
503                         #clock-cells = <0>;
504                         compatible = "st,nomadik-src-clock";
505                         clock-id = <39>;
506                         clocks = <&clk48>;
507                 };
508                 sdiclk: sdiclk@48M {
509                         /* Also called MCCLK in some documents */
510                         #clock-cells = <0>;
511                         compatible = "st,nomadik-src-clock";
512                         clock-id = <40>;
513                         clocks = <&clk48>;
514                 };
515                 i2c0clk: i2c0clk@48M {
516                         #clock-cells = <0>;
517                         compatible = "st,nomadik-src-clock";
518                         clock-id = <41>;
519                         clocks = <&clk48>;
520                 };
521                 i2c1clk: i2c1clk@48M {
522                         #clock-cells = <0>;
523                         compatible = "st,nomadik-src-clock";
524                         clock-id = <42>;
525                         clocks = <&clk48>;
526                 };
527                 uart1clk: uart1clk@48M {
528                         #clock-cells = <0>;
529                         compatible = "st,nomadik-src-clock";
530                         clock-id = <43>;
531                         clocks = <&clk48>;
532                 };
533                 mspclk0: mspclk0@48M {
534                         #clock-cells = <0>;
535                         compatible = "st,nomadik-src-clock";
536                         clock-id = <44>;
537                         clocks = <&clk48>;
538                 };
539                 usbclk: usbclk@48M {
540                         #clock-cells = <0>;
541                         compatible = "st,nomadik-src-clock";
542                         clock-id = <45>;
543                         clocks = <&clk48>; /* 48 MHz not ULPI */
544                 };
545                 difclk: difclk@72M {
546                         #clock-cells = <0>;
547                         compatible = "st,nomadik-src-clock";
548                         clock-id = <46>;
549                         clocks = <&clk72>;
550                 };
551                 ipi2cclk: ipi2cclk@48M {
552                         #clock-cells = <0>;
553                         compatible = "st,nomadik-src-clock";
554                         clock-id = <47>;
555                         clocks = <&clk48>; /* Guess */
556                 };
557                 ipbmcclk: ipbmcclk@48M {
558                         #clock-cells = <0>;
559                         compatible = "st,nomadik-src-clock";
560                         clock-id = <48>;
561                         clocks = <&clk48>; /* Guess */
562                 };
563                 hsiclkrx: hsiclkrx@216M {
564                         #clock-cells = <0>;
565                         compatible = "st,nomadik-src-clock";
566                         clock-id = <49>;
567                         clocks = <&clk216>;
568                 };
569                 hsiclktx: hsiclktx@108M {
570                         #clock-cells = <0>;
571                         compatible = "st,nomadik-src-clock";
572                         clock-id = <50>;
573                         clocks = <&clk108>;
574                 };
575                 uart2clk: uart2clk@48M {
576                         #clock-cells = <0>;
577                         compatible = "st,nomadik-src-clock";
578                         clock-id = <51>;
579                         clocks = <&clk48>;
580                 };
581                 mspclk1: mspclk1@48M {
582                         #clock-cells = <0>;
583                         compatible = "st,nomadik-src-clock";
584                         clock-id = <52>;
585                         clocks = <&clk48>;
586                 };
587                 mspclk2: mspclk2@48M {
588                         #clock-cells = <0>;
589                         compatible = "st,nomadik-src-clock";
590                         clock-id = <53>;
591                         clocks = <&clk48>;
592                 };
593                 owmclk: owmclk@48M {
594                         #clock-cells = <0>;
595                         compatible = "st,nomadik-src-clock";
596                         clock-id = <54>;
597                         clocks = <&clk48>; /* Guess */
598                 };
599                 skeclk: skeclk@48M {
600                         #clock-cells = <0>;
601                         compatible = "st,nomadik-src-clock";
602                         clock-id = <56>;
603                         clocks = <&clk48>; /* Guess */
604                 };
605                 x3dclk: x3dclk@48M {
606                         #clock-cells = <0>;
607                         compatible = "st,nomadik-src-clock";
608                         clock-id = <58>;
609                         clocks = <&clk48>; /* Guess */
610                 };
611                 pclkmsp3: pclkmsp3@48M {
612                         #clock-cells = <0>;
613                         compatible = "st,nomadik-src-clock";
614                         clock-id = <59>;
615                         clocks = <&pclk>;
616                 };
617                 mspclk3: mspclk3@48M {
618                         #clock-cells = <0>;
619                         compatible = "st,nomadik-src-clock";
620                         clock-id = <60>;
621                         clocks = <&clk48>;
622                 };
623                 mshcclk: mshcclk@48M {
624                         #clock-cells = <0>;
625                         compatible = "st,nomadik-src-clock";
626                         clock-id = <61>;
627                         clocks = <&clk48>; /* Guess */
628                 };
629                 usbmclk: usbmclk@48M {
630                         #clock-cells = <0>;
631                         compatible = "st,nomadik-src-clock";
632                         clock-id = <62>;
633                         /* Stated as "48 MHz not ULPI clock" */
634                         clocks = <&clk48>;
635                 };
636                 rngcclk: rngcclk@48M {
637                         #clock-cells = <0>;
638                         compatible = "st,nomadik-src-clock";
639                         clock-id = <63>;
640                         clocks = <&clk48>; /* Guess */
641                 };
642         };
643
644         /* A NAND flash of 128 MiB */
645         fsmc: flash@40000000 {
646                 compatible = "stericsson,fsmc-nand";
647                 #address-cells = <1>;
648                 #size-cells = <1>;
649                 reg = <0x10100000 0x1000>,      /* FSMC Register*/
650                         <0x40000000 0x2000>,    /* NAND Base DATA */
651                         <0x41000000 0x2000>,    /* NAND Base ADDR */
652                         <0x40800000 0x2000>;    /* NAND Base CMD */
653                 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
654                 clocks = <&hclksmc>;
655                 status = "okay";
656                 timings = /bits/ 8 <0 0 0 0x10 0x0a 0>;
657
658                 partition@0 {
659                 label = "X-Loader(NAND)";
660                         reg = <0x0 0x40000>;
661                 };
662                 partition@40000 {
663                         label = "MemInit(NAND)";
664                         reg = <0x40000 0x40000>;
665                 };
666                 partition@80000 {
667                         label = "BootLoader(NAND)";
668                         reg = <0x80000 0x200000>;
669                 };
670                 partition@280000 {
671                         label = "Kernel zImage(NAND)";
672                         reg = <0x280000 0x300000>;
673                 };
674                 partition@580000 {
675                         label = "Root Filesystem(NAND)";
676                         reg = <0x580000 0x1600000>;
677                 };
678                 partition@1b80000 {
679                         label = "User Filesystem(NAND)";
680                         reg = <0x1b80000 0x6480000>;
681                 };
682         };
683
684         external-bus@34000000 {
685                 compatible = "simple-bus";
686                 reg = <0x34000000 0x1000000>;
687                 #address-cells = <1>;
688                 #size-cells = <1>;
689                 ranges = <0 0x34000000 0x1000000>;
690                 ethernet@300 {
691                         compatible = "smsc,lan91c111";
692                         reg = <0x300 0x0fd00>;
693                 };
694         };
695
696         /* I2C0 connected to the STw4811 power management chip */
697         i2c0 {
698                 compatible = "st,nomadik-i2c", "arm,primecell";
699                 reg = <0x101f8000 0x1000>;
700                 interrupt-parent = <&vica>;
701                 interrupts = <20>;
702                 clock-frequency = <100000>;
703                 #address-cells = <1>;
704                 #size-cells = <0>;
705                 clocks = <&i2c0clk>, <&pclki2c0>;
706                 clock-names = "mclk", "apb_pclk";
707                 pinctrl-names = "default";
708                 pinctrl-0 = <&i2c0_default_mux>, <&i2c0_default_mode>;
709
710                 stw4811@2d {
711                         compatible = "st,stw4811";
712                         reg = <0x2d>;
713                         vmmc_regulator: vmmc {
714                                 compatible = "st,stw481x-vmmc";
715                                 regulator-name = "VMMC";
716                                 regulator-min-microvolt = <1800000>;
717                                 regulator-max-microvolt = <3300000>;
718                         };
719                 };
720         };
721
722         /* I2C1 connected to various sensors */
723         i2c1 {
724                 compatible = "st,nomadik-i2c", "arm,primecell";
725                 reg = <0x101f7000 0x1000>;
726                 interrupt-parent = <&vica>;
727                 interrupts = <21>;
728                 clock-frequency = <100000>;
729                 #address-cells = <1>;
730                 #size-cells = <0>;
731                 clocks = <&i2c1clk>, <&pclki2c1>;
732                 clock-names = "mclk", "apb_pclk";
733                 pinctrl-names = "default";
734                 pinctrl-0 = <&i2c1_default_mux>, <&i2c1_default_mode>;
735
736                 camera@2d {
737                            compatible = "st,camera";
738                            reg = <0x10>;
739                 };
740                 stw5095@1a {
741                            compatible = "st,stw5095";
742                            reg = <0x1a>;
743                 };
744                 lis3lv02dl@1d {
745                            compatible = "st,lis3lv02dl";
746                            reg = <0x1d>;
747                 };
748         };
749
750         /* I2C2 connected to the USB portions of the STw4811 only */
751         i2c2 {
752                 compatible = "i2c-gpio";
753                 gpios = <&gpio2 10 0>, /* sda */
754                         <&gpio2 9 0>; /* scl */
755                 #address-cells = <1>;
756                 #size-cells = <0>;
757                 pinctrl-names = "default";
758                 pinctrl-0 = <&i2c2_default_mode>;
759
760                 stw4811@2d {
761                            compatible = "st,stw4811-usb";
762                            reg = <0x2d>;
763                 };
764         };
765
766         amba {
767                 compatible = "arm,amba-bus";
768                 #address-cells = <1>;
769                 #size-cells = <1>;
770                 ranges;
771
772                 vica: intc@0x10140000 {
773                         compatible = "arm,versatile-vic";
774                         interrupt-controller;
775                         #interrupt-cells = <1>;
776                         reg = <0x10140000 0x20>;
777                 };
778
779                 vicb: intc@0x10140020 {
780                         compatible = "arm,versatile-vic";
781                         interrupt-controller;
782                         #interrupt-cells = <1>;
783                         reg = <0x10140020 0x20>;
784                 };
785
786                 uart0: uart@101fd000 {
787                         compatible = "arm,pl011", "arm,primecell";
788                         reg = <0x101fd000 0x1000>;
789                         interrupt-parent = <&vica>;
790                         interrupts = <12>;
791                         clocks = <&uart0clk>, <&pclkuart0>;
792                         clock-names = "uartclk", "apb_pclk";
793                         pinctrl-names = "default";
794                         pinctrl-0 = <&uart0_default_mux>;
795                 };
796
797                 uart1: uart@101fb000 {
798                         compatible = "arm,pl011", "arm,primecell";
799                         reg = <0x101fb000 0x1000>;
800                         interrupt-parent = <&vica>;
801                         interrupts = <17>;
802                         clocks = <&uart1clk>, <&pclkuart1>;
803                         clock-names = "uartclk", "apb_pclk";
804                         pinctrl-names = "default";
805                         pinctrl-0 = <&uart1_default_mux>;
806                 };
807
808                 uart2: uart@101f2000 {
809                         compatible = "arm,pl011", "arm,primecell";
810                         reg = <0x101f2000 0x1000>;
811                         interrupt-parent = <&vica>;
812                         interrupts = <28>;
813                         clocks = <&uart2clk>, <&pclkuart2>;
814                         clock-names = "uartclk", "apb_pclk";
815                         status = "disabled";
816                 };
817
818                 rng: rng@101b0000 {
819                         compatible = "arm,primecell";
820                         reg = <0x101b0000 0x1000>;
821                         clocks = <&rngcclk>, <&hclkrng>;
822                         clock-names = "rng", "apb_pclk";
823                 };
824
825                 rtc: rtc@101e8000 {
826                         compatible = "arm,pl031", "arm,primecell";
827                         reg = <0x101e8000 0x1000>;
828                         clocks = <&pclk>;
829                         clock-names = "apb_pclk";
830                         interrupt-parent = <&vica>;
831                         interrupts = <10>;
832                 };
833
834                 mmcsd: sdi@101f6000 {
835                         compatible = "arm,pl18x", "arm,primecell";
836                         reg = <0x101f6000 0x1000>;
837                         clocks = <&sdiclk>, <&pclksdi>;
838                         clock-names = "mclk", "apb_pclk";
839                         interrupt-parent = <&vica>;
840                         interrupts = <22>;
841                         max-frequency = <48000000>;
842                         bus-width = <4>;
843                         mmc-cap-mmc-highspeed;
844                         mmc-cap-sd-highspeed;
845                         cd-gpios = <&gpio3 15 0x1>;
846                         cd-inverted;
847                         pinctrl-names = "default";
848                         pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>;
849                         vmmc-supply = <&vmmc_regulator>;
850                 };
851         };
852 };