Synaptics DSXV27 touch controller

Please add this description here: The Synaptics Touch controller is connected to the
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 "synaptics,dsx-i2c".
 - reg			               : i2c slave address of the device.
 - interrupt-parent	           : parent of interrupt.
 - synaptics,irq-gpio	       : irq gpio.
 - synaptics,reset-gpio	       : reset gpio.
 - vdd_supply			   : digital voltage power supply needed to power device.
 - avdd_supply			   : analog voltage power supply needed to power device.
 - synaptics,pwr-reg-name	   : power reg name of digital voltage.
 - synaptics,bus-reg-name	   : bus reg name of analog voltage.

Optional property:
 - synaptics,ub-i2c-addr       : addr of ub-i2c.
 - synaptics,irq-on-state      : status of irq gpio.
 - synaptics,cap-button-codes  : virtual key code mappings to be used.
 - synaptics,vir-button-codes  : virtual key code and the response region on panel.
 - synaptics,x-flip		       : modify orientation of the x axis.
 - synaptics,y-flip		       : modify orientation of the y axis.
 - synaptics,reset-delay-ms	   : reset delay for controller (ms), default 100.
 - synaptics,power-delay-ms	   : power delay for controller (ms), default 100.
 - synaptics,reset-active-ms	   : reset active time for controller (ms), default 20.
 - synaptics,max-y-for-2d	   : maximal y value of the panel.
 - clock-names			: Clock names used for secure touch. They are: "iface_clk", "core_clk"
 - clocks			: Defined if 'clock-names' DT property is defined. These clocks
				  are associated with the underlying I2C bus.

Example:
	i2c@78b7000 {
		status = "ok";
		synaptics@4b {
			compatible = "synaptics,dsx-i2c";
			reg = <0x4b>;
			interrupt-parent = <&tlmm>;
			interrupts = <65 0x2008>;
			vdd_supply = <&pmtitanium_l17>;
			avdd_supply = <&pmtitanium_l6>;
			synaptics,pwr-reg-name = "vdd";
			synaptics,bus-reg-name = "avdd";
			synaptics,ub-i2c-addr = <0x2c>;
			synaptics,irq-gpio = <&tlmm 65 0x2008>;
			synaptics,reset-gpio = <&tlmm 99 0x2008>;
			synaptics,irq-on-state = <0>;
			synaptics,power-delay-ms = <200>;
			synaptics,reset-delay-ms = <200>;
			synaptics,reset-active-ms = <20>;
			synaptics,max-y-for-2d = <1919>; /* remove if no virtual buttons */
			synaptics,cap-button-codes = <139 172 158>;
			synaptics,vir-button-codes = <139 180 2000 320 160 172 540 2000 320 160 158 900 2000 320 160>;
			/* 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_qup3_i2c_apps_clk>;
		};
	};
