mirror of
https://github.com/suyu-emu/horinux.git
synced 2026-09-21 14:15:21 -07:00
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>
This commit is contained in:
committed by
Dmitry Torokhov
parent
07b8481d4a
commit
43c4d13e90
@@ -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.
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,24 @@
|
||||
#ifndef _EDT_FT5X06_H
|
||||
#define _EDT_FT5X06_H
|
||||
|
||||
/*
|
||||
* Copyright (c) 2012 Simon Budig, <simon.budig@kernelconcepts.de>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 as published by
|
||||
* the Free Software Foundation.
|
||||
*/
|
||||
|
||||
struct edt_ft5x06_platform_data {
|
||||
int irq_pin;
|
||||
int reset_pin;
|
||||
|
||||
/* startup defaults for operational parameters */
|
||||
bool use_parameters;
|
||||
u8 gain;
|
||||
u8 threshold;
|
||||
u8 offset;
|
||||
u8 report_rate;
|
||||
};
|
||||
|
||||
#endif /* _EDT_FT5X06_H */
|
||||
Reference in New Issue
Block a user