FocalTech touch controller

The focaltech controller is connected to host processor via i2c.
The controller generates interrupts when the user touches the panel.
The host controller is expected to read the touch coordinates over
i2c and pass the coordinates to the rest of the system.

Required properties:
 - compatible		: should be "focaltech,fts"
 - reg			: i2c slave address of the device, should be <0x38>
 - interrupt-parent	: parent of interrupt
 - interrupts		: irq gpio, "0x02" stands for that the irq triggered by falling edge.
 - focaltech,irq-gpio	: irq gpio, same as "interrupts" node.
 - focaltech,reset-gpio	: reset gpio
 - focaltech,num-max-touches	: maximum number of touches support
 - focaltech,display-coords	: display resolution in pixels. A four tuple consisting of minX, minY, maxX and maxY.

Optional properties:
 - focaltech,have-key		: specify if virtual keys are supported
 - focaltech,key-number		: number of keys
 - focaltech,keys		: virtual key codes mapping to the coords
 - focaltech,key-y-coord	: constant y coordinate of keys, depends on the y resolution
 - focaltech,key-x-coords	: constant x coordinates of keys, depends on the x resolution
 - focaltech,swap-xy		: swap x-y coordinates
 - focaltech,panel-type		: set panel type, default is FT5416 panel
 - focaltech,scaling-down-half	: scale down the x-y coordiantes to half


Example:
	i2c@f9927000 {
		focaltech@38{
			compatible = "focaltech,fts";
			reg = <0x38>;
			interrupt-parent = <&msm_gpio>;
			interrupts = <13 0x02>;
			focaltech,reset-gpio = <&msm_gpio 12 0x01>;
			focaltech,irq-gpio = <&msm_gpio 13 0x02>;
			focaltech,max-touch-number = <5>;
			focaltech,display-coords =  <0 0 1080 1920>;

			focaltech,have-key;
			focaltech,key-number = <3>;
			focaltech,keys = <139 102 158>;
			focaltech,key-y-coord = <2000>;
			focaltech,key-x-coords = <200 600 800>;
			focaltech,swap-xy;
		};
	};
