Input: add support for Elan eKTH I2C touchscreens
authorScott Liu <scott.liu@emc.com.tw>
Thu, 20 Nov 2014 01:26:44 +0000 (17:26 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 8 Dec 2014 07:09:23 +0000 (23:09 -0800)
This driver supports Elan eKTH I2C touchscreen controllers. Note that these
are using custom protocol, as opposed to other Elan parts that use
HID-over-I2C and are supported by the standard HID-multitouch driver.

Signed-off-by: Scott Liu <scott.liu@emc.com.tw>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Documentation/devicetree/bindings/input/elants_i2c.txt [new file with mode: 0644]
drivers/input/touchscreen/Kconfig
drivers/input/touchscreen/Makefile
drivers/input/touchscreen/elants_i2c.c [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/input/elants_i2c.txt b/Documentation/devicetree/bindings/input/elants_i2c.txt
new file mode 100644 (file)
index 0000000..a765232
--- /dev/null
@@ -0,0 +1,33 @@
+Elantech I2C Touchscreen
+
+Required properties:
+- compatible: must be "elan,ekth3500".
+- reg: I2C address of the chip.
+- interrupt-parent: a phandle for the interrupt controller (see interrupt
+  binding[0]).
+- interrupts: interrupt to which the chip is connected (see interrupt
+  binding[0]).
+
+Optional properties:
+- wakeup-source: touchscreen can be used as a wakeup source.
+- pinctrl-names: should be "default" (see pinctrl binding [1]).
+- pinctrl-0: a phandle pointing to the pin settings for the device (see
+  pinctrl binding [1]).
+
+[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
+[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
+
+Example:
+       &i2c1 {
+               /* ... */
+
+               touchscreen@10 {
+                       compatible = "elan,ekth3500";
+                       reg = <0x10>;
+                       interrupt-parent = <&gpio4>;
+                       interrupts = <0x0 IRQ_TYPE_EDGE_FALLING>;
+                       wakeup-source;
+               };
+
+               /* ... */
+       };
Simple merge
Simple merge