| /* | |
| * Device Tree Source for the MPC5121e based ac14xx board | |
| * | |
| * Copyright 2012 Anatolij Gustschin <agust@denx.de> | |
| * | |
| * This program is free software; you can redistribute it and/or modify it | |
| * under the terms of the GNU General Public License as published by the | |
| * Free Software Foundation; either version 2 of the License, or (at your | |
| * option) any later version. | |
| */ | |
| #include <mpc5121.dtsi> | |
| / { | |
| model = "ac14xx"; | |
| compatible = "ifm,ac14xx", "fsl,mpc5121"; | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| aliases { | |
| serial0 = &serial0; | |
| serial1 = &serial7; | |
| spi4 = &spi4; | |
| spi5 = &spi5; | |
| }; | |
| cpus { | |
| PowerPC,5121@0 { | |
| timebase-frequency = <40000000>; /* 40 MHz (csb/4) */ | |
| bus-frequency = <160000000>; /* 160 MHz csb bus */ | |
| clock-frequency = <400000000>; /* 400 MHz ppc core */ | |
| }; | |
| }; | |
| memory { | |
| reg = <0x00000000 0x10000000>; /* 256MB at 0 */ | |
| }; | |
| nfc@40000000 { | |
| status = "disabled"; | |
| }; | |
| localbus@80000020 { | |
| ranges = <0x0 0x0 0xfc000000 0x04000000 /* CS0: NOR flash */ | |
| 0x1 0x0 0xe0000000 0x00010000 /* CS1: FRAM */ | |
| 0x2 0x0 0xe0100000 0x00080000 /* CS2: asi1 */ | |
| 0x3 0x0 0xe0300000 0x00020000 /* CS3: comm */ | |
| 0x5 0x0 0xe0400000 0x00010000 /* CS5: safety */ | |
| 0x6 0x0 0xe0200000 0x00080000>; /* CS6: asi2 */ | |
| flash@0,0 { | |
| compatible = "cfi-flash"; | |
| reg = <0 0x00000000 0x04000000>; | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| bank-width = <2>; | |
| device-width = <2>; | |
| partition@0 { | |
| label = "dtb-kernel-production"; | |
| reg = <0x00000000 0x00400000>; | |
| }; | |
| partition@1 { | |
| label = "filesystem-production"; | |
| reg = <0x00400000 0x03400000>; | |
| }; | |
| partition@2 { | |
| label = "recovery"; | |
| reg = <0x03800000 0x00700000>; | |
| }; | |
| partition@3 { | |
| label = "uboot-code"; | |
| reg = <0x03f00000 0x00040000>; | |
| }; | |
| partition@4 { | |
| label = "uboot-env1"; | |
| reg = <0x03f40000 0x00020000>; | |
| }; | |
| partition@5 { | |
| label = "uboot-env2"; | |
| reg = <0x03f60000 0x00020000>; | |
| }; | |
| }; | |
| fram@1,0 { | |
| compatible = "ifm,ac14xx-fram", "linux,uio-pdrv-genirq"; | |
| reg = <1 0x00000000 0x00010000>; | |
| }; | |
| asi@2,0 { | |
| /* masters mapping: CS, CS offset, size */ | |
| reg = <2 0x00000000 0x00080000 | |
| 6 0x00000000 0x00080000>; | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| compatible = "ifm,ac14xx-asi-fpga"; | |
| gpios = < | |
| &gpio_pic 26 0 /* prog */ | |
| &gpio_pic 27 0 /* done */ | |
| &gpio_pic 10 0 /* reset */ | |
| >; | |
| master@1 { | |
| interrupts = <20 0x2>; | |
| interrupt-parent = <&gpio_pic>; | |
| chipselect = <2 0x00009000 0x00009100>; | |
| label = "AS-i master 1"; | |
| }; | |
| master@2 { | |
| interrupts = <21 0x2>; | |
| interrupt-parent = <&gpio_pic>; | |
| chipselect = <6 0x00009000 0x00009100>; | |
| label = "AS-i master 2"; | |
| }; | |
| }; | |
| netx@3,0 { | |
| compatible = "ifm,netx"; | |
| reg = <0x3 0x00000000 0x00020000>; | |
| chipselect = <3 0x00101140 0x00203100>; | |
| interrupts = <17 0x8>; | |
| gpios = <&gpio_pic 15 0>; | |
| }; | |
| safety@5,0 { | |
| compatible = "ifm,safety"; | |
| reg = <0x5 0x00000000 0x00010000>; | |
| chipselect = <5 0x00009000 0x00009100>; | |
| interrupts = <22 0x2>; | |
| interrupt-parent = <&gpio_pic>; | |
| gpios = < | |
| &gpio_pic 12 0 /* prog */ | |
| &gpio_pic 11 0 /* done */ | |
| >; | |
| }; | |
| }; | |
| clocks { | |
| osc { | |
| clock-frequency = <25000000>; | |
| }; | |
| }; | |
| soc@80000000 { | |
| bus-frequency = <80000000>; /* 80 MHz ips bus */ | |
| clock@f00 { | |
| compatible = "fsl,mpc5121rev2-clock", "fsl,mpc5121-clock"; | |
| }; | |
| /* | |
| * GPIO PIC: | |
| * interrupts cell = <pin nr, sense> | |
| * sense == 8: Level, low assertion | |
| * sense == 2: Edge, high-to-low change | |
| */ | |
| gpio_pic: gpio@1100 { | |
| gpio-controller; | |
| #gpio-cells = <2>; | |
| interrupt-controller; | |
| #interrupt-cells = <2>; | |
| }; | |
| sdhc@1500 { | |
| cd-gpios = <&gpio_pic 23 0>; /* card detect */ | |
| wp-gpios = <&gpio_pic 24 0>; /* write protect */ | |
| wp-inverted; /* WP active high */ | |
| }; | |
| i2c@1700 { | |
| /* use Fast-mode */ | |
| clock-frequency = <400000>; | |
| at24@30 { | |
| compatible = "at24,24c01"; | |
| reg = <0x30>; | |
| }; | |
| at24@31 { | |
| compatible = "at24,24c01"; | |
| reg = <0x31>; | |
| }; | |
| temp@48 { | |
| compatible = "ad,ad7414"; | |
| reg = <0x48>; | |
| }; | |
| at24@50 { | |
| compatible = "at24,24c01"; | |
| reg = <0x50>; | |
| }; | |
| at24@51 { | |
| compatible = "at24,24c01"; | |
| reg = <0x51>; | |
| }; | |
| at24@52 { | |
| compatible = "at24,24c01"; | |
| reg = <0x52>; | |
| }; | |
| at24@53 { | |
| compatible = "at24,24c01"; | |
| reg = <0x53>; | |
| }; | |
| at24@54 { | |
| compatible = "at24,24c01"; | |
| reg = <0x54>; | |
| }; | |
| at24@55 { | |
| compatible = "at24,24c01"; | |
| reg = <0x55>; | |
| }; | |
| at24@56 { | |
| compatible = "at24,24c01"; | |
| reg = <0x56>; | |
| }; | |
| at24@57 { | |
| compatible = "at24,24c01"; | |
| reg = <0x57>; | |
| }; | |
| rtc@68 { | |
| compatible = "st,m41t00"; | |
| reg = <0x68>; | |
| }; | |
| }; | |
| axe_pic: axe-base@2000 { | |
| compatible = "fsl,mpc5121-axe-base"; | |
| reg = <0x2000 0x100>; | |
| interrupts = <42 0x8>; | |
| interrupt-controller; | |
| #interrupt-cells = <2>; | |
| }; | |
| axe-app { | |
| compatible = "fsl,mpc5121-axe-app"; | |
| interrupt-parent = <&axe_pic>; | |
| interrupts = < | |
| /* soft interrupts */ | |
| 0 0x0 1 0x0 2 0x0 3 0x0 | |
| 4 0x0 5 0x0 6 0x0 7 0x0 | |
| /* fifo interrupts */ | |
| 8 0x0 9 0x0 10 0x0 11 0x0 | |
| >; | |
| }; | |
| display@2100 { | |
| edid = [00 FF FF FF FF FF FF 00 14 94 00 00 00 00 00 00 | |
| 0A 12 01 03 80 1C 23 78 CA 88 FF 94 52 54 8E 27 | |
| 1E 4C 50 00 00 00 01 01 01 01 01 01 01 01 01 01 | |
| 01 01 01 01 01 01 FB 00 B0 14 00 DC 05 00 08 04 | |
| 21 00 1C 23 00 00 00 18 00 00 00 FD 00 38 3C 1F | |
| 3C 01 0A 20 20 20 20 20 20 20 00 00 00 FC 00 45 | |
| 54 30 31 38 30 30 33 44 4D 55 0A 0A 00 00 00 10 | |
| 00 41 30 30 30 30 30 30 30 30 30 30 30 31 00 D5]; | |
| }; | |
| can@2300 { | |
| status = "disabled"; | |
| }; | |
| can@2380 { | |
| status = "disabled"; | |
| }; | |
| viu@2400 { | |
| status = "disabled"; | |
| }; | |
| mdio@2800 { | |
| phy0: ethernet-phy@1f { | |
| compatible = "smsc,lan8700"; | |
| reg = <0x1f>; | |
| }; | |
| }; | |
| enet: ethernet@2800 { | |
| phy-handle = <&phy0>; | |
| }; | |
| usb@3000 { | |
| status = "disabled"; | |
| }; | |
| usb@4000 { | |
| status = "disabled"; | |
| }; | |
| /* PSC3 serial port A, aka ttyPSC0 */ | |
| serial0: psc@11300 { | |
| compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc"; | |
| fsl,rx-fifo-size = <512>; | |
| fsl,tx-fifo-size = <512>; | |
| }; | |
| /* PSC4 in SPI mode */ | |
| spi4: psc@11400 { | |
| compatible = "fsl,mpc5121-psc-spi", "fsl,mpc5121-psc"; | |
| fsl,rx-fifo-size = <768>; | |
| fsl,tx-fifo-size = <768>; | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| num-cs = <1>; | |
| cs-gpios = <&gpio_pic 25 0>; | |
| flash: m25p128@0 { | |
| compatible = "st,m25p128"; | |
| spi-max-frequency = <20000000>; | |
| reg = <0>; | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| partition@0 { | |
| label = "spi-flash0"; | |
| reg = <0x00000000 0x01000000>; | |
| }; | |
| }; | |
| }; | |
| /* PSC5 in SPI mode */ | |
| spi5: psc@11500 { | |
| compatible = "fsl,mpc5121-psc-spi", "fsl,mpc5121-psc"; | |
| fsl,mode = "spi-master"; | |
| fsl,rx-fifo-size = <128>; | |
| fsl,tx-fifo-size = <128>; | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| lcd@0 { | |
| compatible = "ilitek,ili922x"; | |
| reg = <0>; | |
| spi-max-frequency = <100000>; | |
| spi-cpol; | |
| spi-cpha; | |
| }; | |
| }; | |
| /* PSC7 serial port C, aka ttyPSC2 */ | |
| serial7: psc@11700 { | |
| compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc"; | |
| fsl,rx-fifo-size = <512>; | |
| fsl,tx-fifo-size = <512>; | |
| }; | |
| matrix_keypad@0 { | |
| compatible = "gpio-matrix-keypad"; | |
| debounce-delay-ms = <5>; | |
| col-scan-delay-us = <1>; | |
| gpio-activelow; | |
| col-gpios-binary; | |
| col-switch-delay-ms = <200>; | |
| col-gpios = <&gpio_pic 1 0>; /* pin1 */ | |
| row-gpios = <&gpio_pic 2 0 /* pin2 */ | |
| &gpio_pic 3 0 /* pin3 */ | |
| &gpio_pic 4 0>; /* pin4 */ | |
| linux,keymap = <0x0000006e /* FN LEFT */ | |
| 0x01000067 /* UP */ | |
| 0x02000066 /* FN RIGHT */ | |
| 0x00010069 /* LEFT */ | |
| 0x0101006a /* DOWN */ | |
| 0x0201006c>; /* RIGHT */ | |
| }; | |
| }; | |
| leds { | |
| compatible = "gpio-leds"; | |
| backlight { | |
| label = "backlight"; | |
| gpios = <&gpio_pic 0 0>; | |
| default-state = "keep"; | |
| }; | |
| green { | |
| label = "green"; | |
| gpios = <&gpio_pic 18 0>; | |
| default-state = "keep"; | |
| }; | |
| red { | |
| label = "red"; | |
| gpios = <&gpio_pic 19 0>; | |
| default-state = "keep"; | |
| }; | |
| }; | |
| }; |