diff options
Diffstat (limited to 'firmware/target/arm/as3525/pcm-as3525.c')
-rw-r--r-- | firmware/target/arm/as3525/pcm-as3525.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/firmware/target/arm/as3525/pcm-as3525.c b/firmware/target/arm/as3525/pcm-as3525.c index 8c5bb67076..720f615ba9 100644 --- a/firmware/target/arm/as3525/pcm-as3525.c +++ b/firmware/target/arm/as3525/pcm-as3525.c | |||
@@ -103,7 +103,7 @@ void pcm_play_dma_start(const void *addr, size_t size) | |||
103 | dma_size = size; | 103 | dma_size = size; |
104 | dma_start_addr = (unsigned char*)addr; | 104 | dma_start_addr = (unsigned char*)addr; |
105 | 105 | ||
106 | CGU_PERI |= CGU_I2SOUT_APB_CLOCK_ENABLE; | 106 | bitset32(&CGU_PERI, CGU_I2SOUT_APB_CLOCK_ENABLE); |
107 | CGU_AUDIO |= (1<<11); | 107 | CGU_AUDIO |= (1<<11); |
108 | 108 | ||
109 | dma_retain(); | 109 | dma_retain(); |
@@ -121,7 +121,7 @@ void pcm_play_dma_stop(void) | |||
121 | 121 | ||
122 | dma_release(); | 122 | dma_release(); |
123 | 123 | ||
124 | CGU_PERI &= ~CGU_I2SOUT_APB_CLOCK_ENABLE; | 124 | bitclr32(&CGU_PERI, CGU_I2SOUT_APB_CLOCK_ENABLE); |
125 | CGU_AUDIO &= ~(1<<11); | 125 | CGU_AUDIO &= ~(1<<11); |
126 | } | 126 | } |
127 | 127 | ||
@@ -137,7 +137,7 @@ void pcm_play_dma_pause(bool pause) | |||
137 | 137 | ||
138 | void pcm_play_dma_init(void) | 138 | void pcm_play_dma_init(void) |
139 | { | 139 | { |
140 | CGU_PERI |= CGU_I2SOUT_APB_CLOCK_ENABLE; | 140 | bitset32(&CGU_PERI, CGU_I2SOUT_APB_CLOCK_ENABLE); |
141 | 141 | ||
142 | I2SOUT_CONTROL = (1<<6)|(1<<3) /* enable dma, stereo */; | 142 | I2SOUT_CONTROL = (1<<6)|(1<<3) /* enable dma, stereo */; |
143 | 143 | ||
@@ -339,7 +339,8 @@ void pcm_rec_dma_stop(void) | |||
339 | I2SIN_CONTROL &= ~(1<<11); /* disable dma */ | 339 | I2SIN_CONTROL &= ~(1<<11); /* disable dma */ |
340 | 340 | ||
341 | CGU_AUDIO &= ~((1<<23)|(1<<11)); | 341 | CGU_AUDIO &= ~((1<<23)|(1<<11)); |
342 | CGU_PERI &= ~(CGU_I2SIN_APB_CLOCK_ENABLE|CGU_I2SOUT_APB_CLOCK_ENABLE); | 342 | bitclr32(&CGU_PERI, CGU_I2SIN_APB_CLOCK_ENABLE | |
343 | CGU_I2SOUT_APB_CLOCK_ENABLE); | ||
343 | } | 344 | } |
344 | 345 | ||
345 | 346 | ||
@@ -354,7 +355,8 @@ void pcm_rec_dma_start(void *addr, size_t size) | |||
354 | 355 | ||
355 | dma_retain(); | 356 | dma_retain(); |
356 | 357 | ||
357 | CGU_PERI |= CGU_I2SIN_APB_CLOCK_ENABLE|CGU_I2SOUT_APB_CLOCK_ENABLE; | 358 | bitset32(&CGU_PERI, CGU_I2SIN_APB_CLOCK_ENABLE | |
359 | CGU_I2SOUT_APB_CLOCK_ENABLE); | ||
358 | CGU_AUDIO |= ((1<<23)|(1<<11)); | 360 | CGU_AUDIO |= ((1<<23)|(1<<11)); |
359 | 361 | ||
360 | I2SIN_CONTROL |= (1<<11)|(1<<5); /* enable dma, 14bits samples */ | 362 | I2SIN_CONTROL |= (1<<11)|(1<<5); /* enable dma, 14bits samples */ |