1/* 2 * Device Tree Source for the MPC5121e based ac14xx board 3 * 4 * Copyright 2012 Anatolij Gustschin <agust@denx.de> 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the 8 * Free Software Foundation; either version 2 of the License, or (at your 9 * option) any later version. 10 */ 11 12 13#include <mpc5121.dtsi> 14 15/ { 16 model = "ac14xx"; 17 compatible = "ifm,ac14xx", "fsl,mpc5121"; 18 #address-cells = <1>; 19 #size-cells = <1>; 20 21 aliases { 22 serial0 = &serial0; 23 serial1 = &serial7; 24 spi4 = &spi4; 25 spi5 = &spi5; 26 }; 27 28 cpus { 29 PowerPC,5121@0 { 30 timebase-frequency = <40000000>; /* 40 MHz (csb/4) */ 31 bus-frequency = <160000000>; /* 160 MHz csb bus */ 32 clock-frequency = <400000000>; /* 400 MHz ppc core */ 33 }; 34 }; 35 36 memory { 37 reg = <0x00000000 0x10000000>; /* 256MB at 0 */ 38 }; 39 40 nfc@40000000 { 41 status = "disabled"; 42 }; 43 44 localbus@80000020 { 45 ranges = <0x0 0x0 0xfc000000 0x04000000 /* CS0: NOR flash */ 46 0x1 0x0 0xe0000000 0x00010000 /* CS1: FRAM */ 47 0x2 0x0 0xe0100000 0x00080000 /* CS2: asi1 */ 48 0x3 0x0 0xe0300000 0x00020000 /* CS3: comm */ 49 0x5 0x0 0xe0400000 0x00010000 /* CS5: safety */ 50 0x6 0x0 0xe0200000 0x00080000>; /* CS6: asi2 */ 51 52 flash@0,0 { 53 compatible = "cfi-flash"; 54 reg = <0 0x00000000 0x04000000>; 55 #address-cells = <1>; 56 #size-cells = <1>; 57 bank-width = <2>; 58 device-width = <2>; 59 60 partition@0 { 61 label = "dtb-kernel-production"; 62 reg = <0x00000000 0x00400000>; 63 }; 64 partition@1 { 65 label = "filesystem-production"; 66 reg = <0x00400000 0x03400000>; 67 }; 68 69 partition@2 { 70 label = "recovery"; 71 reg = <0x03800000 0x00700000>; 72 }; 73 74 partition@3 { 75 label = "uboot-code"; 76 reg = <0x03f00000 0x00040000>; 77 }; 78 partition@4 { 79 label = "uboot-env1"; 80 reg = <0x03f40000 0x00020000>; 81 }; 82 partition@5 { 83 label = "uboot-env2"; 84 reg = <0x03f60000 0x00020000>; 85 }; 86 }; 87 88 fram@1,0 { 89 compatible = "ifm,ac14xx-fram", "linux,uio-pdrv-genirq"; 90 reg = <1 0x00000000 0x00010000>; 91 }; 92 93 asi@2,0 { 94 /* masters mapping: CS, CS offset, size */ 95 reg = <2 0x00000000 0x00080000 96 6 0x00000000 0x00080000>; 97 #address-cells = <1>; 98 #size-cells = <1>; 99 compatible = "ifm,ac14xx-asi-fpga"; 100 gpios = < 101 &gpio_pic 26 0 /* prog */ 102 &gpio_pic 27 0 /* done */ 103 &gpio_pic 10 0 /* reset */ 104 >; 105 106 master@1 { 107 interrupts = <20 0x2>; 108 interrupt-parent = <&gpio_pic>; 109 chipselect = <2 0x00009000 0x00009100>; 110 label = "AS-i master 1"; 111 }; 112 113 master@2 { 114 interrupts = <21 0x2>; 115 interrupt-parent = <&gpio_pic>; 116 chipselect = <6 0x00009000 0x00009100>; 117 label = "AS-i master 2"; 118 }; 119 }; 120 121 netx@3,0 { 122 compatible = "ifm,netx"; 123 reg = <0x3 0x00000000 0x00020000>; 124 chipselect = <3 0x00101140 0x00203100>; 125 interrupts = <17 0x8>; 126 gpios = <&gpio_pic 15 0>; 127 }; 128 129 safety@5,0 { 130 compatible = "ifm,safety"; 131 reg = <0x5 0x00000000 0x00010000>; 132 chipselect = <5 0x00009000 0x00009100>; 133 interrupts = <22 0x2>; 134 interrupt-parent = <&gpio_pic>; 135 gpios = < 136 &gpio_pic 12 0 /* prog */ 137 &gpio_pic 11 0 /* done */ 138 >; 139 }; 140 }; 141 142 clocks { 143 osc { 144 clock-frequency = <25000000>; 145 }; 146 }; 147 148 soc@80000000 { 149 bus-frequency = <80000000>; /* 80 MHz ips bus */ 150 151 clock@f00 { 152 compatible = "fsl,mpc5121rev2-clock", "fsl,mpc5121-clock"; 153 }; 154 155 /* 156 * GPIO PIC: 157 * interrupts cell = <pin nr, sense> 158 * sense == 8: Level, low assertion 159 * sense == 2: Edge, high-to-low change 160 */ 161 gpio_pic: gpio@1100 { 162 gpio-controller; 163 #gpio-cells = <2>; 164 interrupt-controller; 165 #interrupt-cells = <2>; 166 }; 167 168 sdhc@1500 { 169 cd-gpios = <&gpio_pic 23 0>; /* card detect */ 170 wp-gpios = <&gpio_pic 24 0>; /* write protect */ 171 wp-inverted; /* WP active high */ 172 }; 173 174 i2c@1700 { 175 /* use Fast-mode */ 176 clock-frequency = <400000>; 177 178 at24@30 { 179 compatible = "at24,24c01"; 180 reg = <0x30>; 181 }; 182 183 at24@31 { 184 compatible = "at24,24c01"; 185 reg = <0x31>; 186 }; 187 188 temp@48 { 189 compatible = "ad,ad7414"; 190 reg = <0x48>; 191 }; 192 193 at24@50 { 194 compatible = "at24,24c01"; 195 reg = <0x50>; 196 }; 197 198 at24@51 { 199 compatible = "at24,24c01"; 200 reg = <0x51>; 201 }; 202 203 at24@52 { 204 compatible = "at24,24c01"; 205 reg = <0x52>; 206 }; 207 208 at24@53 { 209 compatible = "at24,24c01"; 210 reg = <0x53>; 211 }; 212 213 at24@54 { 214 compatible = "at24,24c01"; 215 reg = <0x54>; 216 }; 217 218 at24@55 { 219 compatible = "at24,24c01"; 220 reg = <0x55>; 221 }; 222 223 at24@56 { 224 compatible = "at24,24c01"; 225 reg = <0x56>; 226 }; 227 228 at24@57 { 229 compatible = "at24,24c01"; 230 reg = <0x57>; 231 }; 232 233 rtc@68 { 234 compatible = "stm,m41t00"; 235 reg = <0x68>; 236 }; 237 }; 238 239 axe_pic: axe-base@2000 { 240 compatible = "fsl,mpc5121-axe-base"; 241 reg = <0x2000 0x100>; 242 interrupts = <42 0x8>; 243 interrupt-controller; 244 #interrupt-cells = <2>; 245 }; 246 247 axe-app { 248 compatible = "fsl,mpc5121-axe-app"; 249 interrupt-parent = <&axe_pic>; 250 interrupts = < 251 /* soft interrupts */ 252 0 0x0 1 0x0 2 0x0 3 0x0 253 4 0x0 5 0x0 6 0x0 7 0x0 254 /* fifo interrupts */ 255 8 0x0 9 0x0 10 0x0 11 0x0 256 >; 257 }; 258 259 display@2100 { 260 edid = [00 FF FF FF FF FF FF 00 14 94 00 00 00 00 00 00 261 0A 12 01 03 80 1C 23 78 CA 88 FF 94 52 54 8E 27 262 1E 4C 50 00 00 00 01 01 01 01 01 01 01 01 01 01 263 01 01 01 01 01 01 FB 00 B0 14 00 DC 05 00 08 04 264 21 00 1C 23 00 00 00 18 00 00 00 FD 00 38 3C 1F 265 3C 01 0A 20 20 20 20 20 20 20 00 00 00 FC 00 45 266 54 30 31 38 30 30 33 44 4D 55 0A 0A 00 00 00 10 267 00 41 30 30 30 30 30 30 30 30 30 30 30 31 00 D5]; 268 }; 269 270 can@2300 { 271 status = "disabled"; 272 }; 273 274 can@2380 { 275 status = "disabled"; 276 }; 277 278 viu@2400 { 279 status = "disabled"; 280 }; 281 282 mdio@2800 { 283 phy0: ethernet-phy@1f { 284 compatible = "smsc,lan8700"; 285 reg = <0x1f>; 286 }; 287 }; 288 289 enet: ethernet@2800 { 290 phy-handle = <&phy0>; 291 }; 292 293 usb@3000 { 294 status = "disabled"; 295 }; 296 297 usb@4000 { 298 status = "disabled"; 299 }; 300 301 /* PSC3 serial port A, aka ttyPSC0 */ 302 serial0: psc@11300 { 303 compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc"; 304 fsl,rx-fifo-size = <512>; 305 fsl,tx-fifo-size = <512>; 306 }; 307 308 /* PSC4 in SPI mode */ 309 spi4: psc@11400 { 310 compatible = "fsl,mpc5121-psc-spi", "fsl,mpc5121-psc"; 311 fsl,rx-fifo-size = <768>; 312 fsl,tx-fifo-size = <768>; 313 #address-cells = <1>; 314 #size-cells = <0>; 315 num-cs = <1>; 316 cs-gpios = <&gpio_pic 25 0>; 317 318 flash: m25p128@0 { 319 compatible = "st,m25p128"; 320 spi-max-frequency = <20000000>; 321 reg = <0>; 322 #address-cells = <1>; 323 #size-cells = <1>; 324 325 partition@0 { 326 label = "spi-flash0"; 327 reg = <0x00000000 0x01000000>; 328 }; 329 }; 330 }; 331 332 /* PSC5 in SPI mode */ 333 spi5: psc@11500 { 334 compatible = "fsl,mpc5121-psc-spi", "fsl,mpc5121-psc"; 335 fsl,mode = "spi-master"; 336 fsl,rx-fifo-size = <128>; 337 fsl,tx-fifo-size = <128>; 338 #address-cells = <1>; 339 #size-cells = <0>; 340 341 lcd@0 { 342 compatible = "ilitek,ili922x"; 343 reg = <0>; 344 spi-max-frequency = <100000>; 345 spi-cpol; 346 spi-cpha; 347 }; 348 }; 349 350 /* PSC7 serial port C, aka ttyPSC2 */ 351 serial7: psc@11700 { 352 compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc"; 353 fsl,rx-fifo-size = <512>; 354 fsl,tx-fifo-size = <512>; 355 }; 356 357 matrix_keypad@0 { 358 compatible = "gpio-matrix-keypad"; 359 debounce-delay-ms = <5>; 360 col-scan-delay-us = <1>; 361 gpio-activelow; 362 col-gpios-binary; 363 col-switch-delay-ms = <200>; 364 365 col-gpios = <&gpio_pic 1 0>; /* pin1 */ 366 367 row-gpios = <&gpio_pic 2 0 /* pin2 */ 368 &gpio_pic 3 0 /* pin3 */ 369 &gpio_pic 4 0>; /* pin4 */ 370 371 linux,keymap = <0x0000006e /* FN LEFT */ 372 0x01000067 /* UP */ 373 0x02000066 /* FN RIGHT */ 374 0x00010069 /* LEFT */ 375 0x0101006a /* DOWN */ 376 0x0201006c>; /* RIGHT */ 377 }; 378 }; 379 380 leds { 381 compatible = "gpio-leds"; 382 383 backlight { 384 label = "backlight"; 385 gpios = <&gpio_pic 0 0>; 386 default-state = "keep"; 387 }; 388 green { 389 label = "green"; 390 gpios = <&gpio_pic 18 0>; 391 default-state = "keep"; 392 }; 393 red { 394 label = "red"; 395 gpios = <&gpio_pic 19 0>; 396 default-state = "keep"; 397 }; 398 }; 399}; 400