162306a36Sopenharmony_ci* Freescale Serial RapidIO (SRIO) Controller 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciRapidIO port node: 462306a36Sopenharmony_ciProperties: 562306a36Sopenharmony_ci - compatible 662306a36Sopenharmony_ci Usage: required 762306a36Sopenharmony_ci Value type: <string> 862306a36Sopenharmony_ci Definition: Must include "fsl,srio" for IP blocks with IP Block 962306a36Sopenharmony_ci Revision Register (SRIO IPBRR1) Major ID equal to 0x01c0. 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci Optionally, a compatible string of "fsl,srio-vX.Y" where X is Major 1262306a36Sopenharmony_ci version in IP Block Revision Register and Y is Minor version. If this 1362306a36Sopenharmony_ci compatible is provided it should be ordered before "fsl,srio". 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci - reg 1662306a36Sopenharmony_ci Usage: required 1762306a36Sopenharmony_ci Value type: <prop-encoded-array> 1862306a36Sopenharmony_ci Definition: A standard property. Specifies the physical address and 1962306a36Sopenharmony_ci length of the SRIO configuration registers. The size should 2062306a36Sopenharmony_ci be set to 0x11000. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci - interrupts 2362306a36Sopenharmony_ci Usage: required 2462306a36Sopenharmony_ci Value type: <prop_encoded-array> 2562306a36Sopenharmony_ci Definition: Specifies the interrupts generated by this device. The 2662306a36Sopenharmony_ci value of the interrupts property consists of one interrupt 2762306a36Sopenharmony_ci specifier. The format of the specifier is defined by the 2862306a36Sopenharmony_ci binding document describing the node's interrupt parent. 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci A single IRQ that handles error conditions is specified by this 3162306a36Sopenharmony_ci property. (Typically shared with port-write). 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci - fsl,srio-rmu-handle: 3462306a36Sopenharmony_ci Usage: required if rmu node is defined 3562306a36Sopenharmony_ci Value type: <phandle> 3662306a36Sopenharmony_ci Definition: A single <phandle> value that points to the RMU. 3762306a36Sopenharmony_ci (See srio-rmu.txt for more details on RMU node binding) 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciPort Child Nodes: There should a port child node for each port that exists in 4062306a36Sopenharmony_cithe controller. The ports are numbered starting at one (1) and should have 4162306a36Sopenharmony_cithe following properties: 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci - cell-index 4462306a36Sopenharmony_ci Usage: required 4562306a36Sopenharmony_ci Value type: <u32> 4662306a36Sopenharmony_ci Definition: A standard property. Matches the port id. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci - ranges 4962306a36Sopenharmony_ci Usage: required if local access windows preset 5062306a36Sopenharmony_ci Value type: <prop-encoded-array> 5162306a36Sopenharmony_ci Definition: A standard property. Utilized to describe the memory mapped 5262306a36Sopenharmony_ci IO space utilized by the controller. This corresponds to the 5362306a36Sopenharmony_ci setting of the local access windows that are targeted to this 5462306a36Sopenharmony_ci SRIO port. 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci - fsl,liodn 5762306a36Sopenharmony_ci Usage: optional-but-recommended (for devices with PAMU) 5862306a36Sopenharmony_ci Value type: <prop-encoded-array> 5962306a36Sopenharmony_ci Definition: The logical I/O device number for the PAMU (IOMMU) to be 6062306a36Sopenharmony_ci correctly configured for SRIO accesses. The property should 6162306a36Sopenharmony_ci not exist on devices that do not support PAMU. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci For HW (ie, the P4080) that only supports a LIODN for both 6462306a36Sopenharmony_ci memory and maintenance transactions then a single LIODN is 6562306a36Sopenharmony_ci represented in the property for both transactions. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci For HW (ie, the P304x/P5020, etc) that supports an LIODN for 6862306a36Sopenharmony_ci memory transactions and a unique LIODN for maintenance 6962306a36Sopenharmony_ci transactions then a pair of LIODNs are represented in the 7062306a36Sopenharmony_ci property. Within the pair, the first element represents the 7162306a36Sopenharmony_ci LIODN associated with memory transactions and the second element 7262306a36Sopenharmony_ci represents the LIODN associated with maintenance transactions 7362306a36Sopenharmony_ci for the port. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ciNote: All other standard properties (see the Devicetree Specification) 7662306a36Sopenharmony_ciare allowed but are optional. 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciExample: 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci rapidio: rapidio@ffe0c0000 { 8162306a36Sopenharmony_ci #address-cells = <2>; 8262306a36Sopenharmony_ci #size-cells = <2>; 8362306a36Sopenharmony_ci reg = <0xf 0xfe0c0000 0 0x11000>; 8462306a36Sopenharmony_ci compatible = "fsl,srio"; 8562306a36Sopenharmony_ci interrupts = <16 2 1 11>; /* err_irq */ 8662306a36Sopenharmony_ci fsl,srio-rmu-handle = <&rmu>; 8762306a36Sopenharmony_ci ranges; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci port1 { 9062306a36Sopenharmony_ci cell-index = <1>; 9162306a36Sopenharmony_ci #address-cells = <2>; 9262306a36Sopenharmony_ci #size-cells = <2>; 9362306a36Sopenharmony_ci fsl,liodn = <34>; 9462306a36Sopenharmony_ci ranges = <0 0 0xc 0x20000000 0 0x10000000>; 9562306a36Sopenharmony_ci }; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci port2 { 9862306a36Sopenharmony_ci cell-index = <2>; 9962306a36Sopenharmony_ci #address-cells = <2>; 10062306a36Sopenharmony_ci #size-cells = <2>; 10162306a36Sopenharmony_ci fsl,liodn = <48>; 10262306a36Sopenharmony_ci ranges = <0 0 0xc 0x30000000 0 0x10000000>; 10362306a36Sopenharmony_ci }; 10462306a36Sopenharmony_ci }; 105