blob: 3942634f805ade1545d30dd066d2ba88cdec3cac [file] [log] [blame]
Christian Ruppert2eb95042013-04-11 15:19:40 +02001/*
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
Christian Ruppert2eb95042013-04-11 15:19:40 +020024
25/ {
26 clock-frequency = <500000000>; /* 500 MHZ */
27
28 soc100 {
29 bus-frequency = <166666666>;
30
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 };
42
43 iomux: iomux@FF10601c {
44 /* Port 1 */
45 pctl_tsin_s0: pctl-tsin-s0 { /* Serial TS-in 0 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010046 abilis,function = "mis0";
Christian Ruppert2eb95042013-04-11 15:19:40 +020047 };
48 pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010049 abilis,function = "mis1";
Christian Ruppert2eb95042013-04-11 15:19:40 +020050 };
51 pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010052 abilis,function = "gpioa";
Christian Ruppert2eb95042013-04-11 15:19:40 +020053 };
54 pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010055 abilis,function = "mip1";
Christian Ruppert2eb95042013-04-11 15:19:40 +020056 };
57 /* Port 2 */
58 pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010059 abilis,function = "mis2";
Christian Ruppert2eb95042013-04-11 15:19:40 +020060 };
61 pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010062 abilis,function = "mis3";
Christian Ruppert2eb95042013-04-11 15:19:40 +020063 };
64 pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010065 abilis,function = "gpioc";
Christian Ruppert2eb95042013-04-11 15:19:40 +020066 };
67 pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010068 abilis,function = "mip3";
Christian Ruppert2eb95042013-04-11 15:19:40 +020069 };
70 /* Port 3 */
71 pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010072 abilis,function = "mis4";
Christian Ruppert2eb95042013-04-11 15:19:40 +020073 };
74 pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010075 abilis,function = "mis5";
Christian Ruppert2eb95042013-04-11 15:19:40 +020076 };
77 pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010078 abilis,function = "gpioe";
Christian Ruppert2eb95042013-04-11 15:19:40 +020079 };
80 pctl_tsin_p5: pctl-tsin-p5 { /* Parallel TS-in 5 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010081 abilis,function = "mip5";
Christian Ruppert2eb95042013-04-11 15:19:40 +020082 };
83 /* Port 4 */
84 pctl_tsin_s6: pctl-tsin-s6 { /* Serial TS-in 6 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010085 abilis,function = "mis6";
Christian Ruppert2eb95042013-04-11 15:19:40 +020086 };
87 pctl_tsin_s7: pctl-tsin-s7 { /* Serial TS-in 7 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010088 abilis,function = "mis7";
Christian Ruppert2eb95042013-04-11 15:19:40 +020089 };
90 pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010091 abilis,function = "gpiog";
Christian Ruppert2eb95042013-04-11 15:19:40 +020092 };
93 pctl_tsin_p7: pctl-tsin-p7 { /* Parallel TS-in 7 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010094 abilis,function = "mip7";
Christian Ruppert2eb95042013-04-11 15:19:40 +020095 };
96 /* Port 5 */
97 pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010098 abilis,function = "gpioj";
Christian Ruppert2eb95042013-04-11 15:19:40 +020099 };
100 pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100101 abilis,function = "gpiok";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200102 };
103 pctl_ciplus: pctl-ciplus { /* CI+ interface */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100104 abilis,function = "ciplus";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200105 };
106 pctl_mcard: pctl-mcard { /* M-Card interface */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100107 abilis,function = "mcard";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200108 };
109 /* Port 6 */
110 pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100111 abilis,function = "mop";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200112 };
113 pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100114 abilis,function = "mos0";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200115 };
116 pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100117 abilis,function = "mos1";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200118 };
119 pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100120 abilis,function = "mos2";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200121 };
122 pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100123 abilis,function = "mos3";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200124 };
125 /* Port 7 */
126 pctl_uart0: pctl-uart0 { /* UART 0 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100127 abilis,function = "uart0";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200128 };
129 pctl_uart1: pctl-uart1 { /* UART 1 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100130 abilis,function = "uart1";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200131 };
132 pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100133 abilis,function = "gpiol";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200134 };
135 pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100136 abilis,function = "gpiom";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200137 };
138 /* Port 8 */
139 pctl_spi3: pctl-spi3 {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100140 abilis,function = "spi3";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200141 };
142 /* Port 9 */
143 pctl_spi1: pctl-spi1 {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100144 abilis,function = "spi1";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200145 };
146 pctl_gpio_n: pctl-gpio-n {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100147 abilis,function = "gpion";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200148 };
149 /* Unmuxed GPIOs */
150 pctl_gpio_b: pctl-gpio-b {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100151 abilis,function = "gpiob";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200152 };
153 pctl_gpio_d: pctl-gpio-d {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100154 abilis,function = "gpiod";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200155 };
156 pctl_gpio_f: pctl-gpio-f {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100157 abilis,function = "gpiof";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200158 };
159 pctl_gpio_h: pctl-gpio-h {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100160 abilis,function = "gpioh";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200161 };
162 pctl_gpio_i: pctl-gpio-i {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100163 abilis,function = "gpioi";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200164 };
165 };
166
167 gpioa: gpio@FF140000 {
168 compatible = "abilis,tb10x-gpio";
169 interrupt-controller;
170 #interrupt-cells = <1>;
171 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200172 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200173 reg = <0xFF140000 0x1000>;
174 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100175 #gpio-cells = <2>;
176 abilis,ngpio = <3>;
177 gpio-ranges = <&iomux 0 0 0>;
178 gpio-ranges-group-names = "gpioa";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200179 };
180 gpiob: gpio@FF141000 {
181 compatible = "abilis,tb10x-gpio";
182 interrupt-controller;
183 #interrupt-cells = <1>;
184 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200185 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200186 reg = <0xFF141000 0x1000>;
187 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100188 #gpio-cells = <2>;
189 abilis,ngpio = <2>;
190 gpio-ranges = <&iomux 0 0 0>;
191 gpio-ranges-group-names = "gpiob";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200192 };
193 gpioc: gpio@FF142000 {
194 compatible = "abilis,tb10x-gpio";
195 interrupt-controller;
196 #interrupt-cells = <1>;
197 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200198 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200199 reg = <0xFF142000 0x1000>;
200 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100201 #gpio-cells = <2>;
202 abilis,ngpio = <3>;
203 gpio-ranges = <&iomux 0 0 0>;
204 gpio-ranges-group-names = "gpioc";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200205 };
206 gpiod: gpio@FF143000 {
207 compatible = "abilis,tb10x-gpio";
208 interrupt-controller;
209 #interrupt-cells = <1>;
210 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200211 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200212 reg = <0xFF143000 0x1000>;
213 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100214 #gpio-cells = <2>;
215 abilis,ngpio = <2>;
216 gpio-ranges = <&iomux 0 0 0>;
217 gpio-ranges-group-names = "gpiod";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200218 };
219 gpioe: gpio@FF144000 {
220 compatible = "abilis,tb10x-gpio";
221 interrupt-controller;
222 #interrupt-cells = <1>;
223 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200224 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200225 reg = <0xFF144000 0x1000>;
226 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100227 #gpio-cells = <2>;
228 abilis,ngpio = <3>;
229 gpio-ranges = <&iomux 0 0 0>;
230 gpio-ranges-group-names = "gpioe";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200231 };
232 gpiof: gpio@FF145000 {
233 compatible = "abilis,tb10x-gpio";
234 interrupt-controller;
235 #interrupt-cells = <1>;
236 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200237 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200238 reg = <0xFF145000 0x1000>;
239 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100240 #gpio-cells = <2>;
241 abilis,ngpio = <2>;
242 gpio-ranges = <&iomux 0 0 0>;
243 gpio-ranges-group-names = "gpiof";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200244 };
245 gpiog: gpio@FF146000 {
246 compatible = "abilis,tb10x-gpio";
247 interrupt-controller;
248 #interrupt-cells = <1>;
249 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200250 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200251 reg = <0xFF146000 0x1000>;
252 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100253 #gpio-cells = <2>;
254 abilis,ngpio = <3>;
255 gpio-ranges = <&iomux 0 0 0>;
256 gpio-ranges-group-names = "gpiog";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200257 };
258 gpioh: gpio@FF147000 {
259 compatible = "abilis,tb10x-gpio";
260 interrupt-controller;
261 #interrupt-cells = <1>;
262 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200263 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200264 reg = <0xFF147000 0x1000>;
265 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100266 #gpio-cells = <2>;
267 abilis,ngpio = <2>;
268 gpio-ranges = <&iomux 0 0 0>;
269 gpio-ranges-group-names = "gpioh";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200270 };
271 gpioi: gpio@FF148000 {
272 compatible = "abilis,tb10x-gpio";
273 interrupt-controller;
274 #interrupt-cells = <1>;
275 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200276 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200277 reg = <0xFF148000 0x1000>;
278 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100279 #gpio-cells = <2>;
280 abilis,ngpio = <12>;
281 gpio-ranges = <&iomux 0 0 0>;
282 gpio-ranges-group-names = "gpioi";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200283 };
284 gpioj: gpio@FF149000 {
285 compatible = "abilis,tb10x-gpio";
286 interrupt-controller;
287 #interrupt-cells = <1>;
288 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200289 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200290 reg = <0xFF149000 0x1000>;
291 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100292 #gpio-cells = <2>;
293 abilis,ngpio = <32>;
294 gpio-ranges = <&iomux 0 0 0>;
295 gpio-ranges-group-names = "gpioj";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200296 };
297 gpiok: gpio@FF14a000 {
298 compatible = "abilis,tb10x-gpio";
299 interrupt-controller;
300 #interrupt-cells = <1>;
301 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200302 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200303 reg = <0xFF14A000 0x1000>;
304 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100305 #gpio-cells = <2>;
306 abilis,ngpio = <22>;
307 gpio-ranges = <&iomux 0 0 0>;
308 gpio-ranges-group-names = "gpiok";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200309 };
310 gpiol: gpio@FF14b000 {
311 compatible = "abilis,tb10x-gpio";
312 interrupt-controller;
313 #interrupt-cells = <1>;
314 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200315 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200316 reg = <0xFF14B000 0x1000>;
317 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100318 #gpio-cells = <2>;
319 abilis,ngpio = <4>;
320 gpio-ranges = <&iomux 0 0 0>;
321 gpio-ranges-group-names = "gpiol";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200322 };
323 gpiom: gpio@FF14c000 {
324 compatible = "abilis,tb10x-gpio";
325 interrupt-controller;
326 #interrupt-cells = <1>;
327 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200328 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200329 reg = <0xFF14C000 0x1000>;
330 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100331 #gpio-cells = <2>;
332 abilis,ngpio = <4>;
333 gpio-ranges = <&iomux 0 0 0>;
334 gpio-ranges-group-names = "gpiom";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200335 };
336 gpion: gpio@FF14d000 {
337 compatible = "abilis,tb10x-gpio";
338 interrupt-controller;
339 #interrupt-cells = <1>;
340 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200341 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200342 reg = <0xFF14D000 0x1000>;
343 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100344 #gpio-cells = <2>;
345 abilis,ngpio = <5>;
346 gpio-ranges = <&iomux 0 0 0>;
347 gpio-ranges-group-names = "gpion";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200348 };
349 };
350};