aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arc
diff options
context:
space:
mode:
authorChristian Ruppert <christian.ruppert@abilis.com>2013-04-11 09:19:40 -0400
committerVineet Gupta <vgupta@synopsys.com>2013-05-07 04:13:58 -0400
commit2eb9504bcc1f164ac137cd12c5deeb1e21cc6b1b (patch)
treeb5e141cd18553eaa4a2504b62b50a78c7f476e93 /arch/arc
parenta37cdacc9bc339097a2c206aad449ca307d7fd63 (diff)
ARC: [TB10x] Device tree of TB100 and TB101 Development Kits
These are the device tree files for the Abilis Systems TB100 and TB101 ICs and their respective development kit PCBs. These files are committed in preparation of the following patch set which adds support for these chips to the ARC platform. Signed-off-by: Christian Ruppert <christian.ruppert@abilis.com> Signed-off-by: Pierrick Hascoet <pierrick.hascoet@abilis.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc')
-rw-r--r--arch/arc/boot/dts/abilis_tb100.dtsi340
-rw-r--r--arch/arc/boot/dts/abilis_tb100_dvk.dts127
-rw-r--r--arch/arc/boot/dts/abilis_tb101.dtsi349
-rw-r--r--arch/arc/boot/dts/abilis_tb101_dvk.dts127
-rw-r--r--arch/arc/boot/dts/abilis_tb10x.dtsi247
5 files changed, 1190 insertions, 0 deletions
diff --git a/arch/arc/boot/dts/abilis_tb100.dtsi b/arch/arc/boot/dts/abilis_tb100.dtsi
new file mode 100644
index 000000000000..941ad118a7e7
--- /dev/null
+++ b/arch/arc/boot/dts/abilis_tb100.dtsi
@@ -0,0 +1,340 @@
1/*
2 * Abilis Systems TB100 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
24/* interrupt specifiers
25 * --------------------
26 * 0: rising, 1: low, 2: high, 3: falling,
27 */
28
29/ {
30 clock-frequency = <500000000>; /* 500 MHZ */
31
32 soc100 {
33 bus-frequency = <166666666>;
34
35 pll0: oscillator {
36 clock-frequency = <1000000000>;
37 };
38 cpu_clk: clkdiv_cpu {
39 clock-mult = <1>;
40 clock-div = <2>;
41 };
42 ahb_clk: clkdiv_ahb {
43 clock-mult = <1>;
44 clock-div = <6>;
45 };
46
47 iomux: iomux@FF10601c {
48 /* Port 1 */
49 pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */
50 pingrp = "mis0_pins";
51 };
52 pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */
53 pingrp = "mis1_pins";
54 };
55 pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */
56 pingrp = "gpioa_pins";
57 };
58 pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */
59 pingrp = "mip1_pins";
60 };
61 /* Port 2 */
62 pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */
63 pingrp = "mis2_pins";
64 };
65 pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */
66 pingrp = "mis3_pins";
67 };
68 pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */
69 pingrp = "gpioc_pins";
70 };
71 pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */
72 pingrp = "mip3_pins";
73 };
74 /* Port 3 */
75 pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */
76 pingrp = "mis4_pins";
77 };
78 pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */
79 pingrp = "mis5_pins";
80 };
81 pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */
82 pingrp = "gpioe_pins";
83 };
84 pctl_tsin_p5: pctl-tsin-p5 { /* Parallel TS-in 5 */
85 pingrp = "mip5_pins";
86 };
87 /* Port 4 */
88 pctl_tsin_s6: pctl-tsin-s6 { /* Serial TS-in 6 */
89 pingrp = "mis6_pins";
90 };
91 pctl_tsin_s7: pctl-tsin-s7 { /* Serial TS-in 7 */
92 pingrp = "mis7_pins";
93 };
94 pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */
95 pingrp = "gpiog_pins";
96 };
97 pctl_tsin_p7: pctl-tsin-p7 { /* Parallel TS-in 7 */
98 pingrp = "mip7_pins";
99 };
100 /* Port 5 */
101 pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */
102 pingrp = "gpioj_pins";
103 };
104 pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */
105 pingrp = "gpiok_pins";
106 };
107 pctl_ciplus: pctl-ciplus { /* CI+ interface */
108 pingrp = "ciplus_pins";
109 };
110 pctl_mcard: pctl-mcard { /* M-Card interface */
111 pingrp = "mcard_pins";
112 };
113 /* Port 6 */
114 pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */
115 pingrp = "mop_pins";
116 };
117 pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
118 pingrp = "mos0_pins";
119 };
120 pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
121 pingrp = "mos1_pins";
122 };
123 pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
124 pingrp = "mos2_pins";
125 };
126 pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
127 pingrp = "mos3_pins";
128 };
129 /* Port 7 */
130 pctl_uart0: pctl-uart0 { /* UART 0 */
131 pingrp = "uart0_pins";
132 };
133 pctl_uart1: pctl-uart1 { /* UART 1 */
134 pingrp = "uart1_pins";
135 };
136 pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */
137 pingrp = "gpiol_pins";
138 };
139 pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */
140 pingrp = "gpiom_pins";
141 };
142 /* Port 8 */
143 pctl_spi3: pctl-spi3 {
144 pingrp = "spi3_pins";
145 };
146 /* Port 9 */
147 pctl_spi1: pctl-spi1 {
148 pingrp = "spi1_pins";
149 };
150 pctl_gpio_n: pctl-gpio-n {
151 pingrp = "gpion_pins";
152 };
153 /* Unmuxed GPIOs */
154 pctl_gpio_b: pctl-gpio-b {
155 pingrp = "gpiob_pins";
156 };
157 pctl_gpio_d: pctl-gpio-d {
158 pingrp = "gpiod_pins";
159 };
160 pctl_gpio_f: pctl-gpio-f {
161 pingrp = "gpiof_pins";
162 };
163 pctl_gpio_h: pctl-gpio-h {
164 pingrp = "gpioh_pins";
165 };
166 pctl_gpio_i: pctl-gpio-i {
167 pingrp = "gpioi_pins";
168 };
169 };
170
171 gpioa: gpio@FF140000 {
172 compatible = "abilis,tb10x-gpio";
173 interrupt-controller;
174 #interrupt-cells = <1>;
175 interrupt-parent = <&tb10x_ictl>;
176 interrupts = <27 1>;
177 reg = <0xFF140000 0x1000>;
178 gpio-controller;
179 #gpio-cells = <1>;
180 gpio-base = <0>;
181 gpio-pins = <&pctl_gpio_a>;
182 };
183 gpiob: gpio@FF141000 {
184 compatible = "abilis,tb10x-gpio";
185 interrupt-controller;
186 #interrupt-cells = <1>;
187 interrupt-parent = <&tb10x_ictl>;
188 interrupts = <27 1>;
189 reg = <0xFF141000 0x1000>;
190 gpio-controller;
191 #gpio-cells = <1>;
192 gpio-base = <3>;
193 gpio-pins = <&pctl_gpio_b>;
194 };
195 gpioc: gpio@FF142000 {
196 compatible = "abilis,tb10x-gpio";
197 interrupt-controller;
198 #interrupt-cells = <1>;
199 interrupt-parent = <&tb10x_ictl>;
200 interrupts = <27 1>;
201 reg = <0xFF142000 0x1000>;
202 gpio-controller;
203 #gpio-cells = <1>;
204 gpio-base = <5>;
205 gpio-pins = <&pctl_gpio_c>;
206 };
207 gpiod: gpio@FF143000 {
208 compatible = "abilis,tb10x-gpio";
209 interrupt-controller;
210 #interrupt-cells = <1>;
211 interrupt-parent = <&tb10x_ictl>;
212 interrupts = <27 1>;
213 reg = <0xFF143000 0x1000>;
214 gpio-controller;
215 #gpio-cells = <1>;
216 gpio-base = <8>;
217 gpio-pins = <&pctl_gpio_d>;
218 };
219 gpioe: gpio@FF144000 {
220 compatible = "abilis,tb10x-gpio";
221 interrupt-controller;
222 #interrupt-cells = <1>;
223 interrupt-parent = <&tb10x_ictl>;
224 interrupts = <27 1>;
225 reg = <0xFF144000 0x1000>;
226 gpio-controller;
227 #gpio-cells = <1>;
228 gpio-base = <10>;
229 gpio-pins = <&pctl_gpio_e>;
230 };
231 gpiof: gpio@FF145000 {
232 compatible = "abilis,tb10x-gpio";
233 interrupt-controller;
234 #interrupt-cells = <1>;
235 interrupt-parent = <&tb10x_ictl>;
236 interrupts = <27 1>;
237 reg = <0xFF145000 0x1000>;
238 gpio-controller;
239 #gpio-cells = <1>;
240 gpio-base = <13>;
241 gpio-pins = <&pctl_gpio_f>;
242 };
243 gpiog: gpio@FF146000 {
244 compatible = "abilis,tb10x-gpio";
245 interrupt-controller;
246 #interrupt-cells = <1>;
247 interrupt-parent = <&tb10x_ictl>;
248 interrupts = <27 1>;
249 reg = <0xFF146000 0x1000>;
250 gpio-controller;
251 #gpio-cells = <1>;
252 gpio-base = <15>;
253 gpio-pins = <&pctl_gpio_g>;
254 };
255 gpioh: gpio@FF147000 {
256 compatible = "abilis,tb10x-gpio";
257 interrupt-controller;
258 #interrupt-cells = <1>;
259 interrupt-parent = <&tb10x_ictl>;
260 interrupts = <27 1>;
261 reg = <0xFF147000 0x1000>;
262 gpio-controller;
263 #gpio-cells = <1>;
264 gpio-base = <18>;
265 gpio-pins = <&pctl_gpio_h>;
266 };
267 gpioi: gpio@FF148000 {
268 compatible = "abilis,tb10x-gpio";
269 interrupt-controller;
270 #interrupt-cells = <1>;
271 interrupt-parent = <&tb10x_ictl>;
272 interrupts = <27 1>;
273 reg = <0xFF148000 0x1000>;
274 gpio-controller;
275 #gpio-cells = <1>;
276 gpio-base = <20>;
277 gpio-pins = <&pctl_gpio_i>;
278 };
279 gpioj: gpio@FF149000 {
280 compatible = "abilis,tb10x-gpio";
281 interrupt-controller;
282 #interrupt-cells = <1>;
283 interrupt-parent = <&tb10x_ictl>;
284 interrupts = <27 1>;
285 reg = <0xFF149000 0x1000>;
286 gpio-controller;
287 #gpio-cells = <1>;
288 gpio-base = <32>;
289 gpio-pins = <&pctl_gpio_j>;
290 };
291 gpiok: gpio@FF14a000 {
292 compatible = "abilis,tb10x-gpio";
293 interrupt-controller;
294 #interrupt-cells = <1>;
295 interrupt-parent = <&tb10x_ictl>;
296 interrupts = <27 1>;
297 reg = <0xFF14A000 0x1000>;
298 gpio-controller;
299 #gpio-cells = <1>;
300 gpio-base = <64>;
301 gpio-pins = <&pctl_gpio_k>;
302 };
303 gpiol: gpio@FF14b000 {
304 compatible = "abilis,tb10x-gpio";
305 interrupt-controller;
306 #interrupt-cells = <1>;
307 interrupt-parent = <&tb10x_ictl>;
308 interrupts = <27 1>;
309 reg = <0xFF14B000 0x1000>;
310 gpio-controller;
311 #gpio-cells = <1>;
312 gpio-base = <86>;
313 gpio-pins = <&pctl_gpio_l>;
314 };
315 gpiom: gpio@FF14c000 {
316 compatible = "abilis,tb10x-gpio";
317 interrupt-controller;
318 #interrupt-cells = <1>;
319 interrupt-parent = <&tb10x_ictl>;
320 interrupts = <27 1>;
321 reg = <0xFF14C000 0x1000>;
322 gpio-controller;
323 #gpio-cells = <1>;
324 gpio-base = <90>;
325 gpio-pins = <&pctl_gpio_m>;
326 };
327 gpion: gpio@FF14d000 {
328 compatible = "abilis,tb10x-gpio";
329 interrupt-controller;
330 #interrupt-cells = <1>;
331 interrupt-parent = <&tb10x_ictl>;
332 interrupts = <27 1>;
333 reg = <0xFF14D000 0x1000>;
334 gpio-controller;
335 #gpio-cells = <1>;
336 gpio-base = <94>;
337 gpio-pins = <&pctl_gpio_n>;
338 };
339 };
340};
diff --git a/arch/arc/boot/dts/abilis_tb100_dvk.dts b/arch/arc/boot/dts/abilis_tb100_dvk.dts
new file mode 100644
index 000000000000..c0fd3623c393
--- /dev/null
+++ b/arch/arc/boot/dts/abilis_tb100_dvk.dts
@@ -0,0 +1,127 @@
1/*
2 * Abilis Systems TB100 Development Kit PCB 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/dts-v1/;
23
24/include/ "abilis_tb100.dtsi"
25
26/ {
27 chosen {
28 bootargs = "earlycon=uart8250,mmio32,0xff100000,9600n8 console=ttyS0,9600n8";
29 };
30
31 aliases { };
32
33 memory {
34 device_type = "memory";
35 reg = <0x80000000 0x08000000>; /* 128M */
36 };
37
38 soc100 {
39 uart@FF100000 {
40 pinctrl-names = "abilis,simple-default";
41 pinctrl-0 = <&pctl_uart0>;
42 };
43 ethernet@FE100000 {
44 phy-mode = "rgmii";
45 };
46
47 i2c0: i2c@FF120000 {
48 sda-hold-time = <432>;
49 };
50 i2c1: i2c@FF121000 {
51 sda-hold-time = <432>;
52 };
53 i2c2: i2c@FF122000 {
54 sda-hold-time = <432>;
55 };
56 i2c3: i2c@FF123000 {
57 sda-hold-time = <432>;
58 };
59 i2c4: i2c@FF124000 {
60 sda-hold-time = <432>;
61 };
62
63 leds {
64 compatible = "gpio-leds";
65 power {
66 label = "Power";
67 gpios = <&gpioi 0>;
68 linux,default-trigger = "default-on";
69 };
70 heartbeat {
71 label = "Heartbeat";
72 gpios = <&gpioi 1>;
73 linux,default-trigger = "heartbeat";
74 };
75 led2 {
76 label = "LED2";
77 gpios = <&gpioi 2>;
78 default-state = "off";
79 };
80 led3 {
81 label = "LED3";
82 gpios = <&gpioi 3>;
83 default-state = "off";
84 };
85 led4 {
86 label = "LED4";
87 gpios = <&gpioi 4>;
88 default-state = "off";
89 };
90 led5 {
91 label = "LED5";
92 gpios = <&gpioi 5>;
93 default-state = "off";
94 };
95 led6 {
96 label = "LED6";
97 gpios = <&gpioi 6>;
98 default-state = "off";
99 };
100 led7 {
101 label = "LED7";
102 gpios = <&gpioi 7>;
103 default-state = "off";
104 };
105 led8 {
106 label = "LED8";
107 gpios = <&gpioi 8>;
108 default-state = "off";
109 };
110 led9 {
111 label = "LED9";
112 gpios = <&gpioi 9>;
113 default-state = "off";
114 };
115 led10 {
116 label = "LED10";
117 gpios = <&gpioi 10>;
118 default-state = "off";
119 };
120 led11 {
121 label = "LED11";
122 gpios = <&gpioi 11>;
123 default-state = "off";
124 };
125 };
126 };
127};
diff --git a/arch/arc/boot/dts/abilis_tb101.dtsi b/arch/arc/boot/dts/abilis_tb101.dtsi
new file mode 100644
index 000000000000..fd25c212049f
--- /dev/null
+++ b/arch/arc/boot/dts/abilis_tb101.dtsi
@@ -0,0 +1,349 @@
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
24/* interrupt specifiers
25 * --------------------
26 * 0: rising, 1: low, 2: high, 3: falling,
27 */
28
29/ {
30 clock-frequency = <500000000>; /* 500 MHZ */
31
32 soc100 {
33 bus-frequency = <166666666>;
34
35 pll0: oscillator {
36 clock-frequency = <1000000000>;
37 };
38 cpu_clk: clkdiv_cpu {
39 clock-mult = <1>;
40 clock-div = <2>;
41 };
42 ahb_clk: clkdiv_ahb {
43 clock-mult = <1>;
44 clock-div = <6>;
45 };
46
47 iomux: iomux@FF10601c {
48 /* Port 1 */
49 pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */
50 pingrp = "mis0_pins";
51 };
52 pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */
53 pingrp = "mis1_pins";
54 };
55 pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */
56 pingrp = "gpioa_pins";
57 };
58 pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */
59 pingrp = "mip1_pins";
60 };
61 /* Port 2 */
62 pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */
63 pingrp = "mis2_pins";
64 };
65 pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */
66 pingrp = "mis3_pins";
67 };
68 pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */
69 pingrp = "gpioc_pins";
70 };
71 pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */
72 pingrp = "mip3_pins";
73 };
74 /* Port 3 */
75 pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */
76 pingrp = "mis4_pins";
77 };
78 pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */
79 pingrp = "mis5_pins";
80 };
81 pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */
82 pingrp = "gpioe_pins";
83 };
84 pctl_tsin_p5: pctl-tsin-p5 { /* Parallel TS-in 5 */
85 pingrp = "mip5_pins";
86 };
87 /* Port 4 */
88 pctl_tsin_s6: pctl-tsin-s6 { /* Serial TS-in 6 */
89 pingrp = "mis6_pins";
90 };
91 pctl_tsin_s7: pctl-tsin-s7 { /* Serial TS-in 7 */
92 pingrp = "mis7_pins";
93 };
94 pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */
95 pingrp = "gpiog_pins";
96 };
97 pctl_tsin_p7: pctl-tsin-p7 { /* Parallel TS-in 7 */
98 pingrp = "mip7_pins";
99 };
100 /* Port 5 */
101 pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */
102 pingrp = "gpioj_pins";
103 };
104 pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */
105 pingrp = "gpiok_pins";
106 };
107 pctl_ciplus: pctl-ciplus { /* CI+ interface */
108 pingrp = "ciplus_pins";
109 };
110 pctl_mcard: pctl-mcard { /* M-Card interface */
111 pingrp = "mcard_pins";
112 };
113 pctl_stc0: pctl-stc0 { /* Smart card I/F 0 */
114 pingrp = "stc0_pins";
115 };
116 pctl_stc1: pctl-stc1 { /* Smart card I/F 1 */
117 pingrp = "stc1_pins";
118 };
119 /* Port 6 */
120 pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */
121 pingrp = "mop_pins";
122 };
123 pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
124 pingrp = "mos0_pins";
125 };
126 pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
127 pingrp = "mos1_pins";
128 };
129 pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
130 pingrp = "mos2_pins";
131 };
132 pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
133 pingrp = "mos3_pins";
134 };
135 /* Port 7 */
136 pctl_uart0: pctl-uart0 { /* UART 0 */
137 pingrp = "uart0_pins";
138 };
139 pctl_uart1: pctl-uart1 { /* UART 1 */
140 pingrp = "uart1_pins";
141 };
142 pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */
143 pingrp = "gpiol_pins";
144 };
145 pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */
146 pingrp = "gpiom_pins";
147 };
148 /* Port 8 */
149 pctl_spi3: pctl-spi3 {
150 pingrp = "spi3_pins";
151 };
152 pctl_jtag: pctl-jtag {
153 pingrp = "jtag_pins";
154 };
155 /* Port 9 */
156 pctl_spi1: pctl-spi1 {
157 pingrp = "spi1_pins";
158 };
159 pctl_gpio_n: pctl-gpio-n {
160 pingrp = "gpion_pins";
161 };
162 /* Unmuxed GPIOs */
163 pctl_gpio_b: pctl-gpio-b {
164 pingrp = "gpiob_pins";
165 };
166 pctl_gpio_d: pctl-gpio-d {
167 pingrp = "gpiod_pins";
168 };
169 pctl_gpio_f: pctl-gpio-f {
170 pingrp = "gpiof_pins";
171 };
172 pctl_gpio_h: pctl-gpio-h {
173 pingrp = "gpioh_pins";
174 };
175 pctl_gpio_i: pctl-gpio-i {
176 pingrp = "gpioi_pins";
177 };
178 };
179
180 gpioa: gpio@FF140000 {
181 compatible = "abilis,tb10x-gpio";
182 interrupt-controller;
183 #interrupt-cells = <1>;
184 interrupt-parent = <&tb10x_ictl>;
185 interrupts = <27 1>;
186 reg = <0xFF140000 0x1000>;
187 gpio-controller;
188 #gpio-cells = <1>;
189 gpio-base = <0>;
190 gpio-pins = <&pctl_gpio_a>;
191 };
192 gpiob: gpio@FF141000 {
193 compatible = "abilis,tb10x-gpio";
194 interrupt-controller;
195 #interrupt-cells = <1>;
196 interrupt-parent = <&tb10x_ictl>;
197 interrupts = <27 1>;
198 reg = <0xFF141000 0x1000>;
199 gpio-controller;
200 #gpio-cells = <1>;
201 gpio-base = <3>;
202 gpio-pins = <&pctl_gpio_b>;
203 };
204 gpioc: gpio@FF142000 {
205 compatible = "abilis,tb10x-gpio";
206 interrupt-controller;
207 #interrupt-cells = <1>;
208 interrupt-parent = <&tb10x_ictl>;
209 interrupts = <27 1>;
210 reg = <0xFF142000 0x1000>;
211 gpio-controller;
212 #gpio-cells = <1>;
213 gpio-base = <5>;
214 gpio-pins = <&pctl_gpio_c>;
215 };
216 gpiod: gpio@FF143000 {
217 compatible = "abilis,tb10x-gpio";
218 interrupt-controller;
219 #interrupt-cells = <1>;
220 interrupt-parent = <&tb10x_ictl>;
221 interrupts = <27 1>;
222 reg = <0xFF143000 0x1000>;
223 gpio-controller;
224 #gpio-cells = <1>;
225 gpio-base = <8>;
226 gpio-pins = <&pctl_gpio_d>;
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 1>;
234 reg = <0xFF144000 0x1000>;
235 gpio-controller;
236 #gpio-cells = <1>;
237 gpio-base = <10>;
238 gpio-pins = <&pctl_gpio_e>;
239 };
240 gpiof: gpio@FF145000 {
241 compatible = "abilis,tb10x-gpio";
242 interrupt-controller;
243 #interrupt-cells = <1>;
244 interrupt-parent = <&tb10x_ictl>;
245 interrupts = <27 1>;
246 reg = <0xFF145000 0x1000>;
247 gpio-controller;
248 #gpio-cells = <1>;
249 gpio-base = <13>;
250 gpio-pins = <&pctl_gpio_f>;
251 };
252 gpiog: gpio@FF146000 {
253 compatible = "abilis,tb10x-gpio";
254 interrupt-controller;
255 #interrupt-cells = <1>;
256 interrupt-parent = <&tb10x_ictl>;
257 interrupts = <27 1>;
258 reg = <0xFF146000 0x1000>;
259 gpio-controller;
260 #gpio-cells = <1>;
261 gpio-base = <15>;
262 gpio-pins = <&pctl_gpio_g>;
263 };
264 gpioh: gpio@FF147000 {
265 compatible = "abilis,tb10x-gpio";
266 interrupt-controller;
267 #interrupt-cells = <1>;
268 interrupt-parent = <&tb10x_ictl>;
269 interrupts = <27 1>;
270 reg = <0xFF147000 0x1000>;
271 gpio-controller;
272 #gpio-cells = <1>;
273 gpio-base = <18>;
274 gpio-pins = <&pctl_gpio_h>;
275 };
276 gpioi: gpio@FF148000 {
277 compatible = "abilis,tb10x-gpio";
278 interrupt-controller;
279 #interrupt-cells = <1>;
280 interrupt-parent = <&tb10x_ictl>;
281 interrupts = <27 1>;
282 reg = <0xFF148000 0x1000>;
283 gpio-controller;
284 #gpio-cells = <1>;
285 gpio-base = <20>;
286 gpio-pins = <&pctl_gpio_i>;
287 };
288 gpioj: gpio@FF149000 {
289 compatible = "abilis,tb10x-gpio";
290 interrupt-controller;
291 #interrupt-cells = <1>;
292 interrupt-parent = <&tb10x_ictl>;
293 interrupts = <27 1>;
294 reg = <0xFF149000 0x1000>;
295 gpio-controller;
296 #gpio-cells = <1>;
297 gpio-base = <32>;
298 gpio-pins = <&pctl_gpio_j>;
299 };
300 gpiok: gpio@FF14a000 {
301 compatible = "abilis,tb10x-gpio";
302 interrupt-controller;
303 #interrupt-cells = <1>;
304 interrupt-parent = <&tb10x_ictl>;
305 interrupts = <27 1>;
306 reg = <0xFF14A000 0x1000>;
307 gpio-controller;
308 #gpio-cells = <1>;
309 gpio-base = <64>;
310 gpio-pins = <&pctl_gpio_k>;
311 };
312 gpiol: gpio@FF14b000 {
313 compatible = "abilis,tb10x-gpio";
314 interrupt-controller;
315 #interrupt-cells = <1>;
316 interrupt-parent = <&tb10x_ictl>;
317 interrupts = <27 1>;
318 reg = <0xFF14B000 0x1000>;
319 gpio-controller;
320 #gpio-cells = <1>;
321 gpio-base = <86>;
322 gpio-pins = <&pctl_gpio_l>;
323 };
324 gpiom: gpio@FF14c000 {
325 compatible = "abilis,tb10x-gpio";
326 interrupt-controller;
327 #interrupt-cells = <1>;
328 interrupt-parent = <&tb10x_ictl>;
329 interrupts = <27 1>;
330 reg = <0xFF14C000 0x1000>;
331 gpio-controller;
332 #gpio-cells = <1>;
333 gpio-base = <90>;
334 gpio-pins = <&pctl_gpio_m>;
335 };
336 gpion: gpio@FF14d000 {
337 compatible = "abilis,tb10x-gpio";
338 interrupt-controller;
339 #interrupt-cells = <1>;
340 interrupt-parent = <&tb10x_ictl>;
341 interrupts = <27 1>;
342 reg = <0xFF14D000 0x1000>;
343 gpio-controller;
344 #gpio-cells = <1>;
345 gpio-base = <94>;
346 gpio-pins = <&pctl_gpio_n>;
347 };
348 };
349};
diff --git a/arch/arc/boot/dts/abilis_tb101_dvk.dts b/arch/arc/boot/dts/abilis_tb101_dvk.dts
new file mode 100644
index 000000000000..6f8c381f6268
--- /dev/null
+++ b/arch/arc/boot/dts/abilis_tb101_dvk.dts
@@ -0,0 +1,127 @@
1/*
2 * Abilis Systems TB101 Development Kit PCB 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/dts-v1/;
23
24/include/ "abilis_tb101.dtsi"
25
26/ {
27 chosen {
28 bootargs = "earlycon=uart8250,mmio32,0xff100000,9600n8 console=ttyS0,9600n8";
29 };
30
31 aliases { };
32
33 memory {
34 device_type = "memory";
35 reg = <0x80000000 0x08000000>; /* 128M */
36 };
37
38 soc100 {
39 uart@FF100000 {
40 pinctrl-names = "abilis,simple-default";
41 pinctrl-0 = <&pctl_uart0>;
42 };
43 ethernet@FE100000 {
44 phy-mode = "rgmii";
45 };
46
47 i2c0: i2c@FF120000 {
48 sda-hold-time = <432>;
49 };
50 i2c1: i2c@FF121000 {
51 sda-hold-time = <432>;
52 };
53 i2c2: i2c@FF122000 {
54 sda-hold-time = <432>;
55 };
56 i2c3: i2c@FF123000 {
57 sda-hold-time = <432>;
58 };
59 i2c4: i2c@FF124000 {
60 sda-hold-time = <432>;
61 };
62
63 leds {
64 compatible = "gpio-leds";
65 power {
66 label = "Power";
67 gpios = <&gpioi 0>;
68 linux,default-trigger = "default-on";
69 };
70 heartbeat {
71 label = "Heartbeat";
72 gpios = <&gpioi 1>;
73 linux,default-trigger = "heartbeat";
74 };
75 led2 {
76 label = "LED2";
77 gpios = <&gpioi 2>;
78 default-state = "off";
79 };
80 led3 {
81 label = "LED3";
82 gpios = <&gpioi 3>;
83 default-state = "off";
84 };
85 led4 {
86 label = "LED4";
87 gpios = <&gpioi 4>;
88 default-state = "off";
89 };
90 led5 {
91 label = "LED5";
92 gpios = <&gpioi 5>;
93 default-state = "off";
94 };
95 led6 {
96 label = "LED6";
97 gpios = <&gpioi 6>;
98 default-state = "off";
99 };
100 led7 {
101 label = "LED7";
102 gpios = <&gpioi 7>;
103 default-state = "off";
104 };
105 led8 {
106 label = "LED8";
107 gpios = <&gpioi 8>;
108 default-state = "off";
109 };
110 led9 {
111 label = "LED9";
112 gpios = <&gpioi 9>;
113 default-state = "off";
114 };
115 led10 {
116 label = "LED10";
117 gpios = <&gpioi 10>;
118 default-state = "off";
119 };
120 led11 {
121 label = "LED11";
122 gpios = <&gpioi 11>;
123 default-state = "off";
124 };
125 };
126 };
127};
diff --git a/arch/arc/boot/dts/abilis_tb10x.dtsi b/arch/arc/boot/dts/abilis_tb10x.dtsi
new file mode 100644
index 000000000000..6d80d9c51288
--- /dev/null
+++ b/arch/arc/boot/dts/abilis_tb10x.dtsi
@@ -0,0 +1,247 @@
1/*
2 * Abilis Systems TB10X 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/* interrupt specifiers
23 * --------------------
24 * 0: rising, 1: low, 2: high, 3: falling,
25 */
26
27/ {
28 compatible = "abilis,arc-tb10x";
29 #address-cells = <1>;
30 #size-cells = <1>;
31
32 cpus {
33 #address-cells = <1>;
34 #size-cells = <0>;
35 cpu@0 {
36 device_type = "cpu";
37 compatible = "snps,arc770d";
38 reg = <0>;
39 };
40 };
41
42 soc100 {
43 #address-cells = <1>;
44 #size-cells = <1>;
45 device_type = "soc";
46 ranges = <0xfe000000 0xfe000000 0x02000000
47 0x000F0000 0x000F0000 0x00010000>;
48 compatible = "abilis,tb10x", "simple-bus";
49
50 pll0: oscillator {
51 compatible = "fixed-clock";
52 #clock-cells = <0>;
53 clock-output-names = "pll0";
54 };
55 cpu_clk: clkdiv_cpu {
56 compatible = "fixed-factor-clkdiv";
57 #clock-cells = <0>;
58 clocks = <&pll0>;
59 clock-output-names = "cpu_clk";
60 };
61 ahb_clk: clkdiv_ahb {
62 compatible = "fixed-factor-clkdiv";
63 #clock-cells = <0>;
64 clocks = <&pll0>;
65 clock-output-names = "ahb_clk";
66 };
67
68 iomux: iomux@FF10601c {
69 #address-cells = <1>;
70 #size-cells = <1>;
71 compatible = "abilis,tb10x-iomux";
72 reg = <0xFF10601c 0x4>;
73 };
74
75 intc: interrupt-controller {
76 compatible = "snps,arc700-intc";
77 interrupt-controller;
78 #interrupt-cells = <1>;
79 };
80 tb10x_ictl: pic@fe002000 {
81 compatible = "abilis,tb10x_ictl";
82 reg = <0xFE002000 0x20>;
83 interrupt-controller;
84 #interrupt-cells = <2>;
85 interrupt-parent = <&intc>;
86 interrupts = <5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
87 20 21 22 23 24 25 26 27 28 29 30 31>;
88 };
89
90 uart@FF100000 {
91 compatible = "snps,dw-apb-uart",
92 "abilis,simple-pinctrl";
93 reg = <0xFF100000 0x100>;
94 clock-frequency = <166666666>;
95 interrupts = <25 1>;
96 reg-shift = <2>;
97 reg-io-width = <4>;
98 interrupt-parent = <&tb10x_ictl>;
99 };
100 ethernet@FE100000 {
101 compatible = "snps,dwmac-3.70a","snps,dwmac";
102 reg = <0xFE100000 0x1058>;
103 interrupt-parent = <&tb10x_ictl>;
104 interrupts = <6 1>;
105 interrupt-names = "macirq";
106 clocks = <&ahb_clk>;
107 clock-names = "stmmaceth";
108 };
109 dma@FE000000 {
110 compatible = "snps,dma-spear1340";
111 reg = <0xFE000000 0x400>;
112 interrupt-parent = <&tb10x_ictl>;
113 interrupts = <14 1>;
114 dma-channels = <6>;
115 dma-requests = <0>;
116 dma-masters = <1>;
117 #dma-cells = <3>;
118 chan_allocation_order = <0>;
119 chan_priority = <1>;
120 block_size = <0x7ff>;
121 data_width = <2 0 0 0>;
122 clocks = <&ahb_clk>;
123 clock-names = "hclk";
124 };
125
126 i2c0: i2c@FF120000 {
127 #address-cells = <1>;
128 #size-cells = <0>;
129 compatible = "snps,designware-i2c";
130 reg = <0xFF120000 0x1000>;
131 interrupt-parent = <&tb10x_ictl>;
132 interrupts = <12 1>;
133 clocks = <&ahb_clk>;
134 };
135 i2c1: i2c@FF121000 {
136 #address-cells = <1>;
137 #size-cells = <0>;
138 compatible = "snps,designware-i2c";
139 reg = <0xFF121000 0x1000>;
140 interrupt-parent = <&tb10x_ictl>;
141 interrupts = <12 1>;
142 clocks = <&ahb_clk>;
143 };
144 i2c2: i2c@FF122000 {
145 #address-cells = <1>;
146 #size-cells = <0>;
147 compatible = "snps,designware-i2c";
148 reg = <0xFF122000 0x1000>;
149 interrupt-parent = <&tb10x_ictl>;
150 interrupts = <12 1>;
151 clocks = <&ahb_clk>;
152 };
153 i2c3: i2c@FF123000 {
154 #address-cells = <1>;
155 #size-cells = <0>;
156 compatible = "snps,designware-i2c";
157 reg = <0xFF123000 0x1000>;
158 interrupt-parent = <&tb10x_ictl>;
159 interrupts = <12 1>;
160 clocks = <&ahb_clk>;
161 };
162 i2c4: i2c@FF124000 {
163 #address-cells = <1>;
164 #size-cells = <0>;
165 compatible = "snps,designware-i2c";
166 reg = <0xFF124000 0x1000>;
167 interrupt-parent = <&tb10x_ictl>;
168 interrupts = <12 1>;
169 clocks = <&ahb_clk>;
170 };
171
172 spi0: spi@0xFE010000 {
173 #address-cells = <1>;
174 #size-cells = <0>;
175 cell-index = <0>;
176 compatible = "abilis,tb100-spi";
177 num-cs = <1>;
178 reg = <0xFE010000 0x20>;
179 interrupt-parent = <&tb10x_ictl>;
180 interrupts = <26 1>;
181 clocks = <&ahb_clk>;
182 };
183 spi1: spi@0xFE011000 {
184 #address-cells = <1>;
185 #size-cells = <0>;
186 cell-index = <1>;
187 compatible = "abilis,tb100-spi",
188 "abilis,simple-pinctrl";
189 num-cs = <2>;
190 reg = <0xFE011000 0x20>;
191 interrupt-parent = <&tb10x_ictl>;
192 interrupts = <10 1>;
193 clocks = <&ahb_clk>;
194 };
195
196 tb10x_tsm: tb10x-tsm@ff316000 {
197 compatible = "abilis,tb100-tsm";
198 reg = <0xff316000 0x400>;
199 interrupt-parent = <&tb10x_ictl>;
200 interrupts = <17 1>;
201 output-clkdiv = <4>;
202 global-packet-delay = <0x21>;
203 port-packet-delay = <0>;
204 };
205 tb10x_stream_proc: tb10x-stream-proc {
206 compatible = "abilis,tb100-streamproc";
207 reg = <0xfff00000 0x200>,
208 <0x000f0000 0x10000>,
209 <0xfff00200 0x105>,
210 <0xff10600c 0x1>,
211 <0xfe001018 0x1>;
212 reg-names = "mbox",
213 "sp_iccm",
214 "mbox_irq",
215 "cpuctrl",
216 "a6it_int_force";
217 interrupt-parent = <&tb10x_ictl>;
218 interrupts = <20 1>, <19 1>;
219 interrupt-names = "cmd_irq", "event_irq";
220 };
221 tb10x_mdsc0: tb10x-mdscr@FF300000 {
222 compatible = "abilis,tb100-mdscr";
223 reg = <0xFF300000 0x7000>;
224 tb100-mdscr-manage-tsin;
225 };
226 tb10x_mscr0: tb10x-mdscr@FF307000 {
227 compatible = "abilis,tb100-mdscr";
228 reg = <0xFF307000 0x7000>;
229 };
230 tb10x_scr0: tb10x-mdscr@ff30e000 {
231 compatible = "abilis,tb100-mdscr";
232 reg = <0xFF30e000 0x4000>;
233 tb100-mdscr-manage-tsin;
234 };
235 tb10x_scr1: tb10x-mdscr@ff312000 {
236 compatible = "abilis,tb100-mdscr";
237 reg = <0xFF312000 0x4000>;
238 tb100-mdscr-manage-tsin;
239 };
240 tb10x_wfb: tb10x-wfb@ff319000 {
241 compatible = "abilis,tb100-wfb";
242 reg = <0xff319000 0x1000>;
243 interrupt-parent = <&tb10x_ictl>;
244 interrupts = <16 1>;
245 };
246 };
247};