diff options
-rwxr-xr-x | arch/arm/mach-tegra/board-nvodm.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_discovery.c | 3 |
2 files changed, 11 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/board-nvodm.c b/arch/arm/mach-tegra/board-nvodm.c index 60c8a36991ba..81fd9876d9d2 100755 --- a/arch/arm/mach-tegra/board-nvodm.c +++ b/arch/arm/mach-tegra/board-nvodm.c @@ -72,7 +72,7 @@ #include <linux/input.h> #endif - +extern NvBool IsBoardTango(void); NvRmGpioHandle s_hGpioGlobal; struct debug_port_data { @@ -1594,6 +1594,14 @@ static void __init tegra_setup_suspend(void) while (nr_wake--) { unsigned int pad = w->WakeupPadNumber; + +#ifdef CONFIG_TEGRA_BATTERY_NVEC + // pad 24 (gpio_pv2) on harmony should not be enabled as wake-up event + // as battery charging current causes spurious events on this line and + // thus causes un-expected wake-up from LP0 + if ((pad == 24) && !IsBoardTango()) + continue; +#endif if (pad < ARRAY_SIZE(wakepad_irq) && w->enable) enable_irq_wake(wakepad_irq[pad]); diff --git a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_discovery.c b/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_discovery.c index 47506c9e522a..b2763e013918 100644 --- a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_discovery.c +++ b/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query_discovery.c @@ -65,6 +65,7 @@ static NvOdmPeripheralConnectivity s_Peripherals_Default[] = #define PROCESSOR_BOARD_ID_I2C_ADDRESS ((0x56)<<1) #define PROCESSOR_BOARD_ID_I2C_SEGMENT (0x00) +NvBool IsBoardTango(void); // The following are used to store entries read from EEPROMs at runtime. static NvOdmPeripheralConnectivity s_Peripherals[NVODM_QUERY_MAX_PERIPHERALS]; static NvOdmIoAddress s_Peripheral_IoAddresses[NVODM_QUERY_MAX_IO_ADDRESSES]; @@ -621,7 +622,7 @@ NvApGetAllPeripherals (NvU32 *pNum) return (const NvOdmPeripheralConnectivity *)s_Peripherals; } -static NvBool IsBoardTango(void) +NvBool IsBoardTango(void) { NvOdmBoardInfo BoardInfo; static NvBool s_IsBoardIdRead = NV_FALSE; |