summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary King <gking@nvidia.com>2010-03-22 17:23:26 -0700
committerGary King <gking@nvidia.com>2010-03-23 08:38:55 -0800
commit854209499f803b7670599c720a9cf1b154e7334c (patch)
tree84e6e46873417cc6b66b2ed190199988c71466e9
parent5c1af346ca8d2d9e69fc55cf68455265d36d75a3 (diff)
tegra harmony: fix ODM kit issues with internal keyboard
fix broken build of nvodm_kbc.c caused by path changes during initial p4 to git merge keyboard should be a wake event when the KEYBOARD_TEGRA driver is compiled into the kernel reduce the repeat and debouce times; the keyboard was nearly unusable with a repeat ping time of 100ms fix the row and column numbers for the select wakeup keys: the values need to be absolute row & column offsets, not the harmony-local GPIO enumerants (in which columns have numbers above rows), and the values previously defined ([0,0] and [1,1]) aren't actually keys on the satellite keyboard; change the values to the ESC and Windows keys. Change-Id: I50bca7eee5c9101163b01e08457606cb4a5f32de Reviewed-on: http://git-master/r/932 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/odm_kit/adaptations/misc/harmony/nvodm_kbc.c2
-rw-r--r--arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c6
-rw-r--r--arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_kbc.c8
3 files changed, 10 insertions, 6 deletions
diff --git a/arch/arm/mach-tegra/odm_kit/adaptations/misc/harmony/nvodm_kbc.c b/arch/arm/mach-tegra/odm_kit/adaptations/misc/harmony/nvodm_kbc.c
index 5dea42a0d1e4..3f07a61a66c4 100644
--- a/arch/arm/mach-tegra/odm_kit/adaptations/misc/harmony/nvodm_kbc.c
+++ b/arch/arm/mach-tegra/odm_kit/adaptations/misc/harmony/nvodm_kbc.c
@@ -37,7 +37,7 @@
* @Description : Implementation of the odm KBC API
*/
#include "nvodm_kbc.h"
-#include "../../query/nvodm_query_kbc_qwerty_def.h"
+#include "../../../query/harmony/nvodm_query_kbc_qwerty_def.h"
NvU32
NvOdmKbcFilterKeys(
diff --git a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c b/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c
index dbd051ef9c7d..63116a5d9557 100644
--- a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c
+++ b/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c
@@ -311,7 +311,11 @@ static NvOdmWakeupPadInfo s_NvOdmWakeupPadInfo[] =
{NV_FALSE, 14, NvOdmWakeupPadPolarity_High}, // Wake Event 14 - gp3_pv[6] (WLAN_INT)
{NV_FALSE, 15, NvOdmWakeupPadPolarity_AnyEdge}, // Wake Event 15 - gmi_ad16 (SPI3_DOUT, DTV_SPI4_CS1)
{NV_TRUE, 16, NvOdmWakeupPadPolarity_High}, // Wake Event 16 - rtc_irq
- {NV_FALSE, 17, NvOdmWakeupPadPolarity_High}, // Wake Event 17 - kbc_interrupt
+#ifdef CONFIG_KEYBOARD_TEGRA
+ {NV_TRUE, 17, NvOdmWakeupPadPolarity_High}, // Wake Event 17 - kbc_interrupt
+#else
+ {NV_FALSE, 17, NvOdmWakeupPadPolarity_High},
+#endif
{NV_FALSE, 18, NvOdmWakeupPadPolarity_Low}, // Wake Event 18 - pwr_int (PMIC_INT)
{NV_TRUE, 19, NvOdmWakeupPadPolarity_High}, // Wake Event 19 - usb_vbus_wakeup[0]
{NV_FALSE, 20, NvOdmWakeupPadPolarity_High}, // Wake Event 20 - usb_vbus_wakeup[1]
diff --git a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_kbc.c b/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_kbc.c
index 6782bd778aeb..951fc9730f41 100644
--- a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_kbc.c
+++ b/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_kbc.c
@@ -41,8 +41,8 @@
#include "nvodm_query_kbc_gpio_def.h"
#include "nvodm_query_kbc_qwerty_def.h"
-static NvU32 RowNumbers[] = {NvOdmKbcGpioPin_KBRow0, NvOdmKbcGpioPin_KBRow1};
-static NvU32 ColNumbers[] = {NvOdmKbcGpioPin_KBCol0, NvOdmKbcGpioPin_KBCol0};
+static NvU32 RowNumbers[] = {1, 15};
+static NvU32 ColNumbers[] = {7, 0};
void
NvOdmKbcGetParameter(
@@ -55,11 +55,11 @@ NvOdmKbcGetParameter(
{
case NvOdmKbcParameter_DebounceTime:
pTempVar = (NvU32 *)pValue;
- *pTempVar = 10;
+ *pTempVar = 2;
break;
case NvOdmKbcParameter_RepeatCycleTime:
pTempVar = (NvU32 *)pValue;
- *pTempVar = 100;
+ *pTempVar = 5;
break;
default:
break;