OMAP: McBSP: Change wakeup signals
authorEduardo Valentin <eduardo.valentin@nokia.com>
Thu, 20 Aug 2009 13:18:16 +0000 (16:18 +0300)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 20 Aug 2009 19:10:27 +0000 (20:10 +0100)
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>
arch/arm/plat-omap/include/mach/mcbsp.h
arch/arm/plat-omap/mcbsp.c

index 333061d4f4a7f203dc1a4f6719bcacaca000e6ba..fe10ae8b027b0dd87d95971d7f670e37d7d6374f 100644 (file)
 #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 {
index 136f8c5d0dac075fb8c601e5d840958ec2aa6633..86bfad88abdff549e4c596b178980fcb6e0ab1fb 100644 (file)
@@ -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