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/fsp2.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 /*
    2  * Device Tree Source for FSP2
    3  *
    4  * Copyright 2010,2012 IBM Corp.
    5  *
    6  * This file is licensed under the terms of the GNU General Public
    7  * License version 2.  This program is licensed "as is" without
    8  * any warranty of any kind, whether express or implied.
    9  */
   10 
   11 
   12 /dts-v1/;
   13 
   14 / {
   15         #address-cells = <2>;
   16         #size-cells = <1>;
   17         model = "ibm,fsp2";
   18         compatible = "ibm,fsp2";
   19         dcr-parent = <&{/cpus/cpu@0}>;
   20 
   21         aliases {
   22                 ethernet0 = &EMAC0;
   23                 ethernet1 = &EMAC1;
   24                 serial0 = &UART0;
   25         };
   26 
   27         cpus {
   28                 #address-cells = <1>;
   29                 #size-cells = <0>;
   30 
   31                 cpu@0 {
   32                         device_type = "cpu";
   33                         model = "PowerPC, 476FSP2";
   34                         reg = <0x0>;
   35                         clock-frequency = <0>;    /* Filled in by cuboot */
   36                         timebase-frequency = <0>; /* Filled in by cuboot */
   37                         i-cache-line-size = <32>;
   38                         d-cache-line-size = <32>;
   39                         d-cache-size = <32768>;
   40                         i-cache-size = <32768>;
   41                         dcr-controller;
   42                         dcr-access-method = "native";
   43                 };
   44         };
   45 
   46         memory {
   47                 device_type = "memory";
   48                 reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by
   49                                                              cuboot */
   50         };
   51 
   52         clocks {
   53                 mmc_clk: mmc_clk {
   54                         compatible = "fixed-clock";
   55                         #clock-cells = <0>;
   56                         clock-frequency = <50000000>;
   57                         clock-output-names = "mmc_clk";
   58                 };
   59         };
   60 
   61         UIC0: uic0 {
   62                 #address-cells = <0>;
   63                 #size-cells = <0>;
   64                 #interrupt-cells = <2>;
   65                 compatible = "ibm,uic";
   66                 interrupt-controller;
   67                 cell-index = <0>;
   68                 dcr-reg = <0x2c0 0x8>;
   69         };
   70 
   71         /* "interrupts" field is <bit level bit level>
   72            first pair is non-critical, second is critical */
   73         UIC1_0: uic1_0 {
   74                 #address-cells = <0>;
   75                 #size-cells = <0>;
   76                 #interrupt-cells = <2>;
   77 
   78                 compatible = "ibm,uic";
   79                 interrupt-controller;
   80                 cell-index = <1>;
   81                 dcr-reg = <0x2c8 0x8>;
   82                 interrupt-parent = <&UIC0>;
   83                 interrupts = <21 0x4 4 0x84>;
   84         };
   85 
   86         /* PSI and DMA */
   87         UIC1_1: uic1_1 {
   88                 #address-cells = <0>;
   89                 #size-cells = <0>;
   90                 #interrupt-cells = <2>;
   91 
   92                 compatible = "ibm,uic";
   93                 interrupt-controller;
   94                 cell-index = <2>;
   95                 dcr-reg = <0x350 0x8>;
   96                 interrupt-parent = <&UIC0>;
   97                 interrupts = <22 0x4 5 0x84>;
   98         };
   99 
  100         /* Ethernet and USB */
  101         UIC1_2: uic1_2 {
  102                 #address-cells = <0>;
  103                 #size-cells = <0>;
  104                 #interrupt-cells = <2>;
  105 
  106                 compatible = "ibm,uic";
  107                 interrupt-controller;
  108                 cell-index = <3>;
  109                 dcr-reg = <0x358 0x8>;
  110                 interrupt-parent = <&UIC0>;
  111                 interrupts = <23 0x4 6 0x84>;
  112         };
  113 
  114         /* PLB Errors */
  115         UIC1_3: uic1_3 {
  116                 #address-cells = <0>;
  117                 #size-cells = <0>;
  118                 #interrupt-cells = <2>;
  119 
  120                 compatible = "ibm,uic";
  121                 interrupt-controller;
  122                 cell-index = <4>;
  123                 dcr-reg = <0x360 0x8>;
  124                 interrupt-parent = <&UIC0>;
  125                 interrupts = <24 0x4 7 0x84>;
  126         };
  127 
  128         UIC1_4: uic1_4 {
  129                 #address-cells = <0>;
  130                 #size-cells = <0>;
  131                 #interrupt-cells = <2>;
  132 
  133                 compatible = "ibm,uic";
  134                 interrupt-controller;
  135                 cell-index = <5>;
  136                 dcr-reg = <0x368 0x8>;
  137                 interrupt-parent = <&UIC0>;
  138                 interrupts = <25 0x4 8 0x84>;
  139         };
  140 
  141         UIC1_5: uic1_5 {
  142                 #address-cells = <0>;
  143                 #size-cells = <0>;
  144                 #interrupt-cells = <2>;
  145 
  146                 compatible = "ibm,uic";
  147                 interrupt-controller;
  148                 cell-index = <6>;
  149                 dcr-reg = <0x370 0x8>;
  150                 interrupt-parent = <&UIC0>;
  151                 interrupts = <26 0x4 9 0x84>;
  152         };
  153 
  154         /* 2nd level UICs for FSI */
  155         UIC2_0: uic2_0 {
  156                 #address-cells = <0>;
  157                 #size-cells = <0>;
  158                 #interrupt-cells = <2>;
  159 
  160                 compatible = "ibm,uic";
  161                 interrupt-controller;
  162                 cell-index = <7>;
  163                 dcr-reg = <0x2d0 0x8>;
  164                 interrupt-parent = <&UIC1_0>;
  165                 interrupts = <16 0x4 0 0x84>;
  166         };
  167 
  168         UIC2_1: uic2_1 {
  169                 #address-cells = <0>;
  170                 #size-cells = <0>;
  171                 #interrupt-cells = <2>;
  172 
  173                 compatible = "ibm,uic";
  174                 interrupt-controller;
  175                 cell-index = <8>;
  176                 dcr-reg = <0x2d8 0x8>;
  177                 interrupt-parent = <&UIC1_0>;
  178                 interrupts = <17 0x4 1 0x84>;
  179         };
  180 
  181         UIC2_2: uic2_2 {
  182                 #address-cells = <0>;
  183                 #size-cells = <0>;
  184                 #interrupt-cells = <2>;
  185 
  186                 compatible = "ibm,uic";
  187                 interrupt-controller;
  188                 cell-index = <9>;
  189                 dcr-reg = <0x2e0 0x8>;
  190                 interrupt-parent = <&UIC1_0>;
  191                 interrupts = <18 0x4 2 0x84>;
  192         };
  193 
  194         UIC2_3: uic2_3 {
  195                 #address-cells = <0>;
  196                 #size-cells = <0>;
  197                 #interrupt-cells = <2>;
  198 
  199                 compatible = "ibm,uic";
  200                 interrupt-controller;
  201                 cell-index = <10>;
  202                 dcr-reg = <0x2e8 0x8>;
  203                 interrupt-parent = <&UIC1_0>;
  204                 interrupts = <19 0x4 3 0x84>;
  205         };
  206 
  207         UIC2_4: uic2_4 {
  208                 #address-cells = <0>;
  209                 #size-cells = <0>;
  210                 #interrupt-cells = <2>;
  211 
  212                 compatible = "ibm,uic";
  213                 interrupt-controller;
  214                 cell-index = <11>;
  215                 dcr-reg = <0x2f0 0x8>;
  216                 interrupt-parent = <&UIC1_0>;
  217                 interrupts = <20 0x4 4 0x84>;
  218         };
  219 
  220         UIC2_5: uic2_5 {
  221                 #address-cells = <0>;
  222                 #size-cells = <0>;
  223                 #interrupt-cells = <2>;
  224 
  225                 compatible = "ibm,uic";
  226                 interrupt-controller;
  227                 cell-index = <12>;
  228                 dcr-reg = <0x2f8 0x8>;
  229                 interrupt-parent = <&UIC1_0>;
  230                 interrupts = <21 0x4 5 0x84>;
  231         };
  232 
  233         UIC2_6: uic2_6 {
  234                 #address-cells = <0>;
  235                 #size-cells = <0>;
  236                 #interrupt-cells = <2>;
  237 
  238                 compatible = "ibm,uic";
  239                 interrupt-controller;
  240                 cell-index = <13>;
  241                 dcr-reg = <0x300 0x8>;
  242                 interrupt-parent = <&UIC1_0>;
  243                 interrupts = <22 0x4 6 0x84>;
  244         };
  245 
  246         UIC2_7: uic2_7 {
  247                 #address-cells = <0>;
  248                 #size-cells = <0>;
  249                 #interrupt-cells = <2>;
  250 
  251                 compatible = "ibm,uic";
  252                 interrupt-controller;
  253                 cell-index = <14>;
  254                 dcr-reg = <0x308 0x8>;
  255                 interrupt-parent = <&UIC1_0>;
  256                 interrupts = <23 0x4 7 0x84>;
  257         };
  258 
  259         UIC2_8: uic2_8 {
  260                 #address-cells = <0>;
  261                 #size-cells = <0>;
  262                 #interrupt-cells = <2>;
  263 
  264                 compatible = "ibm,uic";
  265                 interrupt-controller;
  266                 cell-index = <15>;
  267                 dcr-reg = <0x310 0x8>;
  268                 interrupt-parent = <&UIC1_0>;
  269                 interrupts = <24 0x4 8 0x84>;
  270         };
  271 
  272         UIC2_9: uic2_9 {
  273                 #address-cells = <0>;
  274                 #size-cells = <0>;
  275                 #interrupt-cells = <2>;
  276 
  277                 compatible = "ibm,uic";
  278                 interrupt-controller;
  279                 cell-index = <16>;
  280                 dcr-reg = <0x318 0x8>;
  281                 interrupt-parent = <&UIC1_0>;
  282                 interrupts = <25 0x4 9 0x84>;
  283         };
  284 
  285         UIC2_10: uic2_10 {
  286                 #address-cells = <0>;
  287                 #size-cells = <0>;
  288                 #interrupt-cells = <2>;
  289 
  290                 compatible = "ibm,uic";
  291                 interrupt-controller;
  292                 cell-index = <17>;
  293                 dcr-reg = <0x320 0x8>;
  294                 interrupt-parent = <&UIC1_0>;
  295                 interrupts = <26 0x4 10 0x84>;
  296         };
  297 
  298         UIC2_11: uic2_11 {
  299                 #address-cells = <0>;
  300                 #size-cells = <0>;
  301                 #interrupt-cells = <2>;
  302 
  303                 compatible = "ibm,uic";
  304                 interrupt-controller;
  305                 cell-index = <18>;
  306                 dcr-reg = <0x328 0x8>;
  307                 interrupt-parent = <&UIC1_0>;
  308                 interrupts = <27 0x4 11 0x84>;
  309         };
  310 
  311         UIC2_12: uic2_12 {
  312                 #address-cells = <0>;
  313                 #size-cells = <0>;
  314                 #interrupt-cells = <2>;
  315 
  316                 compatible = "ibm,uic";
  317                 interrupt-controller;
  318                 cell-index = <19>;
  319                 dcr-reg = <0x330 0x8>;
  320                 interrupt-parent = <&UIC1_0>;
  321                 interrupts = <28 0x4 12 0x84>;
  322         };
  323 
  324         UIC2_13: uic2_13 {
  325                 #address-cells = <0>;
  326                 #size-cells = <0>;
  327                 #interrupt-cells = <2>;
  328 
  329                 compatible = "ibm,uic";
  330                 interrupt-controller;
  331                 cell-index = <20>;
  332                 dcr-reg = <0x338 0x8>;
  333                 interrupt-parent = <&UIC1_0>;
  334                 interrupts = <29 0x4 13 0x84>;
  335         };
  336 
  337         UIC2_14: uic2_14 {
  338                 #address-cells = <0>;
  339                 #size-cells = <0>;
  340                 #interrupt-cells = <2>;
  341 
  342                 compatible = "ibm,uic";
  343                 interrupt-controller;
  344                 cell-index = <21>;
  345                 dcr-reg = <0x340 0x8>;
  346                 interrupt-parent = <&UIC1_0>;
  347                 interrupts = <30 0x4 14 0x84>;
  348         };
  349 
  350         UIC2_15: uic2_15 {
  351                 #address-cells = <0>;
  352                 #size-cells = <0>;
  353                 #interrupt-cells = <2>;
  354 
  355                 compatible = "ibm,uic";
  356                 interrupt-controller;
  357                 cell-index = <22>;
  358                 dcr-reg = <0x348 0x8>;
  359                 interrupt-parent = <&UIC1_0>;
  360                 interrupts = <31 0x4 15 0x84>;
  361         };
  362 
  363         plb6 {
  364                 compatible = "ibm,plb6";
  365                 #address-cells = <2>;
  366                 #size-cells = <1>;
  367                 ranges;
  368 
  369                 MCW0: memory-controller-wrapper {
  370                         compatible = "ibm,cw-476fsp2";
  371                         dcr-reg = <0x11111800 0x40>;
  372                 };
  373 
  374                 MCIF0: memory-controller {
  375                         compatible = "ibm,sdram-476fsp2", "ibm,sdram-4xx-ddr3";
  376                         dcr-reg = <0x11120000 0x10000>;
  377                         mcer-device = <&MCW0>;
  378                         interrupt-parent = <&UIC0>;
  379                         interrupts = <10 0x84   /* ECC UE */
  380                                       11 0x84>; /* ECC CE */
  381                 };
  382         };
  383 
  384         plb4 {
  385                 compatible = "ibm,plb4";
  386                 #address-cells = <1>;
  387                 #size-cells = <1>;
  388                 ranges = <0x00000000 0x00000010 0x00000000 0x80000000
  389                           0x80000000 0x00000010 0x80000000 0x80000000>;
  390                 clock-frequency = <333333334>;
  391 
  392                 plb6-system-hung-irq {
  393                         compatible = "ibm,bus-error-irq";
  394                         #interrupt-cells = <2>;
  395                         interrupt-parent = <&UIC0>;
  396                         interrupts = <0 0x84>;
  397                 };
  398 
  399                 l2-error-irq {
  400                         compatible = "ibm,bus-error-irq";
  401                         #interrupt-cells = <2>;
  402                         interrupt-parent = <&UIC0>;
  403                         interrupts = <20 0x84>;
  404                 };
  405 
  406                 plb6-plb4-irq {
  407                         compatible = "ibm,bus-error-irq";
  408                         #interrupt-cells = <2>;
  409                         interrupt-parent = <&UIC0>;
  410                         interrupts = <1 0x84>;
  411                 };
  412 
  413                 plb4-ahb-irq {
  414                         compatible = "ibm,bus-error-irq";
  415                         #interrupt-cells = <2>;
  416                         interrupt-parent = <&UIC1_3>;
  417                         interrupts = <20 0x84>;
  418                 };
  419 
  420                 opbd-error-irq {
  421                         compatible = "ibm,opbd-error-irq";
  422                         #interrupt-cells = <2>;
  423                         interrupt-parent = <&UIC1_4>;
  424                         interrupts = <5 0x84>;
  425                 };
  426 
  427                 cmu-error-irq {
  428                         compatible = "ibm,cmu-error-irq";
  429                         #interrupt-cells = <2>;
  430                         interrupt-parent = <&UIC0>;
  431                         interrupts = <28 0x84>;
  432                 };
  433 
  434                 conf-error-irq {
  435                         compatible = "ibm,conf-error-irq";
  436                         #interrupt-cells = <2>;
  437                         interrupt-parent = <&UIC1_4>;
  438                         interrupts = <11 0x84>;
  439                 };
  440 
  441                 mc-ue-irq {
  442                         compatible = "ibm,mc-ue-irq";
  443                         #interrupt-cells = <2>;
  444                         interrupt-parent = <&UIC0>;
  445                         interrupts = <10 0x84>;
  446                 };
  447 
  448                 reset-warning-irq {
  449                         compatible = "ibm,reset-warning-irq";
  450                         #interrupt-cells = <2>;
  451                         interrupt-parent = <&UIC0>;
  452                         interrupts = <17 0x84>;
  453                 };
  454 
  455                 MAL0: mcmal0 {
  456                         #interrupt-cells = <1>;
  457                         #address-cells = <0>;
  458                         #size-cells = <0>;
  459                         compatible = "ibm,mcmal";
  460                         dcr-reg = <0x80 0x80>;
  461                         num-tx-chans = <1>;
  462                         num-rx-chans = <1>;
  463                         interrupt-parent = <&MAL0>;
  464                         interrupts = <0 1 2 3 4>;
  465                         /* index interrupt-parent interrupt# type */
  466                         interrupt-map = </*TXEOB*/ 0 &UIC1_2 4 0x4
  467                                          /*RXEOB*/ 1 &UIC1_2 3 0x4
  468                                          /*SERR*/  2 &UIC1_2 7 0x4
  469                                          /*TXDE*/  3 &UIC1_2 6 0x4
  470                                          /*RXDE*/  4 &UIC1_2 5 0x4>;
  471                 };
  472 
  473                 MAL1: mcmal1 {
  474                         #interrupt-cells = <1>;
  475                         #address-cells = <0>;
  476                         #size-cells = <0>;
  477                         compatible = "ibm,mcmal";
  478                         dcr-reg = <0x100 0x80>;
  479                         num-tx-chans = <1>;
  480                         num-rx-chans = <1>;
  481                         interrupt-parent = <&MAL1>;
  482                         interrupts = <0 1 2 3 4>;
  483                         /* index interrupt-parent interrupt# type */
  484                         interrupt-map = </*TXEOB*/ 0 &UIC1_2 12 0x4
  485                                          /*RXEOB*/ 1 &UIC1_2 11 0x4
  486                                          /*SERR*/  2 &UIC1_2 15 0x4
  487                                          /*TXDE*/  3 &UIC1_2 14 0x4
  488                                          /*RXDE*/  4 &UIC1_2 13 0x4>;
  489                 };
  490 
  491                 mmc0: mmc@20c0000 {
  492                         compatible      = "st,sdhci-stih407", "st,sdhci";
  493                         reg             = <0x020c0000 0x20000>;
  494                         reg-names       = "mmc";
  495                         interrupts      = <21 0x4>;
  496                         interrupt-parent = <&UIC1_3>;
  497                         interrupt-names = "mmcirq";
  498                         pinctrl-names   = "default";
  499                         pinctrl-0       = <>;
  500                         clock-names     = "mmc";
  501                         clocks          = <&mmc_clk>;
  502                         bus-width       = <4>;
  503                         non-removable;
  504                         sd-uhs-sdr50;
  505                         sd-uhs-sdr104;
  506                         sd-uhs-ddr50;
  507                 };
  508 
  509                 opb {
  510                         compatible = "ibm,opb";
  511                         #address-cells = <1>;
  512                         #size-cells = <1>;
  513                         ranges; // pass-thru to parent bus
  514                         clock-frequency = <83333334>;
  515 
  516                         EMAC0: ethernet@b0000000 {
  517                                 linux,network-index = <0>;
  518                                 device_type = "network";
  519                                 compatible = "ibm,emac4sync";
  520                                 has-inverted-stacr-oc;
  521                                 interrupt-parent = <&UIC1_2>;
  522                                 interrupts = <1 0x4 0 0x4>;
  523                                 reg = <0xb0000000 0x100>;
  524                                 local-mac-address = [000000000000]; /* Filled in by
  525                                                                cuboot */
  526                                 mal-device = <&MAL0>;
  527                                 mal-tx-channel = <0>;
  528                                 mal-rx-channel = <0>;
  529                                 cell-index = <0>;
  530                                 max-frame-size = <1500>;
  531                                 rx-fifo-size = <4096>;
  532                                 tx-fifo-size = <4096>;
  533                                 rx-fifo-size-gige = <16384>;
  534                                 tx-fifo-size-gige = <8192>;
  535                                 phy-address = <1>;
  536                                 phy-mode = "rgmii";
  537                                 phy-map = <00000003>;
  538                                 rgmii-device = <&RGMII>;
  539                                 rgmii-channel = <0>;
  540                         };
  541 
  542                         EMAC1: ethernet@b0000100 {
  543                                 linux,network-index = <1>;
  544                                 device_type = "network";
  545                                 compatible = "ibm,emac4sync";
  546                                 has-inverted-stacr-oc;
  547                                 interrupt-parent = <&UIC1_2>;
  548                                 interrupts = <9 0x4 8 0x4>;
  549                                 reg = <0xb0000100 0x100>;
  550                                 local-mac-address = [000000000000]; /* Filled in by
  551                                                                cuboot */
  552                                 mal-device = <&MAL1>;
  553                                 mal-tx-channel = <0>;
  554                                 mal-rx-channel = <0>;
  555                                 cell-index = <1>;
  556                                 max-frame-size = <1500>;
  557                                 rx-fifo-size = <4096>;
  558                                 tx-fifo-size = <4096>;
  559                                 rx-fifo-size-gige = <16384>;
  560                                 tx-fifo-size-gige = <8192>;
  561                                 phy-address = <2>;
  562                                 phy-mode = "rgmii";
  563                                 phy-map = <00000003>;
  564                                 rgmii-device = <&RGMII>;
  565                                 rgmii-channel = <1>;
  566                         };
  567 
  568                         RGMII: rgmii@b0000600 {
  569                                 compatible = "ibm,rgmii";
  570                                 has-mdio;
  571                                 reg = <0xb0000600 0x8>;
  572                         };
  573 
  574                         UART0: serial@b0020000 {
  575                                 device_type = "serial";
  576                                 compatible = "ns16550";
  577                                 reg = <0xb0020000 0x8>;
  578                                 virtual-reg = <0xb0020000>;
  579                                 clock-frequency = <20833333>;
  580                                 current-speed = <115200>;
  581                                 interrupt-parent = <&UIC0>;
  582                                 interrupts = <31 0x4>;
  583                         };
  584                 };
  585 
  586                 OHCI1: ohci@2040000 {
  587                         compatible = "ohci-le";
  588                         reg = <0x02040000 0xa0>;
  589                         interrupt-parent = <&UIC1_3>;
  590                         interrupts = <28 0x8 29 0x8>;
  591                 };
  592 
  593                 OHCI2: ohci@2080000 {
  594                         compatible = "ohci-le";
  595                         reg = <0x02080000 0xa0>;
  596                         interrupt-parent = <&UIC1_3>;
  597                         interrupts = <30 0x8 31 0x8>;
  598                 };
  599 
  600                 EHCI: ehci@2000000 {
  601                         compatible = "usb-ehci";
  602                         reg = <0x02000000 0xa4>;
  603                         interrupt-parent = <&UIC1_3>;
  604                         interrupts = <23 0x4>;
  605                 };
  606 
  607         };
  608 
  609         chosen {
  610                 stdout-path = "/plb/opb/serial@b0020000";
  611                 bootargs = "console=ttyS0,115200 rw log_buf_len=32768 debug";
  612         };
  613 };

Cache object: 2f84f56363a3afa0d46d6a5771867f26


[ 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.