forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
3.5 KiB
137 lines
3.5 KiB
QorIQ DPAA Buffer Manager Device Tree Bindings |
|
|
|
Copyright (C) 2008 - 2014 Freescale Semiconductor Inc. |
|
|
|
CONTENTS |
|
|
|
- BMan Node |
|
- BMan Private Memory Node |
|
- Example |
|
|
|
BMan Node |
|
|
|
The Buffer Manager is part of the Data-Path Acceleration Architecture (DPAA). |
|
BMan supports hardware allocation and deallocation of buffers belonging to pools |
|
originally created by software with configurable depletion thresholds. This |
|
binding covers the CCSR space programming model |
|
|
|
PROPERTIES |
|
|
|
- compatible |
|
Usage: Required |
|
Value type: <stringlist> |
|
Definition: Must include "fsl,bman" |
|
May include "fsl,<SoC>-bman" |
|
|
|
- reg |
|
Usage: Required |
|
Value type: <prop-encoded-array> |
|
Definition: Registers region within the CCSR address space |
|
|
|
The BMan revision information is located in the BMAN_IP_REV_1/2 registers which |
|
are located at offsets 0xbf8 and 0xbfc |
|
|
|
- interrupts |
|
Usage: Required |
|
Value type: <prop-encoded-array> |
|
Definition: Standard property. The error interrupt |
|
|
|
- fsl,bman-portals |
|
Usage: Required |
|
Value type: <phandle> |
|
Definition: Phandle to this BMan instance's portals |
|
|
|
- fsl,liodn |
|
Usage: See pamu.txt |
|
Value type: <prop-encoded-array> |
|
Definition: PAMU property used for static LIODN assignment |
|
|
|
- fsl,iommu-parent |
|
Usage: See pamu.txt |
|
Value type: <phandle> |
|
Definition: PAMU property used for dynamic LIODN assignment |
|
|
|
For additional details about the PAMU/LIODN binding(s) see pamu.txt |
|
|
|
Devices connected to a BMan instance via Direct Connect Portals (DCP) must link |
|
to the respective BMan instance |
|
|
|
- fsl,bman |
|
Usage: Required |
|
Value type: <prop-encoded-array> |
|
Description: List of phandle and DCP index pairs, to the BMan instance |
|
to which this device is connected via the DCP |
|
|
|
BMan Private Memory Node |
|
|
|
BMan requires a contiguous range of physical memory used for the backing store |
|
for BMan Free Buffer Proxy Records (FBPR). This memory is reserved/allocated as |
|
a node under the /reserved-memory node. |
|
|
|
The BMan FBPR memory node must be named "bman-fbpr" |
|
|
|
PROPERTIES |
|
|
|
- compatible |
|
Usage: required |
|
Value type: <stringlist> |
|
Definition: PPC platforms: Must include "fsl,bman-fbpr" |
|
ARM platforms: Must include "shared-dma-pool" |
|
as well as the "no-map" property |
|
|
|
The following constraints are relevant to the FBPR private memory: |
|
- The size must be 2^(size + 1), with size = 11..33. That is 4 KiB to |
|
16 GiB |
|
- The alignment must be a muliptle of the memory size |
|
|
|
The size of the FBPR must be chosen by observing the hardware features configured |
|
via the Reset Configuration Word (RCW) and that are relevant to a specific board |
|
(e.g. number of MAC(s) pinned-out, number of offline/host command FMan ports, |
|
etc.). The size configured in the DT must reflect the hardware capabilities and |
|
not the specific needs of an application |
|
|
|
For additional details about reserved memory regions see reserved-memory.txt |
|
|
|
EXAMPLE |
|
|
|
The example below shows a BMan FBPR dynamic allocation memory node |
|
|
|
reserved-memory { |
|
#address-cells = <2>; |
|
#size-cells = <2>; |
|
ranges; |
|
|
|
bman_fbpr: bman-fbpr { |
|
compatible = "shared-mem-pool"; |
|
size = <0 0x1000000>; |
|
alignment = <0 0x1000000>; |
|
no-map; |
|
}; |
|
}; |
|
|
|
The example below shows a (P4080) BMan CCSR-space node |
|
|
|
bportals: bman-portals@ff4000000 { |
|
... |
|
}; |
|
|
|
crypto@300000 { |
|
... |
|
fsl,bman = <&bman, 2>; |
|
... |
|
}; |
|
|
|
bman: bman@31a000 { |
|
compatible = "fsl,bman"; |
|
reg = <0x31a000 0x1000>; |
|
interrupts = <16 2 1 2>; |
|
fsl,liodn = <0x17>; |
|
fsl,bman-portals = <&bportals>; |
|
memory-region = <&bman_fbpr>; |
|
}; |
|
|
|
fman@400000 { |
|
... |
|
fsl,bman = <&bman, 0>; |
|
... |
|
};
|
|
|