191610d83SLiu GangMessage unit node: 291610d83SLiu Gang 391610d83SLiu GangFor SRIO controllers that implement the message unit as part of the controller 491610d83SLiu Gangthis node is required. For devices with RMAN this node should NOT exist. The 591610d83SLiu Gangnode is composed of three types of sub-nodes ("fsl-srio-msg-unit", 691610d83SLiu Gang"fsl-srio-dbell-unit" and "fsl-srio-port-write-unit"). 791610d83SLiu Gang 891610d83SLiu GangSee srio.txt for more details about generic SRIO controller details. 991610d83SLiu Gang 1091610d83SLiu Gang - compatible 1191610d83SLiu Gang Usage: required 1291610d83SLiu Gang Value type: <string> 1391610d83SLiu Gang Definition: Must include "fsl,srio-rmu-vX.Y", "fsl,srio-rmu". 1491610d83SLiu Gang 1591610d83SLiu Gang The version X.Y should match the general SRIO controller's IP Block 1691610d83SLiu Gang revision register's Major(X) and Minor (Y) value. 1791610d83SLiu Gang 1891610d83SLiu Gang - reg 1991610d83SLiu Gang Usage: required 2091610d83SLiu Gang Value type: <prop-encoded-array> 2191610d83SLiu Gang Definition: A standard property. Specifies the physical address and 2291610d83SLiu Gang length of the SRIO configuration registers for message units 2391610d83SLiu Gang and doorbell units. 2491610d83SLiu Gang 2591610d83SLiu Gang - fsl,liodn 2691610d83SLiu Gang Usage: optional-but-recommended (for devices with PAMU) 2791610d83SLiu Gang Value type: <prop-encoded-array> 2891610d83SLiu Gang Definition: The logical I/O device number for the PAMU (IOMMU) to be 2991610d83SLiu Gang correctly configured for SRIO accesses. The property should 3091610d83SLiu Gang not exist on devices that do not support PAMU. 3191610d83SLiu Gang 3291610d83SLiu Gang The LIODN value is associated with all RMU transactions 3391610d83SLiu Gang (msg-unit, doorbell, port-write). 3491610d83SLiu Gang 3591610d83SLiu GangSub-Nodes for RMU: The RMU node is composed of multiple sub-nodes that 3691610d83SLiu Gangcorrespond to the actual sub-controllers in the RMU. The manual for a given 3791610d83SLiu GangSoC will detail which and how many of these sub-controllers are implemented. 3891610d83SLiu Gang 3991610d83SLiu GangMessage Unit: 4091610d83SLiu Gang 4191610d83SLiu Gang - compatible 4291610d83SLiu Gang Usage: required 4391610d83SLiu Gang Value type: <string> 4491610d83SLiu Gang Definition: Must include "fsl,srio-msg-unit-vX.Y", "fsl,srio-msg-unit". 4591610d83SLiu Gang 4691610d83SLiu Gang The version X.Y should match the general SRIO controller's IP Block 4791610d83SLiu Gang revision register's Major(X) and Minor (Y) value. 4891610d83SLiu Gang 4991610d83SLiu Gang - reg 5091610d83SLiu Gang Usage: required 5191610d83SLiu Gang Value type: <prop-encoded-array> 5291610d83SLiu Gang Definition: A standard property. Specifies the physical address and 5391610d83SLiu Gang length of the SRIO configuration registers for message units 5491610d83SLiu Gang and doorbell units. 5591610d83SLiu Gang 5691610d83SLiu Gang - interrupts 5791610d83SLiu Gang Usage: required 5891610d83SLiu Gang Value type: <prop_encoded-array> 5991610d83SLiu Gang Definition: Specifies the interrupts generated by this device. The 6091610d83SLiu Gang value of the interrupts property consists of one interrupt 6191610d83SLiu Gang specifier. The format of the specifier is defined by the 6291610d83SLiu Gang binding document describing the node's interrupt parent. 6391610d83SLiu Gang 6491610d83SLiu Gang A pair of IRQs are specified in this property. The first 6591610d83SLiu Gang element is associated with the transmit (TX) interrupt and the 6691610d83SLiu Gang second element is associated with the receive (RX) interrupt. 6791610d83SLiu Gang 6891610d83SLiu GangDoorbell Unit: 6991610d83SLiu Gang 7091610d83SLiu Gang - compatible 7191610d83SLiu Gang Usage: required 7291610d83SLiu Gang Value type: <string> 7391610d83SLiu Gang Definition: Must include: 7491610d83SLiu Gang "fsl,srio-dbell-unit-vX.Y", "fsl,srio-dbell-unit" 7591610d83SLiu Gang 7691610d83SLiu Gang The version X.Y should match the general SRIO controller's IP Block 7791610d83SLiu Gang revision register's Major(X) and Minor (Y) value. 7891610d83SLiu Gang 7991610d83SLiu Gang - reg 8091610d83SLiu Gang Usage: required 8191610d83SLiu Gang Value type: <prop-encoded-array> 8291610d83SLiu Gang Definition: A standard property. Specifies the physical address and 8391610d83SLiu Gang length of the SRIO configuration registers for message units 8491610d83SLiu Gang and doorbell units. 8591610d83SLiu Gang 8691610d83SLiu Gang - interrupts 8791610d83SLiu Gang Usage: required 8891610d83SLiu Gang Value type: <prop_encoded-array> 8991610d83SLiu Gang Definition: Specifies the interrupts generated by this device. The 9091610d83SLiu Gang value of the interrupts property consists of one interrupt 9191610d83SLiu Gang specifier. The format of the specifier is defined by the 9291610d83SLiu Gang binding document describing the node's interrupt parent. 9391610d83SLiu Gang 9491610d83SLiu Gang A pair of IRQs are specified in this property. The first 9591610d83SLiu Gang element is associated with the transmit (TX) interrupt and the 9691610d83SLiu Gang second element is associated with the receive (RX) interrupt. 9791610d83SLiu Gang 9891610d83SLiu GangPort-Write Unit: 9991610d83SLiu Gang 10091610d83SLiu Gang - compatible 10191610d83SLiu Gang Usage: required 10291610d83SLiu Gang Value type: <string> 10391610d83SLiu Gang Definition: Must include: 10491610d83SLiu Gang "fsl,srio-port-write-unit-vX.Y", "fsl,srio-port-write-unit" 10591610d83SLiu Gang 10691610d83SLiu Gang The version X.Y should match the general SRIO controller's IP Block 10791610d83SLiu Gang revision register's Major(X) and Minor (Y) value. 10891610d83SLiu Gang 10991610d83SLiu Gang - reg 11091610d83SLiu Gang Usage: required 11191610d83SLiu Gang Value type: <prop-encoded-array> 11291610d83SLiu Gang Definition: A standard property. Specifies the physical address and 11391610d83SLiu Gang length of the SRIO configuration registers for message units 11491610d83SLiu Gang and doorbell units. 11591610d83SLiu Gang 11691610d83SLiu Gang - interrupts 11791610d83SLiu Gang Usage: required 11891610d83SLiu Gang Value type: <prop_encoded-array> 11991610d83SLiu Gang Definition: Specifies the interrupts generated by this device. The 12091610d83SLiu Gang value of the interrupts property consists of one interrupt 12191610d83SLiu Gang specifier. The format of the specifier is defined by the 12291610d83SLiu Gang binding document describing the node's interrupt parent. 12391610d83SLiu Gang 12491610d83SLiu Gang A single IRQ that handles port-write conditions is 12591610d83SLiu Gang specified by this property. (Typically shared with error). 12691610d83SLiu Gang 127*076fb0c4SFrank Rowand Note: All other standard properties (see the Devicetree Specification) 128*076fb0c4SFrank Rowand are allowed but are optional. 12991610d83SLiu Gang 13091610d83SLiu GangExample: 13191610d83SLiu Gang rmu: rmu@d3000 { 13291610d83SLiu Gang compatible = "fsl,srio-rmu"; 13391610d83SLiu Gang reg = <0xd3000 0x400>; 13491610d83SLiu Gang ranges = <0x0 0xd3000 0x400>; 13591610d83SLiu Gang fsl,liodn = <0xc8>; 13691610d83SLiu Gang 13791610d83SLiu Gang message-unit@0 { 13891610d83SLiu Gang compatible = "fsl,srio-msg-unit"; 13991610d83SLiu Gang reg = <0x0 0x100>; 14091610d83SLiu Gang interrupts = < 14191610d83SLiu Gang 60 2 0 0 /* msg1_tx_irq */ 14291610d83SLiu Gang 61 2 0 0>;/* msg1_rx_irq */ 14391610d83SLiu Gang }; 14491610d83SLiu Gang message-unit@100 { 14591610d83SLiu Gang compatible = "fsl,srio-msg-unit"; 14691610d83SLiu Gang reg = <0x100 0x100>; 14791610d83SLiu Gang interrupts = < 14891610d83SLiu Gang 62 2 0 0 /* msg2_tx_irq */ 14991610d83SLiu Gang 63 2 0 0>;/* msg2_rx_irq */ 15091610d83SLiu Gang }; 15191610d83SLiu Gang doorbell-unit@400 { 15291610d83SLiu Gang compatible = "fsl,srio-dbell-unit"; 15391610d83SLiu Gang reg = <0x400 0x80>; 15491610d83SLiu Gang interrupts = < 15591610d83SLiu Gang 56 2 0 0 /* bell_outb_irq */ 15691610d83SLiu Gang 57 2 0 0>;/* bell_inb_irq */ 15791610d83SLiu Gang }; 15891610d83SLiu Gang port-write-unit@4e0 { 15991610d83SLiu Gang compatible = "fsl,srio-port-write-unit"; 16091610d83SLiu Gang reg = <0x4e0 0x20>; 16191610d83SLiu Gang interrupts = <16 2 1 11>; 16291610d83SLiu Gang }; 16391610d83SLiu Gang }; 164