summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorRobert Collins <rcollins@nvidia.com>2011-08-15 15:59:17 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:48:28 -0800
commitce095253b54f8314c9658b99690a68c0b78f276f (patch)
treeca818e8c421f5964a45b013edb01bdd612349202 /arch
parent98b7a1cfb3e3b4349e0344d46123eadad81ff233 (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 Original-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> Rebase-Id: Rede07c6cc06387a4ccb31eaa2b7bd2e4603c3768
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/board-cardhu.c32
-rw-r--r--arch/arm/mach-tegra/board-cardhu.h3
2 files changed, 35 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu.c b/arch/arm/mach-tegra/board-cardhu.c
index b22f1a82ee36..ea8cab8a6d10 100644
--- a/arch/arm/mach-tegra/board-cardhu.c
+++ b/arch/arm/mach-tegra/board-cardhu.c
@@ -478,6 +478,30 @@ static const u8 config[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
+#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
+};
+
static struct mxt_platform_data atmel_mxt_info = {
.x_line = 27,
.y_line = 42,
@@ -505,6 +529,8 @@ static struct i2c_board_info __initdata atmel_i2c_info[] = {
static int __init cardhu_touch_init(void)
{
+ struct board_info BoardInfo;
+
tegra_gpio_enable(TEGRA_GPIO_PH4);
tegra_gpio_enable(TEGRA_GPIO_PH6);
@@ -517,6 +543,12 @@ static int __init cardhu_touch_init(void)
gpio_set_value(TEGRA_GPIO_PH6, 1);
msleep(100);
+ tegra_get_board_info(&BoardInfo);
+ if ((BoardInfo.sku & SKU_TOUCH_MASK) == SKU_TOUCH_2000) {
+ atmel_mxt_info.config = config_sku2000;
+ atmel_mxt_info.config_crc = MXT_CONFIG_CRC_SKU2000;
+ }
+
i2c_register_board_info(1, atmel_i2c_info, 1);
return 0;
diff --git a/arch/arm/mach-tegra/board-cardhu.h b/arch/arm/mach-tegra/board-cardhu.h
index e11ebe6c1faf..bd52b2c908b2 100644
--- a/arch/arm/mach-tegra/board-cardhu.h
+++ b/arch/arm/mach-tegra/board-cardhu.h
@@ -41,6 +41,9 @@
#define SKU_T30S_SUPPORT 0x4
#define SKU_TOUCHSCREEN_MECH_FIX 0x10
+#define SKU_TOUCH_MASK 0xFF00
+#define SKU_TOUCH_2000 0x0B00
+
#define SKU_MEMORY_TYPE_BIT 0x4
#define SKU_MEMORY_TYPE_MASK 0x3
#define SKU_MEMORY_SAMSUNG_EC 0x0