summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/soc/fsl/qman-portals.txt
blob: 48c4dae5d6f944a11c8170dcaa9400b25cfd2ec5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
QorIQ DPAA Queue Manager Portals Device Tree Binding

Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.

CONTENTS

	- QMan Portal
	- QMan Pool Channel
	- Example

QMan Portal Node

Portals are memory mapped interfaces to QMan that allow low-latency, lock-less
interaction by software running on processor cores, accelerators and network
interfaces with the QMan

PROPERTIES

- compatible
	Usage:		Required
	Value type:	<stringlist>
	Definition:	Must include "fsl,qman-portal-<hardware revision>"
			May include "fsl,<SoC>-qman-portal" or "fsl,qman-portal"

- reg
	Usage:		Required
	Value type:	<prop-encoded-array>
	Definition:	Two regions. The first is the cache-enabled region of
			the portal. The second is the cache-inhibited region of
			the portal

- interrupts
	Usage:		Required
	Value type:	<prop-encoded-array>
	Definition:	Standard property

- fsl,liodn
	Usage:		See pamu.txt
	Value type:	<prop-encoded-array>
	Definition:	Two LIODN(s). DQRR LIODN (DLIODN) and Frame LIODN
			(FLIODN)

- fsl,iommu-parent
	Usage:		See pamu.txt
	Value type:	<phandle>
	Definition:	PAMU property used for dynamic LIODN assignment

	For additional details about the PAMU/LIODN binding(s) see pamu.txt

- fsl,qman-channel-id
	Usage:		Required
	Value type:	<u32>
	Definition:	The hardware index of the channel. This can also be
			determined by dividing any of the channel's 8 work queue
			IDs by 8

In addition to these properties the qman-portals should have sub-nodes to
represent the HW devices/portals that are connected to the software portal
described here

The currently supported sub-nodes are:
	* fman0
	* fman1
	* pme
	* crypto

These subnodes should have the following properties:

- fsl,liodn
	Usage:		See pamu.txt
	Value type:	<prop-encoded-array>
	Definition:	PAMU property used for static LIODN assignment

- fsl,iommu-parent
	Usage:		See pamu.txt
	Value type:	<phandle>
	Definition:	PAMU property used for dynamic LIODN assignment

- dev-handle
	Usage:		Required
	Value type:	<phandle>
	Definition:	The phandle to the particular hardware device that this
			portal is connected to.

DPAA QMan Pool Channel Nodes

Pool Channels are defined with the following properties.

PROPERTIES

- compatible
	Usage:		Required
	Value type:	<stringlist>
	Definition:	Must include "fsl,qman-pool-channel"
			May include "fsl,<SoC>-qman-pool-channel"

- fsl,qman-channel-id
	Usage:		Required
	Value type:	<u32>
	Definition:	The hardware index of the channel. This can also be
			determined by dividing any of the channel's 8 work queue
			IDs by 8

EXAMPLE

The example below shows a (P4080) QMan portals container/bus node with two portals

	qman-portals@ff4200000 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
		ranges = <0 0xf 0xf4200000 0x200000>;

		qman-portal@0 {
			compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal";
			reg = <0 0x4000>, <0x100000 0x1000>;
			interrupts = <104 2 0 0>;
			fsl,liodn = <1 2>;
			fsl,qman-channel-id = <0>;

			fman0 {
				fsl,liodn = <0x21>;
				dev-handle = <&fman0>;
			};
			fman1 {
				fsl,liodn = <0xa1>;
				dev-handle = <&fman1>;
			};
			crypto {
				fsl,liodn = <0x41 0x66>;
				dev-handle = <&crypto>;
			};
		};
		qman-portal@4000 {
			compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal";
			reg = <0x4000 0x4000>, <0x101000 0x1000>;
			interrupts = <106 2 0 0>;
			fsl,liodn = <3 4>;
			fsl,qman-channel-id = <1>;

			fman0 {
				fsl,liodn = <0x22>;
				dev-handle = <&fman0>;
			};
			fman1 {
				fsl,liodn = <0xa2>;
				dev-handle = <&fman1>;
			};
			crypto {
				fsl,liodn = <0x42 0x67>;
				dev-handle = <&crypto>;
			};
		};
	};