1b4e8c8ddSTorez Smith/* 2b4e8c8ddSTorez Smith * Device Tree Source for IBM Embedded PPC 476 Platform 3b4e8c8ddSTorez Smith * 4b4e8c8ddSTorez Smith * Copyright 2010 Torez Smith, IBM Corporation. 5b4e8c8ddSTorez Smith * 6b4e8c8ddSTorez Smith * Based on earlier code: 7b4e8c8ddSTorez Smith * Copyright (c) 2006, 2007 IBM Corp. 8b4e8c8ddSTorez Smith * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com> 9b4e8c8ddSTorez Smith * 10b4e8c8ddSTorez Smith * This file is licensed under the terms of the GNU General Public 11b4e8c8ddSTorez Smith * License version 2. This program is licensed "as is" without 12b4e8c8ddSTorez Smith * any warranty of any kind, whether express or implied. 13b4e8c8ddSTorez Smith */ 14b4e8c8ddSTorez Smith 15b4e8c8ddSTorez Smith/dts-v1/; 16b4e8c8ddSTorez Smith 17b4e8c8ddSTorez Smith/ { 18b4e8c8ddSTorez Smith #address-cells = <2>; 19b4e8c8ddSTorez Smith #size-cells = <1>; 20b4e8c8ddSTorez Smith model = "ibm,iss-4xx"; 21b4e8c8ddSTorez Smith compatible = "ibm,iss-4xx"; 22b4e8c8ddSTorez Smith dcr-parent = <&{/cpus/cpu@0}>; 23b4e8c8ddSTorez Smith 24b4e8c8ddSTorez Smith aliases { 25b4e8c8ddSTorez Smith serial0 = &UART0; 26b4e8c8ddSTorez Smith }; 27b4e8c8ddSTorez Smith 28b4e8c8ddSTorez Smith cpus { 29b4e8c8ddSTorez Smith #address-cells = <1>; 30b4e8c8ddSTorez Smith #size-cells = <0>; 31b4e8c8ddSTorez Smith 32b4e8c8ddSTorez Smith cpu@0 { 33b4e8c8ddSTorez Smith device_type = "cpu"; 34b4e8c8ddSTorez Smith model = "PowerPC,4xx"; // real CPU changed in sim 35b4e8c8ddSTorez Smith reg = <0x00000000>; 36b4e8c8ddSTorez Smith clock-frequency = <100000000>; // 100Mhz :-) 37b4e8c8ddSTorez Smith timebase-frequency = <100000000>; 38b4e8c8ddSTorez Smith i-cache-line-size = <32>; // may need fixup in sim 39b4e8c8ddSTorez Smith d-cache-line-size = <32>; // may need fixup in sim 40b4e8c8ddSTorez Smith i-cache-size = <32768>; /* may need fixup in sim */ 41b4e8c8ddSTorez Smith d-cache-size = <32768>; /* may need fixup in sim */ 42b4e8c8ddSTorez Smith dcr-controller; 43b4e8c8ddSTorez Smith dcr-access-method = "native"; 44b4e8c8ddSTorez Smith }; 45b4e8c8ddSTorez Smith }; 46b4e8c8ddSTorez Smith 47b4e8c8ddSTorez Smith memory { 48b4e8c8ddSTorez Smith device_type = "memory"; 49b4e8c8ddSTorez Smith reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage 50b4e8c8ddSTorez Smith }; 51b4e8c8ddSTorez Smith 52b4e8c8ddSTorez Smith UIC0: interrupt-controller0 { 53b4e8c8ddSTorez Smith compatible = "ibm,uic-4xx", "ibm,uic"; 54b4e8c8ddSTorez Smith interrupt-controller; 55b4e8c8ddSTorez Smith cell-index = <0>; 56b4e8c8ddSTorez Smith dcr-reg = <0x0c0 0x009>; 57b4e8c8ddSTorez Smith #address-cells = <0>; 58b4e8c8ddSTorez Smith #size-cells = <0>; 59b4e8c8ddSTorez Smith #interrupt-cells = <2>; 60b4e8c8ddSTorez Smith 61b4e8c8ddSTorez Smith }; 62b4e8c8ddSTorez Smith 63b4e8c8ddSTorez Smith UIC1: interrupt-controller1 { 64b4e8c8ddSTorez Smith compatible = "ibm,uic-4xx", "ibm,uic"; 65b4e8c8ddSTorez Smith interrupt-controller; 66b4e8c8ddSTorez Smith cell-index = <1>; 67b4e8c8ddSTorez Smith dcr-reg = <0x0d0 0x009>; 68b4e8c8ddSTorez Smith #address-cells = <0>; 69b4e8c8ddSTorez Smith #size-cells = <0>; 70b4e8c8ddSTorez Smith #interrupt-cells = <2>; 71b4e8c8ddSTorez Smith interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */ 72b4e8c8ddSTorez Smith interrupt-parent = <&UIC0>; 73b4e8c8ddSTorez Smith }; 74b4e8c8ddSTorez Smith 75b4e8c8ddSTorez Smith plb { 76b4e8c8ddSTorez Smith compatible = "ibm,plb-4xx", "ibm,plb4"; /* Could be PLB6, doesn't matter */ 77b4e8c8ddSTorez Smith #address-cells = <2>; 78b4e8c8ddSTorez Smith #size-cells = <1>; 79b4e8c8ddSTorez Smith ranges; 80b4e8c8ddSTorez Smith clock-frequency = <0>; // Filled in by zImage 81b4e8c8ddSTorez Smith 82b4e8c8ddSTorez Smith POB0: opb { 83b4e8c8ddSTorez Smith compatible = "ibm,opb-4xx", "ibm,opb"; 84b4e8c8ddSTorez Smith #address-cells = <1>; 85b4e8c8ddSTorez Smith #size-cells = <1>; 86b4e8c8ddSTorez Smith /* Wish there was a nicer way of specifying a full 32-bit 87b4e8c8ddSTorez Smith range */ 88b4e8c8ddSTorez Smith ranges = <0x00000000 0x00000001 0x00000000 0x80000000 89b4e8c8ddSTorez Smith 0x80000000 0x00000001 0x80000000 0x80000000>; 90b4e8c8ddSTorez Smith clock-frequency = <0>; // Filled in by zImage 91b4e8c8ddSTorez Smith UART0: serial@40000200 { 92b4e8c8ddSTorez Smith device_type = "serial"; 93b4e8c8ddSTorez Smith compatible = "ns16550a"; 94b4e8c8ddSTorez Smith reg = <0x40000200 0x00000008>; 95b4e8c8ddSTorez Smith virtual-reg = <0xe0000200>; 96b4e8c8ddSTorez Smith clock-frequency = <11059200>; 97b4e8c8ddSTorez Smith current-speed = <115200>; 98b4e8c8ddSTorez Smith interrupt-parent = <&UIC0>; 99b4e8c8ddSTorez Smith interrupts = <0x0 0x4>; 100b4e8c8ddSTorez Smith }; 101b4e8c8ddSTorez Smith }; 102b4e8c8ddSTorez Smith }; 103b4e8c8ddSTorez Smith 104b4e8c8ddSTorez Smith nvrtc { 105b4e8c8ddSTorez Smith compatible = "ds1743-nvram", "ds1743", "rtc-ds1743"; 106b4e8c8ddSTorez Smith reg = <0 0xEF703000 0x2000>; 107b4e8c8ddSTorez Smith }; 108b4e8c8ddSTorez Smith iss-block { 109b4e8c8ddSTorez Smith compatible = "ibm,iss-sim-block-device"; 110b4e8c8ddSTorez Smith reg = <0 0xEF701000 0x1000>; 111b4e8c8ddSTorez Smith }; 112b4e8c8ddSTorez Smith 113b4e8c8ddSTorez Smith chosen { 114b4e8c8ddSTorez Smith linux,stdout-path = "/plb/opb/serial@40000200"; 115b4e8c8ddSTorez Smith }; 116b4e8c8ddSTorez Smith}; 117