aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEduardo Valentin <eduardo.valentin@nokia.com>2009-08-20 09:18:16 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-20 15:10:27 -0400
commitd9a9b3f5f7d4736cfe6fae95b9d63b07faeb702e (patch)
treefaa1b3850e49f40c5e04329737cf7d5301d0b2a1
parent2122fdc629f05634537e796c0630028e4db76953 (diff)
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>
-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 @@
273#define REOFEN 0x0004 273#define REOFEN 0x0004
274#define RFSREN 0x0002 274#define RFSREN 0x0002
275#define RSYNCERREN 0x0001 275#define RSYNCERREN 0x0001
276#define WAKEUPEN_ALL (XEMPTYEOFEN | XRDYEN | XEOFEN | XFSXEN | \
277 XSYNCERREN | RRDYEN | REOFEN | RFSREN | \
278 RSYNCERREN)
279 276
280/* we don't do multichannel for now */ 277/* we don't do multichannel for now */
281struct omap_mcbsp_reg_cfg { 278struct 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)
320 syscon |= (ENAWAKEUP | SIDLEMODE(0x02)); 320 syscon |= (ENAWAKEUP | SIDLEMODE(0x02));
321 OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon); 321 OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);
322 322
323 OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, WAKEUPEN_ALL); 323 OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, XRDYEN | RRDYEN);
324 } 324 }
325} 325}
326 326
@@ -331,15 +331,12 @@ static inline void omap34xx_mcbsp_free(struct omap_mcbsp *mcbsp)
331 */ 331 */
332 if (cpu_is_omap34xx()) { 332 if (cpu_is_omap34xx()) {
333 u16 syscon; 333 u16 syscon;
334 u16 wakeupen;
335 334
336 syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON); 335 syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON);
337 syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03)); 336 syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03));
338 OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon); 337 OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);
339 338
340 wakeupen = OMAP_MCBSP_READ(mcbsp->io_base, WAKEUPEN); 339 OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, 0);
341 wakeupen &= ~WAKEUPEN_ALL;
342 OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, wakeupen);
343 } 340 }
344} 341}
345#else 342#else