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/Bindings/soc/fsl/bman.txt

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 QorIQ DPAA Buffer Manager Device Tree Bindings
    2 
    3 Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
    4 
    5 CONTENTS
    6 
    7         - BMan Node
    8         - BMan Private Memory Node
    9         - Example
   10 
   11 BMan Node
   12 
   13 The Buffer Manager is part of the Data-Path Acceleration Architecture (DPAA).
   14 BMan supports hardware allocation and deallocation of buffers belonging to pools
   15 originally created by software with configurable depletion thresholds. This
   16 binding covers the CCSR space programming model
   17 
   18 PROPERTIES
   19 
   20 - compatible
   21         Usage:          Required
   22         Value type:     <stringlist>
   23         Definition:     Must include "fsl,bman"
   24                         May include "fsl,<SoC>-bman"
   25 
   26 - reg
   27         Usage:          Required
   28         Value type:     <prop-encoded-array>
   29         Definition:     Registers region within the CCSR address space
   30 
   31 The BMan revision information is located in the BMAN_IP_REV_1/2 registers which
   32 are located at offsets 0xbf8 and 0xbfc
   33 
   34 - interrupts
   35         Usage:          Required
   36         Value type:     <prop-encoded-array>
   37         Definition:     Standard property. The error interrupt
   38 
   39 - fsl,bman-portals
   40         Usage:          Required
   41         Value type:     <phandle>
   42         Definition:     Phandle to this BMan instance's portals
   43 
   44 - fsl,liodn
   45         Usage:          See pamu.txt
   46         Value type:     <prop-encoded-array>
   47         Definition:     PAMU property used for static LIODN assignment
   48 
   49 - fsl,iommu-parent
   50         Usage:          See pamu.txt
   51         Value type:     <phandle>
   52         Definition:     PAMU property used for dynamic LIODN assignment
   53 
   54         For additional details about the PAMU/LIODN binding(s) see pamu.txt
   55 
   56 Devices connected to a BMan instance via Direct Connect Portals (DCP) must link
   57 to the respective BMan instance
   58 
   59 - fsl,bman
   60         Usage:          Required
   61         Value type:     <prop-encoded-array>
   62         Description:    List of phandle and DCP index pairs, to the BMan instance
   63                         to which this device is connected via the DCP
   64 
   65 BMan Private Memory Node
   66 
   67 BMan requires a contiguous range of physical memory used for the backing store
   68 for BMan Free Buffer Proxy Records (FBPR). This memory is reserved/allocated as
   69 a node under the /reserved-memory node.
   70 
   71 The BMan FBPR memory node must be named "bman-fbpr"
   72 
   73 PROPERTIES
   74 
   75 - compatible
   76         Usage:          required
   77         Value type:     <stringlist>
   78         Definition:     PPC platforms: Must include "fsl,bman-fbpr"
   79                         ARM platforms: Must include "shared-dma-pool"
   80                                        as well as the "no-map" property
   81 
   82 The following constraints are relevant to the FBPR private memory:
   83         - The size must be 2^(size + 1), with size = 11..33. That is 4 KiB to
   84           16 GiB
   85         - The alignment must be a muliptle of the memory size
   86 
   87 The size of the FBPR must be chosen by observing the hardware features configured
   88 via the Reset Configuration Word (RCW) and that are relevant to a specific board
   89 (e.g. number of MAC(s) pinned-out, number of offline/host command FMan ports,
   90 etc.). The size configured in the DT must reflect the hardware capabilities and
   91 not the specific needs of an application
   92 
   93 For additional details about reserved memory regions see reserved-memory.txt
   94 
   95 EXAMPLE
   96 
   97 The example below shows a BMan FBPR dynamic allocation memory node
   98 
   99         reserved-memory {
  100                 #address-cells = <2>;
  101                 #size-cells = <2>;
  102                 ranges;
  103 
  104                 bman_fbpr: bman-fbpr {
  105                         compatible = "shared-mem-pool";
  106                         size = <0 0x1000000>;
  107                         alignment = <0 0x1000000>;
  108                         no-map;
  109                 };
  110         };
  111 
  112 The example below shows a (P4080) BMan CCSR-space node
  113 
  114         bportals: bman-portals@ff4000000 {
  115                 ...
  116         };
  117 
  118         crypto@300000 {
  119                 ...
  120                 fsl,bman = <&bman, 2>;
  121                 ...
  122         };
  123 
  124         bman: bman@31a000 {
  125                 compatible = "fsl,bman";
  126                 reg = <0x31a000 0x1000>;
  127                 interrupts = <16 2 1 2>;
  128                 fsl,liodn = <0x17>;
  129                 fsl,bman-portals = <&bportals>;
  130                 memory-region = <&bman_fbpr>;
  131         };
  132 
  133         fman@400000 {
  134                 ...
  135                 fsl,bman = <&bman, 0>;
  136                 ...
  137         };

Cache object: 8491f19b6a4c13bbf5ba5de2379fbc0c


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