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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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 Devicetree Specification) 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>; }; };