Skip to content

Commit

Permalink
Input: add driver for FT5x06 based EDT displays
Browse files Browse the repository at this point in the history
This is a driver for the EDT "Polytouch" family of touch controllers
based on the FocalTech FT5x06 line of chips.

Signed-off-by: Simon Budig <simon.budig@kernelconcepts.de>
Reviewed-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
  • Loading branch information
Simon Budig authored and dtor committed Jul 25, 2012
1 parent 07b8481 commit 43c4d13
Show file tree
Hide file tree
Showing 5 changed files with 990 additions and 0 deletions.
54 changes: 54 additions & 0 deletions Documentation/input/edt-ft5x06.txt
@@ -0,0 +1,54 @@
EDT ft5x06 based Polytouch devices
----------------------------------

The edt-ft5x06 driver is useful for the EDT "Polytouch" family of capacitive
touch screens. Note that it is *not* suitable for other devices based on the
focaltec ft5x06 devices, since they contain vendor-specific firmware. In
particular this driver is not suitable for the Nook tablet.

It has been tested with the following devices:
* EP0350M06
* EP0430M06
* EP0570M06
* EP0700M06

The driver allows configuration of the touch screen via a set of sysfs files:

/sys/class/input/eventX/device/device/threshold:
allows setting the "click"-threshold in the range from 20 to 80.

/sys/class/input/eventX/device/device/gain:
allows setting the sensitivity in the range from 0 to 31. Note that
lower values indicate higher sensitivity.

/sys/class/input/eventX/device/device/offset:
allows setting the edge compensation in the range from 0 to 31.

/sys/class/input/eventX/device/device/report_rate:
allows setting the report rate in the range from 3 to 14.


For debugging purposes the driver provides a few files in the debug
filesystem (if available in the kernel). In /sys/kernel/debug/edt_ft5x06
you'll find the following files:

num_x, num_y:
(readonly) contains the number of sensor fields in X- and
Y-direction.

mode:
allows switching the sensor between "factory mode" and "operation
mode" by writing "1" or "0" to it. In factory mode (1) it is
possible to get the raw data from the sensor. Note that in factory
mode regular events don't get delivered and the options described
above are unavailable.

raw_data:
contains num_x * num_y big endian 16 bit values describing the raw
values for each sensor field. Note that each read() call on this
files triggers a new readout. It is recommended to provide a buffer
big enough to contain num_x * num_y * 2 bytes.

Note that reading raw_data gives a I/O error when the device is not in factory
mode. The same happens when reading/writing to the parameter files when the
device is not in regular operation mode.
13 changes: 13 additions & 0 deletions drivers/input/touchscreen/Kconfig
Expand Up @@ -472,6 +472,19 @@ config TOUCHSCREEN_PENMOUNT
To compile this driver as a module, choose M here: the
module will be called penmount.

config TOUCHSCREEN_EDT_FT5X06
tristate "EDT FocalTech FT5x06 I2C Touchscreen support"
depends on I2C
help
Say Y here if you have an EDT "Polytouch" touchscreen based
on the FocalTech FT5x06 family of controllers connected to
your system.

If unsure, say N.

To compile this driver as a module, choose M here: the
module will be called edt-ft5x06.

config TOUCHSCREEN_MIGOR
tristate "Renesas MIGO-R touchscreen"
depends on SH_MIGOR && I2C
Expand Down
1 change: 1 addition & 0 deletions drivers/input/touchscreen/Makefile
Expand Up @@ -24,6 +24,7 @@ obj-$(CONFIG_TOUCHSCREEN_CYTTSP_SPI) += cyttsp_spi.o
obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o
obj-$(CONFIG_TOUCHSCREEN_DA9052) += da9052_tsi.o
obj-$(CONFIG_TOUCHSCREEN_DYNAPRO) += dynapro.o
obj-$(CONFIG_TOUCHSCREEN_EDT_FT5X06) += edt-ft5x06.o
obj-$(CONFIG_TOUCHSCREEN_HAMPSHIRE) += hampshire.o
obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o
obj-$(CONFIG_TOUCHSCREEN_EETI) += eeti_ts.o
Expand Down

0 comments on commit 43c4d13

Please sign in to comment.