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