123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400 |
- /*
- * 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";
- };
- };
- };
|