mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
Input: usbtouchscreen - add support for ET&T TC4UM touchscreen controller
This patch adds support for the ET&T TC4UM 4-wire USB touchscreen controller and tries to reuse the bits for TC5UH controller in kernel already. Data interface is same. Tested-by: Roger Pueyo Centelles <rogerpueyo@rogerpueyo.com> Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
7804302b14
commit
38771bb440
2 changed files with 14 additions and 11 deletions
|
@ -540,9 +540,9 @@ config TOUCHSCREEN_USB_ZYTRONIC
|
||||||
bool "Zytronic controller" if EMBEDDED
|
bool "Zytronic controller" if EMBEDDED
|
||||||
depends on TOUCHSCREEN_USB_COMPOSITE
|
depends on TOUCHSCREEN_USB_COMPOSITE
|
||||||
|
|
||||||
config TOUCHSCREEN_USB_ETT_TC5UH
|
config TOUCHSCREEN_USB_ETT_TC45USB
|
||||||
default y
|
default y
|
||||||
bool "ET&T TC5UH touchscreen controler support" if EMBEDDED
|
bool "ET&T USB series TC4UM/TC5UH touchscreen controler support" if EMBEDDED
|
||||||
depends on TOUCHSCREEN_USB_COMPOSITE
|
depends on TOUCHSCREEN_USB_COMPOSITE
|
||||||
|
|
||||||
config TOUCHSCREEN_USB_NEXIO
|
config TOUCHSCREEN_USB_NEXIO
|
||||||
|
|
|
@ -135,7 +135,7 @@ enum {
|
||||||
DEVTYPE_JASTEC,
|
DEVTYPE_JASTEC,
|
||||||
DEVTYPE_E2I,
|
DEVTYPE_E2I,
|
||||||
DEVTYPE_ZYTRONIC,
|
DEVTYPE_ZYTRONIC,
|
||||||
DEVTYPE_TC5UH,
|
DEVTYPE_TC45USB,
|
||||||
DEVTYPE_NEXIO,
|
DEVTYPE_NEXIO,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -222,8 +222,11 @@ static const struct usb_device_id usbtouch_devices[] = {
|
||||||
{USB_DEVICE(0x14c8, 0x0003), .driver_info = DEVTYPE_ZYTRONIC},
|
{USB_DEVICE(0x14c8, 0x0003), .driver_info = DEVTYPE_ZYTRONIC},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_TOUCHSCREEN_USB_ETT_TC5UH
|
#ifdef CONFIG_TOUCHSCREEN_USB_ETT_TC45USB
|
||||||
{USB_DEVICE(0x0664, 0x0309), .driver_info = DEVTYPE_TC5UH},
|
/* TC5UH */
|
||||||
|
{USB_DEVICE(0x0664, 0x0309), .driver_info = DEVTYPE_TC45USB},
|
||||||
|
/* TC4UM */
|
||||||
|
{USB_DEVICE(0x0664, 0x0306), .driver_info = DEVTYPE_TC45USB},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_TOUCHSCREEN_USB_NEXIO
|
#ifdef CONFIG_TOUCHSCREEN_USB_NEXIO
|
||||||
|
@ -574,10 +577,10 @@ static int irtouch_read_data(struct usbtouch_usb *dev, unsigned char *pkt)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* ET&T TC5UH part
|
* ET&T TC5UH/TC4UM part
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_TOUCHSCREEN_USB_ETT_TC5UH
|
#ifdef CONFIG_TOUCHSCREEN_USB_ETT_TC45USB
|
||||||
static int tc5uh_read_data(struct usbtouch_usb *dev, unsigned char *pkt)
|
static int tc45usb_read_data(struct usbtouch_usb *dev, unsigned char *pkt)
|
||||||
{
|
{
|
||||||
dev->x = ((pkt[2] & 0x0F) << 8) | pkt[1];
|
dev->x = ((pkt[2] & 0x0F) << 8) | pkt[1];
|
||||||
dev->y = ((pkt[4] & 0x0F) << 8) | pkt[3];
|
dev->y = ((pkt[4] & 0x0F) << 8) | pkt[3];
|
||||||
|
@ -1106,14 +1109,14 @@ static struct usbtouch_device_info usbtouch_dev_info[] = {
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_TOUCHSCREEN_USB_ETT_TC5UH
|
#ifdef CONFIG_TOUCHSCREEN_USB_ETT_TC45USB
|
||||||
[DEVTYPE_TC5UH] = {
|
[DEVTYPE_TC45USB] = {
|
||||||
.min_xc = 0x0,
|
.min_xc = 0x0,
|
||||||
.max_xc = 0x0fff,
|
.max_xc = 0x0fff,
|
||||||
.min_yc = 0x0,
|
.min_yc = 0x0,
|
||||||
.max_yc = 0x0fff,
|
.max_yc = 0x0fff,
|
||||||
.rept_size = 5,
|
.rept_size = 5,
|
||||||
.read_data = tc5uh_read_data,
|
.read_data = tc45usb_read_data,
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue