1/* 2 * Device Tree Source for AMCC (AppliedMicro) Eiger(460SX) 3 * 4 * Copyright 2009 AMCC (AppliedMicro) <ttnguyen@amcc.com> 5 * 6 * This file is licensed under the terms of the GNU General Public 7 * License version 2. This program is licensed "as is" without 8 * any warranty of any kind, whether express or implied. 9 */ 10 11/dts-v1/; 12 13/ { 14 #address-cells = <2>; 15 #size-cells = <1>; 16 model = "amcc,eiger"; 17 compatible = "amcc,eiger"; 18 dcr-parent = <&{/cpus/cpu@0}>; 19 20 aliases { 21 ethernet0 = &EMAC0; 22 ethernet1 = &EMAC1; 23 ethernet2 = &EMAC2; 24 ethernet3 = &EMAC3; 25 serial0 = &UART0; 26 serial1 = &UART1; 27 }; 28 29 cpus { 30 #address-cells = <1>; 31 #size-cells = <0>; 32 33 cpu@0 { 34 device_type = "cpu"; 35 model = "PowerPC,460SX"; 36 reg = <0x00000000>; 37 clock-frequency = <0>; /* Filled in by U-Boot */ 38 timebase-frequency = <0>; /* Filled in by U-Boot */ 39 i-cache-line-size = <32>; 40 d-cache-line-size = <32>; 41 i-cache-size = <32768>; 42 d-cache-size = <32768>; 43 dcr-controller; 44 dcr-access-method = "native"; 45 }; 46 }; 47 48 memory { 49 device_type = "memory"; 50 reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by U-Boot */ 51 }; 52 53 UIC0: interrupt-controller0 { 54 compatible = "ibm,uic-460sx","ibm,uic"; 55 interrupt-controller; 56 cell-index = <0>; 57 dcr-reg = <0x0c0 0x009>; 58 #address-cells = <0>; 59 #size-cells = <0>; 60 #interrupt-cells = <2>; 61 }; 62 63 UIC1: interrupt-controller1 { 64 compatible = "ibm,uic-460sx","ibm,uic"; 65 interrupt-controller; 66 cell-index = <1>; 67 dcr-reg = <0x0d0 0x009>; 68 #address-cells = <0>; 69 #size-cells = <0>; 70 #interrupt-cells = <2>; 71 interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */ 72 interrupt-parent = <&UIC0>; 73 }; 74 75 UIC2: interrupt-controller2 { 76 compatible = "ibm,uic-460sx","ibm,uic"; 77 interrupt-controller; 78 cell-index = <2>; 79 dcr-reg = <0x0e0 0x009>; 80 #address-cells = <0>; 81 #size-cells = <0>; 82 #interrupt-cells = <2>; 83 interrupts = <0xa 0x4 0xb 0x4>; /* cascade */ 84 interrupt-parent = <&UIC0>; 85 }; 86 87 UIC3: interrupt-controller3 { 88 compatible = "ibm,uic-460sx","ibm,uic"; 89 interrupt-controller; 90 cell-index = <3>; 91 dcr-reg = <0x0f0 0x009>; 92 #address-cells = <0>; 93 #size-cells = <0>; 94 #interrupt-cells = <2>; 95 interrupts = <0x10 0x4 0x11 0x4>; /* cascade */ 96 interrupt-parent = <&UIC0>; 97 }; 98 99 SDR0: sdr { 100 compatible = "ibm,sdr-460sx"; 101 dcr-reg = <0x00e 0x002>; 102 }; 103 104 CPR0: cpr { 105 compatible = "ibm,cpr-460sx"; 106 dcr-reg = <0x00c 0x002>; 107 }; 108 109 plb { 110 compatible = "ibm,plb-460sx", "ibm,plb4"; 111 #address-cells = <2>; 112 #size-cells = <1>; 113 ranges; 114 clock-frequency = <0>; /* Filled in by U-Boot */ 115 116 SDRAM0: sdram { 117 compatible = "ibm,sdram-460sx", "ibm,sdram-405gp"; 118 dcr-reg = <0x010 0x002>; 119 }; 120 121 MAL0: mcmal { 122 compatible = "ibm,mcmal-460sx", "ibm,mcmal2"; 123 dcr-reg = <0x180 0x62>; 124 num-tx-chans = <4>; 125 num-rx-chans = <32>; 126 #address-cells = <1>; 127 #size-cells = <1>; 128 interrupt-parent = <&UIC1>; 129 interrupts = < /*TXEOB*/ 0x6 0x4 130 /*RXEOB*/ 0x7 0x4 131 /*SERR*/ 0x1 0x4 132 /*TXDE*/ 0x2 0x4 133 /*RXDE*/ 0x3 0x4 134 /*COAL TX0*/ 0x18 0x2 135 /*COAL TX1*/ 0x19 0x2 136 /*COAL TX2*/ 0x1a 0x2 137 /*COAL TX3*/ 0x1b 0x2 138 /*COAL RX0*/ 0x1c 0x2 139 /*COAL RX1*/ 0x1d 0x2 140 /*COAL RX2*/ 0x1e 0x2 141 /*COAL RX3*/ 0x1f 0x2>; 142 }; 143 144 POB0: opb { 145 compatible = "ibm,opb-460sx", "ibm,opb"; 146 #address-cells = <1>; 147 #size-cells = <1>; 148 ranges = <0xb0000000 0x00000004 0xb0000000 0x50000000>; 149 clock-frequency = <0>; /* Filled in by U-Boot */ 150 151 EBC0: ebc { 152 compatible = "ibm,ebc-460sx", "ibm,ebc"; 153 dcr-reg = <0x012 0x002>; 154 #address-cells = <2>; 155 #size-cells = <1>; 156 clock-frequency = <0>; /* Filled in by U-Boot */ 157 /* ranges property is supplied by U-Boot */ 158 interrupts = <0x6 0x4>; 159 interrupt-parent = <&UIC1>; 160 161 nor_flash@0,0 { 162 compatible = "amd,s29gl512n", "cfi-flash"; 163 bank-width = <2>; 164 /* reg property is supplied in by U-Boot */ 165 #address-cells = <1>; 166 #size-cells = <1>; 167 partition@0 { 168 label = "kernel"; 169 reg = <0x00000000 0x001e0000>; 170 }; 171 partition@1e0000 { 172 label = "dtb"; 173 reg = <0x001e0000 0x00020000>; 174 }; 175 partition@200000 { 176 label = "ramdisk"; 177 reg = <0x00200000 0x01400000>; 178 }; 179 partition@1600000 { 180 label = "jffs2"; 181 reg = <0x01600000 0x00400000>; 182 }; 183 partition@1a00000 { 184 label = "user"; 185 reg = <0x01a00000 0x02560000>; 186 }; 187 partition@3f60000 { 188 label = "env"; 189 reg = <0x03f60000 0x00040000>; 190 }; 191 partition@3fa0000 { 192 label = "u-boot"; 193 reg = <0x03fa0000 0x00060000>; 194 }; 195 }; 196 197 ndfc@1,0 { 198 compatible = "ibm,ndfc"; 199 /* reg property is supplied by U-boot */ 200 ccr = <0x00003000>; 201 bank-settings = <0x80002222>; 202 #address-cells = <1>; 203 #size-cells = <1>; 204 205 nand { 206 #address-cells = <1>; 207 #size-cells = <1>; 208 partition@0 { 209 label = "uboot"; 210 reg = <0x00000000 0x00200000>; 211 }; 212 partition@200000 { 213 label = "uboot-environment"; 214 reg = <0x00200000 0x00100000>; 215 }; 216 partition@300000 { 217 label = "linux"; 218 reg = <0x00300000 0x00300000>; 219 }; 220 partition@600000 { 221 label = "root-file-system"; 222 reg = <0x00600000 0x01900000>; 223 }; 224 partition@1f00000 { 225 label = "device-tree"; 226 reg = <0x01f00000 0x00020000>; 227 }; 228 partition@1f20000 { 229 label = "data"; 230 reg = <0x01f20000 0x060E0000>; 231 }; 232 }; 233 }; 234 }; 235 236 UART0: serial@ef600200 { 237 device_type = "serial"; 238 compatible = "ns16550"; 239 reg = <0xef600200 0x00000008>; 240 virtual-reg = <0xef600200>; 241 clock-frequency = <0>; /* Filled in by U-Boot */ 242 current-speed = <0>; /* Filled in by U-Boot */ 243 interrupt-parent = <&UIC0>; 244 interrupts = <0x0 0x4>; 245 }; 246 247 UART1: serial@ef600300 { 248 device_type = "serial"; 249 compatible = "ns16550"; 250 reg = <0xef600300 0x00000008>; 251 virtual-reg = <0xef600300>; 252 clock-frequency = <0>; /* Filled in by U-Boot */ 253 current-speed = <0>; /* Filled in by U-Boot */ 254 interrupt-parent = <&UIC0>; 255 interrupts = <0x1 0x4>; 256 }; 257 258 IIC0: i2c@ef600400 { 259 compatible = "ibm,iic-460sx", "ibm,iic"; 260 reg = <0xef600400 0x00000014>; 261 interrupt-parent = <&UIC0>; 262 interrupts = <0x2 0x4>; 263 #address-cells = <1>; 264 #size-cells = <0>; 265 index = <0>; 266 }; 267 268 IIC1: i2c@ef600500 { 269 compatible = "ibm,iic-460sx", "ibm,iic"; 270 reg = <0xef600500 0x00000014>; 271 interrupt-parent = <&UIC0>; 272 interrupts = <0x3 0x4>; 273 #address-cells = <1>; 274 #size-cells = <0>; 275 index = <1>; 276 }; 277 278 RGMII0: emac-rgmii@ef600900 { 279 compatible = "ibm,rgmii-460sx", "ibm,rgmii"; 280 reg = <0xef600900 0x00000008>; 281 has-mdio; 282 }; 283 284 RGMII1: emac-rgmii@ef600920 { 285 compatible = "ibm,rgmii-460sx", "ibm,rgmii"; 286 reg = <0xef600920 0x00000008>; 287 has-mdio; 288 }; 289 290 TAH0: emac-tah@ef600e50 { 291 compatible = "ibm,tah-460sx", "ibm,tah"; 292 reg = <0xef600e50 0x00000030>; 293 }; 294 295 TAH1: emac-tah@ef600f50 { 296 compatible = "ibm,tah-460sx", "ibm,tah"; 297 reg = <0xef600f50 0x00000030>; 298 }; 299 300 EMAC0: ethernet@ef600a00 { 301 device_type = "network"; 302 compatible = "ibm,emac-460sx", "ibm,emac4"; 303 interrupt-parent = <&EMAC0>; 304 interrupts = <0x0 0x1>; 305 #interrupt-cells = <1>; 306 #address-cells = <0>; 307 #size-cells = <0>; 308 interrupt-map = </*Status*/ 0x0 &UIC0 0x13 0x4 309 /*Wake*/ 0x1 &UIC2 0x1d 0x4>; 310 reg = <0xef600a00 0x00000070>; 311 local-mac-address = [000000000000]; /* Filled in by U-Boot */ 312 mal-device = <&MAL0>; 313 mal-tx-channel = <0>; 314 mal-rx-channel = <0>; 315 cell-index = <0>; 316 max-frame-size = <9000>; 317 rx-fifo-size = <4096>; 318 tx-fifo-size = <2048>; 319 rx-fifo-size-gige = <16384>; 320 phy-mode = "rgmii"; 321 phy-map = <0x00000000>; 322 rgmii-device = <&RGMII0>; 323 rgmii-channel = <0>; 324 tah-device = <&TAH0>; 325 tah-channel = <0>; 326 has-inverted-stacr-oc; 327 has-new-stacr-staopc; 328 }; 329 330 EMAC1: ethernet@ef600b00 { 331 device_type = "network"; 332 compatible = "ibm,emac-460sx", "ibm,emac4"; 333 interrupt-parent = <&EMAC1>; 334 interrupts = <0x0 0x1>; 335 #interrupt-cells = <1>; 336 #address-cells = <0>; 337 #size-cells = <0>; 338 interrupt-map = </*Status*/ 0x0 &UIC0 0x14 0x4 339 /*Wake*/ 0x1 &UIC2 0x1d 0x4>; 340 reg = <0xef600b00 0x00000070>; 341 local-mac-address = [000000000000]; /* Filled in by U-Boot */ 342 mal-device = <&MAL0>; 343 mal-tx-channel = <1>; 344 mal-rx-channel = <8>; 345 cell-index = <1>; 346 max-frame-size = <9000>; 347 rx-fifo-size = <4096>; 348 tx-fifo-size = <2048>; 349 rx-fifo-size-gige = <16384>; 350 phy-mode = "rgmii"; 351 phy-map = <0x00000000>; 352 rgmii-device = <&RGMII0>; 353 rgmii-channel = <1>; 354 tah-device = <&TAH1>; 355 tah-channel = <1>; 356 has-inverted-stacr-oc; 357 has-new-stacr-staopc; 358 mdio-device = <&EMAC0>; 359 }; 360 361 EMAC2: ethernet@ef600c00 { 362 device_type = "network"; 363 compatible = "ibm,emac-460sx", "ibm,emac4"; 364 interrupt-parent = <&EMAC2>; 365 interrupts = <0x0 0x1>; 366 #interrupt-cells = <1>; 367 #address-cells = <0>; 368 #size-cells = <0>; 369 interrupt-map = </*Status*/ 0x0 &UIC0 0x15 0x4 370 /*Wake*/ 0x1 &UIC2 0x1d 0x4>; 371 reg = <0xef600c00 0x00000070>; 372 local-mac-address = [000000000000]; /* Filled in by U-Boot */ 373 mal-device = <&MAL0>; 374 mal-tx-channel = <2>; 375 mal-rx-channel = <16>; 376 cell-index = <2>; 377 max-frame-size = <9000>; 378 rx-fifo-size = <4096>; 379 tx-fifo-size = <2048>; 380 rx-fifo-size-gige = <16384>; 381 tx-fifo-size-gige = <16384>; /* emac2&3 only */ 382 phy-mode = "rgmii"; 383 phy-map = <0x00000000>; 384 rgmii-device = <&RGMII1>; 385 rgmii-channel = <0>; 386 has-inverted-stacr-oc; 387 has-new-stacr-staopc; 388 mdio-device = <&EMAC0>; 389 }; 390 391 EMAC3: ethernet@ef600d00 { 392 device_type = "network"; 393 compatible = "ibm,emac-460sx", "ibm,emac4"; 394 interrupt-parent = <&EMAC3>; 395 interrupts = <0x0 0x1>; 396 #interrupt-cells = <1>; 397 #address-cells = <0>; 398 #size-cells = <0>; 399 interrupt-map = </*Status*/ 0x0 &UIC0 0x16 0x4 400 /*Wake*/ 0x1 &UIC2 0x1d 0x4>; 401 reg = <0xef600d00 0x00000070>; 402 local-mac-address = [000000000000]; /* Filled in by U-Boot */ 403 mal-device = <&MAL0>; 404 mal-tx-channel = <3>; 405 mal-rx-channel = <24>; 406 cell-index = <3>; 407 max-frame-size = <9000>; 408 rx-fifo-size = <4096>; 409 tx-fifo-size = <2048>; 410 rx-fifo-size-gige = <16384>; 411 tx-fifo-size-gige = <16384>; /* emac2&3 only */ 412 phy-mode = "rgmii"; 413 phy-map = <0x00000000>; 414 rgmii-device = <&RGMII1>; 415 rgmii-channel = <1>; 416 has-inverted-stacr-oc; 417 has-new-stacr-staopc; 418 mdio-device = <&EMAC0>; 419 }; 420 }; 421 422 }; 423 chosen { 424 linux,stdout-path = "/plb/opb/serial@ef600200"; 425 }; 426 427}; 428