Skip to content

Commit 78bcac7

Browse files
Andi Shytidtor
authored andcommitted
Input: add support for the STMicroelectronics FingerTip touchscreen
The stmfts (ST-Microelectronics FingerTip S) touchscreen device is a capacitive multi-touch controller mainly for mobile use. It's connected through i2c bus at the address 0x49 and it interfaces with userspace through input event interface. At the current state it provides a touchscreen multitouch functionality up to 10 fingers. Each finger is enumerated with a distinctive id (from 0 to 9). If enabled the device can support single "touch" hovering, by providing three coordinates, x, y and distance. It is possible to select the touchkey functionality which provides a basic two keys interface for "home" and "back" menu, typical in mobile phones. Signed-off-by: Andi Shyti <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
1 parent 131b3de commit 78bcac7

File tree

4 files changed

+877
-0
lines changed

4 files changed

+877
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
* ST-Microelectronics FingerTip touchscreen controller
2+
3+
The ST-Microelectronics FingerTip device provides a basic touchscreen
4+
functionality. Along with it the user can enable the touchkey which can work as
5+
a basic HOME and BACK key for phones.
6+
7+
The driver supports also hovering as an absolute single touch event with x, y, z
8+
coordinates.
9+
10+
Required properties:
11+
- compatible : must be "st,stmfts"
12+
- reg : I2C slave address, (e.g. 0x49)
13+
- interrupt-parent : the phandle to the interrupt controller which provides
14+
the interrupt
15+
- interrupts : interrupt specification
16+
- avdd-supply : analogic power supply
17+
- vdd-supply : power supply
18+
- touchscreen-size-x : see touchscreen.txt
19+
- touchscreen-size-y : see touchscreen.txt
20+
21+
Optional properties:
22+
- touch-key-connected : specifies whether the touchkey feature is connected
23+
- ledvdd-supply : power supply to the touch key leds
24+
25+
Example:
26+
27+
i2c@00000000 {
28+
29+
/* ... */
30+
31+
touchscreen@49 {
32+
compatible = "st,stmfts";
33+
reg = <0x49>;
34+
interrupt-parent = <&gpa1>;
35+
interrupts = <1 IRQ_TYPE_NONE>;
36+
touchscreen-size-x = <1599>;
37+
touchscreen-size-y = <2559>;
38+
touch-key-connected;
39+
avdd-supply = <&ldo30_reg>;
40+
vdd-supply = <&ldo31_reg>;
41+
ledvdd-supply = <&ldo33_reg>;
42+
};
43+
};

drivers/input/touchscreen/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1114,6 +1114,17 @@ config TOUCHSCREEN_ST1232
11141114
To compile this driver as a module, choose M here: the
11151115
module will be called st1232_ts.
11161116

1117+
config TOUCHSCREEN_STMFTS
1118+
tristate "STMicroelectronics STMFTS touchscreen"
1119+
depends on I2C
1120+
depends on LEDS_CLASS
1121+
help
1122+
Say Y here if you want support for STMicroelectronics
1123+
STMFTS touchscreen.
1124+
1125+
To compile this driver as a module, choose M here: the
1126+
module will be called stmfts.
1127+
11171128
config TOUCHSCREEN_STMPE
11181129
tristate "STMicroelectronics STMPE touchscreens"
11191130
depends on MFD_STMPE

drivers/input/touchscreen/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
6767
obj-$(CONFIG_TOUCHSCREEN_SILEAD) += silead.o
6868
obj-$(CONFIG_TOUCHSCREEN_SIS_I2C) += sis_i2c.o
6969
obj-$(CONFIG_TOUCHSCREEN_ST1232) += st1232.o
70+
obj-$(CONFIG_TOUCHSCREEN_STMFTS) += stmfts.o
7071
obj-$(CONFIG_TOUCHSCREEN_STMPE) += stmpe-ts.o
7172
obj-$(CONFIG_TOUCHSCREEN_SUN4I) += sun4i-ts.o
7273
obj-$(CONFIG_TOUCHSCREEN_SUR40) += sur40.o

0 commit comments

Comments
 (0)