]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/ste-u300.dts
Merge tag 'powerpc-4.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[karo-tx-linux.git] / arch / arm / boot / dts / ste-u300.dts
1 /*
2  * Device Tree for the ST-Ericsson U300 Machine and SoC
3  */
4
5 /dts-v1/;
6 /include/ "skeleton.dtsi"
7
8 / {
9         model = "ST-Ericsson U300";
10         compatible = "stericsson,u300";
11         #address-cells = <1>;
12         #size-cells = <1>;
13
14         chosen {
15                 bootargs = "root=/dev/ram0 console=ttyAMA0,115200n8 earlyprintk";
16         };
17
18         aliases {
19                 serial0 = &uart0;
20                 serial1 = &uart1;
21         };
22
23         memory {
24                 reg = <0x48000000 0x03c00000>;
25         };
26
27         s365 {
28                 compatible = "stericsson,s365";
29                 vana15-supply = <&ab3100_ldo_d_reg>;
30                 syscon = <&syscon>;
31         };
32
33         syscon: syscon@c0011000 {
34                 compatible = "stericsson,u300-syscon", "syscon";
35                 reg = <0xc0011000 0x1000>;
36                 clk32: app_32_clk@32k {
37                         #clock-cells = <0>;
38                         compatible = "fixed-clock";
39                         clock-frequency = <32768>;
40                 };
41                 pll13: pll13@13M {
42                         #clock-cells = <0>;
43                         compatible = "fixed-clock";
44                         clock-frequency = <13000000>;
45                 };
46                 /* Slow bridge clocks under PLL13 */
47                 slow_clk: slow_clk@13M {
48                         #clock-cells = <0>;
49                         compatible = "stericsson,u300-syscon-clk";
50                         clock-type = <0>; /* Slow */
51                         clock-id = <0>;
52                         clocks = <&pll13>;
53                 };
54                 uart0_clk: uart0_clk@13M {
55                         #clock-cells = <0>;
56                         compatible = "stericsson,u300-syscon-clk";
57                         clock-type = <0>; /* Slow */
58                         clock-id = <1>;
59                         clocks = <&slow_clk>;
60                 };
61                 gpio_clk: gpio_clk@13M {
62                         #clock-cells = <0>;
63                         compatible = "stericsson,u300-syscon-clk";
64                         clock-type = <0>; /* Slow */
65                         clock-id = <4>;
66                         clocks = <&slow_clk>;
67                 };
68                 rtc_clk: rtc_clk@13M {
69                         #clock-cells = <0>;
70                         compatible = "stericsson,u300-syscon-clk";
71                         clock-type = <0>; /* Slow */
72                         clock-id = <6>;
73                         clocks = <&slow_clk>;
74                 };
75                 apptimer_clk: app_tmr_clk@13M {
76                         #clock-cells = <0>;
77                         compatible = "stericsson,u300-syscon-clk";
78                         clock-type = <0>; /* Slow */
79                         clock-id = <7>;
80                         clocks = <&slow_clk>;
81                 };
82                 acc_tmr_clk@13M {
83                         #clock-cells = <0>;
84                         compatible = "stericsson,u300-syscon-clk";
85                         clock-type = <0>; /* Slow */
86                         clock-id = <8>;
87                         clocks = <&slow_clk>;
88                 };
89                 pll208: pll208@208M {
90                         #clock-cells = <0>;
91                         compatible = "fixed-clock";
92                         clock-frequency = <208000000>;
93                 };
94                 app208: app_208_clk@208M {
95                         #clock-cells = <0>;
96                         compatible = "fixed-factor-clock";
97                         clock-div = <1>;
98                         clock-mult = <1>;
99                         clocks = <&pll208>;
100                 };
101                 cpu_clk@208M {
102                         #clock-cells = <0>;
103                         compatible = "stericsson,u300-syscon-clk";
104                         clock-type = <2>; /* Rest */
105                         clock-id = <3>;
106                         clocks = <&app208>;
107                 };
108                 app104: app_104_clk@104M {
109                         #clock-cells = <0>;
110                         compatible = "fixed-factor-clock";
111                         clock-div = <2>;
112                         clock-mult = <1>;
113                         clocks = <&pll208>;
114                 };
115                 semi_clk@104M {
116                         #clock-cells = <0>;
117                         compatible = "stericsson,u300-syscon-clk";
118                         clock-type = <2>; /* Rest */
119                         clock-id = <9>;
120                         clocks = <&app104>;
121                 };
122                 app52: app_52_clk@52M {
123                         #clock-cells = <0>;
124                         compatible = "fixed-factor-clock";
125                         clock-div = <4>;
126                         clock-mult = <1>;
127                         clocks = <&pll208>;
128                 };
129                 /* AHB subsystem clocks */
130                 ahb_clk: ahb_subsys_clk@52M {
131                         #clock-cells = <0>;
132                         compatible = "stericsson,u300-syscon-clk";
133                         clock-type = <2>; /* Rest */
134                         clock-id = <10>;
135                         clocks = <&app52>;
136                 };
137                 intcon_clk@52M {
138                         #clock-cells = <0>;
139                         compatible = "stericsson,u300-syscon-clk";
140                         clock-type = <2>; /* Rest */
141                         clock-id = <12>;
142                         clocks = <&ahb_clk>;
143                 };
144                 emif_clk@52M {
145                         #clock-cells = <0>;
146                         compatible = "stericsson,u300-syscon-clk";
147                         clock-type = <2>; /* Rest */
148                         clock-id = <5>;
149                         clocks = <&ahb_clk>;
150                 };
151                 dmac_clk: dmac_clk@52M {
152                         #clock-cells = <0>;
153                         compatible = "stericsson,u300-syscon-clk";
154                         clock-type = <2>; /* Rest */
155                         clock-id = <4>;
156                         clocks = <&app52>;
157                 };
158                 fsmc_clk: fsmc_clk@52M {
159                         #clock-cells = <0>;
160                         compatible = "stericsson,u300-syscon-clk";
161                         clock-type = <2>; /* Rest */
162                         clock-id = <6>;
163                         clocks = <&app52>;
164                 };
165                 xgam_clk: xgam_clk@52M {
166                         #clock-cells = <0>;
167                         compatible = "stericsson,u300-syscon-clk";
168                         clock-type = <2>; /* Rest */
169                         clock-id = <8>;
170                         clocks = <&app52>;
171                 };
172                 app26: app_26_clk@26M {
173                         #clock-cells = <0>;
174                         compatible = "fixed-factor-clock";
175                         clock-div = <2>;
176                         clock-mult = <1>;
177                         clocks = <&app52>;
178                 };
179                 /* Fast bridge  clocks */
180                 fast_clk: fast_clk@26M {
181                         #clock-cells = <0>;
182                         compatible = "stericsson,u300-syscon-clk";
183                         clock-type = <1>; /* Fast */
184                         clock-id = <0>;
185                         clocks = <&app26>;
186                 };
187                 i2c0_clk: i2c0_clk@26M {
188                         #clock-cells = <0>;
189                         compatible = "stericsson,u300-syscon-clk";
190                         clock-type = <1>; /* Fast */
191                         clock-id = <1>;
192                         clocks = <&fast_clk>;
193                 };
194                 i2c1_clk: i2c1_clk@26M {
195                         #clock-cells = <0>;
196                         compatible = "stericsson,u300-syscon-clk";
197                         clock-type = <1>; /* Fast */
198                         clock-id = <2>;
199                         clocks = <&fast_clk>;
200                 };
201                 mmc_pclk: mmc_p_clk@26M {
202                         #clock-cells = <0>;
203                         compatible = "stericsson,u300-syscon-clk";
204                         clock-type = <1>; /* Fast */
205                         clock-id = <5>;
206                         clocks = <&fast_clk>;
207                 };
208                 mmc_mclk: mmc_mclk {
209                         #clock-cells = <0>;
210                         compatible = "stericsson,u300-syscon-mclk";
211                         clocks = <&mmc_pclk>;
212                 };
213                 spi_clk: spi_p_clk@26M {
214                         #clock-cells = <0>;
215                         compatible = "stericsson,u300-syscon-clk";
216                         clock-type = <1>; /* Fast */
217                         clock-id = <6>;
218                         clocks = <&fast_clk>;
219                 };
220         };
221
222         timer: timer@c0014000 {
223                 compatible = "stericsson,u300-apptimer";
224                 reg = <0xc0014000 0x1000>;
225                 interrupt-parent = <&vica>;
226                 interrupts = <24 25 26 27>;
227                 clocks = <&apptimer_clk>;
228         };
229
230         gpio: gpio@c0016000 {
231                 compatible = "stericsson,gpio-coh901";
232                 reg = <0xc0016000 0x1000>;
233                 interrupt-parent = <&vicb>;
234                 interrupts = <0 1 2 18 21 22 23>;
235                 clocks = <&gpio_clk>;
236                 interrupt-names = "gpio0", "gpio1", "gpio2", "gpio3",
237                                 "gpio4", "gpio5", "gpio6";
238                 interrupt-controller;
239                 #interrupt-cells = <2>;
240                 gpio-controller;
241                 #gpio-cells = <2>;
242         };
243
244         pinctrl: pinctrl@c0011000 {
245                 compatible = "stericsson,pinctrl-u300";
246                 reg = <0xc0011000 0x1000>;
247         };
248
249         watchdog: watchdog@c0012000 {
250                 compatible = "stericsson,coh901327";
251                 reg = <0xc0012000 0x1000>;
252                 interrupt-parent = <&vicb>;
253                 interrupts = <3>;
254                 clocks = <&clk32>;
255         };
256
257         rtc: rtc@c0017000 {
258                 compatible = "stericsson,coh901331";
259                 reg = <0xc0017000 0x1000>;
260                 interrupt-parent = <&vicb>;
261                 interrupts = <10>;
262                 clocks = <&rtc_clk>;
263         };
264
265         dmac: dma-controller@c00020000 {
266                 compatible = "stericsson,coh901318";
267                 reg = <0xc0020000 0x1000>;
268                 interrupt-parent = <&vica>;
269                 interrupts = <2>;
270                 #dma-cells = <1>;
271                 dma-channels = <40>;
272                 clocks = <&dmac_clk>;
273         };
274
275         /* A NAND flash of 128 MiB */
276         fsmc: flash@40000000 {
277                 compatible = "stericsson,fsmc-nand";
278                 #address-cells = <1>;
279                 #size-cells = <1>;
280                 reg = <0x9f800000 0x1000>,      /* FSMC Register*/
281                         <0x80000000 0x4000>,    /* NAND Base DATA */
282                         <0x80020000 0x4000>,    /* NAND Base ADDR */
283                         <0x80010000 0x4000>;    /* NAND Base CMD */
284                 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
285                 nand-skip-bbtscan;
286                 clocks = <&fsmc_clk>;
287
288                 partition@0 {
289                 label = "boot records";
290                         reg = <0x0 0x20000>;
291                 };
292                 partition@20000 {
293                         label = "free";
294                         reg = <0x20000 0x7e0000>;
295                 };
296                 partition@800000 {
297                         label = "platform";
298                         reg = <0x800000 0xf800000>;
299                 };
300         };
301
302         i2c0: i2c@c0004000 {
303                 compatible = "st,ddci2c";
304                 reg = <0xc0004000 0x1000>;
305                 interrupt-parent = <&vicb>;
306                 interrupts = <8>;
307                 clocks = <&i2c0_clk>;
308                 #address-cells = <1>;
309                 #size-cells = <0>;
310                 ab3100: ab3100@48 {
311                         compatible = "stericsson,ab3100";
312                         reg = <0x48>;
313                         interrupt-parent = <&vica>;
314                         interrupts = <0>; /* EXT0 IRQ */
315                         ab3100-regulators {
316                                 compatible = "stericsson,ab3100-regulators";
317                                 ab3100_ldo_a_reg: ab3100_ldo_a {
318                                         startup-delay-us = <200>;
319                                         regulator-always-on;
320                                         regulator-boot-on;
321                                 };
322                                 ab3100_ldo_c_reg: ab3100_ldo_c {
323                                         startup-delay-us = <200>;
324                                 };
325                                 ab3100_ldo_d_reg: ab3100_ldo_d {
326                                         startup-delay-us = <200>;
327                                 };
328                                 ab3100_ldo_e_reg: ab3100_ldo_e {
329                                         regulator-min-microvolt = <1800000>;
330                                         regulator-max-microvolt = <1800000>;
331                                         startup-delay-us = <200>;
332                                         regulator-always-on;
333                                         regulator-boot-on;
334                                 };
335                                 ab3100_ldo_f_reg: ab3100_ldo_f {
336                                         regulator-min-microvolt = <2500000>;
337                                         regulator-max-microvolt = <2500000>;
338                                         startup-delay-us = <600>;
339                                         regulator-always-on;
340                                         regulator-boot-on;
341                                 };
342                                 ab3100_ldo_g_reg: ab3100_ldo_g {
343                                         regulator-min-microvolt = <1500000>;
344                                         regulator-max-microvolt = <2850000>;
345                                         startup-delay-us = <400>;
346                                 };
347                                 ab3100_ldo_h_reg: ab3100_ldo_h {
348                                         regulator-min-microvolt = <1200000>;
349                                         regulator-max-microvolt = <2750000>;
350                                         startup-delay-us = <200>;
351                                 };
352                                 ab3100_ldo_k_reg: ab3100_ldo_k {
353                                         regulator-min-microvolt = <1800000>;
354                                         regulator-max-microvolt = <2750000>;
355                                         startup-delay-us = <200>;
356                                 };
357                                 ab3100_ext_reg: ab3100_ext {
358                                 };
359                                 ab3100_buck_reg: ab3100_buck {
360                                         regulator-min-microvolt = <1200000>;
361                                         regulator-max-microvolt = <1800000>;
362                                         startup-delay-us = <1000>;
363                                         regulator-always-on;
364                                         regulator-boot-on;
365                                 };
366                         };
367                 };
368         };
369
370         i2c1: i2c@c0005000 {
371                 compatible = "st,ddci2c";
372                 reg = <0xc0005000 0x1000>;
373                 interrupt-parent = <&vicb>;
374                 interrupts = <9>;
375                 clocks = <&i2c1_clk>;
376                 #address-cells = <1>;
377                 #size-cells = <0>;
378                 fwcam0: fwcam@10 {
379                         reg = <0x10>;
380                 };
381                 fwcam1: fwcam@5d {
382                         reg = <0x5d>;
383                 };
384         };
385
386         amba {
387                 compatible = "arm,amba-bus";
388                 #address-cells = <1>;
389                 #size-cells = <1>;
390                 ranges;
391
392                 vica: interrupt-controller@a0001000 {
393                         compatible = "arm,versatile-vic";
394                         interrupt-controller;
395                         #interrupt-cells = <1>;
396                         reg = <0xa0001000 0x20>;
397                 };
398
399                 vicb: interrupt-controller@a0002000 {
400                         compatible = "arm,versatile-vic";
401                         interrupt-controller;
402                         #interrupt-cells = <1>;
403                         reg = <0xa0002000 0x20>;
404                 };
405
406                 uart0: serial@c0013000 {
407                         compatible = "arm,pl011", "arm,primecell";
408                         reg = <0xc0013000 0x1000>;
409                         interrupt-parent = <&vica>;
410                         interrupts = <22>;
411                         clocks = <&uart0_clk>, <&uart0_clk>;
412                         clock-names = "apb_pclk", "uart0_clk";
413                         dmas = <&dmac 17 &dmac 18>;
414                         dma-names = "tx", "rx";
415                 };
416
417                 uart1: serial@c0007000 {
418                         compatible = "arm,pl011", "arm,primecell";
419                         reg = <0xc0007000 0x1000>;
420                         interrupt-parent = <&vicb>;
421                         interrupts = <20>;
422                         dmas = <&dmac 38 &dmac 39>;
423                         dma-names = "tx", "rx";
424                 };
425
426                 mmcsd: mmcsd@c0001000 {
427                         compatible = "arm,pl18x", "arm,primecell";
428                         reg = <0xc0001000 0x1000>;
429                         interrupt-parent = <&vicb>;
430                         interrupts = <6 7>;
431                         clocks = <&mmc_pclk>, <&mmc_mclk>;
432                         clock-names = "apb_pclk", "mclk";
433                         max-frequency = <24000000>;
434                         bus-width = <4>; // SD-card slot
435                         cap-mmc-highspeed;
436                         cap-sd-highspeed;
437                         cd-gpios = <&gpio 12 0x4>;
438                         cd-inverted;
439                         vmmc-supply = <&ab3100_ldo_g_reg>;
440                         dmas = <&dmac 14>;
441                         dma-names = "rx";
442                 };
443
444                 spi: ssp@c0006000 {
445                         compatible = "arm,pl022", "arm,primecell";
446                         reg = <0xc0006000 0x1000>;
447                         interrupt-parent = <&vica>;
448                         interrupts = <23>;
449                         clocks = <&spi_clk>, <&spi_clk>;
450                         clock-names = "SSPCLK", "apb_pclk";
451                         dmas = <&dmac 27 &dmac 28>;
452                         dma-names = "tx", "rx";
453                         num-cs = <3>;
454                         #address-cells = <1>;
455                         #size-cells = <0>;
456                         spi-dummy@1 {
457                                 compatible = "arm,pl022-dummy";
458                                 reg = <1>;
459                                 spi-max-frequency = <20000000>;
460                         };
461                 };
462         };
463 };