18c2ecf20Sopenharmony_ci* Freescale Serial RapidIO (SRIO) Controller
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRapidIO port node:
48c2ecf20Sopenharmony_ciProperties:
58c2ecf20Sopenharmony_ci   - compatible
68c2ecf20Sopenharmony_ci	Usage: required
78c2ecf20Sopenharmony_ci	Value type: <string>
88c2ecf20Sopenharmony_ci	Definition: Must include "fsl,srio" for IP blocks with IP Block
98c2ecf20Sopenharmony_ci	Revision Register (SRIO IPBRR1) Major ID equal to 0x01c0.
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci	Optionally, a compatible string of "fsl,srio-vX.Y" where X is Major
128c2ecf20Sopenharmony_ci	version in IP Block Revision Register and Y is Minor version.  If this
138c2ecf20Sopenharmony_ci	compatible is provided it should be ordered before "fsl,srio".
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci   - reg
168c2ecf20Sopenharmony_ci	Usage: required
178c2ecf20Sopenharmony_ci	Value type: <prop-encoded-array>
188c2ecf20Sopenharmony_ci	Definition: A standard property.  Specifies the physical address and
198c2ecf20Sopenharmony_ci		length of the SRIO configuration registers.  The size should
208c2ecf20Sopenharmony_ci		be set to 0x11000.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci   - interrupts
238c2ecf20Sopenharmony_ci	Usage: required
248c2ecf20Sopenharmony_ci	Value type: <prop_encoded-array>
258c2ecf20Sopenharmony_ci	Definition:  Specifies the interrupts generated by this device.  The
268c2ecf20Sopenharmony_ci		value of the interrupts property consists of one interrupt
278c2ecf20Sopenharmony_ci		specifier. The format of the specifier is defined by the
288c2ecf20Sopenharmony_ci		binding document describing the node's interrupt parent.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci		A single IRQ that handles error conditions is specified by this
318c2ecf20Sopenharmony_ci		property.  (Typically shared with port-write).
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci   - fsl,srio-rmu-handle:
348c2ecf20Sopenharmony_ci	Usage: required if rmu node is defined
358c2ecf20Sopenharmony_ci	Value type: <phandle>
368c2ecf20Sopenharmony_ci	Definition: A single <phandle> value that points to the RMU.
378c2ecf20Sopenharmony_ci	(See srio-rmu.txt for more details on RMU node binding)
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ciPort Child Nodes:  There should a port child node for each port that exists in
408c2ecf20Sopenharmony_cithe controller.  The ports are numbered starting at one (1) and should have
418c2ecf20Sopenharmony_cithe following properties:
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci   - cell-index
448c2ecf20Sopenharmony_ci	Usage: required
458c2ecf20Sopenharmony_ci	Value type: <u32>
468c2ecf20Sopenharmony_ci	Definition: A standard property.  Matches the port id.
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci   - ranges
498c2ecf20Sopenharmony_ci	Usage: required if local access windows preset
508c2ecf20Sopenharmony_ci	Value type: <prop-encoded-array>
518c2ecf20Sopenharmony_ci	Definition: A standard property. Utilized to describe the memory mapped
528c2ecf20Sopenharmony_ci		IO space utilized by the controller.  This corresponds to the
538c2ecf20Sopenharmony_ci		setting of the local access windows that are targeted to this
548c2ecf20Sopenharmony_ci		SRIO port.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci   - fsl,liodn
578c2ecf20Sopenharmony_ci	Usage: optional-but-recommended (for devices with PAMU)
588c2ecf20Sopenharmony_ci	Value type: <prop-encoded-array>
598c2ecf20Sopenharmony_ci	Definition: The logical I/O device number for the PAMU (IOMMU) to be
608c2ecf20Sopenharmony_ci		correctly configured for SRIO accesses.  The property should
618c2ecf20Sopenharmony_ci		not exist on devices that do not support PAMU.
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci		For HW (ie, the P4080) that only supports a LIODN for both
648c2ecf20Sopenharmony_ci		memory and maintenance transactions then a single LIODN is
658c2ecf20Sopenharmony_ci		represented in the property for both transactions.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci		For HW (ie, the P304x/P5020, etc) that supports an LIODN for
688c2ecf20Sopenharmony_ci		memory transactions and a unique LIODN for maintenance
698c2ecf20Sopenharmony_ci		transactions then a pair of LIODNs are represented in the
708c2ecf20Sopenharmony_ci		property.  Within the pair, the first element represents the
718c2ecf20Sopenharmony_ci		LIODN associated with memory transactions and the second element
728c2ecf20Sopenharmony_ci		represents the LIODN associated with maintenance transactions
738c2ecf20Sopenharmony_ci		for the port.
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ciNote: All other standard properties (see the Devicetree Specification)
768c2ecf20Sopenharmony_ciare allowed but are optional.
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ciExample:
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci	rapidio: rapidio@ffe0c0000 {
818c2ecf20Sopenharmony_ci		#address-cells = <2>;
828c2ecf20Sopenharmony_ci		#size-cells = <2>;
838c2ecf20Sopenharmony_ci		reg = <0xf 0xfe0c0000 0 0x11000>;
848c2ecf20Sopenharmony_ci		compatible = "fsl,srio";
858c2ecf20Sopenharmony_ci		interrupts = <16 2 1 11>; /* err_irq */
868c2ecf20Sopenharmony_ci		fsl,srio-rmu-handle = <&rmu>;
878c2ecf20Sopenharmony_ci		ranges;
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci		port1 {
908c2ecf20Sopenharmony_ci			cell-index = <1>;
918c2ecf20Sopenharmony_ci			#address-cells = <2>;
928c2ecf20Sopenharmony_ci			#size-cells = <2>;
938c2ecf20Sopenharmony_ci			fsl,liodn = <34>;
948c2ecf20Sopenharmony_ci			ranges = <0 0 0xc 0x20000000 0 0x10000000>;
958c2ecf20Sopenharmony_ci		};
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci		port2 {
988c2ecf20Sopenharmony_ci			cell-index = <2>;
998c2ecf20Sopenharmony_ci			#address-cells = <2>;
1008c2ecf20Sopenharmony_ci			#size-cells = <2>;
1018c2ecf20Sopenharmony_ci			fsl,liodn = <48>;
1028c2ecf20Sopenharmony_ci			ranges = <0 0 0xc 0x30000000 0 0x10000000>;
1038c2ecf20Sopenharmony_ci		};
1048c2ecf20Sopenharmony_ci	};
105