[oe] [PATCH] linux-omap-2.6.29: add support for ET&T TC5UH touchscreen controller
Petr Štetiar
ynezz at true.cz
Sun Nov 29 13:49:58 UTC 2009
Signed-off-by: Petr Štetiar <ynezz at true.cz>
---
conf/machine/include/omap3.inc | 2 +-
.../linux/linux-omap-2.6.29/beagleboard/defconfig | 32 +++++++-
recipes/linux/linux-omap-2.6.29/ett-tc5uh.patch | 84 ++++++++++++++++++++
recipes/linux/linux-omap_2.6.29.bb | 1 +
4 files changed, 116 insertions(+), 3 deletions(-)
create mode 100644 recipes/linux/linux-omap-2.6.29/ett-tc5uh.patch
diff --git a/conf/machine/include/omap3.inc b/conf/machine/include/omap3.inc
index 2f242a4..3d6bfee 100644
--- a/conf/machine/include/omap3.inc
+++ b/conf/machine/include/omap3.inc
@@ -1,7 +1,7 @@
require conf/machine/include/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/kernel = "linux-omap"
# Increase this everytime you change something in the kernel
-MACHINE_KERNEL_PR = "r50"
+MACHINE_KERNEL_PR = "r51"
KERNEL_IMAGETYPE = "uImage"
diff --git a/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig b/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig
index a1848d5..1f4351b 100644
--- a/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig
+++ b/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.29-omap1
-# Wed Sep 9 09:58:54 2009
+# Sat Nov 28 17:58:38 2009
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -1213,7 +1213,35 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_GPIO is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
+# CONFIG_TOUCHSCREEN_TSC210X is not set
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
+# CONFIG_TOUCHSCREEN_USB_EGALAX is not set
+# CONFIG_TOUCHSCREEN_USB_PANJIT is not set
+# CONFIG_TOUCHSCREEN_USB_3M is not set
+# CONFIG_TOUCHSCREEN_USB_ITM is not set
+# CONFIG_TOUCHSCREEN_USB_ETURBO is not set
+# CONFIG_TOUCHSCREEN_USB_GUNZE is not set
+# CONFIG_TOUCHSCREEN_USB_DMC_TSC10 is not set
+# CONFIG_TOUCHSCREEN_USB_IRTOUCH is not set
+# CONFIG_TOUCHSCREEN_USB_IDEALTEK is not set
+# CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH is not set
+# CONFIG_TOUCHSCREEN_USB_GOTOP is not set
+CONFIG_TOUCHSCREEN_USB_ETT_TC5UH=y
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_ATI_REMOTE is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
diff --git a/recipes/linux/linux-omap-2.6.29/ett-tc5uh.patch b/recipes/linux/linux-omap-2.6.29/ett-tc5uh.patch
new file mode 100644
index 0000000..ce04664
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/ett-tc5uh.patch
@@ -0,0 +1,84 @@
+[PATCH] Input: usbtouchscreen - add support for ET&T TC5UH touchscreen controller
+
+This patch adds support for the ET&T TC5UH 5-wire USB touchscreen controller.
+More info at http://www.etandt.com.tw/board_solution.html
+
+Signed-off-by: Petr Štetiar <ynezz at true.cz>
+
+Index: linux-2.6.31.5/drivers/input/touchscreen/Kconfig
+===================================================================
+--- linux-2.6.31.5.orig/drivers/input/touchscreen/Kconfig 2009-11-24 22:31:47.000000000 +0100
++++ linux-2.6.31.5/drivers/input/touchscreen/Kconfig 2009-11-24 22:34:16.000000000 +0100
+@@ -468,6 +468,11 @@
+ bool "GoTop Super_Q2/GogoPen/PenPower tablet device support" if EMBEDDED
+ depends on TOUCHSCREEN_USB_COMPOSITE
+
++config TOUCHSCREEN_USB_ETT_TC5UH
++ default y
++ bool "ET&T TC5UH touchscreen controller support" if EMBEDDED
++ depends on TOUCHSCREEN_USB_COMPOSITE
++
+ config TOUCHSCREEN_TOUCHIT213
+ tristate "Sahara TouchIT-213 touchscreen"
+ select SERIO
+Index: linux-2.6.31.5/drivers/input/touchscreen/usbtouchscreen.c
+===================================================================
+--- linux-2.6.31.5.orig/drivers/input/touchscreen/usbtouchscreen.c 2009-11-24 22:31:58.000000000 +0100
++++ linux-2.6.31.5/drivers/input/touchscreen/usbtouchscreen.c 2009-11-24 22:40:50.000000000 +0100
+@@ -118,6 +118,7 @@
+ DEVTYPE_IDEALTEK,
+ DEVTYPE_GENERAL_TOUCH,
+ DEVTYPE_GOTOP,
++ DEVTYPE_TC5UH,
+ };
+
+ #define USB_DEVICE_HID_CLASS(vend, prod) \
+@@ -191,6 +192,10 @@
+ {USB_DEVICE(0x08f2, 0x00f4), .driver_info = DEVTYPE_GOTOP},
+ #endif
+
++#ifdef CONFIG_TOUCHSCREEN_USB_ETT_TC5UH
++ {USB_DEVICE(0x0664, 0x0309), .driver_info = DEVTYPE_TC5UH},
++#endif
++
+ {}
+ };
+
+@@ -563,6 +568,19 @@
+ }
+ #endif
+
++/*****************************************************************************
++ * ET&T TC5UH part
++ */
++#ifdef CONFIG_TOUCHSCREEN_USB_ETT_TC5UH
++static int tc5uh_read_data(struct usbtouch_usb *dev, unsigned char *pkt)
++{
++ dev->x = ((pkt[2] & 0x0F) << 8) | pkt[1];
++ dev->y = ((pkt[4] & 0x0F) << 8) | pkt[3];
++ dev->touch = pkt[0] & 0x01;
++
++ return 1;
++}
++#endif
+
+ /*****************************************************************************
+ * the different device descriptors
+@@ -702,6 +720,17 @@
+ .read_data = gotop_read_data,
+ },
+ #endif
++
++#ifdef CONFIG_TOUCHSCREEN_USB_ETT_TC5UH
++ [DEVTYPE_TC5UH] = {
++ .min_xc = 0x0,
++ .max_xc = 0x0fff,
++ .min_yc = 0x0,
++ .max_yc = 0x0fff,
++ .rept_size = 5,
++ .read_data = tc5uh_read_data,
++ },
++#endif
+ };
+
+
diff --git a/recipes/linux/linux-omap_2.6.29.bb b/recipes/linux/linux-omap_2.6.29.bb
index 1a0fc51..eaff3dd 100644
--- a/recipes/linux/linux-omap_2.6.29.bb
+++ b/recipes/linux/linux-omap_2.6.29.bb
@@ -173,6 +173,7 @@ SRC_URI_append = " \
file://smsc/smsc911x-2.patch;patch=1 \
file://smsc/smsc911x-3.patch;patch=1 \
file://smsc/smsc911x-4.patch;patch=1 \
+ file://ett-tc5uh.patch;patch=1 \
"
--
1.6.0.4
More information about the Openembedded-devel
mailing list