1d5b9ee7bSTanmay Inamdar/* 2d5b9ee7bSTanmay Inamdar * Device Tree for Klondike (APM8018X) board. 3d5b9ee7bSTanmay Inamdar * 4d5b9ee7bSTanmay Inamdar * Copyright (c) 2010, Applied Micro Circuits Corporation 5d5b9ee7bSTanmay Inamdar * Author: Tanmay Inamdar <tinamdar@apm.com> 6d5b9ee7bSTanmay Inamdar * 7d5b9ee7bSTanmay Inamdar * This program is free software; you can redistribute it and/or 8d5b9ee7bSTanmay Inamdar * modify it under the terms of the GNU General Public License as 9d5b9ee7bSTanmay Inamdar * published by the Free Software Foundation; either version 2 of 10d5b9ee7bSTanmay Inamdar * the License, or (at your option) any later version. 11d5b9ee7bSTanmay Inamdar * 12d5b9ee7bSTanmay Inamdar * This program is distributed in the hope that it will be useful, 13d5b9ee7bSTanmay Inamdar * but WITHOUT ANY WARRANTY; without even the implied warranty of 14d5b9ee7bSTanmay Inamdar * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15d5b9ee7bSTanmay Inamdar * GNU General Public License for more details. 16d5b9ee7bSTanmay Inamdar * 17d5b9ee7bSTanmay Inamdar * You should have received a copy of the GNU General Public License 18d5b9ee7bSTanmay Inamdar * along with this program; if not, write to the Free Software 19d5b9ee7bSTanmay Inamdar * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 20d5b9ee7bSTanmay Inamdar * MA 02111-1307 USA 21d5b9ee7bSTanmay Inamdar * 22d5b9ee7bSTanmay Inamdar */ 23d5b9ee7bSTanmay Inamdar 24d5b9ee7bSTanmay Inamdar/dts-v1/; 25d5b9ee7bSTanmay Inamdar 26d5b9ee7bSTanmay Inamdar/ { 27d5b9ee7bSTanmay Inamdar #address-cells = <1>; 28d5b9ee7bSTanmay Inamdar #size-cells = <1>; 29d5b9ee7bSTanmay Inamdar model = "apm,klondike"; 30d5b9ee7bSTanmay Inamdar compatible = "apm,klondike"; 31d5b9ee7bSTanmay Inamdar dcr-parent = <&{/cpus/cpu@0}>; 32d5b9ee7bSTanmay Inamdar 33d5b9ee7bSTanmay Inamdar aliases { 34d5b9ee7bSTanmay Inamdar ethernet0 = &EMAC0; 35d5b9ee7bSTanmay Inamdar ethernet1 = &EMAC1; 36d5b9ee7bSTanmay Inamdar }; 37d5b9ee7bSTanmay Inamdar 38d5b9ee7bSTanmay Inamdar cpus { 39d5b9ee7bSTanmay Inamdar #address-cells = <1>; 40d5b9ee7bSTanmay Inamdar #size-cells = <0>; 41d5b9ee7bSTanmay Inamdar 42d5b9ee7bSTanmay Inamdar cpu@0 { 43d5b9ee7bSTanmay Inamdar device_type = "cpu"; 44d5b9ee7bSTanmay Inamdar model = "PowerPC,apm8018x"; 45d5b9ee7bSTanmay Inamdar reg = <0x00000000>; 46d5b9ee7bSTanmay Inamdar clock-frequency = <300000000>; /* Filled in by U-Boot */ 47d5b9ee7bSTanmay Inamdar timebase-frequency = <300000000>; /* Filled in by U-Boot */ 48d5b9ee7bSTanmay Inamdar i-cache-line-size = <32>; 49d5b9ee7bSTanmay Inamdar d-cache-line-size = <32>; 50d5b9ee7bSTanmay Inamdar i-cache-size = <16384>; /* 16 kB */ 51d5b9ee7bSTanmay Inamdar d-cache-size = <16384>; /* 16 kB */ 52d5b9ee7bSTanmay Inamdar dcr-controller; 53d5b9ee7bSTanmay Inamdar dcr-access-method = "native"; 54d5b9ee7bSTanmay Inamdar }; 55d5b9ee7bSTanmay Inamdar }; 56d5b9ee7bSTanmay Inamdar 57d5b9ee7bSTanmay Inamdar memory { 58d5b9ee7bSTanmay Inamdar device_type = "memory"; 59d5b9ee7bSTanmay Inamdar reg = <0x00000000 0x20000000>; /* Filled in by U-Boot */ 60d5b9ee7bSTanmay Inamdar }; 61d5b9ee7bSTanmay Inamdar 62d5b9ee7bSTanmay Inamdar UIC0: interrupt-controller { 63d5b9ee7bSTanmay Inamdar compatible = "ibm,uic"; 64d5b9ee7bSTanmay Inamdar interrupt-controller; 65d5b9ee7bSTanmay Inamdar cell-index = <0>; 66d5b9ee7bSTanmay Inamdar dcr-reg = <0x0c0 0x010>; 67d5b9ee7bSTanmay Inamdar #address-cells = <0>; 68d5b9ee7bSTanmay Inamdar #size-cells = <0>; 69d5b9ee7bSTanmay Inamdar #interrupt-cells = <2>; 70d5b9ee7bSTanmay Inamdar }; 71d5b9ee7bSTanmay Inamdar 72d5b9ee7bSTanmay Inamdar UIC1: interrupt-controller1 { 73d5b9ee7bSTanmay Inamdar compatible = "ibm,uic"; 74d5b9ee7bSTanmay Inamdar interrupt-controller; 75d5b9ee7bSTanmay Inamdar cell-index = <1>; 76d5b9ee7bSTanmay Inamdar dcr-reg = <0x0d0 0x010>; 77d5b9ee7bSTanmay Inamdar #address-cells = <0>; 78d5b9ee7bSTanmay Inamdar #size-cells = <0>; 79d5b9ee7bSTanmay Inamdar #interrupt-cells = <2>; 80d5b9ee7bSTanmay Inamdar interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */ 81d5b9ee7bSTanmay Inamdar interrupt-parent = <&UIC0>; 82d5b9ee7bSTanmay Inamdar }; 83d5b9ee7bSTanmay Inamdar 84d5b9ee7bSTanmay Inamdar UIC2: interrupt-controller2 { 85d5b9ee7bSTanmay Inamdar compatible = "ibm,uic"; 86d5b9ee7bSTanmay Inamdar interrupt-controller; 87d5b9ee7bSTanmay Inamdar cell-index = <2>; 88d5b9ee7bSTanmay Inamdar dcr-reg = <0x0e0 0x010>; 89d5b9ee7bSTanmay Inamdar #address-cells = <0>; 90d5b9ee7bSTanmay Inamdar #size-cells = <0>; 91d5b9ee7bSTanmay Inamdar #interrupt-cells = <2>; 92d5b9ee7bSTanmay Inamdar interrupts = <0x0a 0x4 0x0b 0x4>; /* cascade */ 93d5b9ee7bSTanmay Inamdar interrupt-parent = <&UIC0>; 94d5b9ee7bSTanmay Inamdar }; 95d5b9ee7bSTanmay Inamdar 96d5b9ee7bSTanmay Inamdar UIC3: interrupt-controller3 { 97d5b9ee7bSTanmay Inamdar compatible = "ibm,uic"; 98d5b9ee7bSTanmay Inamdar interrupt-controller; 99d5b9ee7bSTanmay Inamdar cell-index = <3>; 100d5b9ee7bSTanmay Inamdar dcr-reg = <0x0f0 0x010>; 101d5b9ee7bSTanmay Inamdar #address-cells = <0>; 102d5b9ee7bSTanmay Inamdar #size-cells = <0>; 103d5b9ee7bSTanmay Inamdar #interrupt-cells = <2>; 104d5b9ee7bSTanmay Inamdar interrupts = <0x10 0x4 0x11 0x4>; /* cascade */ 105d5b9ee7bSTanmay Inamdar interrupt-parent = <&UIC0>; 106d5b9ee7bSTanmay Inamdar }; 107d5b9ee7bSTanmay Inamdar 108d5b9ee7bSTanmay Inamdar plb { 109d5b9ee7bSTanmay Inamdar compatible = "ibm,plb4"; 110d5b9ee7bSTanmay Inamdar #address-cells = <1>; 111d5b9ee7bSTanmay Inamdar #size-cells = <1>; 112d5b9ee7bSTanmay Inamdar ranges; 113d5b9ee7bSTanmay Inamdar clock-frequency = <0>; /* Filled in by U-Boot */ 114d5b9ee7bSTanmay Inamdar 115d5b9ee7bSTanmay Inamdar SDRAM0: memory-controller { 116d5b9ee7bSTanmay Inamdar compatible = "ibm,sdram-apm8018x"; 117d5b9ee7bSTanmay Inamdar dcr-reg = <0x010 0x002>; 118d5b9ee7bSTanmay Inamdar }; 119d5b9ee7bSTanmay Inamdar 120d5b9ee7bSTanmay Inamdar MAL0: mcmal { 121d5b9ee7bSTanmay Inamdar compatible = "ibm,mcmal2"; 122d5b9ee7bSTanmay Inamdar dcr-reg = <0x180 0x062>; 123d5b9ee7bSTanmay Inamdar num-tx-chans = <2>; 124d5b9ee7bSTanmay Inamdar num-rx-chans = <16>; 125d5b9ee7bSTanmay Inamdar #address-cells = <0>; 126d5b9ee7bSTanmay Inamdar #size-cells = <0>; 127d5b9ee7bSTanmay Inamdar interrupt-parent = <&UIC1>; 128d5b9ee7bSTanmay Inamdar interrupts = </*TXEOB*/ 0x6 0x4 129d5b9ee7bSTanmay Inamdar /*RXEOB*/ 0x7 0x4 130d5b9ee7bSTanmay Inamdar /*SERR*/ 0x1 0x4 131d5b9ee7bSTanmay Inamdar /*TXDE*/ 0x2 0x4 132d5b9ee7bSTanmay Inamdar /*RXDE*/ 0x3 0x4>; 133d5b9ee7bSTanmay Inamdar }; 134d5b9ee7bSTanmay Inamdar 135d5b9ee7bSTanmay Inamdar POB0: opb { 136d5b9ee7bSTanmay Inamdar compatible = "ibm,opb"; 137d5b9ee7bSTanmay Inamdar #address-cells = <1>; 138d5b9ee7bSTanmay Inamdar #size-cells = <1>; 139d5b9ee7bSTanmay Inamdar ranges = <0x20000000 0x20000000 0x30000000 140d5b9ee7bSTanmay Inamdar 0x50000000 0x50000000 0x10000000 141d5b9ee7bSTanmay Inamdar 0x60000000 0x60000000 0x10000000 142d5b9ee7bSTanmay Inamdar 0xFE000000 0xFE000000 0x00010000>; 143d5b9ee7bSTanmay Inamdar dcr-reg = <0x100 0x020>; 144d5b9ee7bSTanmay Inamdar clock-frequency = <300000000>; /* Filled in by U-Boot */ 145d5b9ee7bSTanmay Inamdar 146d5b9ee7bSTanmay Inamdar RGMII0: emac-rgmii@400a2000 { 147d5b9ee7bSTanmay Inamdar compatible = "ibm,rgmii"; 148d5b9ee7bSTanmay Inamdar reg = <0x400a2000 0x00000010>; 149d5b9ee7bSTanmay Inamdar has-mdio; 150d5b9ee7bSTanmay Inamdar }; 151d5b9ee7bSTanmay Inamdar 152d5b9ee7bSTanmay Inamdar TAH0: emac-tah@400a3000 { 153d5b9ee7bSTanmay Inamdar compatible = "ibm,tah"; 154d5b9ee7bSTanmay Inamdar reg = <0x400a3000 0x100>; 155d5b9ee7bSTanmay Inamdar }; 156d5b9ee7bSTanmay Inamdar 157d5b9ee7bSTanmay Inamdar TAH1: emac-tah@400a4000 { 158d5b9ee7bSTanmay Inamdar compatible = "ibm,tah"; 159d5b9ee7bSTanmay Inamdar reg = <0x400a4000 0x100>; 160d5b9ee7bSTanmay Inamdar }; 161d5b9ee7bSTanmay Inamdar 162d5b9ee7bSTanmay Inamdar EMAC0: ethernet@400a0000 { 163d5b9ee7bSTanmay Inamdar compatible = "ibm,emac4", "ibm-emac4sync"; 164d5b9ee7bSTanmay Inamdar interrupt-parent = <&EMAC0>; 165d5b9ee7bSTanmay Inamdar interrupts = <0x0>; 166d5b9ee7bSTanmay Inamdar #interrupt-cells = <1>; 167d5b9ee7bSTanmay Inamdar #address-cells = <0>; 168d5b9ee7bSTanmay Inamdar #size-cells = <0>; 169d5b9ee7bSTanmay Inamdar interrupt-map = </*Status*/ 0x0 &UIC0 0x13 0x4>; 170d5b9ee7bSTanmay Inamdar reg = <0x400a0000 0x00000100>; 171d5b9ee7bSTanmay Inamdar local-mac-address = [000000000000]; /* Filled in by U-Boot */ 172d5b9ee7bSTanmay Inamdar mal-device = <&MAL0>; 173d5b9ee7bSTanmay Inamdar mal-tx-channel = <0x0>; 174d5b9ee7bSTanmay Inamdar mal-rx-channel = <0x0>; 175d5b9ee7bSTanmay Inamdar cell-index = <0>; 176d5b9ee7bSTanmay Inamdar max-frame-size = <9000>; 177d5b9ee7bSTanmay Inamdar rx-fifo-size = <4096>; 178d5b9ee7bSTanmay Inamdar tx-fifo-size = <2048>; 179d5b9ee7bSTanmay Inamdar phy-mode = "rgmii"; 180d5b9ee7bSTanmay Inamdar phy-address = <0x2>; 181d5b9ee7bSTanmay Inamdar turbo = "no"; 182d5b9ee7bSTanmay Inamdar phy-map = <0x00000000>; 183d5b9ee7bSTanmay Inamdar rgmii-device = <&RGMII0>; 184d5b9ee7bSTanmay Inamdar rgmii-channel = <0>; 185d5b9ee7bSTanmay Inamdar tah-device = <&TAH0>; 186d5b9ee7bSTanmay Inamdar tah-channel = <0>; 187d5b9ee7bSTanmay Inamdar has-inverted-stacr-oc; 188d5b9ee7bSTanmay Inamdar has-new-stacr-staopc; 189d5b9ee7bSTanmay Inamdar }; 190d5b9ee7bSTanmay Inamdar 191d5b9ee7bSTanmay Inamdar EMAC1: ethernet@400a1000 { 192d5b9ee7bSTanmay Inamdar compatible = "ibm,emac4", "ibm-emac4sync"; 193d5b9ee7bSTanmay Inamdar status = "disabled"; 194d5b9ee7bSTanmay Inamdar interrupt-parent = <&EMAC1>; 195d5b9ee7bSTanmay Inamdar interrupts = <0x0>; 196d5b9ee7bSTanmay Inamdar #interrupt-cells = <1>; 197d5b9ee7bSTanmay Inamdar #address-cells = <0>; 198d5b9ee7bSTanmay Inamdar #size-cells = <0>; 199d5b9ee7bSTanmay Inamdar interrupt-map = </*Status*/ 0x0 &UIC0 0x14 0x4>; 200d5b9ee7bSTanmay Inamdar reg = <0x400a1000 0x00000100>; 201d5b9ee7bSTanmay Inamdar local-mac-address = [000000000000]; /* Filled in by U-Boot */ 202d5b9ee7bSTanmay Inamdar mal-device = <&MAL0>; 203d5b9ee7bSTanmay Inamdar mal-tx-channel = <1>; 204d5b9ee7bSTanmay Inamdar mal-rx-channel = <8>; 205d5b9ee7bSTanmay Inamdar cell-index = <1>; 206d5b9ee7bSTanmay Inamdar max-frame-size = <9000>; 207d5b9ee7bSTanmay Inamdar rx-fifo-size = <4096>; 208d5b9ee7bSTanmay Inamdar tx-fifo-size = <2048>; 209d5b9ee7bSTanmay Inamdar phy-mode = "rgmii"; 210d5b9ee7bSTanmay Inamdar phy-address = <0x3>; 211d5b9ee7bSTanmay Inamdar turbo = "no"; 212d5b9ee7bSTanmay Inamdar phy-map = <0x00000000>; 213d5b9ee7bSTanmay Inamdar rgmii-device = <&RGMII0>; 214d5b9ee7bSTanmay Inamdar rgmii-channel = <1>; 215d5b9ee7bSTanmay Inamdar tah-device = <&TAH1>; 216d5b9ee7bSTanmay Inamdar tah-channel = <0>; 217d5b9ee7bSTanmay Inamdar has-inverted-stacr-oc; 218d5b9ee7bSTanmay Inamdar has-new-stacr-staopc; 219d5b9ee7bSTanmay Inamdar mdio-device = <&EMAC0>; 220d5b9ee7bSTanmay Inamdar }; 221d5b9ee7bSTanmay Inamdar }; 222d5b9ee7bSTanmay Inamdar }; 223d5b9ee7bSTanmay Inamdar 224d5b9ee7bSTanmay Inamdar chosen { 225d5b9ee7bSTanmay Inamdar linux,stdout-path = "/plb/opb/serial@50001000"; 226d5b9ee7bSTanmay Inamdar }; 227d5b9ee7bSTanmay Inamdar}; 228