Back to home page

OSCL-LXR

 
 

    


0001 * Freescale Serial RapidIO (SRIO) Controller
0002 
0003 RapidIO port node:
0004 Properties:
0005    - compatible
0006         Usage: required
0007         Value type: <string>
0008         Definition: Must include "fsl,srio" for IP blocks with IP Block
0009         Revision Register (SRIO IPBRR1) Major ID equal to 0x01c0.
0010 
0011         Optionally, a compatible string of "fsl,srio-vX.Y" where X is Major
0012         version in IP Block Revision Register and Y is Minor version.  If this
0013         compatible is provided it should be ordered before "fsl,srio".
0014 
0015    - reg
0016         Usage: required
0017         Value type: <prop-encoded-array>
0018         Definition: A standard property.  Specifies the physical address and
0019                 length of the SRIO configuration registers.  The size should
0020                 be set to 0x11000.
0021 
0022    - interrupts
0023         Usage: required
0024         Value type: <prop_encoded-array>
0025         Definition:  Specifies the interrupts generated by this device.  The
0026                 value of the interrupts property consists of one interrupt
0027                 specifier. The format of the specifier is defined by the
0028                 binding document describing the node's interrupt parent.
0029 
0030                 A single IRQ that handles error conditions is specified by this
0031                 property.  (Typically shared with port-write).
0032 
0033    - fsl,srio-rmu-handle:
0034         Usage: required if rmu node is defined
0035         Value type: <phandle>
0036         Definition: A single <phandle> value that points to the RMU.
0037         (See srio-rmu.txt for more details on RMU node binding)
0038 
0039 Port Child Nodes:  There should a port child node for each port that exists in
0040 the controller.  The ports are numbered starting at one (1) and should have
0041 the following properties:
0042 
0043    - cell-index
0044         Usage: required
0045         Value type: <u32>
0046         Definition: A standard property.  Matches the port id.
0047 
0048    - ranges
0049         Usage: required if local access windows preset
0050         Value type: <prop-encoded-array>
0051         Definition: A standard property. Utilized to describe the memory mapped
0052                 IO space utilized by the controller.  This corresponds to the
0053                 setting of the local access windows that are targeted to this
0054                 SRIO port.
0055 
0056    - fsl,liodn
0057         Usage: optional-but-recommended (for devices with PAMU)
0058         Value type: <prop-encoded-array>
0059         Definition: The logical I/O device number for the PAMU (IOMMU) to be
0060                 correctly configured for SRIO accesses.  The property should
0061                 not exist on devices that do not support PAMU.
0062 
0063                 For HW (ie, the P4080) that only supports a LIODN for both
0064                 memory and maintenance transactions then a single LIODN is
0065                 represented in the property for both transactions.
0066 
0067                 For HW (ie, the P304x/P5020, etc) that supports an LIODN for
0068                 memory transactions and a unique LIODN for maintenance
0069                 transactions then a pair of LIODNs are represented in the
0070                 property.  Within the pair, the first element represents the
0071                 LIODN associated with memory transactions and the second element
0072                 represents the LIODN associated with maintenance transactions
0073                 for the port.
0074 
0075 Note: All other standard properties (see the Devicetree Specification)
0076 are allowed but are optional.
0077 
0078 Example:
0079 
0080         rapidio: rapidio@ffe0c0000 {
0081                 #address-cells = <2>;
0082                 #size-cells = <2>;
0083                 reg = <0xf 0xfe0c0000 0 0x11000>;
0084                 compatible = "fsl,srio";
0085                 interrupts = <16 2 1 11>; /* err_irq */
0086                 fsl,srio-rmu-handle = <&rmu>;
0087                 ranges;
0088 
0089                 port1 {
0090                         cell-index = <1>;
0091                         #address-cells = <2>;
0092                         #size-cells = <2>;
0093                         fsl,liodn = <34>;
0094                         ranges = <0 0 0xc 0x20000000 0 0x10000000>;
0095                 };
0096 
0097                 port2 {
0098                         cell-index = <2>;
0099                         #address-cells = <2>;
0100                         #size-cells = <2>;
0101                         fsl,liodn = <48>;
0102                         ranges = <0 0 0xc 0x30000000 0 0x10000000>;
0103                 };
0104         };