Thread (6 messages) flat view 6 messages, 3 authors, 2016-05-06

Re: Input: add Atmel Atmegaxx captouch driver

From: Rob Herring <robh@kernel.org>
Date: 2016-05-04 13:51:30
Also in: linux-devicetree, lkml

On Tue, May 03, 2016 at 10:13:31AM -0700, Grant Grundler wrote:
Add I2C driver for AtmegaXX capacitive touch device.

Signed-off-by: Hung-yu Wu <redacted>
Signed-off-by: Grant Grundler <redacted>
---
 .../bindings/input/atmel,atmegaxx_captouch.txt     |  34 +++
It is generally preferred that bindings are a separate patch.
quoted hunk ↗ jump to hunk
 drivers/input/misc/Kconfig                         |  11 +
 drivers/input/misc/Makefile                        |   1 +
 drivers/input/misc/atmegaxx_captouch.c             | 278 +++++++++++++++++++++
 4 files changed, 324 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/atmel,atmegaxx_captouch.txt
 create mode 100644 drivers/input/misc/atmegaxx_captouch.c

For those that like to know how sausage is made, ChromeOS code review history here:
   https://chromium-review.googlesource.com/339950

Driver was tested with prototype HW and it reliably reports events correctly.
Manual testing was just using "evtest /dev/input/event0" and watch for events.
diff --git a/Documentation/devicetree/bindings/input/atmel,atmegaxx_captouch.txt b/Documentation/devicetree/bindings/input/atmel,atmegaxx_captouch.txt
new file mode 100644
index 0000000..07a4b0b
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/atmel,atmegaxx_captouch.txt
@@ -0,0 +1,34 @@
+Device tree bindings for Atmel AtmegaXX capacitive touch sensor
+
+The node for this device must be a child of a I2C controller node, as the
+device communicates via I2C.
+
+Required properties:
+
+	compatible:	Must be "atmel,atmegaxx_captouch".
No wildcards in the compatible strings. Use the specific devices.

Also, use hyphen rather than underscore. However, if the device is only 
a touch controller, then '_captouch' is not needed. The part number is 
sufficient to identify the device.
+	reg:		The I2C slave address of the device.
+	interrupts:	Property describing the interrupt line the device
+			is connected to. The device only has one interrupt
+			source.
+	linux,keycodes:	Specifies an array of numeric keycode values to
+			be used for reporting button presses. The array can
+			contain up to 8 entries.
+
+Optional properties:
+
+	autorepeat:	Enables the Linux input system's autorepeat
+			feature on the input device.
+
+Example:
+
+	atmegaxx_captouch@51 {
atmegaxx@51 (with actual part number)
+		compatible = "atmel,atmegaxx_captouch";
+		reg = <0x51>;
+		interrupt-parent = <&tlmm>;
+		interrupts = <67 IRQ_TYPE_EDGE_FALLING>;
+		linux,keycodes = <BTN_0>, <BTN_1>,
+			<BTN_2>, <BTN_3>,
+			<BTN_4>, <BTN_5>,
+			<BTN_6>, <BTN_7>;
+		autorepeat;
+	};
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help