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 25/ { 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 */ 44 abilis,function = "mis0"; 45 }; 46 pctl_tsin_s1: pctl-tsin-s1 { /* Serial TS-in 1 */ 47 abilis,function = "mis1"; 48 }; 49 pctl_gpio_a: pctl-gpio-a { /* GPIO bank A */ 50 abilis,function = "gpioa"; 51 }; 52 pctl_tsin_p1: pctl-tsin-p1 { /* Parallel TS-in 1 */ 53 abilis,function = "mip1"; 54 }; 55 /* Port 2 */ 56 pctl_tsin_s2: pctl-tsin-s2 { /* Serial TS-in 2 */ 57 abilis,function = "mis2"; 58 }; 59 pctl_tsin_s3: pctl-tsin-s3 { /* Serial TS-in 3 */ 60 abilis,function = "mis3"; 61 }; 62 pctl_gpio_c: pctl-gpio-c { /* GPIO bank C */ 63 abilis,function = "gpioc"; 64 }; 65 pctl_tsin_p3: pctl-tsin-p3 { /* Parallel TS-in 3 */ 66 abilis,function = "mip3"; 67 }; 68 /* Port 3 */ 69 pctl_tsin_s4: pctl-tsin-s4 { /* Serial TS-in 4 */ 70 abilis,function = "mis4"; 71 }; 72 pctl_tsin_s5: pctl-tsin-s5 { /* Serial TS-in 5 */ 73 abilis,function = "mis5"; 74 }; 75 pctl_gpio_e: pctl-gpio-e { /* GPIO bank E */ 76 abilis,function = "gpioe"; 77 }; 78 pctl_tsin_p5: pctl-tsin-p5 { /* Parallel TS-in 5 */ 79 abilis,function = "mip5"; 80 }; 81 /* Port 4 */ 82 pctl_tsin_s6: pctl-tsin-s6 { /* Serial TS-in 6 */ 83 abilis,function = "mis6"; 84 }; 85 pctl_tsin_s7: pctl-tsin-s7 { /* Serial TS-in 7 */ 86 abilis,function = "mis7"; 87 }; 88 pctl_gpio_g: pctl-gpio-g { /* GPIO bank G */ 89 abilis,function = "gpiog"; 90 }; 91 pctl_tsin_p7: pctl-tsin-p7 { /* Parallel TS-in 7 */ 92 abilis,function = "mip7"; 93 }; 94 /* Port 5 */ 95 pctl_gpio_j: pctl-gpio-j { /* GPIO bank J */ 96 abilis,function = "gpioj"; 97 }; 98 pctl_gpio_k: pctl-gpio-k { /* GPIO bank K */ 99 abilis,function = "gpiok"; 100 }; 101 pctl_ciplus: pctl-ciplus { /* CI+ interface */ 102 abilis,function = "ciplus"; 103 }; 104 pctl_mcard: pctl-mcard { /* M-Card interface */ 105 abilis,function = "mcard"; 106 }; 107 pctl_stc0: pctl-stc0 { /* Smart card I/F 0 */ 108 abilis,function = "stc0"; 109 }; 110 pctl_stc1: pctl-stc1 { /* Smart card I/F 1 */ 111 abilis,function = "stc1"; 112 }; 113 /* Port 6 */ 114 pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */ 115 abilis,function = "mop"; 116 }; 117 pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */ 118 abilis,function = "mos0"; 119 }; 120 pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */ 121 abilis,function = "mos1"; 122 }; 123 pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */ 124 abilis,function = "mos2"; 125 }; 126 pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */ 127 abilis,function = "mos3"; 128 }; 129 /* Port 7 */ 130 pctl_uart0: pctl-uart0 { /* UART 0 */ 131 abilis,function = "uart0"; 132 }; 133 pctl_uart1: pctl-uart1 { /* UART 1 */ 134 abilis,function = "uart1"; 135 }; 136 pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */ 137 abilis,function = "gpiol"; 138 }; 139 pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */ 140 abilis,function = "gpiom"; 141 }; 142 /* Port 8 */ 143 pctl_spi3: pctl-spi3 { 144 abilis,function = "spi3"; 145 }; 146 pctl_jtag: pctl-jtag { 147 abilis,function = "jtag"; 148 }; 149 /* Port 9 */ 150 pctl_spi1: pctl-spi1 { 151 abilis,function = "spi1"; 152 }; 153 pctl_gpio_n: pctl-gpio-n { 154 abilis,function = "gpion"; 155 }; 156 /* Unmuxed GPIOs */ 157 pctl_gpio_b: pctl-gpio-b { 158 abilis,function = "gpiob"; 159 }; 160 pctl_gpio_d: pctl-gpio-d { 161 abilis,function = "gpiod"; 162 }; 163 pctl_gpio_f: pctl-gpio-f { 164 abilis,function = "gpiof"; 165 }; 166 pctl_gpio_h: pctl-gpio-h { 167 abilis,function = "gpioh"; 168 }; 169 pctl_gpio_i: pctl-gpio-i { 170 abilis,function = "gpioi"; 171 }; 172 }; 173 174 gpioa: gpio@ff140000 { 175 compatible = "abilis,tb10x-gpio"; 176 interrupt-controller; 177 #interrupt-cells = <1>; 178 interrupt-parent = <&tb10x_ictl>; 179 interrupts = <27 2>; 180 reg = <0xff140000 0x1000>; 181 gpio-controller; 182 #gpio-cells = <2>; 183 abilis,ngpio = <3>; 184 gpio-ranges = <&iomux 0 0 0>; 185 gpio-ranges-group-names = "gpioa"; 186 }; 187 gpiob: gpio@ff141000 { 188 compatible = "abilis,tb10x-gpio"; 189 interrupt-controller; 190 #interrupt-cells = <1>; 191 interrupt-parent = <&tb10x_ictl>; 192 interrupts = <27 2>; 193 reg = <0xff141000 0x1000>; 194 gpio-controller; 195 #gpio-cells = <2>; 196 abilis,ngpio = <2>; 197 gpio-ranges = <&iomux 0 0 0>; 198 gpio-ranges-group-names = "gpiob"; 199 }; 200 gpioc: gpio@ff142000 { 201 compatible = "abilis,tb10x-gpio"; 202 interrupt-controller; 203 #interrupt-cells = <1>; 204 interrupt-parent = <&tb10x_ictl>; 205 interrupts = <27 2>; 206 reg = <0xff142000 0x1000>; 207 gpio-controller; 208 #gpio-cells = <2>; 209 abilis,ngpio = <3>; 210 gpio-ranges = <&iomux 0 0 0>; 211 gpio-ranges-group-names = "gpioc"; 212 }; 213 gpiod: gpio@ff143000 { 214 compatible = "abilis,tb10x-gpio"; 215 interrupt-controller; 216 #interrupt-cells = <1>; 217 interrupt-parent = <&tb10x_ictl>; 218 interrupts = <27 2>; 219 reg = <0xff143000 0x1000>; 220 gpio-controller; 221 #gpio-cells = <2>; 222 abilis,ngpio = <2>; 223 gpio-ranges = <&iomux 0 0 0>; 224 gpio-ranges-group-names = "gpiod"; 225 }; 226 gpioe: gpio@ff144000 { 227 compatible = "abilis,tb10x-gpio"; 228 interrupt-controller; 229 #interrupt-cells = <1>; 230 interrupt-parent = <&tb10x_ictl>; 231 interrupts = <27 2>; 232 reg = <0xff144000 0x1000>; 233 gpio-controller; 234 #gpio-cells = <2>; 235 abilis,ngpio = <3>; 236 gpio-ranges = <&iomux 0 0 0>; 237 gpio-ranges-group-names = "gpioe"; 238 }; 239 gpiof: gpio@ff145000 { 240 compatible = "abilis,tb10x-gpio"; 241 interrupt-controller; 242 #interrupt-cells = <1>; 243 interrupt-parent = <&tb10x_ictl>; 244 interrupts = <27 2>; 245 reg = <0xff145000 0x1000>; 246 gpio-controller; 247 #gpio-cells = <2>; 248 abilis,ngpio = <2>; 249 gpio-ranges = <&iomux 0 0 0>; 250 gpio-ranges-group-names = "gpiof"; 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 2>; 258 reg = <0xff146000 0x1000>; 259 gpio-controller; 260 #gpio-cells = <2>; 261 abilis,ngpio = <3>; 262 gpio-ranges = <&iomux 0 0 0>; 263 gpio-ranges-group-names = "gpiog"; 264 }; 265 gpioh: gpio@ff147000 { 266 compatible = "abilis,tb10x-gpio"; 267 interrupt-controller; 268 #interrupt-cells = <1>; 269 interrupt-parent = <&tb10x_ictl>; 270 interrupts = <27 2>; 271 reg = <0xff147000 0x1000>; 272 gpio-controller; 273 #gpio-cells = <2>; 274 abilis,ngpio = <2>; 275 gpio-ranges = <&iomux 0 0 0>; 276 gpio-ranges-group-names = "gpioh"; 277 }; 278 gpioi: gpio@ff148000 { 279 compatible = "abilis,tb10x-gpio"; 280 interrupt-controller; 281 #interrupt-cells = <1>; 282 interrupt-parent = <&tb10x_ictl>; 283 interrupts = <27 2>; 284 reg = <0xff148000 0x1000>; 285 gpio-controller; 286 #gpio-cells = <2>; 287 abilis,ngpio = <12>; 288 gpio-ranges = <&iomux 0 0 0>; 289 gpio-ranges-group-names = "gpioi"; 290 }; 291 gpioj: gpio@ff149000 { 292 compatible = "abilis,tb10x-gpio"; 293 interrupt-controller; 294 #interrupt-cells = <1>; 295 interrupt-parent = <&tb10x_ictl>; 296 interrupts = <27 2>; 297 reg = <0xff149000 0x1000>; 298 gpio-controller; 299 #gpio-cells = <2>; 300 abilis,ngpio = <32>; 301 gpio-ranges = <&iomux 0 0 0>; 302 gpio-ranges-group-names = "gpioj"; 303 }; 304 gpiok: gpio@ff14a000 { 305 compatible = "abilis,tb10x-gpio"; 306 interrupt-controller; 307 #interrupt-cells = <1>; 308 interrupt-parent = <&tb10x_ictl>; 309 interrupts = <27 2>; 310 reg = <0xff14a000 0x1000>; 311 gpio-controller; 312 #gpio-cells = <2>; 313 abilis,ngpio = <22>; 314 gpio-ranges = <&iomux 0 0 0>; 315 gpio-ranges-group-names = "gpiok"; 316 }; 317 gpiol: gpio@ff14b000 { 318 compatible = "abilis,tb10x-gpio"; 319 interrupt-controller; 320 #interrupt-cells = <1>; 321 interrupt-parent = <&tb10x_ictl>; 322 interrupts = <27 2>; 323 reg = <0xff14b000 0x1000>; 324 gpio-controller; 325 #gpio-cells = <2>; 326 abilis,ngpio = <4>; 327 gpio-ranges = <&iomux 0 0 0>; 328 gpio-ranges-group-names = "gpiol"; 329 }; 330 gpiom: gpio@ff14c000 { 331 compatible = "abilis,tb10x-gpio"; 332 interrupt-controller; 333 #interrupt-cells = <1>; 334 interrupt-parent = <&tb10x_ictl>; 335 interrupts = <27 2>; 336 reg = <0xff14c000 0x1000>; 337 gpio-controller; 338 #gpio-cells = <2>; 339 abilis,ngpio = <4>; 340 gpio-ranges = <&iomux 0 0 0>; 341 gpio-ranges-group-names = "gpiom"; 342 }; 343 gpion: gpio@ff14d000 { 344 compatible = "abilis,tb10x-gpio"; 345 interrupt-controller; 346 #interrupt-cells = <1>; 347 interrupt-parent = <&tb10x_ictl>; 348 interrupts = <27 2>; 349 reg = <0xff14d000 0x1000>; 350 gpio-controller; 351 #gpio-cells = <2>; 352 abilis,ngpio = <5>; 353 gpio-ranges = <&iomux 0 0 0>; 354 gpio-ranges-group-names = "gpion"; 355 }; 356 }; 357}; 358