Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Device Tree Source for PlatHome OpenBlockS 600 (405EX)
0003  *
0004  * Copyright 2011 Ben Herrenschmidt, IBM Corp.
0005  *
0006  * Based on Kilauea by:
0007  *
0008  * Copyright 2007-2009 DENX Software Engineering, Stefan Roese <sr@denx.de>
0009  *
0010  * This file is licensed under the terms of the GNU General Public
0011  * License version 2.  This program is licensed "as is" without
0012  * any warranty of any kind, whether express or implied.
0013  */
0014 
0015 /dts-v1/;
0016 
0017 / {
0018         #address-cells = <1>;
0019         #size-cells = <1>;
0020         model = "PlatHome,OpenBlockS 600";
0021         compatible = "plathome,obs600";
0022         dcr-parent = <&{/cpus/cpu@0}>;
0023 
0024         aliases {
0025                 ethernet0 = &EMAC0;
0026                 ethernet1 = &EMAC1;
0027                 serial0 = &UART0;
0028                 serial1 = &UART1;
0029         };
0030 
0031         cpus {
0032                 #address-cells = <1>;
0033                 #size-cells = <0>;
0034 
0035                 cpu@0 {
0036                         device_type = "cpu";
0037                         model = "PowerPC,405EX";
0038                         reg = <0x00000000>;
0039                         clock-frequency = <0>; /* Filled in by U-Boot */
0040                         timebase-frequency = <0>; /* Filled in by U-Boot */
0041                         i-cache-line-size = <32>;
0042                         d-cache-line-size = <32>;
0043                         i-cache-size = <16384>; /* 16 kB */
0044                         d-cache-size = <16384>; /* 16 kB */
0045                         dcr-controller;
0046                         dcr-access-method = "native";
0047                 };
0048         };
0049 
0050         memory {
0051                 device_type = "memory";
0052                 reg = <0x00000000 0x00000000>; /* Filled in by U-Boot */
0053         };
0054 
0055         UIC0: interrupt-controller {
0056                 compatible = "ibm,uic-405ex", "ibm,uic";
0057                 interrupt-controller;
0058                 cell-index = <0>;
0059                 dcr-reg = <0x0c0 0x009>;
0060                 #address-cells = <0>;
0061                 #size-cells = <0>;
0062                 #interrupt-cells = <2>;
0063         };
0064 
0065         UIC1: interrupt-controller1 {
0066                 compatible = "ibm,uic-405ex","ibm,uic";
0067                 interrupt-controller;
0068                 cell-index = <1>;
0069                 dcr-reg = <0x0d0 0x009>;
0070                 #address-cells = <0>;
0071                 #size-cells = <0>;
0072                 #interrupt-cells = <2>;
0073                 interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
0074                 interrupt-parent = <&UIC0>;
0075         };
0076 
0077         UIC2: interrupt-controller2 {
0078                 compatible = "ibm,uic-405ex","ibm,uic";
0079                 interrupt-controller;
0080                 cell-index = <2>;
0081                 dcr-reg = <0x0e0 0x009>;
0082                 #address-cells = <0>;
0083                 #size-cells = <0>;
0084                 #interrupt-cells = <2>;
0085                 interrupts = <0x1c 0x4 0x1d 0x4>; /* cascade */
0086                 interrupt-parent = <&UIC0>;
0087         };
0088 
0089         CPM0: cpm {
0090                 compatible = "ibm,cpm";
0091                 dcr-access-method = "native";
0092                 dcr-reg = <0x0b0 0x003>;
0093                 unused-units = <0x00000000>;
0094                 idle-doze = <0x02000000>;
0095                 standby = <0xe3e74800>;
0096         };
0097 
0098         plb {
0099                 compatible = "ibm,plb-405ex", "ibm,plb4";
0100                 #address-cells = <1>;
0101                 #size-cells = <1>;
0102                 ranges;
0103                 clock-frequency = <0>; /* Filled in by U-Boot */
0104 
0105                 SDRAM0: memory-controller {
0106                         compatible = "ibm,sdram-405ex", "ibm,sdram-4xx-ddr2";
0107                         dcr-reg = <0x010 0x002>;
0108                         interrupt-parent = <&UIC2>;
0109                         interrupts = <0x5 0x4   /* ECC DED Error */
0110                                       0x6 0x4>; /* ECC SEC Error */
0111                 };
0112 
0113                 CRYPTO: crypto@ef700000 {
0114                         compatible = "amcc,ppc405ex-crypto", "amcc,ppc4xx-crypto";
0115                         reg = <0xef700000 0x80400>;
0116                         interrupt-parent = <&UIC0>;
0117                         interrupts = <0x17 0x2>;
0118                 };
0119 
0120                 MAL0: mcmal {
0121                         compatible = "ibm,mcmal-405ex", "ibm,mcmal2";
0122                         dcr-reg = <0x180 0x062>;
0123                         num-tx-chans = <2>;
0124                         num-rx-chans = <2>;
0125                         interrupt-parent = <&MAL0>;
0126                         interrupts = <0x0 0x1 0x2 0x3 0x4>;
0127                         #interrupt-cells = <1>;
0128                         #address-cells = <0>;
0129                         #size-cells = <0>;
0130                         interrupt-map = </*TXEOB*/ 0x0 &UIC0 0xa 0x4
0131                                         /*RXEOB*/ 0x1 &UIC0 0xb 0x4
0132                                         /*SERR*/  0x2 &UIC1 0x0 0x4
0133                                         /*TXDE*/  0x3 &UIC1 0x1 0x4
0134                                         /*RXDE*/  0x4 &UIC1 0x2 0x4>;
0135                         interrupt-map-mask = <0xffffffff>;
0136                 };
0137 
0138                 POB0: opb {
0139                         compatible = "ibm,opb-405ex", "ibm,opb";
0140                         #address-cells = <1>;
0141                         #size-cells = <1>;
0142                         ranges = <0x80000000 0x80000000 0x10000000
0143                                   0xef600000 0xef600000 0x00a00000
0144                                   0xf0000000 0xf0000000 0x10000000>;
0145                         dcr-reg = <0x0a0 0x005>;
0146                         clock-frequency = <0>; /* Filled in by U-Boot */
0147 
0148                         EBC0: ebc {
0149                                 compatible = "ibm,ebc-405ex", "ibm,ebc";
0150                                 dcr-reg = <0x012 0x002>;
0151                                 #address-cells = <2>;
0152                                 #size-cells = <1>;
0153                                 clock-frequency = <0>; /* Filled in by U-Boot */
0154                                 /* ranges property is supplied by U-Boot */
0155                                 interrupts = <0x5 0x1>;
0156                                 interrupt-parent = <&UIC1>;
0157 
0158                                 nor_flash@0,0 {
0159                                         compatible = "amd,s29gl512n", "cfi-flash";
0160                                         bank-width = <2>;
0161                                         reg = <0x00000000 0x00000000 0x08000000>;
0162                                         #address-cells = <1>;
0163                                         #size-cells = <1>;
0164                                         partition@0 {
0165                                                 label = "kernel + initrd";
0166                                                 reg = <0x00000000 0x03de0000>;
0167                                         };
0168                                         partition@3de0000 {
0169                                                 label = "user config area";
0170                                                 reg = <0x03de0000 0x00080000>;
0171                                         };
0172                                         partition@3e60000 {
0173                                                 label = "user program area";
0174                                                 reg = <0x03e60000 0x04000000>;
0175                                         };
0176                                         partition@7e60000 {
0177                                                 label = "flat device tree";
0178                                                 reg = <0x07e60000 0x00080000>;
0179                                         };
0180                                         partition@7ee0000 {
0181                                                 label = "test program";
0182                                                 reg = <0x07ee0000 0x00080000>;
0183                                         };
0184                                         partition@7f60000 {
0185                                                 label = "u-boot env";
0186                                                 reg = <0x07f60000 0x00040000>;
0187                                         };
0188                                         partition@7fa0000 {
0189                                                 label = "u-boot";
0190                                                 reg = <0x07fa0000 0x00060000>;
0191                                         };
0192                                 };
0193                         };
0194 
0195                         UART0: serial@ef600200 {
0196                                 device_type = "serial";
0197                                 compatible = "ns16550";
0198                                 reg = <0xef600200 0x00000008>;
0199                                 virtual-reg = <0xef600200>;
0200                                 clock-frequency = <0>; /* Filled in by U-Boot */
0201                                 current-speed = <0>;
0202                                 interrupt-parent = <&UIC0>;
0203                                 interrupts = <0x1a 0x4>;
0204                         };
0205 
0206                         UART1: serial@ef600300 {
0207                                 device_type = "serial";
0208                                 compatible = "ns16550";
0209                                 reg = <0xef600300 0x00000008>;
0210                                 virtual-reg = <0xef600300>;
0211                                 clock-frequency = <0>; /* Filled in by U-Boot */
0212                                 current-speed = <0>;
0213                                 interrupt-parent = <&UIC0>;
0214                                 interrupts = <0x1 0x4>;
0215                         };
0216 
0217                         IIC0: i2c@ef600400 {
0218                                 compatible = "ibm,iic-405ex", "ibm,iic";
0219                                 reg = <0xef600400 0x00000014>;
0220                                 interrupt-parent = <&UIC0>;
0221                                 interrupts = <0x2 0x4>;
0222                                 #address-cells = <1>;
0223                                 #size-cells = <0>;
0224 
0225                                 rtc@68 {
0226                                         compatible = "dallas,ds1340";
0227                                         reg = <0x68>;
0228                                 };
0229                         };
0230 
0231                         IIC1: i2c@ef600500 {
0232                                 compatible = "ibm,iic-405ex", "ibm,iic";
0233                                 reg = <0xef600500 0x00000014>;
0234                                 interrupt-parent = <&UIC0>;
0235                                 interrupts = <0x7 0x4>;
0236                         };
0237 
0238                         RGMII0: emac-rgmii@ef600b00 {
0239                                 compatible = "ibm,rgmii-405ex", "ibm,rgmii";
0240                                 reg = <0xef600b00 0x00000104>;
0241                                 has-mdio;
0242                         };
0243 
0244                         EMAC0: ethernet@ef600900 {
0245                                 linux,network-index = <0x0>;
0246                                 device_type = "network";
0247                                 compatible = "ibm,emac-405ex", "ibm,emac4sync";
0248                                 interrupt-parent = <&EMAC0>;
0249                                 interrupts = <0x0 0x1>;
0250                                 #interrupt-cells = <1>;
0251                                 #address-cells = <0>;
0252                                 #size-cells = <0>;
0253                                 interrupt-map = </*Status*/ 0x0 &UIC0 0x18 0x4
0254                                                 /*Wake*/  0x1 &UIC1 0x1d 0x4>;
0255                                 reg = <0xef600900 0x000000c4>;
0256                                 local-mac-address = [000000000000]; /* Filled in by U-Boot */
0257                                 mal-device = <&MAL0>;
0258                                 mal-tx-channel = <0>;
0259                                 mal-rx-channel = <0>;
0260                                 cell-index = <0>;
0261                                 max-frame-size = <9000>;
0262                                 rx-fifo-size = <4096>;
0263                                 tx-fifo-size = <2048>;
0264                                 rx-fifo-size-gige = <16384>;
0265                                 tx-fifo-size-gige = <16384>;
0266                                 phy-mode = "rgmii";
0267                                 phy-map = <0x00000000>;
0268                                 rgmii-device = <&RGMII0>;
0269                                 rgmii-channel = <0>;
0270                                 has-inverted-stacr-oc;
0271                                 has-new-stacr-staopc;
0272                         };
0273 
0274                         EMAC1: ethernet@ef600a00 {
0275                                 linux,network-index = <0x1>;
0276                                 device_type = "network";
0277                                 compatible = "ibm,emac-405ex", "ibm,emac4sync";
0278                                 interrupt-parent = <&EMAC1>;
0279                                 interrupts = <0x0 0x1>;
0280                                 #interrupt-cells = <1>;
0281                                 #address-cells = <0>;
0282                                 #size-cells = <0>;
0283                                 interrupt-map = </*Status*/ 0x0 &UIC0 0x19 0x4
0284                                                 /*Wake*/  0x1 &UIC1 0x1f 0x4>;
0285                                 reg = <0xef600a00 0x000000c4>;
0286                                 local-mac-address = [000000000000]; /* Filled in by U-Boot */
0287                                 mal-device = <&MAL0>;
0288                                 mal-tx-channel = <1>;
0289                                 mal-rx-channel = <1>;
0290                                 cell-index = <1>;
0291                                 max-frame-size = <9000>;
0292                                 rx-fifo-size = <4096>;
0293                                 tx-fifo-size = <2048>;
0294                                 rx-fifo-size-gige = <16384>;
0295                                 tx-fifo-size-gige = <16384>;
0296                                 phy-mode = "rgmii";
0297                                 phy-map = <0x00000000>;
0298                                 rgmii-device = <&RGMII0>;
0299                                 rgmii-channel = <1>;
0300                                 has-inverted-stacr-oc;
0301                                 has-new-stacr-staopc;
0302                         };
0303 
0304                         GPIO: gpio@ef600800 {
0305                                 device_type = "gpio";
0306                                 compatible = "ibm,gpio-405ex", "ibm,ppc4xx-gpio";
0307                                 reg = <0xef600800 0x50>;
0308                         };
0309                 };
0310         };
0311         chosen {
0312                 stdout-path = "/plb/opb/serial@ef600200";
0313         };
0314 };