1/* 2 * MPC8555 CDS Device Tree Source 3 * 4 * Copyright 2006, 2008 Freescale Semiconductor Inc. All rights reserved 5 * 6 * Neither the name of Freescale Semiconductor, Inc nor the names of 7 * its contributors may be used to endorse or promote products derived 8 * from this software without specific prior written permission. 9 * 10 * Freescale hereby publishes it under the following licenses: 11 * 12 * BSD License 13 * 14 * Redistribution and use in source and binary forms, with or 15 * without modification, are permitted provided that the following 16 * conditions are met: 17 * 18 * Redistributions of source code must retain the above copyright 19 * notice, this list of conditions and the following disclaimer. 20 * 21 * Redistributions in binary form must reproduce the above copyright 22 * notice, this list of conditions and the following disclaimer in 23 * the documentation and/or other materials provided with the 24 * distribution. 25 * 26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 27 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 28 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 29 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 30 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 31 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 32 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 33 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 35 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 36 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 38 * POSSIBILITY OF SUCH DAMAGE. 39 * 40 * GNU General Public License, version 2 41 * 42 * This program is free software; you can redistribute it and/or 43 * modify it under the terms of the GNU General Public License 44 * as published by the Free Software Foundation; either version 2 45 * of the License, or (at your option) any later version. 46 * 47 * This program is distributed in the hope that it will be useful, 48 * but WITHOUT ANY WARRANTY; without even the implied warranty of 49 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 50 * GNU General Public License for more details. 51 * 52 * You should have received a copy of the GNU General Public License 53 * along with this program; if not, write to the Free Software 54 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 55 * MA 02110-1301, USA. 56 * 57 * You may select the license of your choice. 58 *------------------------------------------------------------------ 59 * 60 * $FreeBSD$ 61 */ 62 63/dts-v1/; 64 65/ { 66 model = "MPC8555CDS"; 67 compatible = "MPC8555CDS", "MPC85xxCDS"; 68 #address-cells = <1>; 69 #size-cells = <1>; 70 71 aliases { 72 ethernet0 = &enet0; 73 ethernet1 = &enet1; 74 serial0 = &serial0; 75 serial1 = &serial1; 76 pci0 = &pci0; 77 pci1 = &pci1; 78 }; 79 80 cpus { 81 #address-cells = <1>; 82 #size-cells = <0>; 83 84 PowerPC,8555@0 { 85 device_type = "cpu"; 86 reg = <0x0>; 87 d-cache-line-size = <32>; // 32 bytes 88 i-cache-line-size = <32>; // 32 bytes 89 d-cache-size = <0x8000>; // L1, 32K 90 i-cache-size = <0x8000>; // L1, 32K 91 timebase-frequency = <0>; // 33 MHz, from uboot 92 bus-frequency = <0>; // 166 MHz 93 clock-frequency = <0>; // 825 MHz, from uboot 94 next-level-cache = <&L2>; 95 }; 96 }; 97 98 memory { 99 device_type = "memory"; 100 reg = <0x0 0x10000000>; // 256M at 0x0 101 }; 102 103 localbus@e0005000 { 104 #address-cells = <2>; 105 #size-cells = <1>; 106 compatible = "fsl,lbc", "fsl,elbc"; 107 reg = <0xe0005000 0x1000>; 108 interrupts = <19 2>; 109 interrupt-parent = <&mpic>; 110 111 ranges = <0x0 0x0 0xff800000 0x00800000 112 0x1 0x0 0xff000000 0x00800000 113 0x2 0x0 0xf8000000 0x00008000>; 114 115 nor@0,0 { 116 #address-cells = <1>; 117 #size-cells = <1>; 118 compatible = "cfi-flash"; 119 reg = <0x0 0x0 0x00800000>; 120 bank-width = <2>; 121 device-width = <1>; 122 }; 123 124 nor@1,0 { 125 #address-cells = <1>; 126 #size-cells = <1>; 127 compatible = "cfi-flash"; 128 reg = <0x1 0x0 0x00800000>; 129 bank-width = <2>; 130 device-width = <1>; 131 }; 132 133 rtc@2,0 { 134 #address-cells = <1>; 135 #size-cells = <1>; 136 compatible = "dallas,ds1553"; 137 reg = <0x2 0x0 0x00008000>; 138 bank-width = <1>; 139 device-width = <1>; 140 }; 141 }; 142 143 soc8555@e0000000 { 144 #address-cells = <1>; 145 #size-cells = <1>; 146 device_type = "soc"; 147 compatible = "simple-bus"; 148 ranges = <0x0 0xe0000000 0x100000>; 149 bus-frequency = <0>; 150 151 ecm-law@0 { 152 compatible = "fsl,ecm-law"; 153 reg = <0x0 0x1000>; 154 fsl,num-laws = <8>; 155 }; 156 157 ecm@1000 { 158 compatible = "fsl,mpc8555-ecm", "fsl,ecm"; 159 reg = <0x1000 0x1000>; 160 interrupts = <17 2>; 161 interrupt-parent = <&mpic>; 162 }; 163 164 memory-controller@2000 { 165 compatible = "fsl,8555-memory-controller"; 166 reg = <0x2000 0x1000>; 167 interrupt-parent = <&mpic>; 168 interrupts = <18 2>; 169 }; 170 171 L2: l2-cache-controller@20000 { 172 compatible = "fsl,8555-l2-cache-controller"; 173 reg = <0x20000 0x1000>; 174 cache-line-size = <32>; // 32 bytes 175 cache-size = <0x40000>; // L2, 256K 176 interrupt-parent = <&mpic>; 177 interrupts = <16 2>; 178 }; 179 180 i2c@3000 { 181 #address-cells = <1>; 182 #size-cells = <0>; 183 cell-index = <0>; 184 compatible = "fsl-i2c"; 185 reg = <0x3000 0x100>; 186 interrupts = <43 2>; 187 interrupt-parent = <&mpic>; 188 dfsrr; 189 }; 190 191 dma@21300 { 192 #address-cells = <1>; 193 #size-cells = <1>; 194 compatible = "fsl,mpc8555-dma", "fsl,eloplus-dma"; 195 reg = <0x21300 0x4>; 196 ranges = <0x0 0x21100 0x200>; 197 cell-index = <0>; 198 dma-channel@0 { 199 compatible = "fsl,mpc8555-dma-channel", 200 "fsl,eloplus-dma-channel"; 201 reg = <0x0 0x80>; 202 cell-index = <0>; 203 interrupt-parent = <&mpic>; 204 interrupts = <20 2>; 205 }; 206 dma-channel@80 { 207 compatible = "fsl,mpc8555-dma-channel", 208 "fsl,eloplus-dma-channel"; 209 reg = <0x80 0x80>; 210 cell-index = <1>; 211 interrupt-parent = <&mpic>; 212 interrupts = <21 2>; 213 }; 214 dma-channel@100 { 215 compatible = "fsl,mpc8555-dma-channel", 216 "fsl,eloplus-dma-channel"; 217 reg = <0x100 0x80>; 218 cell-index = <2>; 219 interrupt-parent = <&mpic>; 220 interrupts = <22 2>; 221 }; 222 dma-channel@180 { 223 compatible = "fsl,mpc8555-dma-channel", 224 "fsl,eloplus-dma-channel"; 225 reg = <0x180 0x80>; 226 cell-index = <3>; 227 interrupt-parent = <&mpic>; 228 interrupts = <23 2>; 229 }; 230 }; 231 232 enet0: ethernet@24000 { 233 #address-cells = <1>; 234 #size-cells = <1>; 235 cell-index = <0>; 236 device_type = "network"; 237 model = "TSEC"; 238 compatible = "gianfar"; 239 reg = <0x24000 0x1000>; 240 ranges = <0x0 0x24000 0x1000>; 241 local-mac-address = [ 00 00 00 00 00 00 ]; 242 interrupts = <29 2 30 2 34 2>; 243 interrupt-parent = <&mpic>; 244 tbi-handle = <&tbi0>; 245 phy-handle = <&phy0>; 246 247 mdio@520 { 248 #address-cells = <1>; 249 #size-cells = <0>; 250 compatible = "fsl,gianfar-mdio"; 251 reg = <0x520 0x20>; 252 253 phy0: ethernet-phy@0 { 254 interrupt-parent = <&mpic>; 255 interrupts = <5 1>; 256 reg = <0x0>; 257 device_type = "ethernet-phy"; 258 }; 259 phy1: ethernet-phy@1 { 260 interrupt-parent = <&mpic>; 261 interrupts = <5 1>; 262 reg = <0x1>; 263 device_type = "ethernet-phy"; 264 }; 265 tbi0: tbi-phy@11 { 266 reg = <0x11>; 267 device_type = "tbi-phy"; 268 }; 269 }; 270 }; 271 272 enet1: ethernet@25000 { 273 #address-cells = <1>; 274 #size-cells = <1>; 275 cell-index = <1>; 276 device_type = "network"; 277 model = "TSEC"; 278 compatible = "gianfar"; 279 reg = <0x25000 0x1000>; 280 ranges = <0x0 0x25000 0x1000>; 281 local-mac-address = [ 00 00 00 00 00 00 ]; 282 interrupts = <35 2 36 2 40 2>; 283 interrupt-parent = <&mpic>; 284 tbi-handle = <&tbi1>; 285 phy-handle = <&phy1>; 286 287 mdio@520 { 288 #address-cells = <1>; 289 #size-cells = <0>; 290 compatible = "fsl,gianfar-tbi"; 291 reg = <0x520 0x20>; 292 293 tbi1: tbi-phy@11 { 294 reg = <0x11>; 295 device_type = "tbi-phy"; 296 }; 297 }; 298 }; 299 300 serial0: serial@4500 { 301 cell-index = <0>; 302 device_type = "serial"; 303 compatible = "ns16550"; 304 reg = <0x4500 0x100>; // reg base, size 305 clock-frequency = <0>; // should we fill in in uboot? 306 interrupts = <42 2>; 307 interrupt-parent = <&mpic>; 308 }; 309 310 serial1: serial@4600 { 311 cell-index = <1>; 312 device_type = "serial"; 313 compatible = "ns16550"; 314 reg = <0x4600 0x100>; // reg base, size 315 clock-frequency = <0>; // should we fill in in uboot? 316 interrupts = <42 2>; 317 interrupt-parent = <&mpic>; 318 }; 319 320 crypto@30000 { 321 compatible = "fsl,sec2.0"; 322 reg = <0x30000 0x10000>; 323 interrupts = <45 2>; 324 interrupt-parent = <&mpic>; 325 fsl,num-channels = <4>; 326 fsl,channel-fifo-len = <24>; 327 fsl,exec-units-mask = <0x7e>; 328 fsl,descriptor-types-mask = <0x01010ebf>; 329 }; 330 331 mpic: pic@40000 { 332 interrupt-controller; 333 #address-cells = <0>; 334 #interrupt-cells = <2>; 335 reg = <0x40000 0x40000>; 336 compatible = "chrp,open-pic"; 337 device_type = "open-pic"; 338 }; 339 340 cpm@80000 { 341 #address-cells = <1>; 342 #size-cells = <1>; 343 compatible = "fsl,mpc8555-cpm", "fsl,cpm2"; 344 reg = <0x80000 0x20000>; 345 interrupts = <46 2>; 346 interrupt-parent = <&mpic>; 347 }; 348 }; 349 350 pci0: pci@e0008000 { 351 interrupt-map-mask = <0x1f800 0x0 0x0 0x7>; 352 interrupt-map = < 353 354 /* IDSEL 0x10 */ 355 0x8000 0x0 0x0 0x1 &mpic 0x0 0x1 356 0x8000 0x0 0x0 0x2 &mpic 0x1 0x1 357 0x8000 0x0 0x0 0x3 &mpic 0x2 0x1 358 0x8000 0x0 0x0 0x4 &mpic 0x3 0x1 359 360 /* IDSEL 0x11 */ 361 0x8800 0x0 0x0 0x1 &mpic 0x0 0x1 362 0x8800 0x0 0x0 0x2 &mpic 0x1 0x1 363 0x8800 0x0 0x0 0x3 &mpic 0x2 0x1 364 0x8800 0x0 0x0 0x4 &mpic 0x3 0x1 365 366 /* IDSEL 0x12 (Slot 1) */ 367 0x9000 0x0 0x0 0x1 &mpic 0x0 0x1 368 0x9000 0x0 0x0 0x2 &mpic 0x1 0x1 369 0x9000 0x0 0x0 0x3 &mpic 0x2 0x1 370 0x9000 0x0 0x0 0x4 &mpic 0x3 0x1 371 372 /* IDSEL 0x13 (Slot 2) */ 373 0x9800 0x0 0x0 0x1 &mpic 0x1 0x1 374 0x9800 0x0 0x0 0x2 &mpic 0x2 0x1 375 0x9800 0x0 0x0 0x3 &mpic 0x3 0x1 376 0x9800 0x0 0x0 0x4 &mpic 0x0 0x1 377 378 /* IDSEL 0x14 (Slot 3) */ 379 0xa000 0x0 0x0 0x1 &mpic 0x2 0x1 380 0xa000 0x0 0x0 0x2 &mpic 0x3 0x1 381 0xa000 0x0 0x0 0x3 &mpic 0x0 0x1 382 0xa000 0x0 0x0 0x4 &mpic 0x1 0x1 383 384 /* IDSEL 0x15 (Slot 4) */ 385 0xa800 0x0 0x0 0x1 &mpic 0x3 0x1 386 0xa800 0x0 0x0 0x2 &mpic 0x0 0x1 387 0xa800 0x0 0x0 0x3 &mpic 0x1 0x1 388 0xa800 0x0 0x0 0x4 &mpic 0x2 0x1 389 390 /* Bus 1 (Tundra Bridge) */ 391 /* IDSEL 0x12 (ISA bridge) */ 392 0x19000 0x0 0x0 0x1 &mpic 0x0 0x1 393 0x19000 0x0 0x0 0x2 &mpic 0x1 0x1 394 0x19000 0x0 0x0 0x3 &mpic 0x2 0x1 395 0x19000 0x0 0x0 0x4 &mpic 0x3 0x1>; 396 interrupt-parent = <&mpic>; 397 interrupts = <24 2>; 398 bus-range = <0 0>; 399 ranges = <0x2000000 0x0 0x80000000 0x80000000 0x0 0x10000000 400 0x1000000 0x0 0x0 0xfee00000 0x0 0x00010000>; 401 clock-frequency = <66666666>; 402 #interrupt-cells = <1>; 403 #size-cells = <2>; 404 #address-cells = <3>; 405 reg = <0xe0008000 0x1000>; 406 compatible = "fsl,mpc8540-pci"; 407 device_type = "pci"; 408 409 i8259@19000 { 410 interrupt-controller; 411 device_type = "interrupt-controller"; 412 reg = <0x19000 0x0 0x0 0x0 0x1>; 413 #address-cells = <0>; 414 #interrupt-cells = <2>; 415 compatible = "chrp,iic"; 416 interrupts = <1>; 417 interrupt-parent = <&pci0>; 418 }; 419 }; 420 421 pci1: pci@e0009000 { 422 interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 423 interrupt-map = < 424 425 /* IDSEL 0x15 */ 426 0xa800 0x0 0x0 0x1 &mpic 0xb 0x1 427 0xa800 0x0 0x0 0x2 &mpic 0xb 0x1 428 0xa800 0x0 0x0 0x3 &mpic 0xb 0x1 429 0xa800 0x0 0x0 0x4 &mpic 0xb 0x1>; 430 interrupt-parent = <&mpic>; 431 interrupts = <25 2>; 432 bus-range = <0 0>; 433 ranges = <0x2000000 0x0 0x90000000 0x90000000 0x0 0x10000000 434 0x1000000 0x0 0x0 0xfee10000 0x0 0x00010000>; 435 clock-frequency = <66666666>; 436 #interrupt-cells = <1>; 437 #size-cells = <2>; 438 #address-cells = <3>; 439 reg = <0xe0009000 0x1000>; 440 compatible = "fsl,mpc8540-pci"; 441 device_type = "pci"; 442 }; 443}; 444