1*4882a593SmuzhiyunMessage unit node: 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunFor SRIO controllers that implement the message unit as part of the controller 4*4882a593Smuzhiyunthis node is required. For devices with RMAN this node should NOT exist. The 5*4882a593Smuzhiyunnode is composed of three types of sub-nodes ("fsl-srio-msg-unit", 6*4882a593Smuzhiyun"fsl-srio-dbell-unit" and "fsl-srio-port-write-unit"). 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunSee srio.txt for more details about generic SRIO controller details. 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun - compatible 11*4882a593Smuzhiyun Usage: required 12*4882a593Smuzhiyun Value type: <string> 13*4882a593Smuzhiyun Definition: Must include "fsl,srio-rmu-vX.Y", "fsl,srio-rmu". 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun The version X.Y should match the general SRIO controller's IP Block 16*4882a593Smuzhiyun revision register's Major(X) and Minor (Y) value. 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun - reg 19*4882a593Smuzhiyun Usage: required 20*4882a593Smuzhiyun Value type: <prop-encoded-array> 21*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address and 22*4882a593Smuzhiyun length of the SRIO configuration registers for message units 23*4882a593Smuzhiyun and doorbell units. 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun - fsl,liodn 26*4882a593Smuzhiyun Usage: optional-but-recommended (for devices with PAMU) 27*4882a593Smuzhiyun Value type: <prop-encoded-array> 28*4882a593Smuzhiyun Definition: The logical I/O device number for the PAMU (IOMMU) to be 29*4882a593Smuzhiyun correctly configured for SRIO accesses. The property should 30*4882a593Smuzhiyun not exist on devices that do not support PAMU. 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun The LIODN value is associated with all RMU transactions 33*4882a593Smuzhiyun (msg-unit, doorbell, port-write). 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunSub-Nodes for RMU: The RMU node is composed of multiple sub-nodes that 36*4882a593Smuzhiyuncorrespond to the actual sub-controllers in the RMU. The manual for a given 37*4882a593SmuzhiyunSoC will detail which and how many of these sub-controllers are implemented. 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunMessage Unit: 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun - compatible 42*4882a593Smuzhiyun Usage: required 43*4882a593Smuzhiyun Value type: <string> 44*4882a593Smuzhiyun Definition: Must include "fsl,srio-msg-unit-vX.Y", "fsl,srio-msg-unit". 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun The version X.Y should match the general SRIO controller's IP Block 47*4882a593Smuzhiyun revision register's Major(X) and Minor (Y) value. 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun - reg 50*4882a593Smuzhiyun Usage: required 51*4882a593Smuzhiyun Value type: <prop-encoded-array> 52*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address and 53*4882a593Smuzhiyun length of the SRIO configuration registers for message units 54*4882a593Smuzhiyun and doorbell units. 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun - interrupts 57*4882a593Smuzhiyun Usage: required 58*4882a593Smuzhiyun Value type: <prop_encoded-array> 59*4882a593Smuzhiyun Definition: Specifies the interrupts generated by this device. The 60*4882a593Smuzhiyun value of the interrupts property consists of one interrupt 61*4882a593Smuzhiyun specifier. The format of the specifier is defined by the 62*4882a593Smuzhiyun binding document describing the node's interrupt parent. 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun A pair of IRQs are specified in this property. The first 65*4882a593Smuzhiyun element is associated with the transmit (TX) interrupt and the 66*4882a593Smuzhiyun second element is associated with the receive (RX) interrupt. 67*4882a593Smuzhiyun 68*4882a593SmuzhiyunDoorbell Unit: 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun - compatible 71*4882a593Smuzhiyun Usage: required 72*4882a593Smuzhiyun Value type: <string> 73*4882a593Smuzhiyun Definition: Must include: 74*4882a593Smuzhiyun "fsl,srio-dbell-unit-vX.Y", "fsl,srio-dbell-unit" 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun The version X.Y should match the general SRIO controller's IP Block 77*4882a593Smuzhiyun revision register's Major(X) and Minor (Y) value. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun - reg 80*4882a593Smuzhiyun Usage: required 81*4882a593Smuzhiyun Value type: <prop-encoded-array> 82*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address and 83*4882a593Smuzhiyun length of the SRIO configuration registers for message units 84*4882a593Smuzhiyun and doorbell units. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun - interrupts 87*4882a593Smuzhiyun Usage: required 88*4882a593Smuzhiyun Value type: <prop_encoded-array> 89*4882a593Smuzhiyun Definition: Specifies the interrupts generated by this device. The 90*4882a593Smuzhiyun value of the interrupts property consists of one interrupt 91*4882a593Smuzhiyun specifier. The format of the specifier is defined by the 92*4882a593Smuzhiyun binding document describing the node's interrupt parent. 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun A pair of IRQs are specified in this property. The first 95*4882a593Smuzhiyun element is associated with the transmit (TX) interrupt and the 96*4882a593Smuzhiyun second element is associated with the receive (RX) interrupt. 97*4882a593Smuzhiyun 98*4882a593SmuzhiyunPort-Write Unit: 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun - compatible 101*4882a593Smuzhiyun Usage: required 102*4882a593Smuzhiyun Value type: <string> 103*4882a593Smuzhiyun Definition: Must include: 104*4882a593Smuzhiyun "fsl,srio-port-write-unit-vX.Y", "fsl,srio-port-write-unit" 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun The version X.Y should match the general SRIO controller's IP Block 107*4882a593Smuzhiyun revision register's Major(X) and Minor (Y) value. 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun - reg 110*4882a593Smuzhiyun Usage: required 111*4882a593Smuzhiyun Value type: <prop-encoded-array> 112*4882a593Smuzhiyun Definition: A standard property. Specifies the physical address and 113*4882a593Smuzhiyun length of the SRIO configuration registers for message units 114*4882a593Smuzhiyun and doorbell units. 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun - interrupts 117*4882a593Smuzhiyun Usage: required 118*4882a593Smuzhiyun Value type: <prop_encoded-array> 119*4882a593Smuzhiyun Definition: Specifies the interrupts generated by this device. The 120*4882a593Smuzhiyun value of the interrupts property consists of one interrupt 121*4882a593Smuzhiyun specifier. The format of the specifier is defined by the 122*4882a593Smuzhiyun binding document describing the node's interrupt parent. 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun A single IRQ that handles port-write conditions is 125*4882a593Smuzhiyun specified by this property. (Typically shared with error). 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun Note: All other standard properties (see the Devicetree Specification) 128*4882a593Smuzhiyun are allowed but are optional. 129*4882a593Smuzhiyun 130*4882a593SmuzhiyunExample: 131*4882a593Smuzhiyun rmu: rmu@d3000 { 132*4882a593Smuzhiyun compatible = "fsl,srio-rmu"; 133*4882a593Smuzhiyun reg = <0xd3000 0x400>; 134*4882a593Smuzhiyun ranges = <0x0 0xd3000 0x400>; 135*4882a593Smuzhiyun fsl,liodn = <0xc8>; 136*4882a593Smuzhiyun 137*4882a593Smuzhiyun message-unit@0 { 138*4882a593Smuzhiyun compatible = "fsl,srio-msg-unit"; 139*4882a593Smuzhiyun reg = <0x0 0x100>; 140*4882a593Smuzhiyun interrupts = < 141*4882a593Smuzhiyun 60 2 0 0 /* msg1_tx_irq */ 142*4882a593Smuzhiyun 61 2 0 0>;/* msg1_rx_irq */ 143*4882a593Smuzhiyun }; 144*4882a593Smuzhiyun message-unit@100 { 145*4882a593Smuzhiyun compatible = "fsl,srio-msg-unit"; 146*4882a593Smuzhiyun reg = <0x100 0x100>; 147*4882a593Smuzhiyun interrupts = < 148*4882a593Smuzhiyun 62 2 0 0 /* msg2_tx_irq */ 149*4882a593Smuzhiyun 63 2 0 0>;/* msg2_rx_irq */ 150*4882a593Smuzhiyun }; 151*4882a593Smuzhiyun doorbell-unit@400 { 152*4882a593Smuzhiyun compatible = "fsl,srio-dbell-unit"; 153*4882a593Smuzhiyun reg = <0x400 0x80>; 154*4882a593Smuzhiyun interrupts = < 155*4882a593Smuzhiyun 56 2 0 0 /* bell_outb_irq */ 156*4882a593Smuzhiyun 57 2 0 0>;/* bell_inb_irq */ 157*4882a593Smuzhiyun }; 158*4882a593Smuzhiyun port-write-unit@4e0 { 159*4882a593Smuzhiyun compatible = "fsl,srio-port-write-unit"; 160*4882a593Smuzhiyun reg = <0x4e0 0x20>; 161*4882a593Smuzhiyun interrupts = <16 2 1 11>; 162*4882a593Smuzhiyun }; 163*4882a593Smuzhiyun }; 164