Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ba93f8f authored by Eero Nurkkala's avatar Eero Nurkkala Committed by Mark Brown
Browse files

OMAP: McBSP: Retain McBSP FCLK clockactivity



FCLK may get autogated so that it prevents the McBSP
to work properly. It is the bit 9 that must be set
for maintaining the McBSP FCLK.

Signed-off-by: default avatarEero Nurkkala <ext-eero.nurkkala@nokia.com>
Signed-off-by: default avatarEduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: default avatarJarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent d9a9b3f5
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -254,6 +254,7 @@
#define RDISABLE		0x0001
#define RDISABLE		0x0001


/********************** McBSP SYSCONFIG bit definitions ********************/
/********************** McBSP SYSCONFIG bit definitions ********************/
#define CLOCKACTIVITY(value)	((value)<<8)
#define SIDLEMODE(value)	((value)<<3)
#define SIDLEMODE(value)	((value)<<3)
#define ENAWAKEUP		0x0004
#define ENAWAKEUP		0x0004
#define SOFTRST			0x0002
#define SOFTRST			0x0002
+3 −3
Original line number Original line Diff line number Diff line
@@ -316,8 +316,8 @@ static inline void omap34xx_mcbsp_request(struct omap_mcbsp *mcbsp)
		u16 syscon;
		u16 syscon;


		syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON);
		syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON);
		syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03));
		syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03) | CLOCKACTIVITY(0x03));
		syscon |= (ENAWAKEUP | SIDLEMODE(0x02));
		syscon |= (ENAWAKEUP | SIDLEMODE(0x02) | CLOCKACTIVITY(0x02));
		OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);
		OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);


		OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, XRDYEN | RRDYEN);
		OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, XRDYEN | RRDYEN);
@@ -333,7 +333,7 @@ static inline void omap34xx_mcbsp_free(struct omap_mcbsp *mcbsp)
		u16 syscon;
		u16 syscon;


		syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON);
		syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON);
		syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03));
		syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03) | CLOCKACTIVITY(0x03));
		OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);
		OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);


		OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, 0);
		OMAP_MCBSP_WRITE(mcbsp->io_base, WAKEUPEN, 0);