Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / powerpc / fsl / srio-rmu.txt
1 Message unit node:
2
3 For SRIO controllers that implement the message unit as part of the controller
4 this node is required.  For devices with RMAN this node should NOT exist.  The
5 node is composed of three types of sub-nodes ("fsl-srio-msg-unit",
6 "fsl-srio-dbell-unit" and "fsl-srio-port-write-unit").
7
8 See srio.txt for more details about generic SRIO controller details.
9
10    - compatible
11         Usage: required
12         Value type: <string>
13         Definition: Must include "fsl,srio-rmu-vX.Y", "fsl,srio-rmu".
14
15         The version X.Y should match the general SRIO controller's IP Block
16         revision register's Major(X) and Minor (Y) value.
17
18    - reg
19         Usage: required
20         Value type: <prop-encoded-array>
21         Definition: A standard property.  Specifies the physical address and
22                 length of the SRIO configuration registers for message units
23                 and doorbell units.
24
25    - fsl,liodn
26         Usage: optional-but-recommended (for devices with PAMU)
27         Value type: <prop-encoded-array>
28         Definition: The logical I/O device number for the PAMU (IOMMU) to be
29                 correctly configured for SRIO accesses.  The property should
30                 not exist on devices that do not support PAMU.
31
32                 The LIODN value is associated with all RMU transactions
33                 (msg-unit, doorbell, port-write).
34
35 Sub-Nodes for RMU:  The RMU node is composed of multiple sub-nodes that
36 correspond to the actual sub-controllers in the RMU.  The manual for a given
37 SoC will detail which and how many of these sub-controllers are implemented.
38
39 Message Unit:
40
41    - compatible
42         Usage: required
43         Value type: <string>
44         Definition: Must include "fsl,srio-msg-unit-vX.Y", "fsl,srio-msg-unit".
45
46         The version X.Y should match the general SRIO controller's IP Block
47         revision register's Major(X) and Minor (Y) value.
48
49    - reg
50         Usage: required
51         Value type: <prop-encoded-array>
52         Definition: A standard property.  Specifies the physical address and
53                 length of the SRIO configuration registers for message units
54                 and doorbell units.
55
56    - interrupts
57         Usage: required
58         Value type: <prop_encoded-array>
59         Definition:  Specifies the interrupts generated by this device.  The
60                 value of the interrupts property consists of one interrupt
61                 specifier. The format of the specifier is defined by the
62                 binding document describing the node's interrupt parent.
63
64                 A pair of IRQs are specified in this property.  The first
65                 element is associated with the transmit (TX) interrupt and the
66                 second element is associated with the receive (RX) interrupt.
67
68 Doorbell Unit:
69
70    - compatible
71         Usage: required
72         Value type: <string>
73         Definition: Must include:
74                 "fsl,srio-dbell-unit-vX.Y", "fsl,srio-dbell-unit"
75
76         The version X.Y should match the general SRIO controller's IP Block
77         revision register's Major(X) and Minor (Y) value.
78
79    - reg
80         Usage: required
81         Value type: <prop-encoded-array>
82         Definition: A standard property.  Specifies the physical address and
83                 length of the SRIO configuration registers for message units
84                 and doorbell units.
85
86    - interrupts
87         Usage: required
88         Value type: <prop_encoded-array>
89         Definition:  Specifies the interrupts generated by this device.  The
90                 value of the interrupts property consists of one interrupt
91                 specifier. The format of the specifier is defined by the
92                 binding document describing the node's interrupt parent.
93
94                 A pair of IRQs are specified in this property.  The first
95                 element is associated with the transmit (TX) interrupt and the
96                 second element is associated with the receive (RX) interrupt.
97
98 Port-Write Unit:
99
100    - compatible
101         Usage: required
102         Value type: <string>
103         Definition: Must include:
104                  "fsl,srio-port-write-unit-vX.Y", "fsl,srio-port-write-unit"
105
106         The version X.Y should match the general SRIO controller's IP Block
107         revision register's Major(X) and Minor (Y) value.
108
109    - reg
110         Usage: required
111         Value type: <prop-encoded-array>
112         Definition: A standard property.  Specifies the physical address and
113                 length of the SRIO configuration registers for message units
114                 and doorbell units.
115
116    - interrupts
117         Usage: required
118         Value type: <prop_encoded-array>
119         Definition:  Specifies the interrupts generated by this device.  The
120                 value of the interrupts property consists of one interrupt
121                 specifier. The format of the specifier is defined by the
122                 binding document describing the node's interrupt parent.
123
124                 A single IRQ that handles port-write conditions is
125                 specified by this property.  (Typically shared with error).
126
127    Note: All other standard properties (see the Devicetree Specification)
128    are allowed but are optional.
129
130 Example:
131         rmu: rmu@d3000 {
132                 compatible = "fsl,srio-rmu";
133                 reg = <0xd3000 0x400>;
134                 ranges = <0x0 0xd3000 0x400>;
135                 fsl,liodn = <0xc8>;
136
137                 message-unit@0 {
138                         compatible = "fsl,srio-msg-unit";
139                         reg = <0x0 0x100>;
140                         interrupts = <
141                                 60 2 0 0  /* msg1_tx_irq */
142                                 61 2 0 0>;/* msg1_rx_irq */
143                 };
144                 message-unit@100 {
145                         compatible = "fsl,srio-msg-unit";
146                         reg = <0x100 0x100>;
147                         interrupts = <
148                                 62 2 0 0  /* msg2_tx_irq */
149                                 63 2 0 0>;/* msg2_rx_irq */
150                 };
151                 doorbell-unit@400 {
152                         compatible = "fsl,srio-dbell-unit";
153                         reg = <0x400 0x80>;
154                         interrupts = <
155                                 56 2 0 0  /* bell_outb_irq */
156                                 57 2 0 0>;/* bell_inb_irq */
157                 };
158                 port-write-unit@4e0 {
159                         compatible = "fsl,srio-port-write-unit";
160                         reg = <0x4e0 0x20>;
161                         interrupts = <16 2 1 11>;
162                 };
163         };