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 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>; 
 | 
        }; 
 | 
    }; 
 |