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