1*2874c5fdSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-or-later 2bd05f91fSJohn Rigby/* 34df64c3eSJohn Rigby * MPC5121E ADS Device Tree Source 4bd05f91fSJohn Rigby * 581c6fdb6SAnatolij Gustschin * Copyright 2007-2008 Freescale Semiconductor Inc. 6bd05f91fSJohn Rigby */ 7bd05f91fSJohn Rigby 85405c92bSMasahiro Yamada#include "mpc5121.dtsi" 9bd05f91fSJohn Rigby 10bd05f91fSJohn Rigby/ { 11bd05f91fSJohn Rigby model = "mpc5121ads"; 12a9b6aae4SMatteo Facchinetti compatible = "fsl,mpc5121ads", "fsl,mpc5121"; 134df64c3eSJohn Rigby 144df64c3eSJohn Rigby nfc@40000000 { 1581c6fdb6SAnatolij Gustschin /* 1681c6fdb6SAnatolij Gustschin * ADS has two Hynix 512MB Nand flash chips in a single 1781c6fdb6SAnatolij Gustschin * stacked package. 1881c6fdb6SAnatolij Gustschin */ 194df64c3eSJohn Rigby chips = <2>; 2081c6fdb6SAnatolij Gustschin 21dcc79d78SAnatolij Gustschin nand@0 { 22dcc79d78SAnatolij Gustschin label = "nand"; 2381c6fdb6SAnatolij Gustschin reg = <0x00000000 0x40000000>; /* 512MB + 512MB */ 244df64c3eSJohn Rigby }; 254df64c3eSJohn Rigby }; 264df64c3eSJohn Rigby 27bd05f91fSJohn Rigby localbus@80000020 { 28bd05f91fSJohn Rigby ranges = <0x0 0x0 0xfc000000 0x04000000 29bd05f91fSJohn Rigby 0x2 0x0 0x82000000 0x00008000>; 30bd05f91fSJohn Rigby 31bd05f91fSJohn Rigby flash@0,0 { 32bd05f91fSJohn Rigby compatible = "cfi-flash"; 33bd05f91fSJohn Rigby reg = <0 0x0 0x4000000>; 344df64c3eSJohn Rigby #address-cells = <1>; 354df64c3eSJohn Rigby #size-cells = <1>; 36bd05f91fSJohn Rigby bank-width = <4>; 374df64c3eSJohn Rigby device-width = <2>; 3881c6fdb6SAnatolij Gustschin 394df64c3eSJohn Rigby protected@0 { 404df64c3eSJohn Rigby label = "protected"; 414df64c3eSJohn Rigby reg = <0x00000000 0x00040000>; // first sector is protected 424df64c3eSJohn Rigby read-only; 434df64c3eSJohn Rigby }; 444df64c3eSJohn Rigby filesystem@40000 { 454df64c3eSJohn Rigby label = "filesystem"; 464df64c3eSJohn Rigby reg = <0x00040000 0x03c00000>; // 60M for filesystem 474df64c3eSJohn Rigby }; 484df64c3eSJohn Rigby kernel@3c40000 { 494df64c3eSJohn Rigby label = "kernel"; 504df64c3eSJohn Rigby reg = <0x03c40000 0x00280000>; // 2.5M for kernel 514df64c3eSJohn Rigby }; 524df64c3eSJohn Rigby device-tree@3ec0000 { 534df64c3eSJohn Rigby label = "device-tree"; 544df64c3eSJohn Rigby reg = <0x03ec0000 0x00040000>; // one sector for device tree 554df64c3eSJohn Rigby }; 564df64c3eSJohn Rigby u-boot@3f00000 { 574df64c3eSJohn Rigby label = "u-boot"; 584df64c3eSJohn Rigby reg = <0x03f00000 0x00100000>; // 1M for u-boot 594df64c3eSJohn Rigby read-only; 604df64c3eSJohn Rigby }; 61bd05f91fSJohn Rigby }; 62bd05f91fSJohn Rigby 63bd05f91fSJohn Rigby board-control@2,0 { 64bd05f91fSJohn Rigby compatible = "fsl,mpc5121ads-cpld"; 65bd05f91fSJohn Rigby reg = <0x2 0x0 0x8000>; 66bd05f91fSJohn Rigby }; 674df64c3eSJohn Rigby 684df64c3eSJohn Rigby cpld_pic: pic@2,a { 694df64c3eSJohn Rigby compatible = "fsl,mpc5121ads-cpld-pic"; 704df64c3eSJohn Rigby interrupt-controller; 714df64c3eSJohn Rigby #interrupt-cells = <2>; 724df64c3eSJohn Rigby reg = <0x2 0xa 0x5>; 7381c6fdb6SAnatolij Gustschin /* irq routing: 7481c6fdb6SAnatolij Gustschin * all irqs but touch screen are routed to irq0 (ipic 48) 7581c6fdb6SAnatolij Gustschin * touch screen is statically routed to irq1 (ipic 17) 7681c6fdb6SAnatolij Gustschin * so don't use it here 7781c6fdb6SAnatolij Gustschin */ 784df64c3eSJohn Rigby interrupts = <48 0x8>; 794df64c3eSJohn Rigby }; 80bd05f91fSJohn Rigby }; 81bd05f91fSJohn Rigby 82bd05f91fSJohn Rigby soc@80000000 { 834df64c3eSJohn Rigby 844df64c3eSJohn Rigby i2c@1700 { 85dcc79d78SAnatolij Gustschin fsl,preserve-clocking; 86dcc79d78SAnatolij Gustschin 87dcc79d78SAnatolij Gustschin hwmon@4a { 88dcc79d78SAnatolij Gustschin compatible = "adi,ad7414"; 89dcc79d78SAnatolij Gustschin reg = <0x4a>; 90dcc79d78SAnatolij Gustschin }; 91dcc79d78SAnatolij Gustschin 92dcc79d78SAnatolij Gustschin eeprom@50 { 939b409168SJavier Martinez Canillas compatible = "atmel,24c32"; 94dcc79d78SAnatolij Gustschin reg = <0x50>; 95dcc79d78SAnatolij Gustschin }; 96dcc79d78SAnatolij Gustschin 97dcc79d78SAnatolij Gustschin rtc@68 { 985edc2aaeSStefan Agner compatible = "st,m41t62"; 99dcc79d78SAnatolij Gustschin reg = <0x68>; 100dcc79d78SAnatolij Gustschin }; 1014df64c3eSJohn Rigby }; 1024df64c3eSJohn Rigby 10381c6fdb6SAnatolij Gustschin eth0: ethernet@2800 { 10481c6fdb6SAnatolij Gustschin phy-handle = <&phy0>; 1054df64c3eSJohn Rigby }; 1064df64c3eSJohn Rigby 10781c6fdb6SAnatolij Gustschin can@2300 { 10881c6fdb6SAnatolij Gustschin status = "disabled"; 1094df64c3eSJohn Rigby }; 1104df64c3eSJohn Rigby 11181c6fdb6SAnatolij Gustschin can@2380 { 11281c6fdb6SAnatolij Gustschin status = "disabled"; 1134df64c3eSJohn Rigby }; 1144df64c3eSJohn Rigby 11581c6fdb6SAnatolij Gustschin viu@2400 { 11681c6fdb6SAnatolij Gustschin status = "disabled"; 1174df64c3eSJohn Rigby }; 1184df64c3eSJohn Rigby 1194df64c3eSJohn Rigby mdio@2800 { 12081c6fdb6SAnatolij Gustschin phy0: ethernet-phy@0 { 1214df64c3eSJohn Rigby reg = <1>; 1224df64c3eSJohn Rigby }; 1234df64c3eSJohn Rigby }; 1244df64c3eSJohn Rigby 12581c6fdb6SAnatolij Gustschin /* mpc5121ads only uses USB0 */ 12681c6fdb6SAnatolij Gustschin usb@3000 { 12781c6fdb6SAnatolij Gustschin status = "disabled"; 1284df64c3eSJohn Rigby }; 1294df64c3eSJohn Rigby 13081c6fdb6SAnatolij Gustschin /* USB0 using internal UTMI PHY */ 1314df64c3eSJohn Rigby usb@4000 { 13281c6fdb6SAnatolij Gustschin dr_mode = "host"; 133dcc79d78SAnatolij Gustschin fsl,invert-drvvbus; 134dcc79d78SAnatolij Gustschin fsl,invert-pwr-fault; 1354df64c3eSJohn Rigby }; 1364df64c3eSJohn Rigby 13781c6fdb6SAnatolij Gustschin /* PSC3 serial port A aka ttyPSC0 */ 13881c6fdb6SAnatolij Gustschin psc@11300 { 1394df64c3eSJohn Rigby compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc"; 140bd05f91fSJohn Rigby }; 141bd05f91fSJohn Rigby 14281c6fdb6SAnatolij Gustschin /* PSC4 serial port B aka ttyPSC1 */ 14381c6fdb6SAnatolij Gustschin psc@11400 { 1444df64c3eSJohn Rigby compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc"; 1454df64c3eSJohn Rigby }; 1464df64c3eSJohn Rigby 14781c6fdb6SAnatolij Gustschin /* PSC5 in ac97 mode */ 14881c6fdb6SAnatolij Gustschin ac97: psc@11500 { 1494df64c3eSJohn Rigby compatible = "fsl,mpc5121-psc-ac97", "fsl,mpc5121-psc"; 1504df64c3eSJohn Rigby fsl,mode = "ac97-slave"; 15181c6fdb6SAnatolij Gustschin fsl,rx-fifo-size = <384>; 15281c6fdb6SAnatolij Gustschin fsl,tx-fifo-size = <384>; 1534df64c3eSJohn Rigby }; 1544df64c3eSJohn Rigby }; 1554df64c3eSJohn Rigby 1564df64c3eSJohn Rigby pci: pci@80008500 { 1574df64c3eSJohn Rigby interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 1584df64c3eSJohn Rigby interrupt-map = < 15981c6fdb6SAnatolij Gustschin /* IDSEL 0x15 - Slot 1 PCI */ 1604df64c3eSJohn Rigby 0xa800 0x0 0x0 0x1 &cpld_pic 0x0 0x8 1614df64c3eSJohn Rigby 0xa800 0x0 0x0 0x2 &cpld_pic 0x1 0x8 1624df64c3eSJohn Rigby 0xa800 0x0 0x0 0x3 &cpld_pic 0x2 0x8 1634df64c3eSJohn Rigby 0xa800 0x0 0x0 0x4 &cpld_pic 0x3 0x8 1644df64c3eSJohn Rigby 16581c6fdb6SAnatolij Gustschin /* IDSEL 0x16 - Slot 2 MiniPCI */ 1664df64c3eSJohn Rigby 0xb000 0x0 0x0 0x1 &cpld_pic 0x4 0x8 1674df64c3eSJohn Rigby 0xb000 0x0 0x0 0x2 &cpld_pic 0x5 0x8 1684df64c3eSJohn Rigby 16981c6fdb6SAnatolij Gustschin /* IDSEL 0x17 - Slot 3 MiniPCI */ 1704df64c3eSJohn Rigby 0xb800 0x0 0x0 0x1 &cpld_pic 0x6 0x8 1714df64c3eSJohn Rigby 0xb800 0x0 0x0 0x2 &cpld_pic 0x7 0x8 1724df64c3eSJohn Rigby >; 173bd05f91fSJohn Rigby }; 174bd05f91fSJohn Rigby}; 175