aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEduardo Valentin <eduardo.valentin@nokia.com>2009-08-20 09:18:18 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-20 15:10:27 -0400
commitd99a7454e57d3dc9d04d6a77292a056f430a9ece (patch)
tree3be2591611cc0b8dce62a5dd1a2a8b21a2a30c6b
parent2ba93f8fa77c0140de163e8a31bb9c09b5ded74c (diff)
OMAP: McBSP: Configure NO IDLE mode for DMA mode different of threshold
Use dma mode property to configure NO IDLE or SMART IDLE of McBSPs. 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/mcbsp.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index 2c274e6f0de9..85176a5f4148 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -317,7 +317,15 @@ static inline void omap34xx_mcbsp_request(struct omap_mcbsp *mcbsp)
317 317
318 syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON); 318 syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON);
319 syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03) | CLOCKACTIVITY(0x03)); 319 syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03) | CLOCKACTIVITY(0x03));
320 syscon |= (ENAWAKEUP | SIDLEMODE(0x02) | CLOCKACTIVITY(0x02)); 320
321 spin_lock_irq(&mcbsp->lock);
322 if (mcbsp->dma_op_mode == MCBSP_DMA_MODE_THRESHOLD)
323 syscon |= SIDLEMODE(0x02);
324 else
325 syscon |= SIDLEMODE(0x01);
326 spin_unlock_irq(&mcbsp->lock);
327
328 syscon |= (ENAWAKEUP | CLOCKACTIVITY(0x02));
321 OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon); 329 OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);
322 330
323 OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, XRDYEN | RRDYEN); 331 OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, XRDYEN | RRDYEN);