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