0001 Message unit node:
0002
0003 For SRIO controllers that implement the message unit as part of the controller
0004 this node is required. For devices with RMAN this node should NOT exist. The
0005 node is composed of three types of sub-nodes ("fsl-srio-msg-unit",
0006 "fsl-srio-dbell-unit" and "fsl-srio-port-write-unit").
0007
0008 See srio.txt for more details about generic SRIO controller details.
0009
0010 - compatible
0011 Usage: required
0012 Value type: <string>
0013 Definition: Must include "fsl,srio-rmu-vX.Y", "fsl,srio-rmu".
0014
0015 The version X.Y should match the general SRIO controller's IP Block
0016 revision register's Major(X) and Minor (Y) value.
0017
0018 - reg
0019 Usage: required
0020 Value type: <prop-encoded-array>
0021 Definition: A standard property. Specifies the physical address and
0022 length of the SRIO configuration registers for message units
0023 and doorbell units.
0024
0025 - fsl,liodn
0026 Usage: optional-but-recommended (for devices with PAMU)
0027 Value type: <prop-encoded-array>
0028 Definition: The logical I/O device number for the PAMU (IOMMU) to be
0029 correctly configured for SRIO accesses. The property should
0030 not exist on devices that do not support PAMU.
0031
0032 The LIODN value is associated with all RMU transactions
0033 (msg-unit, doorbell, port-write).
0034
0035 Sub-Nodes for RMU: The RMU node is composed of multiple sub-nodes that
0036 correspond to the actual sub-controllers in the RMU. The manual for a given
0037 SoC will detail which and how many of these sub-controllers are implemented.
0038
0039 Message Unit:
0040
0041 - compatible
0042 Usage: required
0043 Value type: <string>
0044 Definition: Must include "fsl,srio-msg-unit-vX.Y", "fsl,srio-msg-unit".
0045
0046 The version X.Y should match the general SRIO controller's IP Block
0047 revision register's Major(X) and Minor (Y) value.
0048
0049 - reg
0050 Usage: required
0051 Value type: <prop-encoded-array>
0052 Definition: A standard property. Specifies the physical address and
0053 length of the SRIO configuration registers for message units
0054 and doorbell units.
0055
0056 - interrupts
0057 Usage: required
0058 Value type: <prop_encoded-array>
0059 Definition: Specifies the interrupts generated by this device. The
0060 value of the interrupts property consists of one interrupt
0061 specifier. The format of the specifier is defined by the
0062 binding document describing the node's interrupt parent.
0063
0064 A pair of IRQs are specified in this property. The first
0065 element is associated with the transmit (TX) interrupt and the
0066 second element is associated with the receive (RX) interrupt.
0067
0068 Doorbell Unit:
0069
0070 - compatible
0071 Usage: required
0072 Value type: <string>
0073 Definition: Must include:
0074 "fsl,srio-dbell-unit-vX.Y", "fsl,srio-dbell-unit"
0075
0076 The version X.Y should match the general SRIO controller's IP Block
0077 revision register's Major(X) and Minor (Y) value.
0078
0079 - reg
0080 Usage: required
0081 Value type: <prop-encoded-array>
0082 Definition: A standard property. Specifies the physical address and
0083 length of the SRIO configuration registers for message units
0084 and doorbell units.
0085
0086 - interrupts
0087 Usage: required
0088 Value type: <prop_encoded-array>
0089 Definition: Specifies the interrupts generated by this device. The
0090 value of the interrupts property consists of one interrupt
0091 specifier. The format of the specifier is defined by the
0092 binding document describing the node's interrupt parent.
0093
0094 A pair of IRQs are specified in this property. The first
0095 element is associated with the transmit (TX) interrupt and the
0096 second element is associated with the receive (RX) interrupt.
0097
0098 Port-Write Unit:
0099
0100 - compatible
0101 Usage: required
0102 Value type: <string>
0103 Definition: Must include:
0104 "fsl,srio-port-write-unit-vX.Y", "fsl,srio-port-write-unit"
0105
0106 The version X.Y should match the general SRIO controller's IP Block
0107 revision register's Major(X) and Minor (Y) value.
0108
0109 - reg
0110 Usage: required
0111 Value type: <prop-encoded-array>
0112 Definition: A standard property. Specifies the physical address and
0113 length of the SRIO configuration registers for message units
0114 and doorbell units.
0115
0116 - interrupts
0117 Usage: required
0118 Value type: <prop_encoded-array>
0119 Definition: Specifies the interrupts generated by this device. The
0120 value of the interrupts property consists of one interrupt
0121 specifier. The format of the specifier is defined by the
0122 binding document describing the node's interrupt parent.
0123
0124 A single IRQ that handles port-write conditions is
0125 specified by this property. (Typically shared with error).
0126
0127 Note: All other standard properties (see the Devicetree Specification)
0128 are allowed but are optional.
0129
0130 Example:
0131 rmu: rmu@d3000 {
0132 compatible = "fsl,srio-rmu";
0133 reg = <0xd3000 0x400>;
0134 ranges = <0x0 0xd3000 0x400>;
0135 fsl,liodn = <0xc8>;
0136
0137 message-unit@0 {
0138 compatible = "fsl,srio-msg-unit";
0139 reg = <0x0 0x100>;
0140 interrupts = <
0141 60 2 0 0 /* msg1_tx_irq */
0142 61 2 0 0>;/* msg1_rx_irq */
0143 };
0144 message-unit@100 {
0145 compatible = "fsl,srio-msg-unit";
0146 reg = <0x100 0x100>;
0147 interrupts = <
0148 62 2 0 0 /* msg2_tx_irq */
0149 63 2 0 0>;/* msg2_rx_irq */
0150 };
0151 doorbell-unit@400 {
0152 compatible = "fsl,srio-dbell-unit";
0153 reg = <0x400 0x80>;
0154 interrupts = <
0155 56 2 0 0 /* bell_outb_irq */
0156 57 2 0 0>;/* bell_inb_irq */
0157 };
0158 port-write-unit@4e0 {
0159 compatible = "fsl,srio-port-write-unit";
0160 reg = <0x4e0 0x20>;
0161 interrupts = <16 2 1 11>;
0162 };
0163 };