1f3f6743dSEmil MedveQorIQ DPAA Queue Manager Portals Device Tree Binding
2f3f6743dSEmil Medve
3f3f6743dSEmil MedveCopyright (C) 2008 - 2014 Freescale Semiconductor Inc.
4f3f6743dSEmil Medve
5f3f6743dSEmil MedveCONTENTS
6f3f6743dSEmil Medve
7f3f6743dSEmil Medve	- QMan Portal
8f3f6743dSEmil Medve	- QMan Pool Channel
9f3f6743dSEmil Medve	- Example
10f3f6743dSEmil Medve
11f3f6743dSEmil MedveQMan Portal Node
12f3f6743dSEmil Medve
13f3f6743dSEmil MedvePortals are memory mapped interfaces to QMan that allow low-latency, lock-less
14f3f6743dSEmil Medveinteraction by software running on processor cores, accelerators and network
15f3f6743dSEmil Medveinterfaces with the QMan
16f3f6743dSEmil Medve
17f3f6743dSEmil MedvePROPERTIES
18f3f6743dSEmil Medve
19f3f6743dSEmil Medve- compatible
20f3f6743dSEmil Medve	Usage:		Required
21f3f6743dSEmil Medve	Value type:	<stringlist>
22f3f6743dSEmil Medve	Definition:	Must include "fsl,qman-portal-<hardware revision>"
23f3f6743dSEmil Medve			May include "fsl,<SoC>-qman-portal" or "fsl,qman-portal"
24f3f6743dSEmil Medve
25f3f6743dSEmil Medve- reg
26f3f6743dSEmil Medve	Usage:		Required
27f3f6743dSEmil Medve	Value type:	<prop-encoded-array>
28f3f6743dSEmil Medve	Definition:	Two regions. The first is the cache-enabled region of
29f3f6743dSEmil Medve			the portal. The second is the cache-inhibited region of
30f3f6743dSEmil Medve			the portal
31f3f6743dSEmil Medve
32f3f6743dSEmil Medve- interrupts
33f3f6743dSEmil Medve	Usage:		Required
34f3f6743dSEmil Medve	Value type:	<prop-encoded-array>
35f3f6743dSEmil Medve	Definition:	Standard property
36f3f6743dSEmil Medve
37f3f6743dSEmil Medve- fsl,liodn
38f3f6743dSEmil Medve	Usage:		See pamu.txt
39f3f6743dSEmil Medve	Value type:	<prop-encoded-array>
40f3f6743dSEmil Medve	Definition:	Two LIODN(s). DQRR LIODN (DLIODN) and Frame LIODN
41f3f6743dSEmil Medve			(FLIODN)
42f3f6743dSEmil Medve
43f3f6743dSEmil Medve- fsl,iommu-parent
44f3f6743dSEmil Medve	Usage:		See pamu.txt
45f3f6743dSEmil Medve	Value type:	<phandle>
46f3f6743dSEmil Medve	Definition:	PAMU property used for dynamic LIODN assignment
47f3f6743dSEmil Medve
48f3f6743dSEmil Medve	For additional details about the PAMU/LIODN binding(s) see pamu.txt
49f3f6743dSEmil Medve
50e9326deaSScott Wood- cell-index
51f3f6743dSEmil Medve	Usage:		Required
52f3f6743dSEmil Medve	Value type:	<u32>
53f3f6743dSEmil Medve	Definition:	The hardware index of the channel. This can also be
54f3f6743dSEmil Medve			determined by dividing any of the channel's 8 work queue
55f3f6743dSEmil Medve			IDs by 8
56f3f6743dSEmil Medve
57f3f6743dSEmil MedveIn addition to these properties the qman-portals should have sub-nodes to
58f3f6743dSEmil Medverepresent the HW devices/portals that are connected to the software portal
59f3f6743dSEmil Medvedescribed here
60f3f6743dSEmil Medve
61f3f6743dSEmil MedveThe currently supported sub-nodes are:
62f3f6743dSEmil Medve	* fman0
63f3f6743dSEmil Medve	* fman1
64f3f6743dSEmil Medve	* pme
65f3f6743dSEmil Medve	* crypto
66f3f6743dSEmil Medve
67f3f6743dSEmil MedveThese subnodes should have the following properties:
68f3f6743dSEmil Medve
69f3f6743dSEmil Medve- fsl,liodn
70f3f6743dSEmil Medve	Usage:		See pamu.txt
71f3f6743dSEmil Medve	Value type:	<prop-encoded-array>
72f3f6743dSEmil Medve	Definition:	PAMU property used for static LIODN assignment
73f3f6743dSEmil Medve
74f3f6743dSEmil Medve- fsl,iommu-parent
75f3f6743dSEmil Medve	Usage:		See pamu.txt
76f3f6743dSEmil Medve	Value type:	<phandle>
77f3f6743dSEmil Medve	Definition:	PAMU property used for dynamic LIODN assignment
78f3f6743dSEmil Medve
79f3f6743dSEmil Medve- dev-handle
80f3f6743dSEmil Medve	Usage:		Required
81f3f6743dSEmil Medve	Value type:	<phandle>
82f3f6743dSEmil Medve	Definition:	The phandle to the particular hardware device that this
83f3f6743dSEmil Medve			portal is connected to.
84f3f6743dSEmil Medve
85f3f6743dSEmil MedveDPAA QMan Pool Channel Nodes
86f3f6743dSEmil Medve
87f3f6743dSEmil MedvePool Channels are defined with the following properties.
88f3f6743dSEmil Medve
89f3f6743dSEmil MedvePROPERTIES
90f3f6743dSEmil Medve
91f3f6743dSEmil Medve- compatible
92f3f6743dSEmil Medve	Usage:		Required
93f3f6743dSEmil Medve	Value type:	<stringlist>
94f3f6743dSEmil Medve	Definition:	Must include "fsl,qman-pool-channel"
95f3f6743dSEmil Medve			May include "fsl,<SoC>-qman-pool-channel"
96f3f6743dSEmil Medve
97f3f6743dSEmil Medve- fsl,qman-channel-id
98f3f6743dSEmil Medve	Usage:		Required
99f3f6743dSEmil Medve	Value type:	<u32>
100f3f6743dSEmil Medve	Definition:	The hardware index of the channel. This can also be
101f3f6743dSEmil Medve			determined by dividing any of the channel's 8 work queue
102f3f6743dSEmil Medve			IDs by 8
103f3f6743dSEmil Medve
104f3f6743dSEmil MedveEXAMPLE
105f3f6743dSEmil Medve
106f3f6743dSEmil MedveThe example below shows a (P4080) QMan portals container/bus node with two portals
107f3f6743dSEmil Medve
108f3f6743dSEmil Medve	qman-portals@ff4200000 {
109f3f6743dSEmil Medve		#address-cells = <1>;
110f3f6743dSEmil Medve		#size-cells = <1>;
111f3f6743dSEmil Medve		compatible = "simple-bus";
112f3f6743dSEmil Medve		ranges = <0 0xf 0xf4200000 0x200000>;
113f3f6743dSEmil Medve
114f3f6743dSEmil Medve		qman-portal@0 {
115f3f6743dSEmil Medve			compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal";
116f3f6743dSEmil Medve			reg = <0 0x4000>, <0x100000 0x1000>;
117f3f6743dSEmil Medve			interrupts = <104 2 0 0>;
118f3f6743dSEmil Medve			fsl,liodn = <1 2>;
119f3f6743dSEmil Medve			fsl,qman-channel-id = <0>;
120f3f6743dSEmil Medve
121f3f6743dSEmil Medve			fman0 {
122f3f6743dSEmil Medve				fsl,liodn = <0x21>;
123f3f6743dSEmil Medve				dev-handle = <&fman0>;
124f3f6743dSEmil Medve			};
125f3f6743dSEmil Medve			fman1 {
126f3f6743dSEmil Medve				fsl,liodn = <0xa1>;
127f3f6743dSEmil Medve				dev-handle = <&fman1>;
128f3f6743dSEmil Medve			};
129f3f6743dSEmil Medve			crypto {
130f3f6743dSEmil Medve				fsl,liodn = <0x41 0x66>;
131f3f6743dSEmil Medve				dev-handle = <&crypto>;
132f3f6743dSEmil Medve			};
133f3f6743dSEmil Medve		};
134f3f6743dSEmil Medve		qman-portal@4000 {
135f3f6743dSEmil Medve			compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal";
136f3f6743dSEmil Medve			reg = <0x4000 0x4000>, <0x101000 0x1000>;
137f3f6743dSEmil Medve			interrupts = <106 2 0 0>;
138f3f6743dSEmil Medve			fsl,liodn = <3 4>;
139e9326deaSScott Wood			cell-index = <1>;
140f3f6743dSEmil Medve
141f3f6743dSEmil Medve			fman0 {
142f3f6743dSEmil Medve				fsl,liodn = <0x22>;
143f3f6743dSEmil Medve				dev-handle = <&fman0>;
144f3f6743dSEmil Medve			};
145f3f6743dSEmil Medve			fman1 {
146f3f6743dSEmil Medve				fsl,liodn = <0xa2>;
147f3f6743dSEmil Medve				dev-handle = <&fman1>;
148f3f6743dSEmil Medve			};
149f3f6743dSEmil Medve			crypto {
150f3f6743dSEmil Medve				fsl,liodn = <0x42 0x67>;
151f3f6743dSEmil Medve				dev-handle = <&crypto>;
152f3f6743dSEmil Medve			};
153f3f6743dSEmil Medve		};
154f3f6743dSEmil Medve	};
155