xref: /freebsd/sys/contrib/device-tree/Bindings/soc/fsl/bman.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
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,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
56Devices connected to a BMan instance via Direct Connect Portals (DCP) must link
57to 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
65BMan Private Memory Node
66
67BMan requires a contiguous range of physical memory used for the backing store
68for BMan Free Buffer Proxy Records (FBPR). This memory is reserved/allocated as
69a node under the /reserved-memory node.
70
71The BMan FBPR memory node must be named "bman-fbpr"
72
73PROPERTIES
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
82The 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
87The size of the FBPR must be chosen by observing the hardware features configured
88via 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,
90etc.). The size configured in the DT must reflect the hardware capabilities and
91not the specific needs of an application
92
93For additional details about reserved memory regions see reserved-memory.txt
94
95EXAMPLE
96
97The 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
112The 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	};
138