diff options
author | Eduardo Valentin <eduardo.valentin@nokia.com> | 2009-08-20 09:18:16 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-08-20 15:10:27 -0400 |
commit | d9a9b3f5f7d4736cfe6fae95b9d63b07faeb702e (patch) | |
tree | faa1b3850e49f40c5e04329737cf7d5301d0b2a1 /arch/arm/plat-omap | |
parent | 2122fdc629f05634537e796c0630028e4db76953 (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>
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r-- | arch/arm/plat-omap/include/mach/mcbsp.h | 3 | ||||
-rw-r--r-- | arch/arm/plat-omap/mcbsp.c | 7 |
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 */ |
281 | struct omap_mcbsp_reg_cfg { | 278 | 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) | |||
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 |