summaryrefslogtreecommitdiff
path: root/firmware/pcm_playback.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/pcm_playback.c')
-rw-r--r--firmware/pcm_playback.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c
index 05c5447ff8..5f87917844 100644
--- a/firmware/pcm_playback.c
+++ b/firmware/pcm_playback.c
@@ -77,8 +77,10 @@ static void dma_start(const void *addr, long size)
77 77
78 /* Enable the FIFO and force one write to it */ 78 /* Enable the FIFO and force one write to it */
79 IIS2CONFIG = IIS_DEFPARM(pcm_freq); 79 IIS2CONFIG = IIS_DEFPARM(pcm_freq);
80#ifdef HAVE_SPDIF_OUT
80 /* Also send the audio to S/PDIF */ 81 /* Also send the audio to S/PDIF */
81 EBU1CONFIG = EBU_DEFPARM; 82 EBU1CONFIG = EBU_DEFPARM;
83#endif
82 DCR0 = DMA_INT | DMA_EEXT | DMA_CS | DMA_SINC | DMA_START; 84 DCR0 = DMA_INT | DMA_EEXT | DMA_CS | DMA_SINC | DMA_START;
83} 85}
84 86
@@ -90,7 +92,9 @@ static void dma_stop(void)
90 DCR0 = 0; 92 DCR0 = 0;
91 /* Reset the FIFO */ 93 /* Reset the FIFO */
92 IIS2CONFIG = IIS_RESET | IIS_DEFPARM(pcm_freq); 94 IIS2CONFIG = IIS_RESET | IIS_DEFPARM(pcm_freq);
95#ifdef HAVE_SPDIF_OUT
93 EBU1CONFIG = IIS_RESET; 96 EBU1CONFIG = IIS_RESET;
97#endif
94 98
95 next_start = NULL; 99 next_start = NULL;
96 next_size = 0; 100 next_size = 0;
@@ -220,7 +224,9 @@ void pcm_play_pause(bool play)
220 //BCR0 = next_size; 224 //BCR0 = next_size;
221 /* Enable the FIFO and force one write to it */ 225 /* Enable the FIFO and force one write to it */
222 IIS2CONFIG = IIS_DEFPARM(pcm_freq); 226 IIS2CONFIG = IIS_DEFPARM(pcm_freq);
227#ifdef HAVE_SPDIF_OUT
223 EBU1CONFIG = EBU_DEFPARM; 228 EBU1CONFIG = EBU_DEFPARM;
229#endif
224 DCR0 |= DMA_EEXT | DMA_START; 230 DCR0 |= DMA_EEXT | DMA_START;
225 } 231 }
226 else if(!pcm_paused && !play) 232 else if(!pcm_paused && !play)
@@ -230,7 +236,9 @@ void pcm_play_pause(bool play)
230 /* Disable DMA peripheral request. */ 236 /* Disable DMA peripheral request. */
231 DCR0 &= ~DMA_EEXT; 237 DCR0 &= ~DMA_EEXT;
232 IIS2CONFIG = IIS_RESET | IIS_DEFPARM(pcm_freq); 238 IIS2CONFIG = IIS_RESET | IIS_DEFPARM(pcm_freq);
239#ifdef HAVE_SPDIF_OUT
233 EBU1CONFIG = IIS_RESET; 240 EBU1CONFIG = IIS_RESET;
241#endif
234 } 242 }
235 pcm_paused = !play; 243 pcm_paused = !play;
236} 244}