Freescale i.MX25 ADC GCQ device

This is a generic conversion queue device that can convert any of the
analog inputs using the ADC unit of the i.MX25.

Required properties:
 - compatible: Should be "fsl,imx25-gcq".
 - reg: Should be the register range of the module.
 - interrupts: Should be the interrupt number of the module.
   Typically this is <1>.
 - #address-cells: Should be <1> (setting for the subnodes)
 - #size-cells: Should be <0> (setting for the subnodes)

Optional properties:
 - vref-ext-supply: The regulator supplying the ADC reference voltage.
   Required when at least one subnode uses the this reference.
 - vref-xp-supply: The regulator supplying the ADC reference voltage on pin XP.
   Required when at least one subnode uses this reference.
 - vref-yp-supply: The regulator supplying the ADC reference voltage on pin YP.
   Required when at least one subnode uses this reference.

Sub-nodes:
Optionally you can define subnodes which define the reference voltage
for the analog inputs.

Required properties for subnodes:
 - reg: Should be the number of the analog input.
     0: xp
     1: yp
     2: xn
     3: yn
     4: wiper
     5: inaux0
     6: inaux1
     7: inaux2
Optional properties for subnodes:
 - fsl,adc-refp: specifies the positive reference input as defined in
     <dt-bindings/iio/adc/fsl-imx25-gcq.h>
 - fsl,adc-refn: specifies the negative reference input as defined in
     <dt-bindings/iio/adc/fsl-imx25-gcq.h>

Example:

	adc: adc@50030800 {
		compatible = "fsl,imx25-gcq";
		reg = <0x50030800 0x60>;
		interrupt-parent = <&tscadc>;
		interrupts = <1>;
		#address-cells = <1>;
		#size-cells = <0>;

		inaux@5 {
			reg = <5>;
			fsl,adc-refp = <MX25_ADC_REFP_INT>;
			fsl,adc-refn = <MX25_ADC_REFN_NGND>;
		};
	};
