Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Device Tree Source for ACube Sam440ep  based off bamboo.dts code 
0003  * original copyrights below 
0004  *
0005  * Copyright (c) 2006, 2007 IBM Corp.
0006  * Josh Boyer <jwboyer@linux.vnet.ibm.com>
0007  *
0008  * Modified from bamboo.dts for sam440ep:
0009  * Copyright 2008 Giuseppe Coviello <gicoviello@gmail.com>
0010  *
0011  * This file is licensed under the terms of the GNU General Public
0012  * License version 2.  This program is licensed "as is" without
0013  * any warranty of any kind, whether express or implied.
0014  */
0015 
0016 /dts-v1/;
0017 
0018 / {
0019         #address-cells = <2>;
0020         #size-cells = <1>;
0021         model = "acube,sam440ep";
0022         compatible = "acube,sam440ep";
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,440EP";
0040                         reg = <0>;
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 = <0 0 0>; /* Filled in by zImage */
0055         };
0056 
0057         UIC0: interrupt-controller0 {
0058                 compatible = "ibm,uic-440ep","ibm,uic";
0059                 interrupt-controller;
0060                 cell-index = <0>;
0061                 dcr-reg = <0x0c0 9>;
0062                 #address-cells = <0>;
0063                 #size-cells = <0>;
0064                 #interrupt-cells = <2>;
0065         };
0066 
0067         UIC1: interrupt-controller1 {
0068                 compatible = "ibm,uic-440ep","ibm,uic";
0069                 interrupt-controller;
0070                 cell-index = <1>;
0071                 dcr-reg = <0x0d0 9>;
0072                 #address-cells = <0>;
0073                 #size-cells = <0>;
0074                 #interrupt-cells = <2>;
0075                 interrupts = <0x1e 4 0x1f 4>; /* cascade */
0076                 interrupt-parent = <&UIC0>;
0077         };
0078 
0079         SDR0: sdr {
0080                 compatible = "ibm,sdr-440ep";
0081                 dcr-reg = <0x00e 2>;
0082         };
0083 
0084         CPR0: cpr {
0085                 compatible = "ibm,cpr-440ep";
0086                 dcr-reg = <0x00c 2>;
0087         };
0088 
0089         plb {
0090                 compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4";
0091                 #address-cells = <2>;
0092                 #size-cells = <1>;
0093                 ranges;
0094                 clock-frequency = <0>; /* Filled in by zImage */
0095 
0096                 SDRAM0: sdram {
0097                         compatible = "ibm,sdram-440ep", "ibm,sdram-405gp";
0098                         dcr-reg = <0x010 2>;
0099                 };
0100 
0101                 DMA0: dma {
0102                         compatible = "ibm,dma-440ep", "ibm,dma-440gp";
0103                         dcr-reg = <0x100 0x027>;
0104                 };
0105 
0106                 MAL0: mcmal {
0107                         compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal";
0108                         dcr-reg = <0x180 0x062>;
0109                         num-tx-chans = <4>;
0110                         num-rx-chans = <2>;
0111                         interrupt-parent = <&MAL0>;
0112                         interrupts = <0 1 2 3 4>;
0113                         #interrupt-cells = <1>;
0114                         #address-cells = <0>;
0115                         #size-cells = <0>;
0116                         interrupt-map = </*TXEOB*/ 0 &UIC0 10 4
0117                                         /*RXEOB*/ 1 &UIC0 11 4
0118                                         /*SERR*/  2 &UIC1 0 4
0119                                         /*TXDE*/  3 &UIC1 1 4
0120                                         /*RXDE*/  4 &UIC1 2 4>;
0121                 };
0122 
0123                 POB0: opb {
0124                         compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb";
0125                         #address-cells = <1>;
0126                         #size-cells = <1>;
0127                         /* Bamboo is oddball in the 44x world and doesn't use the ERPN
0128                          * bits.
0129                          */
0130                         ranges = <0x00000000 0 0x00000000 0x80000000
0131                                   0x80000000 0 0x80000000 0x80000000>;
0132                         interrupt-parent = <&UIC1>;
0133                         interrupts = <7 4>;
0134                         clock-frequency = <0>; /* Filled in by zImage */
0135 
0136                         EBC0: ebc {
0137                                 compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc";
0138                                 dcr-reg = <0x012 2>;
0139                                 #address-cells = <2>;
0140                                 #size-cells = <1>;
0141                                 clock-frequency = <0>; /* Filled in by zImage */
0142                                 interrupts = <5 1>;
0143                                 interrupt-parent = <&UIC1>;
0144                         };
0145 
0146                         UART0: serial@ef600300 {
0147                                 device_type = "serial";
0148                                 compatible = "ns16550";
0149                                 reg = <0xef600300 8>;
0150                                 virtual-reg = <0xef600300>;
0151                                 clock-frequency = <0>; /* Filled in by zImage */
0152                                 current-speed = <0x1c200>;
0153                                 interrupt-parent = <&UIC0>;
0154                                 interrupts = <0 4>;
0155                         };
0156 
0157                         UART1: serial@ef600400 {
0158                                 device_type = "serial";
0159                                 compatible = "ns16550";
0160                                 reg = <0xef600400 8>;
0161                                 virtual-reg = <0xef600400>;
0162                                 clock-frequency = <0>;
0163                                 current-speed = <0>;
0164                                 interrupt-parent = <&UIC0>;
0165                                 interrupts = <1 4>;
0166                         };
0167 
0168                         UART2: serial@ef600500 {
0169                                 device_type = "serial";
0170                                 compatible = "ns16550";
0171                                 reg = <0xef600500 8>;
0172                                 virtual-reg = <0xef600500>;
0173                                 clock-frequency = <0>;
0174                                 current-speed = <0>;
0175                                 interrupt-parent = <&UIC0>;
0176                                 interrupts = <3 4>;
0177                         };
0178 
0179                         UART3: serial@ef600600 {
0180                                 device_type = "serial";
0181                                 compatible = "ns16550";
0182                                 reg = <0xef600600 8>;
0183                                 virtual-reg = <0xef600600>;
0184                                 clock-frequency = <0>;
0185                                 current-speed = <0>;
0186                                 interrupt-parent = <&UIC0>;
0187                                 interrupts = <4 4>;
0188                         };
0189 
0190                         IIC0: i2c@ef600700 {
0191                                 #address-cells = <1>;
0192                                 #size-cells = <0>;
0193                                 compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
0194                                 index = <0>;
0195                                 reg = <0xef600700 0x14>;
0196                                 interrupt-parent = <&UIC0>;
0197                                 interrupts = <2 4>;
0198                                 rtc@68 {
0199                                         compatible = "st,m41t80";
0200                                         reg = <0x68>;
0201                                 };
0202                         };
0203 
0204                         IIC1: i2c@ef600800 {
0205                                 compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
0206                                 index = <5>;
0207                                 reg = <0xef600800 0x14>;
0208                                 interrupt-parent = <&UIC0>;
0209                                 interrupts = <7 4>;
0210                         };
0211 
0212                         ZMII0: emac-zmii@ef600d00 {
0213                                 compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii";
0214                                 reg = <0xef600d00 0xc>;
0215                         };
0216 
0217                         EMAC0: ethernet@ef600e00 {
0218                                 linux,network-index = <0>;
0219                                 device_type = "network";
0220                                 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
0221                                 interrupt-parent = <&UIC1>;
0222                                 interrupts = <0x1c 4 0x1d 4>;
0223                                 reg = <0xef600e00 0x70>;
0224                                 local-mac-address = [000000000000];
0225                                 mal-device = <&MAL0>;
0226                                 mal-tx-channel = <0 1>;
0227                                 mal-rx-channel = <0>;
0228                                 cell-index = <0>;
0229                                 max-frame-size = <0x5dc>;
0230                                 rx-fifo-size = <0x1000>;
0231                                 tx-fifo-size = <0x800>;
0232                                 phy-mode = "rmii";
0233                                 phy-map = <00000000>;
0234                                 zmii-device = <&ZMII0>;
0235                                 zmii-channel = <0>;
0236                         };
0237 
0238                         EMAC1: ethernet@ef600f00 {
0239                                 linux,network-index = <1>;
0240                                 device_type = "network";
0241                                 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
0242                                 interrupt-parent = <&UIC1>;
0243                                 interrupts = <0x1e 4 0x1f 4>;
0244                                 reg = <0xef600f00 0x70>;
0245                                 local-mac-address = [000000000000];
0246                                 mal-device = <&MAL0>;
0247                                 mal-tx-channel = <2 3>;
0248                                 mal-rx-channel = <1>;
0249                                 cell-index = <1>;
0250                                 max-frame-size = <0x5dc>;
0251                                 rx-fifo-size = <0x1000>;
0252                                 tx-fifo-size = <0x800>;
0253                                 phy-mode = "rmii";
0254                                 phy-map = <00000000>;
0255                                 zmii-device = <&ZMII0>;
0256                                 zmii-channel = <1>;
0257                         };
0258                         usb@ef601000 {
0259                                 compatible = "ohci-be";
0260                                 reg = <0xef601000 0x80>;
0261                                 interrupts = <8 4 9 4>;
0262                                 interrupt-parent = <&UIC1>;
0263                         };      
0264                 };
0265 
0266                 PCI0: pci@ec000000 {
0267                         device_type = "pci";
0268                         #interrupt-cells = <1>;
0269                         #size-cells = <2>;
0270                         #address-cells = <3>;
0271                         compatible = "ibm,plb440ep-pci", "ibm,plb-pci";
0272                         primary;
0273                         reg = <0 0xeec00000 8      /* Config space access */
0274                                0 0xeed00000 4      /* IACK */
0275                                0 0xeed00000 4      /* Special cycle */
0276                                0 0xef400000 0x40>; /* Internal registers */
0277 
0278                         /* Outbound ranges, one memory and one IO,
0279                          * later cannot be changed. Chip supports a second
0280                          * IO range but we don't use it for now
0281                          */
0282                         ranges = <0x02000000 0 0xa0000000 0 0xa0000000 0 0x20000000
0283                                   0x01000000 0 0x00000000 0 0xe8000000 0 0x00010000>;
0284 
0285                         /* Inbound 2GB range starting at 0 */
0286                         dma-ranges = <0x42000000 0 0 0 0 0 0x80000000>;
0287                 };
0288         };
0289 
0290         chosen {
0291                 stdout-path = "/plb/opb/serial@ef600300";
0292         };
0293 };