linux/Documentation/devicetree/bindings/powerpc/fsl/srio-rmu.txt
<<
>>
Prefs
   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 ePAPR) are allowed
 128   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