Skip to content

Commit a485cb0

Browse files
Mika Penttilädtor
authored andcommitted
Input: add driver for SiS 9200 family I2C touchscreen controllers
This is a driver for SiS 9200 family touchscreen controllers using I2C bus. Signed-off-by: Mika Penttilä <mika.penttila@nextfour.com> Acked-by: Tammy Tseng <tammy_tseng@sis.com> Acked-by: Yuger Yu <yuger_yu@sis.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
1 parent b27c0d0 commit a485cb0

File tree

5 files changed

+460
-0
lines changed

5 files changed

+460
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
* SiS I2C Multiple Touch Controller
2+
3+
Required properties:
4+
- compatible: must be "sis,9200-ts"
5+
- reg: i2c slave address
6+
- interrupt-parent: the phandle for the interrupt controller
7+
(see interrupt binding [0])
8+
- interrupts: touch controller interrupt (see interrupt
9+
binding [0])
10+
11+
Optional properties:
12+
- pinctrl-names: should be "default" (see pinctrl binding [1]).
13+
- pinctrl-0: a phandle pointing to the pin settings for the
14+
device (see pinctrl binding [1]).
15+
- attn-gpios: the gpio pin used as attention line
16+
- reset-gpios: the gpio pin used to reset the controller
17+
- wakeup-source: touchscreen can be used as a wakeup source
18+
19+
[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
20+
[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
21+
22+
Example:
23+
24+
sis9255@5c {
25+
compatible = "sis,9200-ts";
26+
reg = <0x5c>;
27+
pinctrl-names = "default";
28+
pinctrl-0 = <&pinctrl_sis>;
29+
interrupt-parent = <&gpio3>;
30+
interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
31+
irq-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
32+
reset-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;
33+
};

Documentation/devicetree/bindings/vendor-prefixes.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ simtek
221221
sii Seiko Instruments, Inc.
222222
silergy Silergy Corp.
223223
sirf SiRF Technology, Inc.
224+
sis Silicon Integrated Systems Corp.
224225
sitronix Sitronix Technology Corporation
225226
skyworks Skyworks Solutions, Inc.
226227
smsc Standard Microsystems Corporation

drivers/input/touchscreen/Kconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,6 +1071,18 @@ config TOUCHSCREEN_SILEAD
10711071
To compile this driver as a module, choose M here: the
10721072
module will be called silead.
10731073

1074+
config TOUCHSCREEN_SIS_I2C
1075+
tristate "SiS 9200 family I2C touchscreen"
1076+
depends on I2C
1077+
depends on GPIOLIB || COMPILE_TEST
1078+
help
1079+
This enables support for SiS 9200 family over I2C based touchscreens.
1080+
1081+
If unsure, say N.
1082+
1083+
To compile this driver as a module, choose M here: the
1084+
module will be called sis_i2c.
1085+
10741086
config TOUCHSCREEN_ST1232
10751087
tristate "Sitronix ST1232 touchscreen controllers"
10761088
depends on I2C

drivers/input/touchscreen/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ obj-$(CONFIG_TOUCHSCREEN_PIXCIR) += pixcir_i2c_ts.o
6565
obj-$(CONFIG_TOUCHSCREEN_RM_TS) += raydium_i2c_ts.o
6666
obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
6767
obj-$(CONFIG_TOUCHSCREEN_SILEAD) += silead.o
68+
obj-$(CONFIG_TOUCHSCREEN_SIS_I2C) += sis_i2c.o
6869
obj-$(CONFIG_TOUCHSCREEN_ST1232) += st1232.o
6970
obj-$(CONFIG_TOUCHSCREEN_STMPE) += stmpe-ts.o
7071
obj-$(CONFIG_TOUCHSCREEN_SUN4I) += sun4i-ts.o

0 commit comments

Comments
 (0)