Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ddb22195 authored by Jouni Hogander's avatar Jouni Hogander Committed by Linus Torvalds
Browse files

spi: omap2_mcspi supports wake events



Currently mcspi wake-ups are not enabled.  This might cause cases where
OMAP is not waking up on mcspi events.

Signed-off-by: default avatarJouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent c42b110c
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -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 {
@@ -873,8 +876,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);