1QorIQ 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";
99			alloc-ranges = <0 0 0xf 0xffffffff>;
100			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	};
126