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