Input: add support for HiDeep touchscreen
The HiDeep touchscreen device is a capacitive multi-touch controller mainly for multi-touch supported devices use. It use I2C interface for communication to IC and provide axis X, Y, Z locations for ten finger touch through input event interface to userspace. It support the Crimson and the Lime two type IC. They are different the number of channel supported and FW size. But the working protocol is same. Signed-off-by: Anthony Kim <anthony.kim@hideep.com> Acked-by: Rob Herring <robh+dt@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
4a1a57df97
commit
842ff28616
|
@ -0,0 +1,42 @@
|
|||
* HiDeep Finger and Stylus touchscreen controller
|
||||
|
||||
Required properties:
|
||||
- compatible : must be "hideep,hideep-ts"
|
||||
- reg : I2C slave address, (e.g. 0x6C).
|
||||
- interrupt-parent : Interrupt controller to which the chip is connected.
|
||||
- interrupts : Interrupt to which the chip is connected.
|
||||
|
||||
Optional properties:
|
||||
- vdd-supply : It is the controller supply for controlling
|
||||
main voltage(3.3V) through the regulator.
|
||||
- vid-supply : It is the controller supply for controlling
|
||||
IO voltage(1.8V) through the regulator.
|
||||
- reset-gpios : Define for reset gpio pin.
|
||||
It is to use for reset IC.
|
||||
- touchscreen-size-x : X axis size of touchscreen
|
||||
- touchscreen-size-y : Y axis size of touchscreen
|
||||
- linux,keycodes : Specifies an array of numeric keycode values to
|
||||
be used for reporting button presses. The array can
|
||||
contain up to 3 entries.
|
||||
|
||||
Example:
|
||||
|
||||
#include "dt-bindings/input/input.h"
|
||||
|
||||
i2c@00000000 {
|
||||
|
||||
/* ... */
|
||||
|
||||
touchscreen@6c {
|
||||
compatible = "hideep,hideep-ts";
|
||||
reg = <0x6c>;
|
||||
interrupt-parent = <&gpx1>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
vdd-supply = <&ldo15_reg>";
|
||||
vid-supply = <&ldo18_reg>;
|
||||
reset-gpios = <&gpx1 5 0>;
|
||||
touchscreen-size-x = <1080>;
|
||||
touchscreen-size-y = <1920>;
|
||||
linux,keycodes = <KEY_HOME>, <KEY_MENU>, <KEY_BACK>;
|
||||
};
|
||||
};
|
|
@ -137,6 +137,7 @@ gw Gateworks Corporation
|
|||
hannstar HannStar Display Corporation
|
||||
haoyu Haoyu Microelectronic Co. Ltd.
|
||||
hardkernel Hardkernel Co., Ltd
|
||||
hideep HiDeep Inc.
|
||||
himax Himax Technologies, Inc.
|
||||
hisilicon Hisilicon Limited.
|
||||
hit Hitachi Ltd.
|
||||
|
|
|
@ -354,6 +354,17 @@ config TOUCHSCREEN_GOODIX
|
|||
To compile this driver as a module, choose M here: the
|
||||
module will be called goodix.
|
||||
|
||||
config TOUCHSCREEN_HIDEEP
|
||||
tristate "HiDeep Touch IC"
|
||||
depends on I2C
|
||||
help
|
||||
Say Y here if you have a touchscreen using HiDeep.
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
To compile this driver as a moudle, choose M here : the
|
||||
module will be called hideep_ts.
|
||||
|
||||
config TOUCHSCREEN_ILI210X
|
||||
tristate "Ilitek ILI210X based touchscreen"
|
||||
depends on I2C
|
||||
|
|
|
@ -41,6 +41,7 @@ obj-$(CONFIG_TOUCHSCREEN_EGALAX_SERIAL) += egalax_ts_serial.o
|
|||
obj-$(CONFIG_TOUCHSCREEN_EXC3000) += exc3000.o
|
||||
obj-$(CONFIG_TOUCHSCREEN_FUJITSU) += fujitsu_ts.o
|
||||
obj-$(CONFIG_TOUCHSCREEN_GOODIX) += goodix.o
|
||||
obj-$(CONFIG_TOUCHSCREEN_HIDEEP) += hideep.o
|
||||
obj-$(CONFIG_TOUCHSCREEN_ILI210X) += ili210x.o
|
||||
obj-$(CONFIG_TOUCHSCREEN_IMX6UL_TSC) += imx6ul_tsc.o
|
||||
obj-$(CONFIG_TOUCHSCREEN_INEXIO) += inexio.o
|
||||
|
|
1120
drivers/input/touchscreen/hideep.c
Normal file
1120
drivers/input/touchscreen/hideep.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user