xref: /freebsd/sys/contrib/device-tree/Bindings/powerpc/fsl/srio-rmu.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1Message unit node:
2
3For SRIO controllers that implement the message unit as part of the controller
4this node is required.  For devices with RMAN this node should NOT exist.  The
5node is composed of three types of sub-nodes ("fsl-srio-msg-unit",
6"fsl-srio-dbell-unit" and "fsl-srio-port-write-unit").
7
8See 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
35Sub-Nodes for RMU:  The RMU node is composed of multiple sub-nodes that
36correspond to the actual sub-controllers in the RMU.  The manual for a given
37SoC will detail which and how many of these sub-controllers are implemented.
38
39Message 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
68Doorbell 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
98Port-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
130Example:
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	};
164