1bd05f91fSJohn Rigby/* 24df64c3eSJohn Rigby * MPC5121E ADS Device Tree Source 3bd05f91fSJohn Rigby * 481c6fdb6SAnatolij Gustschin * Copyright 2007-2008 Freescale Semiconductor Inc. 5bd05f91fSJohn Rigby * 6bd05f91fSJohn Rigby * This program is free software; you can redistribute it and/or modify it 7bd05f91fSJohn Rigby * under the terms of the GNU General Public License as published by the 8bd05f91fSJohn Rigby * Free Software Foundation; either version 2 of the License, or (at your 9bd05f91fSJohn Rigby * option) any later version. 10bd05f91fSJohn Rigby */ 11bd05f91fSJohn Rigby 12f2110cb9SGerhard Sittig#include <mpc5121.dtsi> 13bd05f91fSJohn Rigby 14bd05f91fSJohn Rigby/ { 15bd05f91fSJohn Rigby model = "mpc5121ads"; 16a9b6aae4SMatteo Facchinetti compatible = "fsl,mpc5121ads", "fsl,mpc5121"; 174df64c3eSJohn Rigby 184df64c3eSJohn Rigby nfc@40000000 { 1981c6fdb6SAnatolij Gustschin /* 2081c6fdb6SAnatolij Gustschin * ADS has two Hynix 512MB Nand flash chips in a single 2181c6fdb6SAnatolij Gustschin * stacked package. 2281c6fdb6SAnatolij Gustschin */ 234df64c3eSJohn Rigby chips = <2>; 2481c6fdb6SAnatolij Gustschin 25dcc79d78SAnatolij Gustschin nand@0 { 26dcc79d78SAnatolij Gustschin label = "nand"; 2781c6fdb6SAnatolij Gustschin reg = <0x00000000 0x40000000>; /* 512MB + 512MB */ 284df64c3eSJohn Rigby }; 294df64c3eSJohn Rigby }; 304df64c3eSJohn Rigby 31bd05f91fSJohn Rigby localbus@80000020 { 32bd05f91fSJohn Rigby ranges = <0x0 0x0 0xfc000000 0x04000000 33bd05f91fSJohn Rigby 0x2 0x0 0x82000000 0x00008000>; 34bd05f91fSJohn Rigby 35bd05f91fSJohn Rigby flash@0,0 { 36bd05f91fSJohn Rigby compatible = "cfi-flash"; 37bd05f91fSJohn Rigby reg = <0 0x0 0x4000000>; 384df64c3eSJohn Rigby #address-cells = <1>; 394df64c3eSJohn Rigby #size-cells = <1>; 40bd05f91fSJohn Rigby bank-width = <4>; 414df64c3eSJohn Rigby device-width = <2>; 4281c6fdb6SAnatolij Gustschin 434df64c3eSJohn Rigby protected@0 { 444df64c3eSJohn Rigby label = "protected"; 454df64c3eSJohn Rigby reg = <0x00000000 0x00040000>; // first sector is protected 464df64c3eSJohn Rigby read-only; 474df64c3eSJohn Rigby }; 484df64c3eSJohn Rigby filesystem@40000 { 494df64c3eSJohn Rigby label = "filesystem"; 504df64c3eSJohn Rigby reg = <0x00040000 0x03c00000>; // 60M for filesystem 514df64c3eSJohn Rigby }; 524df64c3eSJohn Rigby kernel@3c40000 { 534df64c3eSJohn Rigby label = "kernel"; 544df64c3eSJohn Rigby reg = <0x03c40000 0x00280000>; // 2.5M for kernel 554df64c3eSJohn Rigby }; 564df64c3eSJohn Rigby device-tree@3ec0000 { 574df64c3eSJohn Rigby label = "device-tree"; 584df64c3eSJohn Rigby reg = <0x03ec0000 0x00040000>; // one sector for device tree 594df64c3eSJohn Rigby }; 604df64c3eSJohn Rigby u-boot@3f00000 { 614df64c3eSJohn Rigby label = "u-boot"; 624df64c3eSJohn Rigby reg = <0x03f00000 0x00100000>; // 1M for u-boot 634df64c3eSJohn Rigby read-only; 644df64c3eSJohn Rigby }; 65bd05f91fSJohn Rigby }; 66bd05f91fSJohn Rigby 67bd05f91fSJohn Rigby board-control@2,0 { 68bd05f91fSJohn Rigby compatible = "fsl,mpc5121ads-cpld"; 69bd05f91fSJohn Rigby reg = <0x2 0x0 0x8000>; 70bd05f91fSJohn Rigby }; 714df64c3eSJohn Rigby 724df64c3eSJohn Rigby cpld_pic: pic@2,a { 734df64c3eSJohn Rigby compatible = "fsl,mpc5121ads-cpld-pic"; 744df64c3eSJohn Rigby interrupt-controller; 754df64c3eSJohn Rigby #interrupt-cells = <2>; 764df64c3eSJohn Rigby reg = <0x2 0xa 0x5>; 7781c6fdb6SAnatolij Gustschin /* irq routing: 7881c6fdb6SAnatolij Gustschin * all irqs but touch screen are routed to irq0 (ipic 48) 7981c6fdb6SAnatolij Gustschin * touch screen is statically routed to irq1 (ipic 17) 8081c6fdb6SAnatolij Gustschin * so don't use it here 8181c6fdb6SAnatolij Gustschin */ 824df64c3eSJohn Rigby interrupts = <48 0x8>; 834df64c3eSJohn Rigby }; 84bd05f91fSJohn Rigby }; 85bd05f91fSJohn Rigby 86bd05f91fSJohn Rigby soc@80000000 { 874df64c3eSJohn Rigby 884df64c3eSJohn Rigby i2c@1700 { 89dcc79d78SAnatolij Gustschin fsl,preserve-clocking; 90dcc79d78SAnatolij Gustschin 91dcc79d78SAnatolij Gustschin hwmon@4a { 92dcc79d78SAnatolij Gustschin compatible = "adi,ad7414"; 93dcc79d78SAnatolij Gustschin reg = <0x4a>; 94dcc79d78SAnatolij Gustschin }; 95dcc79d78SAnatolij Gustschin 96dcc79d78SAnatolij Gustschin eeprom@50 { 97dcc79d78SAnatolij Gustschin compatible = "at,24c32"; 98dcc79d78SAnatolij Gustschin reg = <0x50>; 99dcc79d78SAnatolij Gustschin }; 100dcc79d78SAnatolij Gustschin 101dcc79d78SAnatolij Gustschin rtc@68 { 1025edc2aaeSStefan Agner compatible = "st,m41t62"; 103dcc79d78SAnatolij Gustschin reg = <0x68>; 104dcc79d78SAnatolij Gustschin }; 1054df64c3eSJohn Rigby }; 1064df64c3eSJohn Rigby 10781c6fdb6SAnatolij Gustschin eth0: ethernet@2800 { 10881c6fdb6SAnatolij Gustschin phy-handle = <&phy0>; 1094df64c3eSJohn Rigby }; 1104df64c3eSJohn Rigby 11181c6fdb6SAnatolij Gustschin can@2300 { 11281c6fdb6SAnatolij Gustschin status = "disabled"; 1134df64c3eSJohn Rigby }; 1144df64c3eSJohn Rigby 11581c6fdb6SAnatolij Gustschin can@2380 { 11681c6fdb6SAnatolij Gustschin status = "disabled"; 1174df64c3eSJohn Rigby }; 1184df64c3eSJohn Rigby 11981c6fdb6SAnatolij Gustschin viu@2400 { 12081c6fdb6SAnatolij Gustschin status = "disabled"; 1214df64c3eSJohn Rigby }; 1224df64c3eSJohn Rigby 1234df64c3eSJohn Rigby mdio@2800 { 12481c6fdb6SAnatolij Gustschin phy0: ethernet-phy@0 { 1254df64c3eSJohn Rigby reg = <1>; 1264df64c3eSJohn Rigby }; 1274df64c3eSJohn Rigby }; 1284df64c3eSJohn Rigby 12981c6fdb6SAnatolij Gustschin /* mpc5121ads only uses USB0 */ 13081c6fdb6SAnatolij Gustschin usb@3000 { 13181c6fdb6SAnatolij Gustschin status = "disabled"; 1324df64c3eSJohn Rigby }; 1334df64c3eSJohn Rigby 13481c6fdb6SAnatolij Gustschin /* USB0 using internal UTMI PHY */ 1354df64c3eSJohn Rigby usb@4000 { 13681c6fdb6SAnatolij Gustschin dr_mode = "host"; 137dcc79d78SAnatolij Gustschin fsl,invert-drvvbus; 138dcc79d78SAnatolij Gustschin fsl,invert-pwr-fault; 1394df64c3eSJohn Rigby }; 1404df64c3eSJohn Rigby 14181c6fdb6SAnatolij Gustschin /* PSC3 serial port A aka ttyPSC0 */ 14281c6fdb6SAnatolij Gustschin psc@11300 { 1434df64c3eSJohn Rigby compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc"; 144bd05f91fSJohn Rigby }; 145bd05f91fSJohn Rigby 14681c6fdb6SAnatolij Gustschin /* PSC4 serial port B aka ttyPSC1 */ 14781c6fdb6SAnatolij Gustschin psc@11400 { 1484df64c3eSJohn Rigby compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc"; 1494df64c3eSJohn Rigby }; 1504df64c3eSJohn Rigby 15181c6fdb6SAnatolij Gustschin /* PSC5 in ac97 mode */ 15281c6fdb6SAnatolij Gustschin ac97: psc@11500 { 1534df64c3eSJohn Rigby compatible = "fsl,mpc5121-psc-ac97", "fsl,mpc5121-psc"; 1544df64c3eSJohn Rigby fsl,mode = "ac97-slave"; 15581c6fdb6SAnatolij Gustschin fsl,rx-fifo-size = <384>; 15681c6fdb6SAnatolij Gustschin fsl,tx-fifo-size = <384>; 1574df64c3eSJohn Rigby }; 1584df64c3eSJohn Rigby }; 1594df64c3eSJohn Rigby 1604df64c3eSJohn Rigby pci: pci@80008500 { 1614df64c3eSJohn Rigby interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 1624df64c3eSJohn Rigby interrupt-map = < 16381c6fdb6SAnatolij Gustschin /* IDSEL 0x15 - Slot 1 PCI */ 1644df64c3eSJohn Rigby 0xa800 0x0 0x0 0x1 &cpld_pic 0x0 0x8 1654df64c3eSJohn Rigby 0xa800 0x0 0x0 0x2 &cpld_pic 0x1 0x8 1664df64c3eSJohn Rigby 0xa800 0x0 0x0 0x3 &cpld_pic 0x2 0x8 1674df64c3eSJohn Rigby 0xa800 0x0 0x0 0x4 &cpld_pic 0x3 0x8 1684df64c3eSJohn Rigby 16981c6fdb6SAnatolij Gustschin /* IDSEL 0x16 - Slot 2 MiniPCI */ 1704df64c3eSJohn Rigby 0xb000 0x0 0x0 0x1 &cpld_pic 0x4 0x8 1714df64c3eSJohn Rigby 0xb000 0x0 0x0 0x2 &cpld_pic 0x5 0x8 1724df64c3eSJohn Rigby 17381c6fdb6SAnatolij Gustschin /* IDSEL 0x17 - Slot 3 MiniPCI */ 1744df64c3eSJohn Rigby 0xb800 0x0 0x0 0x1 &cpld_pic 0x6 0x8 1754df64c3eSJohn Rigby 0xb800 0x0 0x0 0x2 &cpld_pic 0x7 0x8 1764df64c3eSJohn Rigby >; 177bd05f91fSJohn Rigby }; 178bd05f91fSJohn Rigby}; 179