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