AMS SoC's: Some register bit changes need interrupt protection: timer API and CGU_PERI.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27236 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Michael Sevakis 2010-07-02 06:00:00 +00:00
parent 9d6851688e
commit 0f47ffe0e4
12 changed files with 36 additions and 23 deletions

View file

@ -160,7 +160,7 @@ static void ascodec_finish_req(struct ascodec_request *req)
*/
while (i2c_busy());
/* disable clock */
/* disable clock - already in IRQ context */
CGU_PERI &= ~CGU_I2C_AUDIO_MASTER_CLOCK_ENABLE;
req->status = 1;
@ -205,7 +205,7 @@ static void ascodec_start_req(struct ascodec_request *req)
int unmask = 0;
/* enable clock */
CGU_PERI |= CGU_I2C_AUDIO_MASTER_CLOCK_ENABLE;
bitset32(&CGU_PERI, CGU_I2C_AUDIO_MASTER_CLOCK_ENABLE);
/* start transfer */
I2C2_SADDR = req->index;
@ -266,7 +266,7 @@ void ascodec_init(void)
wakeup_init(&adc_wkup);
/* enable clock */
CGU_PERI |= CGU_I2C_AUDIO_MASTER_CLOCK_ENABLE;
bitset32(&CGU_PERI, CGU_I2C_AUDIO_MASTER_CLOCK_ENABLE);
/* prescaler for i2c clock */
prescaler = AS3525_I2C_PRESCALER;