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/mpc5121.dtsi

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-or-later
    2 /*
    3  * base MPC5121 Device Tree Source
    4  *
    5  * Copyright 2007-2008 Freescale Semiconductor Inc.
    6  */
    7 
    8 #include <dt-bindings/clock/mpc512x-clock.h>
    9 
   10 /dts-v1/;
   11 
   12 / {
   13         model = "mpc5121";
   14         compatible = "fsl,mpc5121";
   15         #address-cells = <1>;
   16         #size-cells = <1>;
   17         interrupt-parent = <&ipic>;
   18 
   19         aliases {
   20                 ethernet0 = &eth0;
   21                 pci = &pci;
   22         };
   23 
   24         cpus {
   25                 #address-cells = <1>;
   26                 #size-cells = <0>;
   27 
   28                 PowerPC,5121@0 {
   29                         device_type = "cpu";
   30                         reg = <0>;
   31                         d-cache-line-size = <0x20>;     /* 32 bytes */
   32                         i-cache-line-size = <0x20>;     /* 32 bytes */
   33                         d-cache-size = <0x8000>;        /* L1, 32K */
   34                         i-cache-size = <0x8000>;        /* L1, 32K */
   35                         timebase-frequency = <49500000>;/* 49.5 MHz (csb/4) */
   36                         bus-frequency = <198000000>;    /* 198 MHz csb bus */
   37                         clock-frequency = <396000000>;  /* 396 MHz ppc core */
   38                 };
   39         };
   40 
   41         memory {
   42                 device_type = "memory";
   43                 reg = <0x00000000 0x10000000>;  /* 256MB at 0 */
   44         };
   45 
   46         mbx@20000000 {
   47                 compatible = "fsl,mpc5121-mbx";
   48                 reg = <0x20000000 0x4000>;
   49                 interrupts = <66 0x8>;
   50                 clocks = <&clks MPC512x_CLK_MBX_BUS>,
   51                          <&clks MPC512x_CLK_MBX_3D>,
   52                          <&clks MPC512x_CLK_MBX>;
   53                 clock-names = "mbx-bus", "mbx-3d", "mbx";
   54         };
   55 
   56         sram@30000000 {
   57                 compatible = "fsl,mpc5121-sram";
   58                 reg = <0x30000000 0x20000>;     /* 128K at 0x30000000 */
   59         };
   60 
   61         nfc@40000000 {
   62                 compatible = "fsl,mpc5121-nfc";
   63                 reg = <0x40000000 0x100000>;    /* 1M at 0x40000000 */
   64                 interrupts = <6 8>;
   65                 #address-cells = <1>;
   66                 #size-cells = <1>;
   67                 clocks = <&clks MPC512x_CLK_NFC>;
   68                 clock-names = "ipg";
   69         };
   70 
   71         localbus@80000020 {
   72                 compatible = "fsl,mpc5121-localbus";
   73                 #address-cells = <2>;
   74                 #size-cells = <1>;
   75                 reg = <0x80000020 0x40>;
   76                 ranges = <0x0 0x0 0xfc000000 0x04000000>;
   77         };
   78 
   79         clocks {
   80                 #address-cells = <1>;
   81                 #size-cells = <0>;
   82 
   83                 osc: osc {
   84                         compatible = "fixed-clock";
   85                         #clock-cells = <0>;
   86                         clock-frequency = <33000000>;
   87                 };
   88         };
   89 
   90         soc@80000000 {
   91                 compatible = "fsl,mpc5121-immr";
   92                 #address-cells = <1>;
   93                 #size-cells = <1>;
   94                 ranges = <0x0 0x80000000 0x400000>;
   95                 reg = <0x80000000 0x400000>;
   96                 bus-frequency = <66000000>;     /* 66 MHz ips bus */
   97 
   98 
   99                 /*
  100                  * IPIC
  101                  * interrupts cell = <intr #, sense>
  102                  * sense values match linux IORESOURCE_IRQ_* defines:
  103                  * sense == 8: Level, low assertion
  104                  * sense == 2: Edge, high-to-low change
  105                  */
  106                 ipic: interrupt-controller@c00 {
  107                         compatible = "fsl,mpc5121-ipic", "fsl,ipic";
  108                         interrupt-controller;
  109                         #address-cells = <0>;
  110                         #interrupt-cells = <2>;
  111                         reg = <0xc00 0x100>;
  112                 };
  113 
  114                 /* Watchdog timer */
  115                 wdt@900 {
  116                         compatible = "fsl,mpc5121-wdt";
  117                         reg = <0x900 0x100>;
  118                 };
  119 
  120                 /* Real time clock */
  121                 rtc@a00 {
  122                         compatible = "fsl,mpc5121-rtc";
  123                         reg = <0xa00 0x100>;
  124                         interrupts = <79 0x8 80 0x8>;
  125                 };
  126 
  127                 /* Reset module */
  128                 reset@e00 {
  129                         compatible = "fsl,mpc5121-reset";
  130                         reg = <0xe00 0x100>;
  131                 };
  132 
  133                 /* Clock control */
  134                 clks: clock@f00 {
  135                         compatible = "fsl,mpc5121-clock";
  136                         reg = <0xf00 0x100>;
  137                         #clock-cells = <1>;
  138                         clocks = <&osc>;
  139                         clock-names = "osc";
  140                 };
  141 
  142                 /* Power Management Controller */
  143                 pmc@1000{
  144                         compatible = "fsl,mpc5121-pmc";
  145                         reg = <0x1000 0x100>;
  146                         interrupts = <83 0x8>;
  147                 };
  148 
  149                 gpio@1100 {
  150                         compatible = "fsl,mpc5121-gpio";
  151                         reg = <0x1100 0x100>;
  152                         interrupts = <78 0x8>;
  153                 };
  154 
  155                 can@1300 {
  156                         compatible = "fsl,mpc5121-mscan";
  157                         reg = <0x1300 0x80>;
  158                         interrupts = <12 0x8>;
  159                         clocks = <&clks MPC512x_CLK_BDLC>,
  160                                  <&clks MPC512x_CLK_IPS>,
  161                                  <&clks MPC512x_CLK_SYS>,
  162                                  <&clks MPC512x_CLK_REF>,
  163                                  <&clks MPC512x_CLK_MSCAN0_MCLK>;
  164                         clock-names = "ipg", "ips", "sys", "ref", "mclk";
  165                 };
  166 
  167                 can@1380 {
  168                         compatible = "fsl,mpc5121-mscan";
  169                         reg = <0x1380 0x80>;
  170                         interrupts = <13 0x8>;
  171                         clocks = <&clks MPC512x_CLK_BDLC>,
  172                                  <&clks MPC512x_CLK_IPS>,
  173                                  <&clks MPC512x_CLK_SYS>,
  174                                  <&clks MPC512x_CLK_REF>,
  175                                  <&clks MPC512x_CLK_MSCAN1_MCLK>;
  176                         clock-names = "ipg", "ips", "sys", "ref", "mclk";
  177                 };
  178 
  179                 sdhc@1500 {
  180                         compatible = "fsl,mpc5121-sdhc";
  181                         reg = <0x1500 0x100>;
  182                         interrupts = <8 0x8>;
  183                         dmas = <&dma0 30>;
  184                         dma-names = "rx-tx";
  185                         clocks = <&clks MPC512x_CLK_IPS>,
  186                                  <&clks MPC512x_CLK_SDHC>;
  187                         clock-names = "ipg", "per";
  188                 };
  189 
  190                 i2c@1700 {
  191                         #address-cells = <1>;
  192                         #size-cells = <0>;
  193                         compatible = "fsl,mpc5121-i2c", "fsl-i2c";
  194                         reg = <0x1700 0x20>;
  195                         interrupts = <9 0x8>;
  196                         clocks = <&clks MPC512x_CLK_I2C>;
  197                         clock-names = "ipg";
  198                 };
  199 
  200                 i2c@1720 {
  201                         #address-cells = <1>;
  202                         #size-cells = <0>;
  203                         compatible = "fsl,mpc5121-i2c", "fsl-i2c";
  204                         reg = <0x1720 0x20>;
  205                         interrupts = <10 0x8>;
  206                         clocks = <&clks MPC512x_CLK_I2C>;
  207                         clock-names = "ipg";
  208                 };
  209 
  210                 i2c@1740 {
  211                         #address-cells = <1>;
  212                         #size-cells = <0>;
  213                         compatible = "fsl,mpc5121-i2c", "fsl-i2c";
  214                         reg = <0x1740 0x20>;
  215                         interrupts = <11 0x8>;
  216                         clocks = <&clks MPC512x_CLK_I2C>;
  217                         clock-names = "ipg";
  218                 };
  219 
  220                 i2ccontrol@1760 {
  221                         compatible = "fsl,mpc5121-i2c-ctrl";
  222                         reg = <0x1760 0x8>;
  223                 };
  224 
  225                 axe@2000 {
  226                         compatible = "fsl,mpc5121-axe";
  227                         reg = <0x2000 0x100>;
  228                         interrupts = <42 0x8>;
  229                         clocks = <&clks MPC512x_CLK_AXE>;
  230                         clock-names = "ipg";
  231                 };
  232 
  233                 display@2100 {
  234                         compatible = "fsl,mpc5121-diu";
  235                         reg = <0x2100 0x100>;
  236                         interrupts = <64 0x8>;
  237                         clocks = <&clks MPC512x_CLK_DIU>;
  238                         clock-names = "ipg";
  239                 };
  240 
  241                 can@2300 {
  242                         compatible = "fsl,mpc5121-mscan";
  243                         reg = <0x2300 0x80>;
  244                         interrupts = <90 0x8>;
  245                         clocks = <&clks MPC512x_CLK_BDLC>,
  246                                  <&clks MPC512x_CLK_IPS>,
  247                                  <&clks MPC512x_CLK_SYS>,
  248                                  <&clks MPC512x_CLK_REF>,
  249                                  <&clks MPC512x_CLK_MSCAN2_MCLK>;
  250                         clock-names = "ipg", "ips", "sys", "ref", "mclk";
  251                 };
  252 
  253                 can@2380 {
  254                         compatible = "fsl,mpc5121-mscan";
  255                         reg = <0x2380 0x80>;
  256                         interrupts = <91 0x8>;
  257                         clocks = <&clks MPC512x_CLK_BDLC>,
  258                                  <&clks MPC512x_CLK_IPS>,
  259                                  <&clks MPC512x_CLK_SYS>,
  260                                  <&clks MPC512x_CLK_REF>,
  261                                  <&clks MPC512x_CLK_MSCAN3_MCLK>;
  262                         clock-names = "ipg", "ips", "sys", "ref", "mclk";
  263                 };
  264 
  265                 viu@2400 {
  266                         compatible = "fsl,mpc5121-viu";
  267                         reg = <0x2400 0x400>;
  268                         interrupts = <67 0x8>;
  269                         clocks = <&clks MPC512x_CLK_VIU>;
  270                         clock-names = "ipg";
  271                 };
  272 
  273                 mdio@2800 {
  274                         compatible = "fsl,mpc5121-fec-mdio";
  275                         reg = <0x2800 0x800>;
  276                         #address-cells = <1>;
  277                         #size-cells = <0>;
  278                         clocks = <&clks MPC512x_CLK_FEC>;
  279                         clock-names = "per";
  280                 };
  281 
  282                 eth0: ethernet@2800 {
  283                         device_type = "network";
  284                         compatible = "fsl,mpc5121-fec";
  285                         reg = <0x2800 0x800>;
  286                         local-mac-address = [ 00 00 00 00 00 00 ];
  287                         interrupts = <4 0x8>;
  288                         clocks = <&clks MPC512x_CLK_FEC>;
  289                         clock-names = "per";
  290                 };
  291 
  292                 /* USB1 using external ULPI PHY */
  293                 usb@3000 {
  294                         compatible = "fsl,mpc5121-usb2-dr";
  295                         reg = <0x3000 0x600>;
  296                         #address-cells = <1>;
  297                         #size-cells = <0>;
  298                         interrupts = <43 0x8>;
  299                         dr_mode = "otg";
  300                         phy_type = "ulpi";
  301                         clocks = <&clks MPC512x_CLK_USB1>;
  302                         clock-names = "ipg";
  303                 };
  304 
  305                 /* USB0 using internal UTMI PHY */
  306                 usb@4000 {
  307                         compatible = "fsl,mpc5121-usb2-dr";
  308                         reg = <0x4000 0x600>;
  309                         #address-cells = <1>;
  310                         #size-cells = <0>;
  311                         interrupts = <44 0x8>;
  312                         dr_mode = "otg";
  313                         phy_type = "utmi_wide";
  314                         clocks = <&clks MPC512x_CLK_USB2>;
  315                         clock-names = "ipg";
  316                 };
  317 
  318                 /* IO control */
  319                 ioctl@a000 {
  320                         compatible = "fsl,mpc5121-ioctl";
  321                         reg = <0xA000 0x1000>;
  322                 };
  323 
  324                 /* LocalPlus controller */
  325                 lpc@10000 {
  326                         compatible = "fsl,mpc5121-lpc";
  327                         reg = <0x10000 0x100>;
  328                 };
  329 
  330                 sclpc@10100 {
  331                         compatible = "fsl,mpc512x-lpbfifo";
  332                         reg = <0x10100 0x50>;
  333                         interrupts = <7 0x8>;
  334                         dmas = <&dma0 26>;
  335                         dma-names = "rx-tx";
  336                 };
  337 
  338                 pata@10200 {
  339                         compatible = "fsl,mpc5121-pata";
  340                         reg = <0x10200 0x100>;
  341                         interrupts = <5 0x8>;
  342                         clocks = <&clks MPC512x_CLK_PATA>;
  343                         clock-names = "ipg";
  344                 };
  345 
  346                 /* 512x PSCs are not 52xx PSC compatible */
  347 
  348                 /* PSC0 */
  349                 psc@11000 {
  350                         compatible = "fsl,mpc5121-psc";
  351                         reg = <0x11000 0x100>;
  352                         interrupts = <40 0x8>;
  353                         fsl,rx-fifo-size = <16>;
  354                         fsl,tx-fifo-size = <16>;
  355                         clocks = <&clks MPC512x_CLK_PSC0>,
  356                                  <&clks MPC512x_CLK_PSC0_MCLK>;
  357                         clock-names = "ipg", "mclk";
  358                 };
  359 
  360                 /* PSC1 */
  361                 psc@11100 {
  362                         compatible = "fsl,mpc5121-psc";
  363                         reg = <0x11100 0x100>;
  364                         interrupts = <40 0x8>;
  365                         fsl,rx-fifo-size = <16>;
  366                         fsl,tx-fifo-size = <16>;
  367                         clocks = <&clks MPC512x_CLK_PSC1>,
  368                                  <&clks MPC512x_CLK_PSC1_MCLK>;
  369                         clock-names = "ipg", "mclk";
  370                 };
  371 
  372                 /* PSC2 */
  373                 psc@11200 {
  374                         compatible = "fsl,mpc5121-psc";
  375                         reg = <0x11200 0x100>;
  376                         interrupts = <40 0x8>;
  377                         fsl,rx-fifo-size = <16>;
  378                         fsl,tx-fifo-size = <16>;
  379                         clocks = <&clks MPC512x_CLK_PSC2>,
  380                                  <&clks MPC512x_CLK_PSC2_MCLK>;
  381                         clock-names = "ipg", "mclk";
  382                 };
  383 
  384                 /* PSC3 */
  385                 psc@11300 {
  386                         compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
  387                         reg = <0x11300 0x100>;
  388                         interrupts = <40 0x8>;
  389                         fsl,rx-fifo-size = <16>;
  390                         fsl,tx-fifo-size = <16>;
  391                         clocks = <&clks MPC512x_CLK_PSC3>,
  392                                  <&clks MPC512x_CLK_PSC3_MCLK>;
  393                         clock-names = "ipg", "mclk";
  394                 };
  395 
  396                 /* PSC4 */
  397                 psc@11400 {
  398                         compatible = "fsl,mpc5121-psc-uart", "fsl,mpc5121-psc";
  399                         reg = <0x11400 0x100>;
  400                         interrupts = <40 0x8>;
  401                         fsl,rx-fifo-size = <16>;
  402                         fsl,tx-fifo-size = <16>;
  403                         clocks = <&clks MPC512x_CLK_PSC4>,
  404                                  <&clks MPC512x_CLK_PSC4_MCLK>;
  405                         clock-names = "ipg", "mclk";
  406                 };
  407 
  408                 /* PSC5 */
  409                 psc@11500 {
  410                         compatible = "fsl,mpc5121-psc";
  411                         reg = <0x11500 0x100>;
  412                         interrupts = <40 0x8>;
  413                         fsl,rx-fifo-size = <16>;
  414                         fsl,tx-fifo-size = <16>;
  415                         clocks = <&clks MPC512x_CLK_PSC5>,
  416                                  <&clks MPC512x_CLK_PSC5_MCLK>;
  417                         clock-names = "ipg", "mclk";
  418                 };
  419 
  420                 /* PSC6 */
  421                 psc@11600 {
  422                         compatible = "fsl,mpc5121-psc";
  423                         reg = <0x11600 0x100>;
  424                         interrupts = <40 0x8>;
  425                         fsl,rx-fifo-size = <16>;
  426                         fsl,tx-fifo-size = <16>;
  427                         clocks = <&clks MPC512x_CLK_PSC6>,
  428                                  <&clks MPC512x_CLK_PSC6_MCLK>;
  429                         clock-names = "ipg", "mclk";
  430                 };
  431 
  432                 /* PSC7 */
  433                 psc@11700 {
  434                         compatible = "fsl,mpc5121-psc";
  435                         reg = <0x11700 0x100>;
  436                         interrupts = <40 0x8>;
  437                         fsl,rx-fifo-size = <16>;
  438                         fsl,tx-fifo-size = <16>;
  439                         clocks = <&clks MPC512x_CLK_PSC7>,
  440                                  <&clks MPC512x_CLK_PSC7_MCLK>;
  441                         clock-names = "ipg", "mclk";
  442                 };
  443 
  444                 /* PSC8 */
  445                 psc@11800 {
  446                         compatible = "fsl,mpc5121-psc";
  447                         reg = <0x11800 0x100>;
  448                         interrupts = <40 0x8>;
  449                         fsl,rx-fifo-size = <16>;
  450                         fsl,tx-fifo-size = <16>;
  451                         clocks = <&clks MPC512x_CLK_PSC8>,
  452                                  <&clks MPC512x_CLK_PSC8_MCLK>;
  453                         clock-names = "ipg", "mclk";
  454                 };
  455 
  456                 /* PSC9 */
  457                 psc@11900 {
  458                         compatible = "fsl,mpc5121-psc";
  459                         reg = <0x11900 0x100>;
  460                         interrupts = <40 0x8>;
  461                         fsl,rx-fifo-size = <16>;
  462                         fsl,tx-fifo-size = <16>;
  463                         clocks = <&clks MPC512x_CLK_PSC9>,
  464                                  <&clks MPC512x_CLK_PSC9_MCLK>;
  465                         clock-names = "ipg", "mclk";
  466                 };
  467 
  468                 /* PSC10 */
  469                 psc@11a00 {
  470                         compatible = "fsl,mpc5121-psc";
  471                         reg = <0x11a00 0x100>;
  472                         interrupts = <40 0x8>;
  473                         fsl,rx-fifo-size = <16>;
  474                         fsl,tx-fifo-size = <16>;
  475                         clocks = <&clks MPC512x_CLK_PSC10>,
  476                                  <&clks MPC512x_CLK_PSC10_MCLK>;
  477                         clock-names = "ipg", "mclk";
  478                 };
  479 
  480                 /* PSC11 */
  481                 psc@11b00 {
  482                         compatible = "fsl,mpc5121-psc";
  483                         reg = <0x11b00 0x100>;
  484                         interrupts = <40 0x8>;
  485                         fsl,rx-fifo-size = <16>;
  486                         fsl,tx-fifo-size = <16>;
  487                         clocks = <&clks MPC512x_CLK_PSC11>,
  488                                  <&clks MPC512x_CLK_PSC11_MCLK>;
  489                         clock-names = "ipg", "mclk";
  490                 };
  491 
  492                 pscfifo@11f00 {
  493                         compatible = "fsl,mpc5121-psc-fifo";
  494                         reg = <0x11f00 0x100>;
  495                         interrupts = <40 0x8>;
  496                         clocks = <&clks MPC512x_CLK_PSC_FIFO>;
  497                         clock-names = "ipg";
  498                 };
  499 
  500                 dma0: dma@14000 {
  501                         compatible = "fsl,mpc5121-dma";
  502                         reg = <0x14000 0x1800>;
  503                         interrupts = <65 0x8>;
  504                         #dma-cells = <1>;
  505                 };
  506         };
  507 
  508         pci: pci@80008500 {
  509                 compatible = "fsl,mpc5121-pci";
  510                 device_type = "pci";
  511                 interrupts = <1 0x8>;
  512                 clock-frequency = <0>;
  513                 #address-cells = <3>;
  514                 #size-cells = <2>;
  515                 #interrupt-cells = <1>;
  516                 clocks = <&clks MPC512x_CLK_PCI>;
  517                 clock-names = "ipg";
  518 
  519                 reg = <0x80008500 0x100 /* internal registers */
  520                        0x80008300 0x8>; /* config space access registers */
  521                 bus-range = <0x0 0x0>;
  522                 ranges = <0x42000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
  523                           0x02000000 0x0 0xb0000000 0xb0000000 0x0 0x10000000
  524                           0x01000000 0x0 0x00000000 0x84000000 0x0 0x01000000>;
  525         };
  526 };

Cache object: 858855f466800d23803a24151c40d57a


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