Linux 3.16-rc2
[linux/fpc-iii.git] / arch / arc / boot / dts / abilis_tb101.dtsi
blobb0467229a5c45e9c10eb1cc2884b84b33ef2e603
1 /*
2  * Abilis Systems TB101 SOC device tree
3  *
4  * Copyright (C) Abilis Systems 2013
5  *
6  * Author: Christian Ruppert <christian.ruppert@abilis.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20  */
22 /include/ "abilis_tb10x.dtsi"
25 / {
26         clock-frequency         = <500000000>;  /* 500 MHZ */
28         soc100 {
29                 bus-frequency   = <166666666>;
31                 pll0: oscillator {
32                         clock-frequency  = <1000000000>;
33                 };
34                 cpu_clk: clkdiv_cpu {
35                         clock-mult = <1>;
36                         clock-div = <2>;
37                 };
38                 ahb_clk: clkdiv_ahb {
39                         clock-mult = <1>;
40                         clock-div = <6>;
41                 };
43                 iomux: iomux@FF10601c {
44                         /* Port 1 */
45                         pctl_tsin_s0: pctl-tsin-s0 {   /* Serial TS-in 0 */
46                                 abilis,function = "mis0";
47                         };
48                         pctl_tsin_s1: pctl-tsin-s1 {   /* Serial TS-in 1 */
49                                 abilis,function = "mis1";
50                         };
51                         pctl_gpio_a: pctl-gpio-a {     /* GPIO bank A */
52                                 abilis,function = "gpioa";
53                         };
54                         pctl_tsin_p1: pctl-tsin-p1 {   /* Parallel TS-in 1 */
55                                 abilis,function = "mip1";
56                         };
57                         /* Port 2 */
58                         pctl_tsin_s2: pctl-tsin-s2 {   /* Serial TS-in 2 */
59                                 abilis,function = "mis2";
60                         };
61                         pctl_tsin_s3: pctl-tsin-s3 {   /* Serial TS-in 3 */
62                                 abilis,function = "mis3";
63                         };
64                         pctl_gpio_c: pctl-gpio-c {     /* GPIO bank C */
65                                 abilis,function = "gpioc";
66                         };
67                         pctl_tsin_p3: pctl-tsin-p3 {   /* Parallel TS-in 3 */
68                                 abilis,function = "mip3";
69                         };
70                         /* Port 3 */
71                         pctl_tsin_s4: pctl-tsin-s4 {   /* Serial TS-in 4 */
72                                 abilis,function = "mis4";
73                         };
74                         pctl_tsin_s5: pctl-tsin-s5 {   /* Serial TS-in 5 */
75                                 abilis,function = "mis5";
76                         };
77                         pctl_gpio_e: pctl-gpio-e {     /* GPIO bank E */
78                                 abilis,function = "gpioe";
79                         };
80                         pctl_tsin_p5: pctl-tsin-p5 {   /* Parallel TS-in 5 */
81                                 abilis,function = "mip5";
82                         };
83                         /* Port 4 */
84                         pctl_tsin_s6: pctl-tsin-s6 {   /* Serial TS-in 6 */
85                                 abilis,function = "mis6";
86                         };
87                         pctl_tsin_s7: pctl-tsin-s7 {   /* Serial TS-in 7 */
88                                 abilis,function = "mis7";
89                         };
90                         pctl_gpio_g: pctl-gpio-g {     /* GPIO bank G */
91                                 abilis,function = "gpiog";
92                         };
93                         pctl_tsin_p7: pctl-tsin-p7 {   /* Parallel TS-in 7 */
94                                 abilis,function = "mip7";
95                         };
96                         /* Port 5 */
97                         pctl_gpio_j: pctl-gpio-j {     /* GPIO bank J */
98                                 abilis,function = "gpioj";
99                         };
100                         pctl_gpio_k: pctl-gpio-k {     /* GPIO bank K */
101                                 abilis,function = "gpiok";
102                         };
103                         pctl_ciplus: pctl-ciplus {     /* CI+ interface */
104                                 abilis,function = "ciplus";
105                         };
106                         pctl_mcard: pctl-mcard {       /* M-Card interface */
107                                 abilis,function = "mcard";
108                         };
109                         pctl_stc0: pctl-stc0 {         /* Smart card I/F 0 */
110                                 abilis,function = "stc0";
111                         };
112                         pctl_stc1: pctl-stc1 {         /* Smart card I/F 1 */
113                                 abilis,function = "stc1";
114                         };
115                         /* Port 6 */
116                         pctl_tsout_p: pctl-tsout-p {   /* Parallel TS-out */
117                                 abilis,function = "mop";
118                         };
119                         pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
120                                 abilis,function = "mos0";
121                         };
122                         pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
123                                 abilis,function = "mos1";
124                         };
125                         pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
126                                 abilis,function = "mos2";
127                         };
128                         pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
129                                 abilis,function = "mos3";
130                         };
131                         /* Port 7 */
132                         pctl_uart0: pctl-uart0 {       /* UART 0 */
133                                 abilis,function = "uart0";
134                         };
135                         pctl_uart1: pctl-uart1 {       /* UART 1 */
136                                 abilis,function = "uart1";
137                         };
138                         pctl_gpio_l: pctl-gpio-l {     /* GPIO bank L */
139                                 abilis,function = "gpiol";
140                         };
141                         pctl_gpio_m: pctl-gpio-m {     /* GPIO bank M */
142                                 abilis,function = "gpiom";
143                         };
144                         /* Port 8 */
145                         pctl_spi3: pctl-spi3 {
146                                 abilis,function = "spi3";
147                         };
148                         pctl_jtag: pctl-jtag {
149                                 abilis,function = "jtag";
150                         };
151                         /* Port 9 */
152                         pctl_spi1: pctl-spi1 {
153                                 abilis,function = "spi1";
154                         };
155                         pctl_gpio_n: pctl-gpio-n {
156                                 abilis,function = "gpion";
157                         };
158                         /* Unmuxed GPIOs */
159                         pctl_gpio_b: pctl-gpio-b {
160                                 abilis,function = "gpiob";
161                         };
162                         pctl_gpio_d: pctl-gpio-d {
163                                 abilis,function = "gpiod";
164                         };
165                         pctl_gpio_f: pctl-gpio-f {
166                                 abilis,function = "gpiof";
167                         };
168                         pctl_gpio_h: pctl-gpio-h {
169                                 abilis,function = "gpioh";
170                         };
171                         pctl_gpio_i: pctl-gpio-i {
172                                 abilis,function = "gpioi";
173                         };
174                 };
176                 gpioa: gpio@FF140000 {
177                         compatible = "abilis,tb10x-gpio";
178                         interrupt-controller;
179                         #interrupt-cells = <1>;
180                         interrupt-parent = <&tb10x_ictl>;
181                         interrupts = <27 2>;
182                         reg = <0xFF140000 0x1000>;
183                         gpio-controller;
184                         #gpio-cells = <2>;
185                         abilis,ngpio = <3>;
186                         gpio-ranges = <&iomux 0 0 0>;
187                         gpio-ranges-group-names = "gpioa";
188                 };
189                 gpiob: gpio@FF141000 {
190                         compatible = "abilis,tb10x-gpio";
191                         interrupt-controller;
192                         #interrupt-cells = <1>;
193                         interrupt-parent = <&tb10x_ictl>;
194                         interrupts = <27 2>;
195                         reg = <0xFF141000 0x1000>;
196                         gpio-controller;
197                         #gpio-cells = <2>;
198                         abilis,ngpio = <2>;
199                         gpio-ranges = <&iomux 0 0 0>;
200                         gpio-ranges-group-names = "gpiob";
201                 };
202                 gpioc: gpio@FF142000 {
203                         compatible = "abilis,tb10x-gpio";
204                         interrupt-controller;
205                         #interrupt-cells = <1>;
206                         interrupt-parent = <&tb10x_ictl>;
207                         interrupts = <27 2>;
208                         reg = <0xFF142000 0x1000>;
209                         gpio-controller;
210                         #gpio-cells = <2>;
211                         abilis,ngpio = <3>;
212                         gpio-ranges = <&iomux 0 0 0>;
213                         gpio-ranges-group-names = "gpioc";
214                 };
215                 gpiod: gpio@FF143000 {
216                         compatible = "abilis,tb10x-gpio";
217                         interrupt-controller;
218                         #interrupt-cells = <1>;
219                         interrupt-parent = <&tb10x_ictl>;
220                         interrupts = <27 2>;
221                         reg = <0xFF143000 0x1000>;
222                         gpio-controller;
223                         #gpio-cells = <2>;
224                         abilis,ngpio = <2>;
225                         gpio-ranges = <&iomux 0 0 0>;
226                         gpio-ranges-group-names = "gpiod";
227                 };
228                 gpioe: gpio@FF144000 {
229                         compatible = "abilis,tb10x-gpio";
230                         interrupt-controller;
231                         #interrupt-cells = <1>;
232                         interrupt-parent = <&tb10x_ictl>;
233                         interrupts = <27 2>;
234                         reg = <0xFF144000 0x1000>;
235                         gpio-controller;
236                         #gpio-cells = <2>;
237                         abilis,ngpio = <3>;
238                         gpio-ranges = <&iomux 0 0 0>;
239                         gpio-ranges-group-names = "gpioe";
240                 };
241                 gpiof: gpio@FF145000 {
242                         compatible = "abilis,tb10x-gpio";
243                         interrupt-controller;
244                         #interrupt-cells = <1>;
245                         interrupt-parent = <&tb10x_ictl>;
246                         interrupts = <27 2>;
247                         reg = <0xFF145000 0x1000>;
248                         gpio-controller;
249                         #gpio-cells = <2>;
250                         abilis,ngpio = <2>;
251                         gpio-ranges = <&iomux 0 0 0>;
252                         gpio-ranges-group-names = "gpiof";
253                 };
254                 gpiog: gpio@FF146000 {
255                         compatible = "abilis,tb10x-gpio";
256                         interrupt-controller;
257                         #interrupt-cells = <1>;
258                         interrupt-parent = <&tb10x_ictl>;
259                         interrupts = <27 2>;
260                         reg = <0xFF146000 0x1000>;
261                         gpio-controller;
262                         #gpio-cells = <2>;
263                         abilis,ngpio = <3>;
264                         gpio-ranges = <&iomux 0 0 0>;
265                         gpio-ranges-group-names = "gpiog";
266                 };
267                 gpioh: gpio@FF147000 {
268                         compatible = "abilis,tb10x-gpio";
269                         interrupt-controller;
270                         #interrupt-cells = <1>;
271                         interrupt-parent = <&tb10x_ictl>;
272                         interrupts = <27 2>;
273                         reg = <0xFF147000 0x1000>;
274                         gpio-controller;
275                         #gpio-cells = <2>;
276                         abilis,ngpio = <2>;
277                         gpio-ranges = <&iomux 0 0 0>;
278                         gpio-ranges-group-names = "gpioh";
279                 };
280                 gpioi: gpio@FF148000 {
281                         compatible = "abilis,tb10x-gpio";
282                         interrupt-controller;
283                         #interrupt-cells = <1>;
284                         interrupt-parent = <&tb10x_ictl>;
285                         interrupts = <27 2>;
286                         reg = <0xFF148000 0x1000>;
287                         gpio-controller;
288                         #gpio-cells = <2>;
289                         abilis,ngpio = <12>;
290                         gpio-ranges = <&iomux 0 0 0>;
291                         gpio-ranges-group-names = "gpioi";
292                 };
293                 gpioj: gpio@FF149000 {
294                         compatible = "abilis,tb10x-gpio";
295                         interrupt-controller;
296                         #interrupt-cells = <1>;
297                         interrupt-parent = <&tb10x_ictl>;
298                         interrupts = <27 2>;
299                         reg = <0xFF149000 0x1000>;
300                         gpio-controller;
301                         #gpio-cells = <2>;
302                         abilis,ngpio = <32>;
303                         gpio-ranges = <&iomux 0 0 0>;
304                         gpio-ranges-group-names = "gpioj";
305                 };
306                 gpiok: gpio@FF14a000 {
307                         compatible = "abilis,tb10x-gpio";
308                         interrupt-controller;
309                         #interrupt-cells = <1>;
310                         interrupt-parent = <&tb10x_ictl>;
311                         interrupts = <27 2>;
312                         reg = <0xFF14A000 0x1000>;
313                         gpio-controller;
314                         #gpio-cells = <2>;
315                         abilis,ngpio = <22>;
316                         gpio-ranges = <&iomux 0 0 0>;
317                         gpio-ranges-group-names = "gpiok";
318                 };
319                 gpiol: gpio@FF14b000 {
320                         compatible = "abilis,tb10x-gpio";
321                         interrupt-controller;
322                         #interrupt-cells = <1>;
323                         interrupt-parent = <&tb10x_ictl>;
324                         interrupts = <27 2>;
325                         reg = <0xFF14B000 0x1000>;
326                         gpio-controller;
327                         #gpio-cells = <2>;
328                         abilis,ngpio = <4>;
329                         gpio-ranges = <&iomux 0 0 0>;
330                         gpio-ranges-group-names = "gpiol";
331                 };
332                 gpiom: gpio@FF14c000 {
333                         compatible = "abilis,tb10x-gpio";
334                         interrupt-controller;
335                         #interrupt-cells = <1>;
336                         interrupt-parent = <&tb10x_ictl>;
337                         interrupts = <27 2>;
338                         reg = <0xFF14C000 0x1000>;
339                         gpio-controller;
340                         #gpio-cells = <2>;
341                         abilis,ngpio = <4>;
342                         gpio-ranges = <&iomux 0 0 0>;
343                         gpio-ranges-group-names = "gpiom";
344                 };
345                 gpion: gpio@FF14d000 {
346                         compatible = "abilis,tb10x-gpio";
347                         interrupt-controller;
348                         #interrupt-cells = <1>;
349                         interrupt-parent = <&tb10x_ictl>;
350                         interrupts = <27 2>;
351                         reg = <0xFF14D000 0x1000>;
352                         gpio-controller;
353                         #gpio-cells = <2>;
354                         abilis,ngpio = <5>;
355                         gpio-ranges = <&iomux 0 0 0>;
356                         gpio-ranges-group-names = "gpion";
357                 };
358         };