The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/powerpc/xpedite5200_xmon.dts

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

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

Cache object: ff3532852454cf624e9da5ee47f802ab


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.