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