|
@@ -0,0 +1,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>;
|
|
|
+ };
|
|
|
+ };
|