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