Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Device Tree Source for AMCC Rainier
0003  *
0004  * Based on Sequoia code
0005  * Copyright (c) 2007 MontaVista Software, Inc.
0006  *
0007  * FIXME: Draft only!
0008  *
0009  * This file is licensed under the terms of the GNU General Public
0010  * License version 2.  This program is licensed "as is" without
0011  * any warranty of any kind, whether express or implied.
0012  *
0013  */
0014 
0015 /dts-v1/;
0016 
0017 / {
0018         #address-cells = <2>;
0019         #size-cells = <1>;
0020         model = "amcc,rainier";
0021         compatible = "amcc,rainier";
0022         dcr-parent = <&{/cpus/cpu@0}>;
0023 
0024         aliases {
0025                 ethernet0 = &EMAC0;
0026                 ethernet1 = &EMAC1;
0027                 serial0 = &UART0;
0028                 serial1 = &UART1;
0029                 serial2 = &UART2;
0030                 serial3 = &UART3;
0031         };
0032 
0033         cpus {
0034                 #address-cells = <1>;
0035                 #size-cells = <0>;
0036 
0037                 cpu@0 {
0038                         device_type = "cpu";
0039                         model = "PowerPC,440GRx";
0040                         reg = <0x00000000>;
0041                         clock-frequency = <0>; /* Filled in by zImage */
0042                         timebase-frequency = <0>; /* Filled in by zImage */
0043                         i-cache-line-size = <32>;
0044                         d-cache-line-size = <32>;
0045                         i-cache-size = <32768>;
0046                         d-cache-size = <32768>;
0047                         dcr-controller;
0048                         dcr-access-method = "native";
0049                 };
0050         };
0051 
0052         memory {
0053                 device_type = "memory";
0054                 reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by zImage */
0055         };
0056 
0057         UIC0: interrupt-controller0 {
0058                 compatible = "ibm,uic-440grx","ibm,uic";
0059                 interrupt-controller;
0060                 cell-index = <0>;
0061                 dcr-reg = <0x0c0 0x009>;
0062                 #address-cells = <0>;
0063                 #size-cells = <0>;
0064                 #interrupt-cells = <2>;
0065         };
0066 
0067         UIC1: interrupt-controller1 {
0068                 compatible = "ibm,uic-440grx","ibm,uic";
0069                 interrupt-controller;
0070                 cell-index = <1>;
0071                 dcr-reg = <0x0d0 0x009>;
0072                 #address-cells = <0>;
0073                 #size-cells = <0>;
0074                 #interrupt-cells = <2>;
0075                 interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
0076                 interrupt-parent = <&UIC0>;
0077         };
0078 
0079         UIC2: interrupt-controller2 {
0080                 compatible = "ibm,uic-440grx","ibm,uic";
0081                 interrupt-controller;
0082                 cell-index = <2>;
0083                 dcr-reg = <0x0e0 0x009>;
0084                 #address-cells = <0>;
0085                 #size-cells = <0>;
0086                 #interrupt-cells = <2>;
0087                 interrupts = <0x1c 0x4 0x1d 0x4>; /* cascade */
0088                 interrupt-parent = <&UIC0>;
0089         };
0090 
0091         SDR0: sdr {
0092                 compatible = "ibm,sdr-440grx", "ibm,sdr-440ep";
0093                 dcr-reg = <0x00e 0x002>;
0094         };
0095 
0096         CPR0: cpr {
0097                 compatible = "ibm,cpr-440grx", "ibm,cpr-440ep";
0098                 dcr-reg = <0x00c 0x002>;
0099         };
0100 
0101         plb {
0102                 compatible = "ibm,plb-440grx", "ibm,plb4";
0103                 #address-cells = <2>;
0104                 #size-cells = <1>;
0105                 ranges;
0106                 clock-frequency = <0>; /* Filled in by zImage */
0107 
0108                 SDRAM0: sdram {
0109                         compatible = "ibm,sdram-440grx", "ibm,sdram-44x-ddr2denali";
0110                         dcr-reg = <0x010 0x002>;
0111                 };
0112 
0113                 DMA0: dma {
0114                         compatible = "ibm,dma-440grx", "ibm,dma-4xx";
0115                         dcr-reg = <0x100 0x027>;
0116                 };
0117 
0118                 MAL0: mcmal {
0119                         compatible = "ibm,mcmal-440grx", "ibm,mcmal2";
0120                         dcr-reg = <0x180 0x062>;
0121                         num-tx-chans = <2>;
0122                         num-rx-chans = <2>;
0123                         interrupt-parent = <&MAL0>;
0124                         interrupts = <0x0 0x1 0x2 0x3 0x4>;
0125                         #interrupt-cells = <1>;
0126                         #address-cells = <0>;
0127                         #size-cells = <0>;
0128                         interrupt-map = </*TXEOB*/ 0x0 &UIC0 0xa 0x4
0129                                         /*RXEOB*/ 0x1 &UIC0 0xb 0x4
0130                                         /*SERR*/  0x2 &UIC1 0x0 0x4
0131                                         /*TXDE*/  0x3 &UIC1 0x1 0x4
0132                                         /*RXDE*/  0x4 &UIC1 0x2 0x4>;
0133                         interrupt-map-mask = <0xffffffff>;
0134                 };
0135 
0136                 POB0: opb {
0137                         compatible = "ibm,opb-440grx", "ibm,opb";
0138                         #address-cells = <1>;
0139                         #size-cells = <1>;
0140                         ranges = <0x00000000 0x00000001 0x00000000 0x80000000
0141                                   0x80000000 0x00000001 0x80000000 0x80000000>;
0142                         interrupt-parent = <&UIC1>;
0143                         interrupts = <0x7 0x4>;
0144                         clock-frequency = <0>; /* Filled in by zImage */
0145 
0146                         EBC0: ebc {
0147                                 compatible = "ibm,ebc-440grx", "ibm,ebc";
0148                                 dcr-reg = <0x012 0x002>;
0149                                 #address-cells = <2>;
0150                                 #size-cells = <1>;
0151                                 clock-frequency = <0>; /* Filled in by zImage */
0152                                 interrupts = <0x5 0x1>;
0153                                 interrupt-parent = <&UIC1>;
0154 
0155                                 nor_flash@0,0 {
0156                                         compatible = "amd,s29gl256n", "cfi-flash";
0157                                         bank-width = <2>;
0158                                         reg = <0x00000000 0x00000000 0x04000000>;
0159                                         #address-cells = <1>;
0160                                         #size-cells = <1>;
0161                                         partition@0 {
0162                                                 label = "Kernel";
0163                                                 reg = <0x00000000 0x00180000>;
0164                                         };
0165                                         partition@180000 {
0166                                                 label = "ramdisk";
0167                                                 reg = <0x00180000 0x00200000>;
0168                                         };
0169                                         partition@380000 {
0170                                                 label = "file system";
0171                                                 reg = <0x00380000 0x03aa0000>;
0172                                         };
0173                                         partition@3e20000 {
0174                                                 label = "kozio";
0175                                                 reg = <0x03e20000 0x00140000>;
0176                                         };
0177                                         partition@3f60000 {
0178                                                 label = "env";
0179                                                 reg = <0x03f60000 0x00040000>;
0180                                         };
0181                                         partition@3fa0000 {
0182                                                 label = "u-boot";
0183                                                 reg = <0x03fa0000 0x00060000>;
0184                                         };
0185                                 };
0186 
0187                         };
0188 
0189                         UART0: serial@ef600300 {
0190                                 device_type = "serial";
0191                                 compatible = "ns16550";
0192                                 reg = <0xef600300 0x00000008>;
0193                                 virtual-reg = <0xef600300>;
0194                                 clock-frequency = <0>; /* Filled in by zImage */
0195                                 current-speed = <115200>;
0196                                 interrupt-parent = <&UIC0>;
0197                                 interrupts = <0x0 0x4>;
0198                         };
0199 
0200                         UART1: serial@ef600400 {
0201                                 device_type = "serial";
0202                                 compatible = "ns16550";
0203                                 reg = <0xef600400 0x00000008>;
0204                                 virtual-reg = <0xef600400>;
0205                                 clock-frequency = <0>;
0206                                 current-speed = <0>;
0207                                 interrupt-parent = <&UIC0>;
0208                                 interrupts = <0x1 0x4>;
0209                         };
0210 
0211                         UART2: serial@ef600500 {
0212                                 device_type = "serial";
0213                                 compatible = "ns16550";
0214                                 reg = <0xef600500 0x00000008>;
0215                                 virtual-reg = <0xef600500>;
0216                                 clock-frequency = <0>;
0217                                 current-speed = <0>;
0218                                 interrupt-parent = <&UIC1>;
0219                                 interrupts = <0x3 0x4>;
0220                         };
0221 
0222                         UART3: serial@ef600600 {
0223                                 device_type = "serial";
0224                                 compatible = "ns16550";
0225                                 reg = <0xef600600 0x00000008>;
0226                                 virtual-reg = <0xef600600>;
0227                                 clock-frequency = <0>;
0228                                 current-speed = <0>;
0229                                 interrupt-parent = <&UIC1>;
0230                                 interrupts = <0x4 0x4>;
0231                         };
0232 
0233                         IIC0: i2c@ef600700 {
0234                                 compatible = "ibm,iic-440grx", "ibm,iic";
0235                                 reg = <0xef600700 0x00000014>;
0236                                 interrupt-parent = <&UIC0>;
0237                                 interrupts = <0x2 0x4>;
0238                         };
0239 
0240                         IIC1: i2c@ef600800 {
0241                                 compatible = "ibm,iic-440grx", "ibm,iic";
0242                                 reg = <0xef600800 0x00000014>;
0243                                 interrupt-parent = <&UIC0>;
0244                                 interrupts = <0x7 0x4>;
0245                         };
0246 
0247                         ZMII0: emac-zmii@ef600d00 {
0248                                 compatible = "ibm,zmii-440grx", "ibm,zmii";
0249                                 reg = <0xef600d00 0x0000000c>;
0250                         };
0251 
0252                         RGMII0: emac-rgmii@ef601000 {
0253                                 compatible = "ibm,rgmii-440grx", "ibm,rgmii";
0254                                 reg = <0xef601000 0x00000008>;
0255                                 has-mdio;
0256                         };
0257 
0258                         EMAC0: ethernet@ef600e00 {
0259                                 device_type = "network";
0260                                 compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4";
0261                                 interrupt-parent = <&EMAC0>;
0262                                 interrupts = <0x0 0x1>;
0263                                 #interrupt-cells = <1>;
0264                                 #address-cells = <0>;
0265                                 #size-cells = <0>;
0266                                 interrupt-map = </*Status*/ 0x0 &UIC0 0x18 0x4
0267                                                 /*Wake*/  0x1 &UIC1 0x1d 0x4>;
0268                                 reg = <0xef600e00 0x00000074>;
0269                                 local-mac-address = [000000000000];
0270                                 mal-device = <&MAL0>;
0271                                 mal-tx-channel = <0>;
0272                                 mal-rx-channel = <0>;
0273                                 cell-index = <0>;
0274                                 max-frame-size = <9000>;
0275                                 rx-fifo-size = <4096>;
0276                                 tx-fifo-size = <2048>;
0277                                 phy-mode = "rgmii";
0278                                 phy-map = <0x00000000>;
0279                                 zmii-device = <&ZMII0>;
0280                                 zmii-channel = <0>;
0281                                 rgmii-device = <&RGMII0>;
0282                                 rgmii-channel = <0>;
0283                                 has-inverted-stacr-oc;
0284                                 has-new-stacr-staopc;
0285                         };
0286 
0287                         EMAC1: ethernet@ef600f00 {
0288                                 device_type = "network";
0289                                 compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4";
0290                                 interrupt-parent = <&EMAC1>;
0291                                 interrupts = <0x0 0x1>;
0292                                 #interrupt-cells = <1>;
0293                                 #address-cells = <0>;
0294                                 #size-cells = <0>;
0295                                 interrupt-map = </*Status*/ 0x0 &UIC0 0x19 0x4
0296                                                 /*Wake*/  0x1 &UIC1 0x1f 0x4>;
0297                                 reg = <0xef600f00 0x00000074>;
0298                                 local-mac-address = [000000000000];
0299                                 mal-device = <&MAL0>;
0300                                 mal-tx-channel = <1>;
0301                                 mal-rx-channel = <1>;
0302                                 cell-index = <1>;
0303                                 max-frame-size = <9000>;
0304                                 rx-fifo-size = <4096>;
0305                                 tx-fifo-size = <2048>;
0306                                 phy-mode = "rgmii";
0307                                 phy-map = <0x00000000>;
0308                                 zmii-device = <&ZMII0>;
0309                                 zmii-channel = <1>;
0310                                 rgmii-device = <&RGMII0>;
0311                                 rgmii-channel = <1>;
0312                                 has-inverted-stacr-oc;
0313                                 has-new-stacr-staopc;
0314                         };
0315                 };
0316 
0317                 PCI0: pci@1ec000000 {
0318                         device_type = "pci";
0319                         #interrupt-cells = <1>;
0320                         #size-cells = <2>;
0321                         #address-cells = <3>;
0322                         compatible = "ibm,plb440grx-pci", "ibm,plb-pci";
0323                         primary;
0324                         reg = <0x00000001 0xeec00000 0x00000008 /* Config space access */
0325                                0x00000001 0xeed00000 0x00000004 /* IACK */
0326                                0x00000001 0xeed00000 0x00000004 /* Special cycle */
0327                                0x00000001 0xef400000 0x00000040>;       /* Internal registers */
0328 
0329                         /* Outbound ranges, one memory and one IO,
0330                          * later cannot be changed. Chip supports a second
0331                          * IO range but we don't use it for now
0332                          */
0333                         ranges = <0x02000000 0x0 0x80000000 0x1 0x80000000 0x0 0x40000000
0334                                 0x01000000 0x0 0x00000000 0x1 0xe8000000 0x0 0x00010000
0335                                 0x01000000 0x0 0x00000000 0x1 0xe8800000 0x0 0x03800000>;
0336 
0337                         /* Inbound 2GB range starting at 0 */
0338                         dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>;
0339 
0340                         /* All PCI interrupts are routed to IRQ 67 */
0341                         interrupt-map-mask = <0x0 0x0 0x0 0x0>;
0342                         interrupt-map = < 0x0 0x0 0x0 0x0 &UIC2 0x3 0x8 >;
0343                 };
0344         };
0345 
0346         chosen {
0347                 stdout-path = "/plb/opb/serial@ef600300";
0348                 bootargs = "console=ttyS0,115200";
0349         };
0350 };