Atmel touch controller

Required properties:

 - compatible	: should be "atmel,maxtouch-ts"
 - reg			: i2c slave address of the device
 - interrupt-parent	: parent of interrupt
 - interrupts		: touch sample interrupt to indicate presense or release
				of fingers on the panel.
 - atmel,panel-coords	: touch panel minimum x, minimum y, maximum x and
				maximum y resolution
 - atmel,display-coords : LCD display minimum x, minimum y, maximum x and
				maximum y resolution
 - vdd-supply		: digital power supply. It powers up the digital
			block of the controller to enable i2c communication.
 - avdd-supply		: analog Power supply. It powers up the analog
			channel block of the controller to detect the touches.
 - atmel,irq-gpio	: irq gpio
 - atmel,reset-gpio	: reset gpio

Optional property:
 - atmel,cfg-name	: Configuration file name with file extension as "raw".
			Default value maxtouch_generic_cfg.raw.
 - atmel,ignore-crc	: Boolean flag to ignore cyclic redundancy check (CRC) on
			configuration
 - xvdd-supply		: x-line drive voltage supply. It is used for charging
			the capacitors on the touch panel.
 - atmel,bl-addr	: bootloader address, by default is looked up
				in mxt_slave_addresses structure
 - atmel,key-codes	: key codes corresponding to keyarray object
 - atmel,i2cmode-gpio	: i2cmode gpio. This pin is used for selecting the i2c communication mode.
			Pull the line low for HID and high for STANDARD i2c.
 - pinctrl-names	: This should be defined if a target uses pinctrl framework.
			See "pinctrl" in Documentation/devicetree/bindings/pinctrl/msm-pinctrl.txt.
			It should specify the names of the configs that pinctrl can install in driver.
			Following are the pinctrl configs that can be installed:
			"pmx_ts_active" : Active configuration of pins, this should specify active
			config defined in pin groups of interrupt, i2cmode and reset gpio.
			"pmx_ts_suspend" : Disabled configuration of pins, this should specify sleep
			config defined in pin groups of interrupt, i2cmode and reset gpio.
 - clocks		: specify the clocks associated with the underlying bus when secure touch
			is enabled.
			This property is required only if secure touch is enabled and used with
			this driver.
 - clock-names:		: clock names used for secure touch. The names are:
			"iface_clk", "core_clk".

Optional sub-child properties:
The sub-child properties are used to identify different firmware versions supported.
- atmel,version		: Firmware version of the controller
- atmel,build		: Firmware build of the controller
- atmel,fw-name		: Firmware file name for the next upgrade. Do not specify this
			when the firmware version is latest.

Example:
	i2c@f9966000 {
		atmel_maxtouch_ts@4a {
			compatible = "atmel,maxtouch-ts";
			reg = <0x4a>
			interrupt-parent = <&msmgpio>
			interrupts = <48 0x0>;
			vdd-supply = <&pm8941_l18>;
			avdd-supply = <&pm8941_lvs1>;
			xvdd-supply = <&pm8941_s4>;
			atmel,panel-coords = <0 0 479 799>;
			atmel,display-coords = <0 0 479 799>;
			atmel,irq-gpio = <&msmgpio 48 0>;
			atmel,reset-gpio = <&msmgpio 26 0>;
			atmel,i2cmode-gpio = <&msmgpio 27 0>;
			atmel,ignore-crc;
			pinctrl-names = "pmx_ts_active","pmx_ts_suspend";
			pinctrl-0 = <&ts_int_active &ts_reset_active &ts_i2cmode_active>;
			pinctrl-1 = <&ts_int_suspend &ts_reset_suspend &ts_i2cmode_suspend>;
			/* Underlying clocks used by secure touch */
			clock-names = "iface_clk", "core_clk";
			clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>,
				 <&clock_gcc clk_gcc_blsp1_qup2_i2c_apps_clk>;
			atmel,cfg-name = "maxtouch_8994_liquid_cfg.raw";
			atmel,cfg_1 {
				atmel,version = <0x10>;
				atmel,build = <0xaa>;
				atmel,fw-name = "maxtouch_8994_liquid_v1_1_AB.fw";
			};
		};
	};
