summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525/pcm-as3525.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/as3525/pcm-as3525.c')
-rw-r--r--firmware/target/arm/as3525/pcm-as3525.c12
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
138void pcm_play_dma_init(void) 138void 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 */