1*3910cd8cSValentine Barshak/* 2*3910cd8cSValentine Barshak * Device Tree Source for AMCC Rainier 3*3910cd8cSValentine Barshak * 4*3910cd8cSValentine Barshak * Based on Sequoia code 5*3910cd8cSValentine Barshak * Copyright (c) 2007 MontaVista Software, Inc. 6*3910cd8cSValentine Barshak * 7*3910cd8cSValentine Barshak * FIXME: Draft only! 8*3910cd8cSValentine Barshak * 9*3910cd8cSValentine Barshak * This file is licensed under the terms of the GNU General Public 10*3910cd8cSValentine Barshak * License version 2. This program is licensed "as is" without 11*3910cd8cSValentine Barshak * any warranty of any kind, whether express or implied. 12*3910cd8cSValentine Barshak * 13*3910cd8cSValentine Barshak */ 14*3910cd8cSValentine Barshak 15*3910cd8cSValentine Barshak/ { 16*3910cd8cSValentine Barshak #address-cells = <2>; 17*3910cd8cSValentine Barshak #size-cells = <1>; 18*3910cd8cSValentine Barshak model = "amcc,rainier"; 19*3910cd8cSValentine Barshak compatible = "amcc,rainier"; 20*3910cd8cSValentine Barshak dcr-parent = <&/cpus/PowerPC,440GRx@0>; 21*3910cd8cSValentine Barshak 22*3910cd8cSValentine Barshak cpus { 23*3910cd8cSValentine Barshak #address-cells = <1>; 24*3910cd8cSValentine Barshak #size-cells = <0>; 25*3910cd8cSValentine Barshak 26*3910cd8cSValentine Barshak PowerPC,440GRx@0 { 27*3910cd8cSValentine Barshak device_type = "cpu"; 28*3910cd8cSValentine Barshak reg = <0>; 29*3910cd8cSValentine Barshak clock-frequency = <0>; /* Filled in by zImage */ 30*3910cd8cSValentine Barshak timebase-frequency = <0>; /* Filled in by zImage */ 31*3910cd8cSValentine Barshak i-cache-line-size = <20>; 32*3910cd8cSValentine Barshak d-cache-line-size = <20>; 33*3910cd8cSValentine Barshak i-cache-size = <8000>; 34*3910cd8cSValentine Barshak d-cache-size = <8000>; 35*3910cd8cSValentine Barshak dcr-controller; 36*3910cd8cSValentine Barshak dcr-access-method = "native"; 37*3910cd8cSValentine Barshak }; 38*3910cd8cSValentine Barshak }; 39*3910cd8cSValentine Barshak 40*3910cd8cSValentine Barshak memory { 41*3910cd8cSValentine Barshak device_type = "memory"; 42*3910cd8cSValentine Barshak reg = <0 0 0>; /* Filled in by zImage */ 43*3910cd8cSValentine Barshak }; 44*3910cd8cSValentine Barshak 45*3910cd8cSValentine Barshak UIC0: interrupt-controller0 { 46*3910cd8cSValentine Barshak compatible = "ibm,uic-440grx","ibm,uic"; 47*3910cd8cSValentine Barshak interrupt-controller; 48*3910cd8cSValentine Barshak cell-index = <0>; 49*3910cd8cSValentine Barshak dcr-reg = <0c0 009>; 50*3910cd8cSValentine Barshak #address-cells = <0>; 51*3910cd8cSValentine Barshak #size-cells = <0>; 52*3910cd8cSValentine Barshak #interrupt-cells = <2>; 53*3910cd8cSValentine Barshak }; 54*3910cd8cSValentine Barshak 55*3910cd8cSValentine Barshak UIC1: interrupt-controller1 { 56*3910cd8cSValentine Barshak compatible = "ibm,uic-440grx","ibm,uic"; 57*3910cd8cSValentine Barshak interrupt-controller; 58*3910cd8cSValentine Barshak cell-index = <1>; 59*3910cd8cSValentine Barshak dcr-reg = <0d0 009>; 60*3910cd8cSValentine Barshak #address-cells = <0>; 61*3910cd8cSValentine Barshak #size-cells = <0>; 62*3910cd8cSValentine Barshak #interrupt-cells = <2>; 63*3910cd8cSValentine Barshak interrupts = <1e 4 1f 4>; /* cascade */ 64*3910cd8cSValentine Barshak interrupt-parent = <&UIC0>; 65*3910cd8cSValentine Barshak }; 66*3910cd8cSValentine Barshak 67*3910cd8cSValentine Barshak UIC2: interrupt-controller2 { 68*3910cd8cSValentine Barshak compatible = "ibm,uic-440grx","ibm,uic"; 69*3910cd8cSValentine Barshak interrupt-controller; 70*3910cd8cSValentine Barshak cell-index = <2>; 71*3910cd8cSValentine Barshak dcr-reg = <0e0 009>; 72*3910cd8cSValentine Barshak #address-cells = <0>; 73*3910cd8cSValentine Barshak #size-cells = <0>; 74*3910cd8cSValentine Barshak #interrupt-cells = <2>; 75*3910cd8cSValentine Barshak interrupts = <1c 4 1d 4>; /* cascade */ 76*3910cd8cSValentine Barshak interrupt-parent = <&UIC0>; 77*3910cd8cSValentine Barshak }; 78*3910cd8cSValentine Barshak 79*3910cd8cSValentine Barshak SDR0: sdr { 80*3910cd8cSValentine Barshak compatible = "ibm,sdr-440grx", "ibm,sdr-440ep"; 81*3910cd8cSValentine Barshak dcr-reg = <00e 002>; 82*3910cd8cSValentine Barshak }; 83*3910cd8cSValentine Barshak 84*3910cd8cSValentine Barshak CPR0: cpr { 85*3910cd8cSValentine Barshak compatible = "ibm,cpr-440grx", "ibm,cpr-440ep"; 86*3910cd8cSValentine Barshak dcr-reg = <00c 002>; 87*3910cd8cSValentine Barshak }; 88*3910cd8cSValentine Barshak 89*3910cd8cSValentine Barshak plb { 90*3910cd8cSValentine Barshak compatible = "ibm,plb-440grx", "ibm,plb4"; 91*3910cd8cSValentine Barshak #address-cells = <2>; 92*3910cd8cSValentine Barshak #size-cells = <1>; 93*3910cd8cSValentine Barshak ranges; 94*3910cd8cSValentine Barshak clock-frequency = <0>; /* Filled in by zImage */ 95*3910cd8cSValentine Barshak 96*3910cd8cSValentine Barshak SDRAM0: sdram { 97*3910cd8cSValentine Barshak device_type = "memory-controller"; 98*3910cd8cSValentine Barshak compatible = "ibm,sdram-440grx", "ibm,sdram-44x-ddr2denali"; 99*3910cd8cSValentine Barshak dcr-reg = <010 2>; 100*3910cd8cSValentine Barshak }; 101*3910cd8cSValentine Barshak 102*3910cd8cSValentine Barshak DMA0: dma { 103*3910cd8cSValentine Barshak compatible = "ibm,dma-440grx", "ibm,dma-4xx"; 104*3910cd8cSValentine Barshak dcr-reg = <100 027>; 105*3910cd8cSValentine Barshak }; 106*3910cd8cSValentine Barshak 107*3910cd8cSValentine Barshak MAL0: mcmal { 108*3910cd8cSValentine Barshak compatible = "ibm,mcmal-440grx", "ibm,mcmal2"; 109*3910cd8cSValentine Barshak dcr-reg = <180 62>; 110*3910cd8cSValentine Barshak num-tx-chans = <2>; 111*3910cd8cSValentine Barshak num-rx-chans = <2>; 112*3910cd8cSValentine Barshak interrupt-parent = <&MAL0>; 113*3910cd8cSValentine Barshak interrupts = <0 1 2 3 4>; 114*3910cd8cSValentine Barshak #interrupt-cells = <1>; 115*3910cd8cSValentine Barshak #address-cells = <0>; 116*3910cd8cSValentine Barshak #size-cells = <0>; 117*3910cd8cSValentine Barshak interrupt-map = </*TXEOB*/ 0 &UIC0 a 4 118*3910cd8cSValentine Barshak /*RXEOB*/ 1 &UIC0 b 4 119*3910cd8cSValentine Barshak /*SERR*/ 2 &UIC1 0 4 120*3910cd8cSValentine Barshak /*TXDE*/ 3 &UIC1 1 4 121*3910cd8cSValentine Barshak /*RXDE*/ 4 &UIC1 2 4>; 122*3910cd8cSValentine Barshak interrupt-map-mask = <ffffffff>; 123*3910cd8cSValentine Barshak }; 124*3910cd8cSValentine Barshak 125*3910cd8cSValentine Barshak POB0: opb { 126*3910cd8cSValentine Barshak compatible = "ibm,opb-440grx", "ibm,opb"; 127*3910cd8cSValentine Barshak #address-cells = <1>; 128*3910cd8cSValentine Barshak #size-cells = <1>; 129*3910cd8cSValentine Barshak ranges = <00000000 1 00000000 80000000 130*3910cd8cSValentine Barshak 80000000 1 80000000 80000000>; 131*3910cd8cSValentine Barshak interrupt-parent = <&UIC1>; 132*3910cd8cSValentine Barshak interrupts = <7 4>; 133*3910cd8cSValentine Barshak clock-frequency = <0>; /* Filled in by zImage */ 134*3910cd8cSValentine Barshak 135*3910cd8cSValentine Barshak EBC0: ebc { 136*3910cd8cSValentine Barshak compatible = "ibm,ebc-440grx", "ibm,ebc"; 137*3910cd8cSValentine Barshak dcr-reg = <012 2>; 138*3910cd8cSValentine Barshak #address-cells = <2>; 139*3910cd8cSValentine Barshak #size-cells = <1>; 140*3910cd8cSValentine Barshak clock-frequency = <0>; /* Filled in by zImage */ 141*3910cd8cSValentine Barshak interrupts = <5 1>; 142*3910cd8cSValentine Barshak interrupt-parent = <&UIC1>; 143*3910cd8cSValentine Barshak 144*3910cd8cSValentine Barshak nor_flash@0,0 { 145*3910cd8cSValentine Barshak compatible = "amd,s29gl256n", "cfi-flash"; 146*3910cd8cSValentine Barshak bank-width = <2>; 147*3910cd8cSValentine Barshak reg = <0 000000 4000000>; 148*3910cd8cSValentine Barshak #address-cells = <1>; 149*3910cd8cSValentine Barshak #size-cells = <1>; 150*3910cd8cSValentine Barshak partition@0 { 151*3910cd8cSValentine Barshak label = "Kernel"; 152*3910cd8cSValentine Barshak reg = <0 180000>; 153*3910cd8cSValentine Barshak }; 154*3910cd8cSValentine Barshak partition@180000 { 155*3910cd8cSValentine Barshak label = "ramdisk"; 156*3910cd8cSValentine Barshak reg = <180000 200000>; 157*3910cd8cSValentine Barshak }; 158*3910cd8cSValentine Barshak partition@380000 { 159*3910cd8cSValentine Barshak label = "file system"; 160*3910cd8cSValentine Barshak reg = <380000 3aa0000>; 161*3910cd8cSValentine Barshak }; 162*3910cd8cSValentine Barshak partition@3e20000 { 163*3910cd8cSValentine Barshak label = "kozio"; 164*3910cd8cSValentine Barshak reg = <3e20000 140000>; 165*3910cd8cSValentine Barshak }; 166*3910cd8cSValentine Barshak partition@3f60000 { 167*3910cd8cSValentine Barshak label = "env"; 168*3910cd8cSValentine Barshak reg = <3f60000 40000>; 169*3910cd8cSValentine Barshak }; 170*3910cd8cSValentine Barshak partition@3fa0000 { 171*3910cd8cSValentine Barshak label = "u-boot"; 172*3910cd8cSValentine Barshak reg = <3fa0000 60000>; 173*3910cd8cSValentine Barshak }; 174*3910cd8cSValentine Barshak }; 175*3910cd8cSValentine Barshak 176*3910cd8cSValentine Barshak }; 177*3910cd8cSValentine Barshak 178*3910cd8cSValentine Barshak UART0: serial@ef600300 { 179*3910cd8cSValentine Barshak device_type = "serial"; 180*3910cd8cSValentine Barshak compatible = "ns16550"; 181*3910cd8cSValentine Barshak reg = <ef600300 8>; 182*3910cd8cSValentine Barshak virtual-reg = <ef600300>; 183*3910cd8cSValentine Barshak clock-frequency = <0>; /* Filled in by zImage */ 184*3910cd8cSValentine Barshak current-speed = <1c200>; 185*3910cd8cSValentine Barshak interrupt-parent = <&UIC0>; 186*3910cd8cSValentine Barshak interrupts = <0 4>; 187*3910cd8cSValentine Barshak }; 188*3910cd8cSValentine Barshak 189*3910cd8cSValentine Barshak UART1: serial@ef600400 { 190*3910cd8cSValentine Barshak device_type = "serial"; 191*3910cd8cSValentine Barshak compatible = "ns16550"; 192*3910cd8cSValentine Barshak reg = <ef600400 8>; 193*3910cd8cSValentine Barshak virtual-reg = <ef600400>; 194*3910cd8cSValentine Barshak clock-frequency = <0>; 195*3910cd8cSValentine Barshak current-speed = <0>; 196*3910cd8cSValentine Barshak interrupt-parent = <&UIC0>; 197*3910cd8cSValentine Barshak interrupts = <1 4>; 198*3910cd8cSValentine Barshak }; 199*3910cd8cSValentine Barshak 200*3910cd8cSValentine Barshak UART2: serial@ef600500 { 201*3910cd8cSValentine Barshak device_type = "serial"; 202*3910cd8cSValentine Barshak compatible = "ns16550"; 203*3910cd8cSValentine Barshak reg = <ef600500 8>; 204*3910cd8cSValentine Barshak virtual-reg = <ef600500>; 205*3910cd8cSValentine Barshak clock-frequency = <0>; 206*3910cd8cSValentine Barshak current-speed = <0>; 207*3910cd8cSValentine Barshak interrupt-parent = <&UIC1>; 208*3910cd8cSValentine Barshak interrupts = <3 4>; 209*3910cd8cSValentine Barshak }; 210*3910cd8cSValentine Barshak 211*3910cd8cSValentine Barshak UART3: serial@ef600600 { 212*3910cd8cSValentine Barshak device_type = "serial"; 213*3910cd8cSValentine Barshak compatible = "ns16550"; 214*3910cd8cSValentine Barshak reg = <ef600600 8>; 215*3910cd8cSValentine Barshak virtual-reg = <ef600600>; 216*3910cd8cSValentine Barshak clock-frequency = <0>; 217*3910cd8cSValentine Barshak current-speed = <0>; 218*3910cd8cSValentine Barshak interrupt-parent = <&UIC1>; 219*3910cd8cSValentine Barshak interrupts = <4 4>; 220*3910cd8cSValentine Barshak }; 221*3910cd8cSValentine Barshak 222*3910cd8cSValentine Barshak IIC0: i2c@ef600700 { 223*3910cd8cSValentine Barshak device_type = "i2c"; 224*3910cd8cSValentine Barshak compatible = "ibm,iic-440grx", "ibm,iic"; 225*3910cd8cSValentine Barshak reg = <ef600700 14>; 226*3910cd8cSValentine Barshak interrupt-parent = <&UIC0>; 227*3910cd8cSValentine Barshak interrupts = <2 4>; 228*3910cd8cSValentine Barshak }; 229*3910cd8cSValentine Barshak 230*3910cd8cSValentine Barshak IIC1: i2c@ef600800 { 231*3910cd8cSValentine Barshak device_type = "i2c"; 232*3910cd8cSValentine Barshak compatible = "ibm,iic-440grx", "ibm,iic"; 233*3910cd8cSValentine Barshak reg = <ef600800 14>; 234*3910cd8cSValentine Barshak interrupt-parent = <&UIC0>; 235*3910cd8cSValentine Barshak interrupts = <7 4>; 236*3910cd8cSValentine Barshak }; 237*3910cd8cSValentine Barshak 238*3910cd8cSValentine Barshak ZMII0: emac-zmii@ef600d00 { 239*3910cd8cSValentine Barshak device_type = "zmii-interface"; 240*3910cd8cSValentine Barshak compatible = "ibm,zmii-440grx", "ibm,zmii"; 241*3910cd8cSValentine Barshak reg = <ef600d00 c>; 242*3910cd8cSValentine Barshak }; 243*3910cd8cSValentine Barshak 244*3910cd8cSValentine Barshak RGMII0: emac-rgmii@ef601000 { 245*3910cd8cSValentine Barshak device_type = "rgmii-interface"; 246*3910cd8cSValentine Barshak compatible = "ibm,rgmii-440grx", "ibm,rgmii"; 247*3910cd8cSValentine Barshak reg = <ef601000 8>; 248*3910cd8cSValentine Barshak }; 249*3910cd8cSValentine Barshak 250*3910cd8cSValentine Barshak EMAC0: ethernet@ef600e00 { 251*3910cd8cSValentine Barshak linux,network-index = <0>; 252*3910cd8cSValentine Barshak device_type = "network"; 253*3910cd8cSValentine Barshak compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4"; 254*3910cd8cSValentine Barshak interrupt-parent = <&EMAC0>; 255*3910cd8cSValentine Barshak interrupts = <0 1>; 256*3910cd8cSValentine Barshak #interrupt-cells = <1>; 257*3910cd8cSValentine Barshak #address-cells = <0>; 258*3910cd8cSValentine Barshak #size-cells = <0>; 259*3910cd8cSValentine Barshak interrupt-map = </*Status*/ 0 &UIC0 18 4 260*3910cd8cSValentine Barshak /*Wake*/ 1 &UIC1 1d 4>; 261*3910cd8cSValentine Barshak reg = <ef600e00 70>; 262*3910cd8cSValentine Barshak local-mac-address = [000000000000]; 263*3910cd8cSValentine Barshak mal-device = <&MAL0>; 264*3910cd8cSValentine Barshak mal-tx-channel = <0>; 265*3910cd8cSValentine Barshak mal-rx-channel = <0>; 266*3910cd8cSValentine Barshak cell-index = <0>; 267*3910cd8cSValentine Barshak max-frame-size = <5dc>; 268*3910cd8cSValentine Barshak rx-fifo-size = <1000>; 269*3910cd8cSValentine Barshak tx-fifo-size = <800>; 270*3910cd8cSValentine Barshak phy-mode = "rgmii"; 271*3910cd8cSValentine Barshak phy-map = <00000000>; 272*3910cd8cSValentine Barshak zmii-device = <&ZMII0>; 273*3910cd8cSValentine Barshak zmii-channel = <0>; 274*3910cd8cSValentine Barshak rgmii-device = <&RGMII0>; 275*3910cd8cSValentine Barshak rgmii-channel = <0>; 276*3910cd8cSValentine Barshak }; 277*3910cd8cSValentine Barshak 278*3910cd8cSValentine Barshak EMAC1: ethernet@ef600f00 { 279*3910cd8cSValentine Barshak linux,network-index = <1>; 280*3910cd8cSValentine Barshak device_type = "network"; 281*3910cd8cSValentine Barshak compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4"; 282*3910cd8cSValentine Barshak interrupt-parent = <&EMAC1>; 283*3910cd8cSValentine Barshak interrupts = <0 1>; 284*3910cd8cSValentine Barshak #interrupt-cells = <1>; 285*3910cd8cSValentine Barshak #address-cells = <0>; 286*3910cd8cSValentine Barshak #size-cells = <0>; 287*3910cd8cSValentine Barshak interrupt-map = </*Status*/ 0 &UIC0 19 4 288*3910cd8cSValentine Barshak /*Wake*/ 1 &UIC1 1f 4>; 289*3910cd8cSValentine Barshak reg = <ef600f00 70>; 290*3910cd8cSValentine Barshak local-mac-address = [000000000000]; 291*3910cd8cSValentine Barshak mal-device = <&MAL0>; 292*3910cd8cSValentine Barshak mal-tx-channel = <1>; 293*3910cd8cSValentine Barshak mal-rx-channel = <1>; 294*3910cd8cSValentine Barshak cell-index = <1>; 295*3910cd8cSValentine Barshak max-frame-size = <5dc>; 296*3910cd8cSValentine Barshak rx-fifo-size = <1000>; 297*3910cd8cSValentine Barshak tx-fifo-size = <800>; 298*3910cd8cSValentine Barshak phy-mode = "rgmii"; 299*3910cd8cSValentine Barshak phy-map = <00000000>; 300*3910cd8cSValentine Barshak zmii-device = <&ZMII0>; 301*3910cd8cSValentine Barshak zmii-channel = <1>; 302*3910cd8cSValentine Barshak rgmii-device = <&RGMII0>; 303*3910cd8cSValentine Barshak rgmii-channel = <1>; 304*3910cd8cSValentine Barshak }; 305*3910cd8cSValentine Barshak }; 306*3910cd8cSValentine Barshak }; 307*3910cd8cSValentine Barshak 308*3910cd8cSValentine Barshak chosen { 309*3910cd8cSValentine Barshak linux,stdout-path = "/plb/opb/serial@ef600300"; 310*3910cd8cSValentine Barshak bootargs = "console=ttyS0,115200"; 311*3910cd8cSValentine Barshak }; 312*3910cd8cSValentine Barshak}; 313