Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003  * Device Tree Source for the Socrates board (MPC8544).
0004  *
0005  * Copyright (c) 2008 Emcraft Systems.
0006  * Sergei Poselenov, <sposelenov@emcraft.com>
0007  */
0008 
0009 /dts-v1/;
0010 
0011 / {
0012         model = "abb,socrates";
0013         compatible = "abb,socrates";
0014         #address-cells = <1>;
0015         #size-cells = <1>;
0016 
0017         aliases {
0018                 ethernet0 = &enet0;
0019                 ethernet1 = &enet1;
0020                 serial0 = &serial0;
0021                 serial1 = &serial1;
0022                 pci0 = &pci0;
0023         };
0024 
0025         cpus {
0026                 #address-cells = <1>;
0027                 #size-cells = <0>;
0028 
0029                 PowerPC,8544@0 {
0030                         device_type = "cpu";
0031                         reg = <0>;
0032                         d-cache-line-size = <32>;
0033                         i-cache-line-size = <32>;
0034                         d-cache-size = <0x8000>;        // L1, 32K
0035                         i-cache-size = <0x8000>;        // L1, 32K
0036                         timebase-frequency = <0>;
0037                         bus-frequency = <0>;
0038                         clock-frequency = <0>;
0039                         next-level-cache = <&L2>;
0040                 };
0041         };
0042 
0043         memory {
0044                 device_type = "memory";
0045                 reg = <0x00000000 0x00000000>;  // Filled in by U-Boot
0046         };
0047 
0048         soc8544@e0000000 {
0049                 #address-cells = <1>;
0050                 #size-cells = <1>;
0051                 device_type = "soc";
0052 
0053                 ranges = <0x00000000 0xe0000000 0x00100000>;
0054                 bus-frequency = <0>;            // Filled in by U-Boot
0055                 compatible = "fsl,mpc8544-immr", "simple-bus";
0056 
0057                 ecm-law@0 {
0058                         compatible = "fsl,ecm-law";
0059                         reg = <0x0 0x1000>;
0060                         fsl,num-laws = <10>;
0061                 };
0062 
0063                 ecm@1000 {
0064                         compatible = "fsl,mpc8544-ecm", "fsl,ecm";
0065                         reg = <0x1000 0x1000>;
0066                         interrupts = <17 2>;
0067                         interrupt-parent = <&mpic>;
0068                 };
0069 
0070                 memory-controller@2000 {
0071                         compatible = "fsl,mpc8544-memory-controller";
0072                         reg = <0x2000 0x1000>;
0073                         interrupt-parent = <&mpic>;
0074                         interrupts = <18 2>;
0075                 };
0076 
0077                 L2: l2-cache-controller@20000 {
0078                         compatible = "fsl,mpc8544-l2-cache-controller";
0079                         reg = <0x20000 0x1000>;
0080                         cache-line-size = <32>;
0081                         cache-size = <0x40000>; // L2, 256K
0082                         interrupt-parent = <&mpic>;
0083                         interrupts = <16 2>;
0084                 };
0085 
0086                 i2c@3000 {
0087                         #address-cells = <1>;
0088                         #size-cells = <0>;
0089                         cell-index = <0>;
0090                         compatible = "fsl,mpc8544-i2c", "fsl-i2c";
0091                         reg = <0x3000 0x100>;
0092                         interrupts = <43 2>;
0093                         interrupt-parent = <&mpic>;
0094                         fsl,preserve-clocking;
0095 
0096                         dtt@28 {
0097                                 compatible = "winbond,w83782d";
0098                                 reg = <0x28>;
0099                         };
0100                         rtc@32 {
0101                                 compatible = "epson,rx8025";
0102                                 reg = <0x32>;
0103                                 interrupts = <7 1>;
0104                                 interrupt-parent = <&mpic>;
0105                         };
0106                         dtt@4c {
0107                                 compatible = "dallas,ds75";
0108                                 reg = <0x4c>;
0109                         };
0110                         ts@4a {
0111                                 compatible = "ti,tsc2003";
0112                                 reg = <0x4a>;
0113                                 interrupt-parent = <&mpic>;
0114                                 interrupts = <8 1>;
0115                         };
0116                 };
0117 
0118                 i2c@3100 {
0119                         #address-cells = <1>;
0120                         #size-cells = <0>;
0121                         cell-index = <1>;
0122                         compatible = "fsl,mpc8544-i2c", "fsl-i2c";
0123                         reg = <0x3100 0x100>;
0124                         interrupts = <43 2>;
0125                         interrupt-parent = <&mpic>;
0126                         fsl,preserve-clocking;
0127                 };
0128 
0129                 enet0: ethernet@24000 {
0130                         #address-cells = <1>;
0131                         #size-cells = <1>;
0132                         cell-index = <0>;
0133                         device_type = "network";
0134                         model = "eTSEC";
0135                         compatible = "gianfar";
0136                         reg = <0x24000 0x1000>;
0137                         ranges = <0x0 0x24000 0x1000>;
0138                         local-mac-address = [ 00 00 00 00 00 00 ];
0139                         interrupts = <29 2 30 2 34 2>;
0140                         interrupt-parent = <&mpic>;
0141                         phy-handle = <&phy0>;
0142                         tbi-handle = <&tbi0>;
0143                         phy-connection-type = "rgmii-id";
0144 
0145                         mdio@520 {
0146                                 #address-cells = <1>;
0147                                 #size-cells = <0>;
0148                                 compatible = "fsl,gianfar-mdio";
0149                                 reg = <0x520 0x20>;
0150 
0151                                 phy0: ethernet-phy@0 {
0152                                         interrupt-parent = <&mpic>;
0153                                         interrupts = <0 1>;
0154                                         reg = <0>;
0155                                 };
0156                                 phy1: ethernet-phy@1 {
0157                                         interrupt-parent = <&mpic>;
0158                                         interrupts = <0 1>;
0159                                         reg = <1>;
0160                                 };
0161                                 tbi0: tbi-phy@11 {
0162                                         reg = <0x11>;
0163                                 };
0164                         };
0165                 };
0166 
0167                 enet1: ethernet@26000 {
0168                         #address-cells = <1>;
0169                         #size-cells = <1>;
0170                         cell-index = <1>;
0171                         device_type = "network";
0172                         model = "eTSEC";
0173                         compatible = "gianfar";
0174                         reg = <0x26000 0x1000>;
0175                         ranges = <0x0 0x26000 0x1000>;
0176                         local-mac-address = [ 00 00 00 00 00 00 ];
0177                         interrupts = <31 2 32 2 33 2>;
0178                         interrupt-parent = <&mpic>;
0179                         phy-handle = <&phy1>;
0180                         tbi-handle = <&tbi1>;
0181                         phy-connection-type = "rgmii-id";
0182 
0183                         mdio@520 {
0184                                 #address-cells = <1>;
0185                                 #size-cells = <0>;
0186                                 compatible = "fsl,gianfar-tbi";
0187                                 reg = <0x520 0x20>;
0188 
0189                                 tbi1: tbi-phy@11 {
0190                                         reg = <0x11>;
0191                                 };
0192                         };
0193                 };
0194 
0195                 serial0: serial@4500 {
0196                         cell-index = <0>;
0197                         device_type = "serial";
0198                         compatible = "fsl,ns16550", "ns16550";
0199                         reg = <0x4500 0x100>;
0200                         clock-frequency = <0>;
0201                         interrupts = <42 2>;
0202                         interrupt-parent = <&mpic>;
0203                 };
0204 
0205                 serial1: serial@4600 {
0206                         cell-index = <1>;
0207                         device_type = "serial";
0208                         compatible = "fsl,ns16550", "ns16550";
0209                         reg = <0x4600 0x100>;
0210                         clock-frequency = <0>;
0211                         interrupts = <42 2>;
0212                         interrupt-parent = <&mpic>;
0213                 };
0214 
0215                 global-utilities@e0000 {        //global utilities block
0216                         compatible = "fsl,mpc8548-guts";
0217                         reg = <0xe0000 0x1000>;
0218                         fsl,has-rstcr;
0219                 };
0220 
0221                 mpic: pic@40000 {
0222                         interrupt-controller;
0223                         #address-cells = <0>;
0224                         #interrupt-cells = <2>;
0225                         reg = <0x40000 0x40000>;
0226                         compatible = "chrp,open-pic";
0227                         device_type = "open-pic";
0228                 };
0229         };
0230 
0231 
0232         localbus {
0233                 compatible = "fsl,mpc8544-localbus",
0234                              "fsl,pq3-localbus",
0235                              "simple-bus";
0236                 #address-cells = <2>;
0237                 #size-cells = <1>;
0238                 reg = <0xe0005000 0x40>;
0239                 interrupt-parent = <&mpic>;
0240                 interrupts = <19 2>;
0241 
0242                 ranges = <0 0 0xfc000000 0x04000000
0243                           2 0 0xc8000000 0x04000000
0244                           3 0 0xc0000000 0x00100000
0245                         >; /* Overwritten by U-Boot */
0246 
0247                 nor_flash@0,0 {
0248                         compatible = "amd,s29gl256n", "cfi-flash";
0249                         bank-width = <2>;
0250                         reg = <0x0 0x000000 0x4000000>;
0251                         #address-cells = <1>;
0252                         #size-cells = <1>;
0253                         partition@0 {
0254                                 label = "kernel";
0255                                 reg = <0x0 0x1e0000>;
0256                                 read-only;
0257                         };
0258                         partition@1e0000 {
0259                                 label = "dtb";
0260                                 reg = <0x1e0000 0x20000>;
0261                         };
0262                         partition@200000 {
0263                                 label = "root";
0264                                 reg = <0x200000 0x200000>;
0265                         };
0266                         partition@400000 {
0267                                 label = "user";
0268                                 reg = <0x400000 0x3b80000>;
0269                         };
0270                         partition@3f80000 {
0271                                 label = "env";
0272                                 reg = <0x3f80000 0x40000>;
0273                                 read-only;
0274                         };
0275                         partition@3fc0000 {
0276                                 label = "u-boot";
0277                                 reg = <0x3fc0000 0x40000>;
0278                                 read-only;
0279                         };
0280                 };
0281 
0282                 display@2,0 {
0283                         compatible = "fujitsu,lime";
0284                         reg = <2 0x0 0x4000000>;
0285                         interrupt-parent = <&mpic>;
0286                         interrupts = <6 1>;
0287                 };
0288 
0289                 fpga_pic: fpga-pic@3,10 {
0290                         compatible = "abb,socrates-fpga-pic";
0291                         reg = <3 0x10 0x10>;
0292                         interrupt-controller;
0293                         /* IRQs 2, 10, 11, active low, level-sensitive */
0294                         interrupts = <2 1 10 1 11 1>;
0295                         interrupt-parent = <&mpic>;
0296                         #interrupt-cells = <3>;
0297                 };
0298 
0299                 spi@3,60 {
0300                         compatible = "abb,socrates-spi";
0301                         reg = <3 0x60 0x10>;
0302                         interrupts = <8 4 0>;   // number, type, routing
0303                         interrupt-parent = <&fpga_pic>;
0304                 };
0305 
0306                 nand@3,70 {
0307                         compatible = "abb,socrates-nand";
0308                         reg = <3 0x70 0x04>;
0309                         bank-width = <1>;
0310                         #address-cells = <1>;
0311                         #size-cells = <1>;
0312                         data@0 {
0313                                 label = "data";
0314                                 reg = <0x0 0x40000000>;
0315                         };
0316                 };
0317 
0318                 can@3,100 {
0319                         compatible = "philips,sja1000";
0320                         reg = <3 0x100 0x80>;
0321                         interrupts = <2 8 1>;   // number, type, routing
0322                         interrupt-parent = <&fpga_pic>;
0323                 };
0324         };
0325 
0326         pci0: pci@e0008000 {
0327                 #interrupt-cells = <1>;
0328                 #size-cells = <2>;
0329                 #address-cells = <3>;
0330                 compatible = "fsl,mpc8540-pci";
0331                 device_type = "pci";
0332                 reg = <0xe0008000 0x1000>;
0333                 clock-frequency = <66666666>;
0334 
0335                 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
0336                 interrupt-map = <
0337                                 /* IDSEL 0x11 */
0338                                  0x8800 0x0 0x0 1 &mpic 5 1
0339                                 /* IDSEL 0x12 */
0340                                  0x9000 0x0 0x0 1 &mpic 4 1>;
0341                 interrupt-parent = <&mpic>;
0342                 interrupts = <24 2>;
0343                 bus-range = <0x0 0x0>;
0344                 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x20000000
0345                           0x01000000 0x0 0x00000000 0xe2000000 0x0 0x01000000>;
0346         };
0347 
0348 };