0001 QorIQ DPAA Buffer Manager Device Tree Bindings
0002
0003 Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
0004
0005 CONTENTS
0006
0007 - BMan Node
0008 - BMan Private Memory Node
0009 - Example
0010
0011 BMan Node
0012
0013 The Buffer Manager is part of the Data-Path Acceleration Architecture (DPAA).
0014 BMan supports hardware allocation and deallocation of buffers belonging to pools
0015 originally created by software with configurable depletion thresholds. This
0016 binding covers the CCSR space programming model
0017
0018 PROPERTIES
0019
0020 - compatible
0021 Usage: Required
0022 Value type: <stringlist>
0023 Definition: Must include "fsl,bman"
0024 May include "fsl,<SoC>-bman"
0025
0026 - reg
0027 Usage: Required
0028 Value type: <prop-encoded-array>
0029 Definition: Registers region within the CCSR address space
0030
0031 The BMan revision information is located in the BMAN_IP_REV_1/2 registers which
0032 are located at offsets 0xbf8 and 0xbfc
0033
0034 - interrupts
0035 Usage: Required
0036 Value type: <prop-encoded-array>
0037 Definition: Standard property. The error interrupt
0038
0039 - fsl,bman-portals
0040 Usage: Required
0041 Value type: <phandle>
0042 Definition: Phandle to this BMan instance's portals
0043
0044 - fsl,liodn
0045 Usage: See pamu.txt
0046 Value type: <prop-encoded-array>
0047 Definition: PAMU property used for static LIODN assignment
0048
0049 - fsl,iommu-parent
0050 Usage: See pamu.txt
0051 Value type: <phandle>
0052 Definition: PAMU property used for dynamic LIODN assignment
0053
0054 For additional details about the PAMU/LIODN binding(s) see pamu.txt
0055
0056 Devices connected to a BMan instance via Direct Connect Portals (DCP) must link
0057 to the respective BMan instance
0058
0059 - fsl,bman
0060 Usage: Required
0061 Value type: <prop-encoded-array>
0062 Description: List of phandle and DCP index pairs, to the BMan instance
0063 to which this device is connected via the DCP
0064
0065 BMan Private Memory Node
0066
0067 BMan requires a contiguous range of physical memory used for the backing store
0068 for BMan Free Buffer Proxy Records (FBPR). This memory is reserved/allocated as
0069 a node under the /reserved-memory node.
0070
0071 The BMan FBPR memory node must be named "bman-fbpr"
0072
0073 PROPERTIES
0074
0075 - compatible
0076 Usage: required
0077 Value type: <stringlist>
0078 Definition: PPC platforms: Must include "fsl,bman-fbpr"
0079 ARM platforms: Must include "shared-dma-pool"
0080 as well as the "no-map" property
0081
0082 The following constraints are relevant to the FBPR private memory:
0083 - The size must be 2^(size + 1), with size = 11..33. That is 4 KiB to
0084 16 GiB
0085 - The alignment must be a muliptle of the memory size
0086
0087 The size of the FBPR must be chosen by observing the hardware features configured
0088 via the Reset Configuration Word (RCW) and that are relevant to a specific board
0089 (e.g. number of MAC(s) pinned-out, number of offline/host command FMan ports,
0090 etc.). The size configured in the DT must reflect the hardware capabilities and
0091 not the specific needs of an application
0092
0093 For additional details about reserved memory regions see reserved-memory.txt
0094
0095 EXAMPLE
0096
0097 The example below shows a BMan FBPR dynamic allocation memory node
0098
0099 reserved-memory {
0100 #address-cells = <2>;
0101 #size-cells = <2>;
0102 ranges;
0103
0104 bman_fbpr: bman-fbpr {
0105 compatible = "shared-mem-pool";
0106 size = <0 0x1000000>;
0107 alignment = <0 0x1000000>;
0108 no-map;
0109 };
0110 };
0111
0112 The example below shows a (P4080) BMan CCSR-space node
0113
0114 bportals: bman-portals@ff4000000 {
0115 ...
0116 };
0117
0118 crypto@300000 {
0119 ...
0120 fsl,bman = <&bman, 2>;
0121 ...
0122 };
0123
0124 bman: bman@31a000 {
0125 compatible = "fsl,bman";
0126 reg = <0x31a000 0x1000>;
0127 interrupts = <16 2 1 2>;
0128 fsl,liodn = <0x17>;
0129 fsl,bman-portals = <&bportals>;
0130 memory-region = <&bman_fbpr>;
0131 };
0132
0133 fman@400000 {
0134 ...
0135 fsl,bman = <&bman, 0>;
0136 ...
0137 };