summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorEduardo Valentin <eduardo.valentin@nokia.com>2009-08-20 16:18:16 +0300
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-20 20:10:27 +0100
commitd9a9b3f5f7d4736cfe6fae95b9d63b07faeb702e (patch)
treefaa1b3850e49f40c5e04329737cf7d5301d0b2a1 /arch/arm
parent2122fdc629f05634537e796c0630028e4db76953 (diff)
downloadlinux-d9a9b3f5f7d4736cfe6fae95b9d63b07faeb702e.tar.gz
linux-d9a9b3f5f7d4736cfe6fae95b9d63b07faeb702e.tar.bz2
linux-d9a9b3f5f7d4736cfe6fae95b9d63b07faeb702e.zip
OMAP: McBSP: Change wakeup signals
Configure only XRDYEN and RRDYEN wakeup signals in order to get better power consumption. Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/plat-omap/include/mach/mcbsp.h3
-rw-r--r--arch/arm/plat-omap/mcbsp.c7
2 files changed, 2 insertions, 8 deletions
diff --git a/arch/arm/plat-omap/include/mach/mcbsp.h b/arch/arm/plat-omap/include/mach/mcbsp.h
index 333061d4f4a7..fe10ae8b027b 100644
--- a/arch/arm/plat-omap/include/mach/mcbsp.h
+++ b/arch/arm/plat-omap/include/mach/mcbsp.h
@@ -273,9 +273,6 @@
#define REOFEN 0x0004
#define RFSREN 0x0002
#define RSYNCERREN 0x0001
-#define WAKEUPEN_ALL (XEMPTYEOFEN | XRDYEN | XEOFEN | XFSXEN | \
- XSYNCERREN | RRDYEN | REOFEN | RFSREN | \
- RSYNCERREN)
/* we don't do multichannel for now */
struct omap_mcbsp_reg_cfg {
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index 136f8c5d0dac..86bfad88abdf 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -320,7 +320,7 @@ static inline void omap34xx_mcbsp_request(struct omap_mcbsp *mcbsp)
syscon |= (ENAWAKEUP | SIDLEMODE(0x02));
OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);
- OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, WAKEUPEN_ALL);
+ OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, XRDYEN | RRDYEN);
}
}
@@ -331,15 +331,12 @@ static inline void omap34xx_mcbsp_free(struct omap_mcbsp *mcbsp)
*/
if (cpu_is_omap34xx()) {
u16 syscon;
- u16 wakeupen;
syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON);
syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03));
OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);
- wakeupen = OMAP_MCBSP_READ(mcbsp->io_base, WAKEUPEN);
- wakeupen &= ~WAKEUPEN_ALL;
- OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, wakeupen);
+ OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, 0);
}
}
#else