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