linux/arch/powerpc/boot/dts/xpedite5200.dts
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2009 Extreme Engineering Solutions, Inc.
   3 * Based on TQM8548 device tree
   4 *
   5 * XPedite5200 PrPMC/XMC module based on MPC8548E
   6 *
   7 * This is free software; you can redistribute it and/or modify
   8 * it under the terms of the GNU General Public License version 2 as
   9 * published by the Free Software Foundation.
  10 */
  11
  12/dts-v1/;
  13
  14/ {
  15        model = "xes,xpedite5200";
  16        compatible = "xes,xpedite5200", "xes,MPC8548";
  17        #address-cells = <1>;
  18        #size-cells = <1>;
  19
  20        aliases {
  21                ethernet0 = &enet0;
  22                ethernet1 = &enet1;
  23                ethernet2 = &enet2;
  24                ethernet3 = &enet3;
  25
  26                serial0 = &serial0;
  27                serial1 = &serial1;
  28                pci0 = &pci0;
  29        };
  30
  31        cpus {
  32                #address-cells = <1>;
  33                #size-cells = <0>;
  34
  35                PowerPC,8548@0 {
  36                        device_type = "cpu";
  37                        reg = <0>;
  38                        d-cache-line-size = <32>;       // 32 bytes
  39                        i-cache-line-size = <32>;       // 32 bytes
  40                        d-cache-size = <0x8000>;        // L1, 32K
  41                        i-cache-size = <0x8000>;        // L1, 32K
  42                        next-level-cache = <&L2>;
  43                };
  44        };
  45
  46        memory {
  47                device_type = "memory";
  48                reg = <0x0 0x0>;        // Filled in by U-Boot
  49        };
  50
  51        soc@ef000000 {
  52                #address-cells = <1>;
  53                #size-cells = <1>;
  54                device_type = "soc";
  55                ranges = <0x0 0xef000000 0x100000>;
  56                bus-frequency = <0>;
  57                compatible = "fsl,mpc8548-immr", "simple-bus";
  58
  59                ecm-law@0 {
  60                        compatible = "fsl,ecm-law";
  61                        reg = <0x0 0x1000>;
  62                        fsl,num-laws = <12>;
  63                };
  64
  65                ecm@1000 {
  66                        compatible = "fsl,mpc8548-ecm", "fsl,ecm";
  67                        reg = <0x1000 0x1000>;
  68                        interrupts = <17 2>;
  69                        interrupt-parent = <&mpic>;
  70                };
  71
  72                memory-controller@2000 {
  73                        compatible = "fsl,mpc8548-memory-controller";
  74                        reg = <0x2000 0x1000>;
  75                        interrupt-parent = <&mpic>;
  76                        interrupts = <18 2>;
  77                };
  78
  79                L2: l2-cache-controller@20000 {
  80                        compatible = "fsl,mpc8548-l2-cache-controller";
  81                        reg = <0x20000 0x1000>;
  82                        cache-line-size = <32>; // 32 bytes
  83                        cache-size = <0x80000>; // L2, 512K
  84                        interrupt-parent = <&mpic>;
  85                        interrupts = <16 2>;
  86                };
  87
  88                /* On-card I2C */
  89                i2c@3000 {
  90                        #address-cells = <1>;
  91                        #size-cells = <0>;
  92                        cell-index = <0>;
  93                        compatible = "fsl-i2c";
  94                        reg = <0x3000 0x100>;
  95                        interrupts = <43 2>;
  96                        interrupt-parent = <&mpic>;
  97                        dfsrr;
  98
  99                        /*
 100                         * Board GPIO:
 101                         *      0: BRD_CFG0 (1: P14 IO present)
 102                         *      1: BRD_CFG1 (1: FP ethernet present)
 103                         *      2: BRD_CFG2 (1: XMC IO present)
 104                         *      3: XMC root complex indicator
 105                         *      4: Flash boot device indicator
 106                         *      5: Flash write protect enable
 107                         *      6: PMC monarch indicator
 108                         *      7: PMC EREADY
 109                         */
 110                        gpio1: gpio@18 {
 111                                compatible = "nxp,pca9556";
 112                                reg = <0x18>;
 113                                #gpio-cells = <2>;
 114                                gpio-controller;
 115                                polarity = <0x00>;
 116                        };
 117
 118                        /* P14 GPIO */
 119                        gpio2: gpio@19 {
 120                                compatible = "nxp,pca9556";
 121                                reg = <0x19>;
 122                                #gpio-cells = <2>;
 123                                gpio-controller;
 124                                polarity = <0x00>;
 125                        };
 126
 127                        eeprom@50 {
 128                                compatible = "atmel,at24c16";
 129                                reg = <0x50>;
 130                        };
 131
 132                        rtc@68 {
 133                                compatible = "stm,m41t00",
 134                                             "dallas,ds1338";
 135                                reg = <0x68>;
 136                        };
 137
 138                        dtt@48 {
 139                                compatible = "maxim,max1237";
 140                                reg = <0x34>;
 141                        };
 142                };
 143
 144                /* Off-card I2C */
 145                i2c@3100 {
 146                        #address-cells = <1>;
 147                        #size-cells = <0>;
 148                        cell-index = <1>;
 149                        compatible = "fsl-i2c";
 150                        reg = <0x3100 0x100>;
 151                        interrupts = <43 2>;
 152                        interrupt-parent = <&mpic>;
 153                        dfsrr;
 154                };
 155
 156                dma@21300 {
 157                        #address-cells = <1>;
 158                        #size-cells = <1>;
 159                        compatible = "fsl,mpc8548-dma", "fsl,eloplus-dma";
 160                        reg = <0x21300 0x4>;
 161                        ranges = <0x0 0x21100 0x200>;
 162                        cell-index = <0>;
 163                        dma-channel@0 {
 164                                compatible = "fsl,mpc8548-dma-channel",
 165                                                "fsl,eloplus-dma-channel";
 166                                reg = <0x0 0x80>;
 167                                cell-index = <0>;
 168                                interrupt-parent = <&mpic>;
 169                                interrupts = <20 2>;
 170                        };
 171                        dma-channel@80 {
 172                                compatible = "fsl,mpc8548-dma-channel",
 173                                                "fsl,eloplus-dma-channel";
 174                                reg = <0x80 0x80>;
 175                                cell-index = <1>;
 176                                interrupt-parent = <&mpic>;
 177                                interrupts = <21 2>;
 178                        };
 179                        dma-channel@100 {
 180                                compatible = "fsl,mpc8548-dma-channel",
 181                                                "fsl,eloplus-dma-channel";
 182                                reg = <0x100 0x80>;
 183                                cell-index = <2>;
 184                                interrupt-parent = <&mpic>;
 185                                interrupts = <22 2>;
 186                        };
 187                        dma-channel@180 {
 188                                compatible = "fsl,mpc8548-dma-channel",
 189                                                "fsl,eloplus-dma-channel";
 190                                reg = <0x180 0x80>;
 191                                cell-index = <3>;
 192                                interrupt-parent = <&mpic>;
 193                                interrupts = <23 2>;
 194                        };
 195                };
 196
 197                /* eTSEC1: Front panel port 0 */
 198                enet0: ethernet@24000 {
 199                        #address-cells = <1>;
 200                        #size-cells = <1>;
 201                        cell-index = <0>;
 202                        device_type = "network";
 203                        model = "eTSEC";
 204                        compatible = "gianfar";
 205                        reg = <0x24000 0x1000>;
 206                        ranges = <0x0 0x24000 0x1000>;
 207                        local-mac-address = [ 00 00 00 00 00 00 ];
 208                        interrupts = <29 2 30 2 34 2>;
 209                        interrupt-parent = <&mpic>;
 210                        tbi-handle = <&tbi0>;
 211                        phy-handle = <&phy0>;
 212
 213                        mdio@520 {
 214                                #address-cells = <1>;
 215                                #size-cells = <0>;
 216                                compatible = "fsl,gianfar-mdio";
 217                                reg = <0x520 0x20>;
 218
 219                                phy0: ethernet-phy@1 {
 220                                        interrupt-parent = <&mpic>;
 221                                        interrupts = <8 1>;
 222                                        reg = <0x1>;
 223                                };
 224                                phy1: ethernet-phy@2 {
 225                                        interrupt-parent = <&mpic>;
 226                                        interrupts = <8 1>;
 227                                        reg = <0x2>;
 228                                };
 229                                phy2: ethernet-phy@3 {
 230                                        interrupt-parent = <&mpic>;
 231                                        interrupts = <8 1>;
 232                                        reg = <0x3>;
 233                                };
 234                                phy3: ethernet-phy@4 {
 235                                        interrupt-parent = <&mpic>;
 236                                        interrupts = <8 1>;
 237                                        reg = <0x4>;
 238                                };
 239                                tbi0: tbi-phy@11 {
 240                                        reg = <0x11>;
 241                                        device_type = "tbi-phy";
 242                                };
 243                        };
 244                };
 245
 246                /* eTSEC2: Front panel port 1 */
 247                enet1: ethernet@25000 {
 248                        #address-cells = <1>;
 249                        #size-cells = <1>;
 250                        cell-index = <1>;
 251                        device_type = "network";
 252                        model = "eTSEC";
 253                        compatible = "gianfar";
 254                        reg = <0x25000 0x1000>;
 255                        ranges = <0x0 0x25000 0x1000>;
 256                        local-mac-address = [ 00 00 00 00 00 00 ];
 257                        interrupts = <35 2 36 2 40 2>;
 258                        interrupt-parent = <&mpic>;
 259                        tbi-handle = <&tbi1>;
 260                        phy-handle = <&phy1>;
 261
 262                        mdio@520 {
 263                                #address-cells = <1>;
 264                                #size-cells = <0>;
 265                                compatible = "fsl,gianfar-tbi";
 266                                reg = <0x520 0x20>;
 267
 268                                tbi1: tbi-phy@11 {
 269                                        reg = <0x11>;
 270                                        device_type = "tbi-phy";
 271                                };
 272                        };
 273                };
 274
 275                /* eTSEC3: Rear panel port 2 */
 276                enet2: ethernet@26000 {
 277                        #address-cells = <1>;
 278                        #size-cells = <1>;
 279                        cell-index = <2>;
 280                        device_type = "network";
 281                        model = "eTSEC";
 282                        compatible = "gianfar";
 283                        reg = <0x26000 0x1000>;
 284                        ranges = <0x0 0x26000 0x1000>;
 285                        local-mac-address = [ 00 00 00 00 00 00 ];
 286                        interrupts = <31 2 32 2 33 2>;
 287                        interrupt-parent = <&mpic>;
 288                        tbi-handle = <&tbi2>;
 289                        phy-handle = <&phy2>;
 290
 291                        mdio@520 {
 292                                #address-cells = <1>;
 293                                #size-cells = <0>;
 294                                compatible = "fsl,gianfar-tbi";
 295                                reg = <0x520 0x20>;
 296
 297                                tbi2: tbi-phy@11 {
 298                                        reg = <0x11>;
 299                                        device_type = "tbi-phy";
 300                                };
 301                        };
 302                };
 303
 304                /* eTSEC4: Rear panel port 3 */
 305                enet3: ethernet@27000 {
 306                        #address-cells = <1>;
 307                        #size-cells = <1>;
 308                        cell-index = <3>;
 309                        device_type = "network";
 310                        model = "eTSEC";
 311                        compatible = "gianfar";
 312                        reg = <0x27000 0x1000>;
 313                        ranges = <0x0 0x27000 0x1000>;
 314                        local-mac-address = [ 00 00 00 00 00 00 ];
 315                        interrupts = <37 2 38 2 39 2>;
 316                        interrupt-parent = <&mpic>;
 317                        tbi-handle = <&tbi3>;
 318                        phy-handle = <&phy3>;
 319
 320                        mdio@520 {
 321                                #address-cells = <1>;
 322                                #size-cells = <0>;
 323                                compatible = "fsl,gianfar-tbi";
 324                                reg = <0x520 0x20>;
 325
 326                                tbi3: tbi-phy@11 {
 327                                        reg = <0x11>;
 328                                        device_type = "tbi-phy";
 329                                };
 330                        };
 331                };
 332
 333                serial0: serial@4500 {
 334                        cell-index = <0>;
 335                        device_type = "serial";
 336                        compatible = "fsl,ns16550", "ns16550";
 337                        reg = <0x4500 0x100>;
 338                        clock-frequency = <0>;
 339                        current-speed = <115200>;
 340                        interrupts = <42 2>;
 341                        interrupt-parent = <&mpic>;
 342                };
 343
 344                serial1: serial@4600 {
 345                        cell-index = <1>;
 346                        device_type = "serial";
 347                        compatible = "fsl,ns16550", "ns16550";
 348                        reg = <0x4600 0x100>;
 349                        clock-frequency = <0>;
 350                        current-speed = <115200>;
 351                        interrupts = <42 2>;
 352                        interrupt-parent = <&mpic>;
 353                };
 354
 355                global-utilities@e0000 {        // global utilities reg
 356                        compatible = "fsl,mpc8548-guts";
 357                        reg = <0xe0000 0x1000>;
 358                        fsl,has-rstcr;
 359                };
 360
 361                mpic: pic@40000 {
 362                        interrupt-controller;
 363                        #address-cells = <0>;
 364                        #interrupt-cells = <2>;
 365                        reg = <0x40000 0x40000>;
 366                        compatible = "chrp,open-pic";
 367                        device_type = "open-pic";
 368                };
 369        };
 370
 371        localbus@ef005000 {
 372                compatible = "fsl,mpc8548-localbus", "fsl,pq3-localbus",
 373                             "simple-bus";
 374                #address-cells = <2>;
 375                #size-cells = <1>;
 376                reg = <0xef005000 0x100>;       // BRx, ORx, etc.
 377                interrupt-parent = <&mpic>;
 378                interrupts = <19 2>;
 379
 380                ranges = <
 381                        0 0x0 0xfc000000 0x04000000     // NOR boot flash
 382                        1 0x0 0xf8000000 0x04000000     // NOR expansion flash
 383                        2 0x0 0xef800000 0x00010000     // NAND CE1
 384                        3 0x0 0xef840000 0x00010000     // NAND CE2
 385                >;
 386
 387                nor-boot@0,0 {
 388                        #address-cells = <1>;
 389                        #size-cells = <1>;
 390                        compatible = "cfi-flash";
 391                        reg = <0 0x0 0x4000000>;
 392                        bank-width = <2>;
 393
 394                        partition@0 {
 395                                label = "Primary OS";
 396                                reg = <0x00000000 0x180000>;
 397                        };
 398                        partition@180000 {
 399                                label = "Secondary OS";
 400                                reg = <0x00180000 0x180000>;
 401                        };
 402                        partition@300000 {
 403                                label = "User";
 404                                reg = <0x00300000 0x3c80000>;
 405                        };
 406                        partition@3f80000 {
 407                                label = "Boot firmware";
 408                                reg = <0x03f80000 0x80000>;
 409                        };
 410                };
 411
 412                nor-alternate@1,0 {
 413                        #address-cells = <1>;
 414                        #size-cells = <1>;
 415                        compatible = "cfi-flash";
 416                        reg = <1 0x0 0x4000000>;
 417                        bank-width = <2>;
 418
 419                        partition@0 {
 420                                label = "Filesystem";
 421                                reg = <0x00000000 0x3f80000>;
 422                        };
 423                        partition@3f80000 {
 424                                label = "Alternate boot firmware";
 425                                reg = <0x03f80000 0x80000>;
 426                        };
 427                };
 428
 429                nand@2,0 {
 430                        #address-cells = <1>;
 431                        #size-cells = <1>;
 432                        compatible = "xes,address-ctl-nand";
 433                        reg = <2 0x0 0x10000>;
 434                        cle-line = <0x8>;       /* CLE tied to A3 */
 435                        ale-line = <0x10>;      /* ALE tied to A4 */
 436
 437                        /* U-Boot should fix this up */
 438                        partition@0 {
 439                                label = "NAND Filesystem";
 440                                reg = <0 0x40000000>;
 441                        };
 442                };
 443        };
 444
 445        /* PMC interface */
 446        pci0: pci@ef008000 {
 447                #interrupt-cells = <1>;
 448                #size-cells = <2>;
 449                #address-cells = <3>;
 450                compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci";
 451                device_type = "pci";
 452                reg = <0xef008000 0x1000>;
 453                clock-frequency = <33333333>;
 454                interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
 455                interrupt-map = <
 456                                /* IDSEL */
 457                                 0xe000 0 0 1 &mpic 2 1
 458                                 0xe000 0 0 2 &mpic 3 1>;
 459
 460                interrupt-parent = <&mpic>;
 461                interrupts = <24 2>;
 462                bus-range = <0 0>;
 463                ranges = <0x02000000 0 0x80000000 0x80000000 0 0x40000000
 464                          0x01000000 0 0x00000000 0xe8000000 0 0x00800000>;
 465        };
 466
 467        /* XMC PCIe is not yet enabled in U-Boot on XPedite5200 */
 468};
 469