1/* 2 * Device Tree Source for AMCC Bamboo 3 * 4 * Copyright (c) 2006, 2007 IBM Corp. 5 * Josh Boyer <jwboyer@linux.vnet.ibm.com> 6 * 7 * FIXME: Draft only! 8 * 9 * This file is licensed under the terms of the GNU General Public 10 * License version 2. This program is licensed "as is" without 11 * any warranty of any kind, whether express or implied. 12 */ 13 14/ { 15 #address-cells = <2>; 16 #size-cells = <1>; 17 model = "amcc,bamboo"; 18 compatible = "amcc,bamboo"; 19 dcr-parent = <&/cpus/PowerPC,440EP@0>; 20 21 cpus { 22 #address-cells = <1>; 23 #size-cells = <0>; 24 25 PowerPC,440EP@0 { 26 device_type = "cpu"; 27 reg = <0>; 28 clock-frequency = <0>; /* Filled in by zImage */ 29 timebase-frequency = <0>; /* Filled in by zImage */ 30 i-cache-line-size = <20>; 31 d-cache-line-size = <20>; 32 i-cache-size = <8000>; 33 d-cache-size = <8000>; 34 dcr-controller; 35 dcr-access-method = "native"; 36 }; 37 }; 38 39 memory { 40 device_type = "memory"; 41 reg = <0 0 0>; /* Filled in by zImage */ 42 }; 43 44 UIC0: interrupt-controller0 { 45 compatible = "ibm,uic-440ep","ibm,uic"; 46 interrupt-controller; 47 cell-index = <0>; 48 dcr-reg = <0c0 009>; 49 #address-cells = <0>; 50 #size-cells = <0>; 51 #interrupt-cells = <2>; 52 }; 53 54 UIC1: interrupt-controller1 { 55 compatible = "ibm,uic-440ep","ibm,uic"; 56 interrupt-controller; 57 cell-index = <1>; 58 dcr-reg = <0d0 009>; 59 #address-cells = <0>; 60 #size-cells = <0>; 61 #interrupt-cells = <2>; 62 interrupts = <1e 4 1f 4>; /* cascade */ 63 interrupt-parent = <&UIC0>; 64 }; 65 66 SDR0: sdr { 67 compatible = "ibm,sdr-440ep"; 68 dcr-reg = <00e 002>; 69 }; 70 71 CPR0: cpr { 72 compatible = "ibm,cpr-440ep"; 73 dcr-reg = <00c 002>; 74 }; 75 76 plb { 77 compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4"; 78 #address-cells = <2>; 79 #size-cells = <1>; 80 ranges; 81 clock-frequency = <0>; /* Filled in by zImage */ 82 83 SDRAM0: sdram { 84 compatible = "ibm,sdram-440ep", "ibm,sdram-405gp"; 85 dcr-reg = <010 2>; 86 }; 87 88 DMA0: dma { 89 compatible = "ibm,dma-440ep", "ibm,dma-440gp"; 90 dcr-reg = <100 027>; 91 }; 92 93 MAL0: mcmal { 94 compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal"; 95 dcr-reg = <180 62>; 96 num-tx-chans = <4>; 97 num-rx-chans = <4>; 98 interrupt-parent = <&MAL0>; 99 interrupts = <0 1 2 3 4>; 100 #interrupt-cells = <1>; 101 interrupt-map = </*TXEOB*/ 0 &UIC0 a 4 102 /*RXEOB*/ 1 &UIC0 b 4 103 /*SERR*/ 2 &UIC1 0 4 104 /*TXDE*/ 3 &UIC1 1 4 105 /*RXDE*/ 4 &UIC1 3 4>; 106 }; 107 108 POB0: opb { 109 compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb"; 110 #address-cells = <1>; 111 #size-cells = <1>; 112 /* Bamboo is oddball in the 44x world and doesn't use the ERPN 113 * bits. 114 */ 115 ranges = <00000000 0 00000000 80000000 116 80000000 0 80000000 80000000>; 117 interrupt-parent = <&UIC1>; 118 interrupts = <7 4>; 119 clock-frequency = <0>; /* Filled in by zImage */ 120 121 EBC0: ebc { 122 compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc"; 123 dcr-reg = <012 2>; 124 #address-cells = <2>; 125 #size-cells = <1>; 126 clock-frequency = <0>; /* Filled in by zImage */ 127 ranges; 128 interrupts = <5 1>; 129 interrupt-parent = <&UIC1>; 130 }; 131 132 UART0: serial@ef600300 { 133 device_type = "serial"; 134 compatible = "ns16550"; 135 reg = <ef600300 8>; 136 virtual-reg = <ef600300>; 137 clock-frequency = <0>; /* Filled in by zImage */ 138 current-speed = <1c200>; 139 interrupt-parent = <&UIC0>; 140 interrupts = <0 4>; 141 }; 142 143 UART1: serial@ef600400 { 144 device_type = "serial"; 145 compatible = "ns16550"; 146 reg = <ef600400 8>; 147 virtual-reg = <ef600400>; 148 clock-frequency = <0>; 149 current-speed = <0>; 150 interrupt-parent = <&UIC0>; 151 interrupts = <1 4>; 152 }; 153 154 UART2: serial@ef600500 { 155 device_type = "serial"; 156 compatible = "ns16550"; 157 reg = <ef600500 8>; 158 virtual-reg = <ef600500>; 159 clock-frequency = <0>; 160 current-speed = <0>; 161 interrupt-parent = <&UIC0>; 162 interrupts = <3 4>; 163 }; 164 165 UART3: serial@ef600600 { 166 device_type = "serial"; 167 compatible = "ns16550"; 168 reg = <ef600600 8>; 169 virtual-reg = <ef600600>; 170 clock-frequency = <0>; 171 current-speed = <0>; 172 interrupt-parent = <&UIC0>; 173 interrupts = <4 4>; 174 }; 175 176 IIC0: i2c@ef600700 { 177 device_type = "i2c"; 178 compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; 179 reg = <ef600700 14>; 180 interrupt-parent = <&UIC0>; 181 interrupts = <2 4>; 182 }; 183 184 IIC1: i2c@ef600800 { 185 device_type = "i2c"; 186 compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; 187 reg = <ef600800 14>; 188 interrupt-parent = <&UIC0>; 189 interrupts = <7 4>; 190 }; 191 192 ZMII0: emac-zmii@ef600d00 { 193 device_type = "zmii-interface"; 194 compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii"; 195 reg = <ef600d00 c>; 196 }; 197 198 EMAC0: ethernet@ef600e00 { 199 device_type = "network"; 200 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 201 interrupt-parent = <&UIC1>; 202 interrupts = <1c 4 1d 4>; 203 reg = <ef600e00 70>; 204 local-mac-address = [000000000000]; 205 mal-device = <&MAL0>; 206 mal-tx-channel = <0 1>; 207 mal-rx-channel = <0>; 208 cell-index = <0>; 209 max-frame-size = <5dc>; 210 rx-fifo-size = <1000>; 211 tx-fifo-size = <800>; 212 phy-mode = "rmii"; 213 phy-map = <00000001>; 214 zmii-device = <&ZMII0>; 215 zmii-channel = <0>; 216 }; 217 218 EMAC1: ethernet@ef600f00 { 219 device_type = "network"; 220 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 221 interrupt-parent = <&UIC1>; 222 interrupts = <1e 4 1f 4>; 223 reg = <ef600f00 70>; 224 local-mac-address = [000000000000]; 225 mal-device = <&MAL0>; 226 mal-tx-channel = <2 3>; 227 mal-rx-channel = <1>; 228 cell-index = <1>; 229 max-frame-size = <5dc>; 230 rx-fifo-size = <1000>; 231 tx-fifo-size = <800>; 232 phy-mode = "rmii"; 233 phy-map = <00000001>; 234 zmii-device = <&ZMII0>; 235 zmii-channel = <1>; 236 }; 237 }; 238 }; 239 240 chosen { 241 linux,stdout-path = "/plb/opb/serial@ef600300"; 242 bootargs = "console=ttyS0,115200"; 243 }; 244}; 245