blob: 02410b2114334466572c05e651b6227b02e415f0 [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/ {
Christian Ruppert2eb95042013-04-11 15:19:40 +020026 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 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010044 abilis,function = "mis0";
Christian Ruppert2eb95042013-04-11 15:19:40 +020045 };
46 pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010047 abilis,function = "mis1";
Christian Ruppert2eb95042013-04-11 15:19:40 +020048 };
49 pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010050 abilis,function = "gpioa";
Christian Ruppert2eb95042013-04-11 15:19:40 +020051 };
52 pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010053 abilis,function = "mip1";
Christian Ruppert2eb95042013-04-11 15:19:40 +020054 };
55 /* Port 2 */
56 pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010057 abilis,function = "mis2";
Christian Ruppert2eb95042013-04-11 15:19:40 +020058 };
59 pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010060 abilis,function = "mis3";
Christian Ruppert2eb95042013-04-11 15:19:40 +020061 };
62 pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010063 abilis,function = "gpioc";
Christian Ruppert2eb95042013-04-11 15:19:40 +020064 };
65 pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010066 abilis,function = "mip3";
Christian Ruppert2eb95042013-04-11 15:19:40 +020067 };
68 /* Port 3 */
69 pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010070 abilis,function = "mis4";
Christian Ruppert2eb95042013-04-11 15:19:40 +020071 };
72 pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010073 abilis,function = "mis5";
Christian Ruppert2eb95042013-04-11 15:19:40 +020074 };
75 pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010076 abilis,function = "gpioe";
Christian Ruppert2eb95042013-04-11 15:19:40 +020077 };
78 pctl_tsin_p5: pctl-tsin-p5 { /* Parallel TS-in 5 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010079 abilis,function = "mip5";
Christian Ruppert2eb95042013-04-11 15:19:40 +020080 };
81 /* Port 4 */
82 pctl_tsin_s6: pctl-tsin-s6 { /* Serial TS-in 6 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010083 abilis,function = "mis6";
Christian Ruppert2eb95042013-04-11 15:19:40 +020084 };
85 pctl_tsin_s7: pctl-tsin-s7 { /* Serial TS-in 7 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010086 abilis,function = "mis7";
Christian Ruppert2eb95042013-04-11 15:19:40 +020087 };
88 pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010089 abilis,function = "gpiog";
Christian Ruppert2eb95042013-04-11 15:19:40 +020090 };
91 pctl_tsin_p7: pctl-tsin-p7 { /* Parallel TS-in 7 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010092 abilis,function = "mip7";
Christian Ruppert2eb95042013-04-11 15:19:40 +020093 };
94 /* Port 5 */
95 pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010096 abilis,function = "gpioj";
Christian Ruppert2eb95042013-04-11 15:19:40 +020097 };
98 pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */
Christian Ruppert9c8e6122013-10-31 13:58:27 +010099 abilis,function = "gpiok";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200100 };
101 pctl_ciplus: pctl-ciplus { /* CI+ interface */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100102 abilis,function = "ciplus";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200103 };
104 pctl_mcard: pctl-mcard { /* M-Card interface */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100105 abilis,function = "mcard";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200106 };
107 /* Port 6 */
108 pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100109 abilis,function = "mop";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200110 };
111 pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100112 abilis,function = "mos0";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200113 };
114 pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100115 abilis,function = "mos1";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200116 };
117 pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100118 abilis,function = "mos2";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200119 };
120 pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100121 abilis,function = "mos3";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200122 };
123 /* Port 7 */
124 pctl_uart0: pctl-uart0 { /* UART 0 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100125 abilis,function = "uart0";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200126 };
127 pctl_uart1: pctl-uart1 { /* UART 1 */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100128 abilis,function = "uart1";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200129 };
130 pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100131 abilis,function = "gpiol";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200132 };
133 pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100134 abilis,function = "gpiom";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200135 };
136 /* Port 8 */
137 pctl_spi3: pctl-spi3 {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100138 abilis,function = "spi3";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200139 };
140 /* Port 9 */
141 pctl_spi1: pctl-spi1 {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100142 abilis,function = "spi1";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200143 };
144 pctl_gpio_n: pctl-gpio-n {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100145 abilis,function = "gpion";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200146 };
147 /* Unmuxed GPIOs */
148 pctl_gpio_b: pctl-gpio-b {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100149 abilis,function = "gpiob";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200150 };
151 pctl_gpio_d: pctl-gpio-d {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100152 abilis,function = "gpiod";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200153 };
154 pctl_gpio_f: pctl-gpio-f {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100155 abilis,function = "gpiof";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200156 };
157 pctl_gpio_h: pctl-gpio-h {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100158 abilis,function = "gpioh";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200159 };
160 pctl_gpio_i: pctl-gpio-i {
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100161 abilis,function = "gpioi";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200162 };
163 };
164
165 gpioa: gpio@FF140000 {
166 compatible = "abilis,tb10x-gpio";
167 interrupt-controller;
168 #interrupt-cells = <1>;
169 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200170 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200171 reg = <0xFF140000 0x1000>;
172 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100173 #gpio-cells = <2>;
174 abilis,ngpio = <3>;
175 gpio-ranges = <&iomux 0 0 0>;
176 gpio-ranges-group-names = "gpioa";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200177 };
178 gpiob: gpio@FF141000 {
179 compatible = "abilis,tb10x-gpio";
180 interrupt-controller;
181 #interrupt-cells = <1>;
182 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200183 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200184 reg = <0xFF141000 0x1000>;
185 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100186 #gpio-cells = <2>;
187 abilis,ngpio = <2>;
188 gpio-ranges = <&iomux 0 0 0>;
189 gpio-ranges-group-names = "gpiob";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200190 };
191 gpioc: gpio@FF142000 {
192 compatible = "abilis,tb10x-gpio";
193 interrupt-controller;
194 #interrupt-cells = <1>;
195 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200196 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200197 reg = <0xFF142000 0x1000>;
198 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100199 #gpio-cells = <2>;
200 abilis,ngpio = <3>;
201 gpio-ranges = <&iomux 0 0 0>;
202 gpio-ranges-group-names = "gpioc";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200203 };
204 gpiod: gpio@FF143000 {
205 compatible = "abilis,tb10x-gpio";
206 interrupt-controller;
207 #interrupt-cells = <1>;
208 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200209 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200210 reg = <0xFF143000 0x1000>;
211 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100212 #gpio-cells = <2>;
213 abilis,ngpio = <2>;
214 gpio-ranges = <&iomux 0 0 0>;
215 gpio-ranges-group-names = "gpiod";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200216 };
217 gpioe: gpio@FF144000 {
218 compatible = "abilis,tb10x-gpio";
219 interrupt-controller;
220 #interrupt-cells = <1>;
221 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200222 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200223 reg = <0xFF144000 0x1000>;
224 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100225 #gpio-cells = <2>;
226 abilis,ngpio = <3>;
227 gpio-ranges = <&iomux 0 0 0>;
228 gpio-ranges-group-names = "gpioe";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200229 };
230 gpiof: gpio@FF145000 {
231 compatible = "abilis,tb10x-gpio";
232 interrupt-controller;
233 #interrupt-cells = <1>;
234 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200235 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200236 reg = <0xFF145000 0x1000>;
237 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100238 #gpio-cells = <2>;
239 abilis,ngpio = <2>;
240 gpio-ranges = <&iomux 0 0 0>;
241 gpio-ranges-group-names = "gpiof";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200242 };
243 gpiog: gpio@FF146000 {
244 compatible = "abilis,tb10x-gpio";
245 interrupt-controller;
246 #interrupt-cells = <1>;
247 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200248 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200249 reg = <0xFF146000 0x1000>;
250 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100251 #gpio-cells = <2>;
252 abilis,ngpio = <3>;
253 gpio-ranges = <&iomux 0 0 0>;
254 gpio-ranges-group-names = "gpiog";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200255 };
256 gpioh: gpio@FF147000 {
257 compatible = "abilis,tb10x-gpio";
258 interrupt-controller;
259 #interrupt-cells = <1>;
260 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200261 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200262 reg = <0xFF147000 0x1000>;
263 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100264 #gpio-cells = <2>;
265 abilis,ngpio = <2>;
266 gpio-ranges = <&iomux 0 0 0>;
267 gpio-ranges-group-names = "gpioh";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200268 };
269 gpioi: gpio@FF148000 {
270 compatible = "abilis,tb10x-gpio";
271 interrupt-controller;
272 #interrupt-cells = <1>;
273 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200274 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200275 reg = <0xFF148000 0x1000>;
276 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100277 #gpio-cells = <2>;
278 abilis,ngpio = <12>;
279 gpio-ranges = <&iomux 0 0 0>;
280 gpio-ranges-group-names = "gpioi";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200281 };
282 gpioj: gpio@FF149000 {
283 compatible = "abilis,tb10x-gpio";
284 interrupt-controller;
285 #interrupt-cells = <1>;
286 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200287 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200288 reg = <0xFF149000 0x1000>;
289 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100290 #gpio-cells = <2>;
291 abilis,ngpio = <32>;
292 gpio-ranges = <&iomux 0 0 0>;
293 gpio-ranges-group-names = "gpioj";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200294 };
295 gpiok: gpio@FF14a000 {
296 compatible = "abilis,tb10x-gpio";
297 interrupt-controller;
298 #interrupt-cells = <1>;
299 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200300 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200301 reg = <0xFF14A000 0x1000>;
302 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100303 #gpio-cells = <2>;
304 abilis,ngpio = <22>;
305 gpio-ranges = <&iomux 0 0 0>;
306 gpio-ranges-group-names = "gpiok";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200307 };
308 gpiol: gpio@FF14b000 {
309 compatible = "abilis,tb10x-gpio";
310 interrupt-controller;
311 #interrupt-cells = <1>;
312 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200313 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200314 reg = <0xFF14B000 0x1000>;
315 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100316 #gpio-cells = <2>;
317 abilis,ngpio = <4>;
318 gpio-ranges = <&iomux 0 0 0>;
319 gpio-ranges-group-names = "gpiol";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200320 };
321 gpiom: gpio@FF14c000 {
322 compatible = "abilis,tb10x-gpio";
323 interrupt-controller;
324 #interrupt-cells = <1>;
325 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200326 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200327 reg = <0xFF14C000 0x1000>;
328 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100329 #gpio-cells = <2>;
330 abilis,ngpio = <4>;
331 gpio-ranges = <&iomux 0 0 0>;
332 gpio-ranges-group-names = "gpiom";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200333 };
334 gpion: gpio@FF14d000 {
335 compatible = "abilis,tb10x-gpio";
336 interrupt-controller;
337 #interrupt-cells = <1>;
338 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200339 interrupts = <27 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200340 reg = <0xFF14D000 0x1000>;
341 gpio-controller;
Christian Ruppert9c8e6122013-10-31 13:58:27 +0100342 #gpio-cells = <2>;
343 abilis,ngpio = <5>;
344 gpio-ranges = <&iomux 0 0 0>;
345 gpio-ranges-group-names = "gpion";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200346 };
347 };
348};