Skip to content

Commit 43c4d13

Browse files
Simon Budigdtor
Simon Budig
authored andcommitted
Input: add driver for FT5x06 based EDT displays
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>
1 parent 07b8481 commit 43c4d13

File tree

5 files changed

+990
-0
lines changed

5 files changed

+990
-0
lines changed

Documentation/input/edt-ft5x06.txt

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
EDT ft5x06 based Polytouch devices
2+
----------------------------------
3+
4+
The edt-ft5x06 driver is useful for the EDT "Polytouch" family of capacitive
5+
touch screens. Note that it is *not* suitable for other devices based on the
6+
focaltec ft5x06 devices, since they contain vendor-specific firmware. In
7+
particular this driver is not suitable for the Nook tablet.
8+
9+
It has been tested with the following devices:
10+
* EP0350M06
11+
* EP0430M06
12+
* EP0570M06
13+
* EP0700M06
14+
15+
The driver allows configuration of the touch screen via a set of sysfs files:
16+
17+
/sys/class/input/eventX/device/device/threshold:
18+
allows setting the "click"-threshold in the range from 20 to 80.
19+
20+
/sys/class/input/eventX/device/device/gain:
21+
allows setting the sensitivity in the range from 0 to 31. Note that
22+
lower values indicate higher sensitivity.
23+
24+
/sys/class/input/eventX/device/device/offset:
25+
allows setting the edge compensation in the range from 0 to 31.
26+
27+
/sys/class/input/eventX/device/device/report_rate:
28+
allows setting the report rate in the range from 3 to 14.
29+
30+
31+
For debugging purposes the driver provides a few files in the debug
32+
filesystem (if available in the kernel). In /sys/kernel/debug/edt_ft5x06
33+
you'll find the following files:
34+
35+
num_x, num_y:
36+
(readonly) contains the number of sensor fields in X- and
37+
Y-direction.
38+
39+
mode:
40+
allows switching the sensor between "factory mode" and "operation
41+
mode" by writing "1" or "0" to it. In factory mode (1) it is
42+
possible to get the raw data from the sensor. Note that in factory
43+
mode regular events don't get delivered and the options described
44+
above are unavailable.
45+
46+
raw_data:
47+
contains num_x * num_y big endian 16 bit values describing the raw
48+
values for each sensor field. Note that each read() call on this
49+
files triggers a new readout. It is recommended to provide a buffer
50+
big enough to contain num_x * num_y * 2 bytes.
51+
52+
Note that reading raw_data gives a I/O error when the device is not in factory
53+
mode. The same happens when reading/writing to the parameter files when the
54+
device is not in regular operation mode.

drivers/input/touchscreen/Kconfig

+13
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,19 @@ config TOUCHSCREEN_PENMOUNT
472472
To compile this driver as a module, choose M here: the
473473
module will be called penmount.
474474

475+
config TOUCHSCREEN_EDT_FT5X06
476+
tristate "EDT FocalTech FT5x06 I2C Touchscreen support"
477+
depends on I2C
478+
help
479+
Say Y here if you have an EDT "Polytouch" touchscreen based
480+
on the FocalTech FT5x06 family of controllers connected to
481+
your system.
482+
483+
If unsure, say N.
484+
485+
To compile this driver as a module, choose M here: the
486+
module will be called edt-ft5x06.
487+
475488
config TOUCHSCREEN_MIGOR
476489
tristate "Renesas MIGO-R touchscreen"
477490
depends on SH_MIGOR && I2C

drivers/input/touchscreen/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ obj-$(CONFIG_TOUCHSCREEN_CYTTSP_SPI) += cyttsp_spi.o
2424
obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o
2525
obj-$(CONFIG_TOUCHSCREEN_DA9052) += da9052_tsi.o
2626
obj-$(CONFIG_TOUCHSCREEN_DYNAPRO) += dynapro.o
27+
obj-$(CONFIG_TOUCHSCREEN_EDT_FT5X06) += edt-ft5x06.o
2728
obj-$(CONFIG_TOUCHSCREEN_HAMPSHIRE) += hampshire.o
2829
obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o
2930
obj-$(CONFIG_TOUCHSCREEN_EETI) += eeti_ts.o

0 commit comments

Comments
 (0)