* AT91's Analog to Digital Converter (ADC)

Required properties:
  - compatible: Should be "atmel,<chip>-adc"
    <chip> can be "at91sam9260", "at91sam9g45" or "at91sam9x5"
  - reg: Should contain ADC registers location and length
  - interrupts: Should contain the IRQ line for the ADC
  - clock-names: tuple listing input clock names.
	Required elements: "adc_clk", "adc_op_clk".
  - clocks: phandles to input clocks.
  - atmel,adc-channels-used: Bitmask of the channels muxed and enabled for this
    device
  - atmel,adc-startup-time: Startup Time of the ADC in microseconds as
    defined in the datasheet
  - atmel,adc-vref: Reference voltage in millivolts for the conversions
  - atmel,adc-res: List of resolutions in bits supported by the ADC. List size
		   must be two at least.
  - atmel,adc-res-names: Contains one identifier string for each resolution
			 in atmel,adc-res property. "lowres" and "highres"
			 identifiers are required.

Optional properties:
  - atmel,adc-use-external-triggers: Boolean to enable the external triggers
  - atmel,adc-use-res: String corresponding to an identifier from
		       atmel,adc-res-names property. If not specified, the highest
		       resolution will be used.
  - atmel,adc-sleep-mode: Boolean to enable sleep mode when no conversion
  - atmel,adc-sample-hold-time: Sample and Hold Time in microseconds
  - atmel,adc-ts-wires: Number of touchscreen wires. Should be 4 or 5. If this
                        value is set, then the adc driver will enable touchscreen
                        support.
    NOTE: when adc touchscreen is enabled, the adc hardware trigger will be
          disabled. Since touchscreen will occupy the trigger register.
  - atmel,adc-ts-pressure-threshold: a pressure threshold for touchscreen. It
                                     makes touch detection more precise.

Optional trigger Nodes:
  - Required properties:
    * trigger-name: Name of the trigger exposed to the user
    * trigger-value: Value to put in the Trigger register
      to activate this trigger
  - Optional properties:
    * trigger-external: Is the trigger an external trigger?

Examples:
adc0: adc@fffb0000 {
	#address-cells = <1>;
	#size-cells = <0>;
	compatible = "atmel,at91sam9260-adc";
	reg = <0xfffb0000 0x100>;
	interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
	clocks = <&adc_clk>, <&adc_op_clk>;
	clock-names = "adc_clk", "adc_op_clk";
	atmel,adc-channels-used = <0xff>;
	atmel,adc-startup-time = <40>;
	atmel,adc-use-external-triggers;
	atmel,adc-vref = <3300>;
	atmel,adc-res = <8 10>;
	atmel,adc-res-names = "lowres", "highres";
	atmel,adc-use-res = "lowres";

	trigger@0 {
		reg = <0>;
		trigger-name = "external-rising";
		trigger-value = <0x1>;
		trigger-external;
	};
	trigger@1 {
		reg = <1>;
		trigger-name = "external-falling";
		trigger-value = <0x2>;
		trigger-external;
	};

	trigger@2 {
		reg = <2>;
		trigger-name = "external-any";
		trigger-value = <0x3>;
		trigger-external;
	};

	trigger@3 {
		reg = <3>;
		trigger-name = "continuous";
		trigger-value = <0x6>;
	};
};
