]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
OMAP: MCSPI: Enable mcspi wake-up v2
authorJouni Hogander <jouni.hogander@nokia.com>
Wed, 26 Nov 2008 22:45:35 +0000 (14:45 -0800)
committerTony Lindgren <tony@atomide.com>
Wed, 26 Nov 2008 22:59:25 +0000 (14:59 -0800)
Currently mcspi wake-ups are not enabled. This might cause case where
OMAP is not waking up on mcspi events.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/spi/omap2_mcspi.c

index 454a2712e6290ee0f0f085667a0baec9ec6bb027..d7e519c60096f5819df5ea5017685601c6f5f2b5 100644 (file)
@@ -59,6 +59,8 @@
 
 /* per-register bitmasks: */
 
+#define OMAP2_MCSPI_SYSCONFIG_SMARTIDLE        (2 << 3)
+#define OMAP2_MCSPI_SYSCONFIG_ENAWAKEUP        (1 << 2)
 #define OMAP2_MCSPI_SYSCONFIG_AUTOIDLE (1 << 0)
 #define OMAP2_MCSPI_SYSCONFIG_SOFTRESET        (1 << 1)
 
@@ -90,6 +92,7 @@
 
 #define OMAP2_MCSPI_CHCTRL_EN          (1 << 0)
 
+#define OMAP2_MCSPI_WAKEUPENABLE_WKEN  (1 << 0)
 
 /* We have 2 DMA channels per CS, one for RX and one for TX */
 struct omap2_mcspi_dma {
@@ -884,8 +887,12 @@ static int __init omap2_mcspi_reset(struct omap2_mcspi *mcspi)
        } while (!(tmp & OMAP2_MCSPI_SYSSTATUS_RESETDONE));
 
        mcspi_write_reg(master, OMAP2_MCSPI_SYSCONFIG,
-                       /* (3 << 8) | (2 << 3) | */
-                       OMAP2_MCSPI_SYSCONFIG_AUTOIDLE);
+                       OMAP2_MCSPI_SYSCONFIG_AUTOIDLE |
+                       OMAP2_MCSPI_SYSCONFIG_ENAWAKEUP |
+                       OMAP2_MCSPI_SYSCONFIG_SMARTIDLE);
+
+       mcspi_write_reg(master, OMAP2_MCSPI_WAKEUPENABLE,
+                       OMAP2_MCSPI_WAKEUPENABLE_WKEN);
 
        omap2_mcspi_set_master_mode(master);