aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/omap_hsi
diff options
context:
space:
mode:
authorCedric Poignet <a0919860@ti.com>2011-10-31 14:23:17 +0100
committerBenoit Goby <benoit@android.com>2011-11-07 18:33:05 -0800
commitae4fc74ca45ceaf12bb19651221c0037fff98f3a (patch)
treea578f814735f23c2784a209ad83fdbfb43d9e236 /drivers/omap_hsi
parent5ab1c88d5a8902bd86146677dc4ecf42978b96aa (diff)
downloadkernel_samsung_tuna-ae4fc74ca45ceaf12bb19651221c0037fff98f3a.zip
kernel_samsung_tuna-ae4fc74ca45ceaf12bb19651221c0037fff98f3a.tar.gz
kernel_samsung_tuna-ae4fc74ca45ceaf12bb19651221c0037fff98f3a.tar.bz2
OMAP4:HSI: Fix CA_WAKE status before 4wires mode
When switching from 3 wires mode to 4 wires mode, the CA_WAKE status need to be cleared/initialized to avoid spurious CA_WAKE events detection if the signal toggles during the 3Wires mode. Change-Id: I4acb38ce63dcbdf6c5a445d92ce7fdd8f91c612f Signed-off-by: Cedric Poignet <a0919860@ti.com>
Diffstat (limited to 'drivers/omap_hsi')
-rw-r--r--drivers/omap_hsi/hsi_driver_if.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/omap_hsi/hsi_driver_if.c b/drivers/omap_hsi/hsi_driver_if.c
index 73b8263..c0a31d7 100644
--- a/drivers/omap_hsi/hsi_driver_if.c
+++ b/drivers/omap_hsi/hsi_driver_if.c
@@ -898,6 +898,10 @@ int hsi_ioctl(struct hsi_device *dev, unsigned int command, void *arg)
/* HW errata HSI-C1BUG00085 : go back to normal IDLE mode */
if (hsi_driver_device_is_hsi(to_platform_device(hsi_ctrl->dev)))
hsi_set_pm_default(hsi_ctrl);
+ /* Clean CA_WAKE status */
+ pport->cawake_status = -1;
+ hsi_outl(HSI_CAWAKEDETECTED, base,
+ HSI_SYS_MPU_STATUS_REG(port, pport->n_irq));
hsi_driver_enable_interrupt(pport, HSI_CAWAKEDETECTED);
hsi_outl_and(HSI_SET_WAKE_3_WIRES_MASK, base,
HSI_SYS_SET_WAKE_REG(port));