* Freescale 85xx RAID Engine nodes

RAID Engine nodes are defined to describe on-chip RAID accelerators.  Each RAID
Engine should have a separate node.

Supported chips:
P5020, P5040

Required properties:

- compatible:	Should contain "fsl,raideng-v1.0" as the value
		This identifies RAID Engine block. 1 in 1.0 represents
		major number whereas 0 represents minor number. The
		version matches the hardware IP version.
- reg:		offset and length of the register set for the device
- ranges:	standard ranges property specifying the translation
		between child address space and parent address space

Example:
	/* P5020 */
	raideng: raideng@320000 {
		compatible = "fsl,raideng-v1.0";
		#address-cells = <1>;
		#size-cells = <1>;
		reg	= <0x320000 0x10000>;
		ranges	= <0 0x320000 0x10000>;
	};


There must be a sub-node for each job queue present in RAID Engine
This node must be a sub-node of the main RAID Engine node

- compatible:	Should contain "fsl,raideng-v1.0-job-queue" as the value
		This identifies the job queue interface
- reg:		offset and length of the register set for job queue
- ranges:	standard ranges property specifying the translation
		between child address space and parent address space

Example:
	/* P5020 */
	raideng_jq0@1000 {
		compatible = "fsl,raideng-v1.0-job-queue";
		reg	   = <0x1000 0x1000>;
		ranges	   = <0x0 0x1000 0x1000>;
	};


There must be a sub-node for each job ring present in RAID Engine
This node must be a sub-node of job queue node

- compatible:	Must contain "fsl,raideng-v1.0-job-ring" as the value
		This identifies job ring. Should contain either
		"fsl,raideng-v1.0-hp-ring" or "fsl,raideng-v1.0-lp-ring"
		depending upon whether ring has high or low priority
- reg:		offset and length of the register set for job ring
- interrupts:	interrupt mapping for job ring IRQ

Optional property:

- fsl,liodn:	Specifies the LIODN to be used for Job Ring. This
		property is normally set by firmware. Value
		is of 12-bits which is the LIODN number for this JR.
		This property is used by the IOMMU (PAMU) to distinquish
		transactions from this JR and than be able to do address
		translation & protection accordingly.

Example:
	/* P5020 */
	raideng_jq0@1000 {
		compatible = "fsl,raideng-v1.0-job-queue";
		reg	   = <0x1000 0x1000>;
		ranges	   = <0x0 0x1000 0x1000>;

		raideng_jr0: jr@0 {
			compatible = "fsl,raideng-v1.0-job-ring", "fsl,raideng-v1.0-hp-ring";
			reg	   = <0x0 0x400>;
			interrupts = <139 2 0 0>;
			interrupt-parent = <&mpic>;
			fsl,liodn = <0x41>;
		};
	};
