Input: add driver for Elan I2C/SMbus touchpad
authorDuson Lin <dusonlin@emc.com.tw>
Fri, 3 Oct 2014 20:24:27 +0000 (13:24 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 24 Oct 2014 20:54:24 +0000 (13:54 -0700)
This driver supports Elan I2C/SMbus touchpads found in some laptops and
also in many Chromebooks.

Signed-off-by: Duson Lin <dusonlin@emc.com.tw>
Reviewed-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Documentation/devicetree/bindings/input/elan_i2c.txt [new file with mode: 0644]
Documentation/devicetree/bindings/vendor-prefixes.txt
drivers/input/mouse/Kconfig
drivers/input/mouse/Makefile
drivers/input/mouse/elan_i2c.h [new file with mode: 0644]
drivers/input/mouse/elan_i2c_core.c [new file with mode: 0644]
drivers/input/mouse/elan_i2c_i2c.c [new file with mode: 0644]
drivers/input/mouse/elan_i2c_smbus.c [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/input/elan_i2c.txt b/Documentation/devicetree/bindings/input/elan_i2c.txt
new file mode 100644 (file)
index 0000000..ee3242c
--- /dev/null
@@ -0,0 +1,34 @@
+Elantech I2C Touchpad
+
+Required properties:
+- compatible: must be "elan,ekth3000".
+- 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: touchpad 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]).
+- vcc-supply: a phandle for the regulator supplying 3.3V power.
+
+[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
+[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
+
+Example:
+       &i2c1 {
+               /* ... */
+
+               touchpad@15 {
+                       compatible = "elan,ekth3000";
+                       reg = <0x15>;
+                       interrupt-parent = <&gpio4>;
+                       interrupts = <0x0 IRQ_TYPE_EDGE_FALLING>;
+                       wakeup-source;
+               };
+
+               /* ... */
+       };
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge