* Freescale QUICC Engine module (QE)
This represents qe module that is installed on PowerQUICC II Pro.

NOTE:  This is an interim binding; it should be updated to fit
in with the CPM binding later in this document.

Basically, it is a bus of devices, that could act more or less
as a complete entity (UCC, USB etc ). All of them should be siblings on
the "root" qe node, using the common properties from there.
The description below applies to the qe of MPC8360 and
more nodes and properties would be extended in the future.

i) Root QE device

Required properties:
- compatible : should be "fsl,qe";
- model : precise model of the QE, Can be "QE", "CPM", or "CPM2"
- reg : offset and length of the device registers.
- bus-frequency : the clock frequency for QUICC Engine.
- fsl,qe-num-riscs: define how many RISC engines the QE has.
- fsl,qe-num-snums: define how many serial number(SNUM) the QE can use for the
  threads.

Optional properties:
- fsl,firmware-phandle:
    Usage: required only if there is no fsl,qe-firmware child node
    Value type: <phandle>
    Definition: Points to a firmware node (see "QE Firmware Node" below)
        that contains the firmware that should be uploaded for this QE.
        The compatible property for the firmware node should say,
        "fsl,qe-firmware".

Recommended properties
- brg-frequency : the internal clock source frequency for baud-rate
  generators in Hz.

Example:
     qe@e0100000 {
	#address-cells = <1>;
	#size-cells = <1>;
	#interrupt-cells = <2>;
	compatible = "fsl,qe";
	ranges = <0 e0100000 00100000>;
	reg = <e0100000 480>;
	brg-frequency = <0>;
	bus-frequency = <179A7B00>;
     }

* Multi-User RAM (MURAM)

Required properties:
- compatible : should be "fsl,qe-muram", "fsl,cpm-muram".
- mode : the could be "host" or "slave".
- ranges : Should be defined as specified in 1) to describe the
   translation of MURAM addresses.
- data-only : sub-node which defines the address area under MURAM
   bus that can be allocated as data/parameter

Example:

     muram@10000 {
	compatible = "fsl,qe-muram", "fsl,cpm-muram";
	ranges = <0 00010000 0000c000>;

	data-only@0{
		compatible = "fsl,qe-muram-data",
			     "fsl,cpm-muram-data";
		reg = <0 c000>;
	};
     };

* QE Firmware Node

This node defines a firmware binary that is embedded in the device tree, for
the purpose of passing the firmware from bootloader to the kernel, or from
the hypervisor to the guest.

The firmware node itself contains the firmware binary contents, a compatible
property, and any firmware-specific properties.  The node should be placed
inside a QE node that needs it.  Doing so eliminates the need for a
fsl,firmware-phandle property.  Other QE nodes that need the same firmware
should define an fsl,firmware-phandle property that points to the firmware node
in the first QE node.

The fsl,firmware property can be specified in the DTS (possibly using incbin)
or can be inserted by the boot loader at boot time.

Required properties:
  - compatible
      Usage: required
      Value type: <string>
      Definition: A standard property.  Specify a string that indicates what
          kind of firmware it is.  For QE, this should be "fsl,qe-firmware".

   - fsl,firmware
      Usage: required
      Value type: <prop-encoded-array>, encoded as an array of bytes
      Definition: A standard property.  This property contains the firmware
          binary "blob".

Example:
	qe1@e0080000 {
		compatible = "fsl,qe";
		qe_firmware:qe-firmware {
			compatible = "fsl,qe-firmware";
			fsl,firmware = [0x70 0xcd 0x00 0x00 0x01 0x46 0x45 ...];
		};
		...
	};

	qe2@e0090000 {
		compatible = "fsl,qe";
		fsl,firmware-phandle = <&qe_firmware>;
		...
	};
