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 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 /* Port 6 */ 110 pctl_tsout_p: pctl-tsout-p { /* Parallel TS-out */ 111 abilis,function = "mop"; 112 }; 113 pctl_tsout_s0: pctl-tsout-s0 { /* Serial TS-out 0 */ 114 abilis,function = "mos0"; 115 }; 116 pctl_tsout_s1: pctl-tsout-s1 { /* Serial TS-out 1 */ 117 abilis,function = "mos1"; 118 }; 119 pctl_tsout_s2: pctl-tsout-s2 { /* Serial TS-out 2 */ 120 abilis,function = "mos2"; 121 }; 122 pctl_tsout_s3: pctl-tsout-s3 { /* Serial TS-out 3 */ 123 abilis,function = "mos3"; 124 }; 125 /* Port 7 */ 126 pctl_uart0: pctl-uart0 { /* UART 0 */ 127 abilis,function = "uart0"; 128 }; 129 pctl_uart1: pctl-uart1 { /* UART 1 */ 130 abilis,function = "uart1"; 131 }; 132 pctl_gpio_l: pctl-gpio-l { /* GPIO bank L */ 133 abilis,function = "gpiol"; 134 }; 135 pctl_gpio_m: pctl-gpio-m { /* GPIO bank M */ 136 abilis,function = "gpiom"; 137 }; 138 /* Port 8 */ 139 pctl_spi3: pctl-spi3 { 140 abilis,function = "spi3"; 141 }; 142 /* Port 9 */ 143 pctl_spi1: pctl-spi1 { 144 abilis,function = "spi1"; 145 }; 146 pctl_gpio_n: pctl-gpio-n { 147 abilis,function = "gpion"; 148 }; 149 /* Unmuxed GPIOs */ 150 pctl_gpio_b: pctl-gpio-b { 151 abilis,function = "gpiob"; 152 }; 153 pctl_gpio_d: pctl-gpio-d { 154 abilis,function = "gpiod"; 155 }; 156 pctl_gpio_f: pctl-gpio-f { 157 abilis,function = "gpiof"; 158 }; 159 pctl_gpio_h: pctl-gpio-h { 160 abilis,function = "gpioh"; 161 }; 162 pctl_gpio_i: pctl-gpio-i { 163 abilis,function = "gpioi"; 164 }; 165 }; 166 167 gpioa: gpio@FF140000 { 168 compatible = "abilis,tb10x-gpio"; 169 interrupt-controller; 170 #interrupt-cells = <1>; 171 interrupt-parent = <&tb10x_ictl>; 172 interrupts = <27 2>; 173 reg = <0xFF140000 0x1000>; 174 gpio-controller; 175 #gpio-cells = <2>; 176 abilis,ngpio = <3>; 177 gpio-ranges = <&iomux 0 0 0>; 178 gpio-ranges-group-names = "gpioa"; 179 }; 180 gpiob: gpio@FF141000 { 181 compatible = "abilis,tb10x-gpio"; 182 interrupt-controller; 183 #interrupt-cells = <1>; 184 interrupt-parent = <&tb10x_ictl>; 185 interrupts = <27 2>; 186 reg = <0xFF141000 0x1000>; 187 gpio-controller; 188 #gpio-cells = <2>; 189 abilis,ngpio = <2>; 190 gpio-ranges = <&iomux 0 0 0>; 191 gpio-ranges-group-names = "gpiob"; 192 }; 193 gpioc: gpio@FF142000 { 194 compatible = "abilis,tb10x-gpio"; 195 interrupt-controller; 196 #interrupt-cells = <1>; 197 interrupt-parent = <&tb10x_ictl>; 198 interrupts = <27 2>; 199 reg = <0xFF142000 0x1000>; 200 gpio-controller; 201 #gpio-cells = <2>; 202 abilis,ngpio = <3>; 203 gpio-ranges = <&iomux 0 0 0>; 204 gpio-ranges-group-names = "gpioc"; 205 }; 206 gpiod: gpio@FF143000 { 207 compatible = "abilis,tb10x-gpio"; 208 interrupt-controller; 209 #interrupt-cells = <1>; 210 interrupt-parent = <&tb10x_ictl>; 211 interrupts = <27 2>; 212 reg = <0xFF143000 0x1000>; 213 gpio-controller; 214 #gpio-cells = <2>; 215 abilis,ngpio = <2>; 216 gpio-ranges = <&iomux 0 0 0>; 217 gpio-ranges-group-names = "gpiod"; 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 2>; 225 reg = <0xFF144000 0x1000>; 226 gpio-controller; 227 #gpio-cells = <2>; 228 abilis,ngpio = <3>; 229 gpio-ranges = <&iomux 0 0 0>; 230 gpio-ranges-group-names = "gpioe"; 231 }; 232 gpiof: gpio@FF145000 { 233 compatible = "abilis,tb10x-gpio"; 234 interrupt-controller; 235 #interrupt-cells = <1>; 236 interrupt-parent = <&tb10x_ictl>; 237 interrupts = <27 2>; 238 reg = <0xFF145000 0x1000>; 239 gpio-controller; 240 #gpio-cells = <2>; 241 abilis,ngpio = <2>; 242 gpio-ranges = <&iomux 0 0 0>; 243 gpio-ranges-group-names = "gpiof"; 244 }; 245 gpiog: gpio@FF146000 { 246 compatible = "abilis,tb10x-gpio"; 247 interrupt-controller; 248 #interrupt-cells = <1>; 249 interrupt-parent = <&tb10x_ictl>; 250 interrupts = <27 2>; 251 reg = <0xFF146000 0x1000>; 252 gpio-controller; 253 #gpio-cells = <2>; 254 abilis,ngpio = <3>; 255 gpio-ranges = <&iomux 0 0 0>; 256 gpio-ranges-group-names = "gpiog"; 257 }; 258 gpioh: gpio@FF147000 { 259 compatible = "abilis,tb10x-gpio"; 260 interrupt-controller; 261 #interrupt-cells = <1>; 262 interrupt-parent = <&tb10x_ictl>; 263 interrupts = <27 2>; 264 reg = <0xFF147000 0x1000>; 265 gpio-controller; 266 #gpio-cells = <2>; 267 abilis,ngpio = <2>; 268 gpio-ranges = <&iomux 0 0 0>; 269 gpio-ranges-group-names = "gpioh"; 270 }; 271 gpioi: gpio@FF148000 { 272 compatible = "abilis,tb10x-gpio"; 273 interrupt-controller; 274 #interrupt-cells = <1>; 275 interrupt-parent = <&tb10x_ictl>; 276 interrupts = <27 2>; 277 reg = <0xFF148000 0x1000>; 278 gpio-controller; 279 #gpio-cells = <2>; 280 abilis,ngpio = <12>; 281 gpio-ranges = <&iomux 0 0 0>; 282 gpio-ranges-group-names = "gpioi"; 283 }; 284 gpioj: gpio@FF149000 { 285 compatible = "abilis,tb10x-gpio"; 286 interrupt-controller; 287 #interrupt-cells = <1>; 288 interrupt-parent = <&tb10x_ictl>; 289 interrupts = <27 2>; 290 reg = <0xFF149000 0x1000>; 291 gpio-controller; 292 #gpio-cells = <2>; 293 abilis,ngpio = <32>; 294 gpio-ranges = <&iomux 0 0 0>; 295 gpio-ranges-group-names = "gpioj"; 296 }; 297 gpiok: gpio@FF14a000 { 298 compatible = "abilis,tb10x-gpio"; 299 interrupt-controller; 300 #interrupt-cells = <1>; 301 interrupt-parent = <&tb10x_ictl>; 302 interrupts = <27 2>; 303 reg = <0xFF14A000 0x1000>; 304 gpio-controller; 305 #gpio-cells = <2>; 306 abilis,ngpio = <22>; 307 gpio-ranges = <&iomux 0 0 0>; 308 gpio-ranges-group-names = "gpiok"; 309 }; 310 gpiol: gpio@FF14b000 { 311 compatible = "abilis,tb10x-gpio"; 312 interrupt-controller; 313 #interrupt-cells = <1>; 314 interrupt-parent = <&tb10x_ictl>; 315 interrupts = <27 2>; 316 reg = <0xFF14B000 0x1000>; 317 gpio-controller; 318 #gpio-cells = <2>; 319 abilis,ngpio = <4>; 320 gpio-ranges = <&iomux 0 0 0>; 321 gpio-ranges-group-names = "gpiol"; 322 }; 323 gpiom: gpio@FF14c000 { 324 compatible = "abilis,tb10x-gpio"; 325 interrupt-controller; 326 #interrupt-cells = <1>; 327 interrupt-parent = <&tb10x_ictl>; 328 interrupts = <27 2>; 329 reg = <0xFF14C000 0x1000>; 330 gpio-controller; 331 #gpio-cells = <2>; 332 abilis,ngpio = <4>; 333 gpio-ranges = <&iomux 0 0 0>; 334 gpio-ranges-group-names = "gpiom"; 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 2>; 342 reg = <0xFF14D000 0x1000>; 343 gpio-controller; 344 #gpio-cells = <2>; 345 abilis,ngpio = <5>; 346 gpio-ranges = <&iomux 0 0 0>; 347 gpio-ranges-group-names = "gpion"; 348 }; 349 }; 350}; 351