summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/powerpc/fsl/srio-rmu.txt
blob: b9a8a2bcfae7639df09cf214612a4943b382364b (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
155
156
157
158
159
160
161
162
163
Message unit node:

For SRIO controllers that implement the message unit as part of the controller
this node is required.  For devices with RMAN this node should NOT exist.  The
node is composed of three types of sub-nodes ("fsl-srio-msg-unit",
"fsl-srio-dbell-unit" and "fsl-srio-port-write-unit").

See srio.txt for more details about generic SRIO controller details.

   - compatible
	Usage: required
	Value type: <string>
	Definition: Must include "fsl,srio-rmu-vX.Y", "fsl,srio-rmu".

	The version X.Y should match the general SRIO controller's IP Block
	revision register's Major(X) and Minor (Y) value.

   - reg
	Usage: required
	Value type: <prop-encoded-array>
	Definition: A standard property.  Specifies the physical address and
		length of the SRIO configuration registers for message units
		and doorbell units.

   - fsl,liodn
	Usage: optional-but-recommended (for devices with PAMU)
	Value type: <prop-encoded-array>
	Definition: The logical I/O device number for the PAMU (IOMMU) to be
		correctly configured for SRIO accesses.  The property should
		not exist on devices that do not support PAMU.

		The LIODN value is associated with all RMU transactions
		(msg-unit, doorbell, port-write).

Sub-Nodes for RMU:  The RMU node is composed of multiple sub-nodes that
correspond to the actual sub-controllers in the RMU.  The manual for a given
SoC will detail which and how many of these sub-controllers are implemented.

Message Unit:

   - compatible
	Usage: required
	Value type: <string>
	Definition: Must include "fsl,srio-msg-unit-vX.Y", "fsl,srio-msg-unit".

	The version X.Y should match the general SRIO controller's IP Block
	revision register's Major(X) and Minor (Y) value.

   - reg
	Usage: required
	Value type: <prop-encoded-array>
	Definition: A standard property.  Specifies the physical address and
		length of the SRIO configuration registers for message units
		and doorbell units.

   - interrupts
	Usage: required
	Value type: <prop_encoded-array>
	Definition:  Specifies the interrupts generated by this device.  The
		value of the interrupts property consists of one interrupt
		specifier. The format of the specifier is defined by the
		binding document describing the node's interrupt parent.

		A pair of IRQs are specified in this property.  The first
		element is associated with the transmit (TX) interrupt and the
		second element is associated with the receive (RX) interrupt.

Doorbell Unit:

   - compatible
	Usage: required
	Value type: <string>
	Definition: Must include:
		"fsl,srio-dbell-unit-vX.Y", "fsl,srio-dbell-unit"

	The version X.Y should match the general SRIO controller's IP Block
	revision register's Major(X) and Minor (Y) value.

   - reg
	Usage: required
	Value type: <prop-encoded-array>
	Definition: A standard property.  Specifies the physical address and
		length of the SRIO configuration registers for message units
		and doorbell units.

   - interrupts
	Usage: required
	Value type: <prop_encoded-array>
	Definition:  Specifies the interrupts generated by this device.  The
		value of the interrupts property consists of one interrupt
		specifier. The format of the specifier is defined by the
		binding document describing the node's interrupt parent.

		A pair of IRQs are specified in this property.  The first
		element is associated with the transmit (TX) interrupt and the
		second element is associated with the receive (RX) interrupt.

Port-Write Unit:

   - compatible
	Usage: required
	Value type: <string>
	Definition: Must include:
		 "fsl,srio-port-write-unit-vX.Y", "fsl,srio-port-write-unit"

	The version X.Y should match the general SRIO controller's IP Block
	revision register's Major(X) and Minor (Y) value.

   - reg
	Usage: required
	Value type: <prop-encoded-array>
	Definition: A standard property.  Specifies the physical address and
		length of the SRIO configuration registers for message units
		and doorbell units.

   - interrupts
	Usage: required
	Value type: <prop_encoded-array>
	Definition:  Specifies the interrupts generated by this device.  The
		value of the interrupts property consists of one interrupt
		specifier. The format of the specifier is defined by the
		binding document describing the node's interrupt parent.

		A single IRQ that handles port-write conditions is
		specified by this property.  (Typically shared with error).

   Note: All other standard properties (see the ePAPR) are allowed
   but are optional.

Example:
	rmu: rmu@d3000 {
		compatible = "fsl,srio-rmu";
		reg = <0xd3000 0x400>;
		ranges = <0x0 0xd3000 0x400>;
		fsl,liodn = <0xc8>;

		message-unit@0 {
			compatible = "fsl,srio-msg-unit";
			reg = <0x0 0x100>;
			interrupts = <
				60 2 0 0  /* msg1_tx_irq */
				61 2 0 0>;/* msg1_rx_irq */
		};
		message-unit@100 {
			compatible = "fsl,srio-msg-unit";
			reg = <0x100 0x100>;
			interrupts = <
				62 2 0 0  /* msg2_tx_irq */
				63 2 0 0>;/* msg2_rx_irq */
		};
		doorbell-unit@400 {
			compatible = "fsl,srio-dbell-unit";
			reg = <0x400 0x80>;
			interrupts = <
				56 2 0 0  /* bell_outb_irq */
				57 2 0 0>;/* bell_inb_irq */
		};
		port-write-unit@4e0 {
			compatible = "fsl,srio-port-write-unit";
			reg = <0x4e0 0x20>;
			interrupts = <16 2 1 11>;
		};
	};