Commit 38771bb4 authored by Petr Štetiar's avatar Petr Štetiar Committed by Dmitry Torokhov

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: default avatarRoger Pueyo Centelles <rogerpueyo@rogerpueyo.com>
Signed-off-by: default avatarPetr Štetiar <ynezz@true.cz>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 7804302b
...@@ -540,9 +540,9 @@ config TOUCHSCREEN_USB_ZYTRONIC ...@@ -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 { ...@@ -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[] = { ...@@ -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) ...@@ -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[] = { ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment