summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Collins <rcollins@nvidia.com>2011-08-15 15:59:17 -0700
committerNiket Sirsi <nsirsi@nvidia.com>2011-08-22 17:30:42 -0700
commit857e9e8ca9b133b27fdc7406ada329e03fc43a30 (patch)
treef87b1bea4354e9e2ab3a1eb85cefecf82b14ce51
parentce4f84dc7022ced7c888b9ae2babebad2b987a38 (diff)
input: touch: atmel_mxt_ts: Increase touch perf for SKU-2000.
Increase touchscreen performance for Cardhu SKU-2000 with touch panel air gap gasket changes. Bug 864735 Change-Id: I01137e8d31230cd1d1f5a7d25d82259cc732b1e5 Reviewed-on: http://git-master/r/47197 Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Reviewed-by: Ali Ekici <aekici@nvidia.com> Tested-by: Ali Ekici <aekici@nvidia.com> Reviewed-by: Jonathan Mccaffrey <jmccaffrey@nvidia.com> Tested-by: Jonathan Mccaffrey <jmccaffrey@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board-touch-atmel_maxtouch.c31
-rw-r--r--arch/arm/mach-tegra/board-touch.c12
2 files changed, 41 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/board-touch-atmel_maxtouch.c b/arch/arm/mach-tegra/board-touch-atmel_maxtouch.c
index a2ab2d990497..f79b42d38e74 100644
--- a/arch/arm/mach-tegra/board-touch-atmel_maxtouch.c
+++ b/arch/arm/mach-tegra/board-touch-atmel_maxtouch.c
@@ -111,6 +111,37 @@ static struct mxt_platform_data atmel_mxt_info = {
/* .read_chg = &read_chg, */
.read_chg = NULL,
};
+
+#define MXT_CONFIG_CRC_SKU2000 0xA24D9A
+static const u8 config_sku2000[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0x32, 0x0A, 0x00, 0x14, 0x14, 0x19,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00,
+ 0x1B, 0x2A, 0x00, 0x20, 0x3A, 0x04, 0x05, 0x00, //23=thr 2 di
+ 0x04, 0x04, 0x41, 0x0A, 0x0A, 0x0A, 0x0A, 0xFF,
+ 0x02, 0x55, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, //0A=limit
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x05, 0x0A, 0x15, 0x1E, 0x00,
+ 0x00, 0x04, 0x00, 0x03, 0x3F, 0x64, 0x64, 0x01,
+ 0x0A, 0x14, 0x28, 0x4B, 0x00, 0x02, 0x00, 0x64,
+ 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x08, 0x10, 0x3C, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+void init_sku2000(void)
+{
+ struct mxt_platform_data *mxt = &atmel_mxt_info;
+ mxt->config = config_sku2000;
+ mxt->config_crc = MXT_CONFIG_CRC_SKU2000;
+}
#endif /* CONFIG_MACH_VENTANA, CONFIG_MACH_CARDHU */
#if defined(CONFIG_MACH_TEGRA_ENTERPRISE)
diff --git a/arch/arm/mach-tegra/board-touch.c b/arch/arm/mach-tegra/board-touch.c
index b3291f132b69..a759a688f5b3 100644
--- a/arch/arm/mach-tegra/board-touch.c
+++ b/arch/arm/mach-tegra/board-touch.c
@@ -93,8 +93,11 @@ Check your _defconfig file and remove all but one touch screen driver instances.
/*** ATMEL Multitouch Support **********************************************/
#if defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9) || defined(CONFIG_TOUCHSCREEN_ATMEL_MXT)
extern struct tegra_touchscreen_init atmel_mxt_init_data;
+#if defined(CONFIG_TOUCHSCREEN_ATMEL_MXT)
+extern void init_sku2000(void);
+#define ATMEL_TOUCHSCREEN_SKU2000 0x0B00
+#endif
#define ATMEL_TOUCHSCREEN_SKU 0x0A00
-#define ATMEL_TOUCHSCREEN_T25 0x0B00
#define ATMEL_TOUCHSCREEN_ENTERPRISE 0x0C00
#if defined(DEFAULT_SKU) && (MULTI_SKU == 0)
#error ERROR! When MULTI_SKU=0, only one touch screen driver is supported at a time.\
@@ -181,8 +184,13 @@ int __init touch_init(void)
switch (sku) {
#if defined(CONFIG_TOUCHSCREEN_ATMEL_MT_T9) || defined(CONFIG_TOUCHSCREEN_ATMEL_MXT)
+#if defined(CONFIG_TOUCHSCREEN_ATMEL_MXT)
+ case ATMEL_TOUCHSCREEN_SKU2000:
+ init_sku2000();
+ /* Fall through */
+#endif
+
case ATMEL_TOUCHSCREEN_SKU:
- case ATMEL_TOUCHSCREEN_T25:
case ATMEL_TOUCHSCREEN_ENTERPRISE:
retval = generic_touch_init(&atmel_mxt_init_data);
break;