diff options
Diffstat (limited to 'firmware/pcm_playback.c')
-rw-r--r-- | firmware/pcm_playback.c | 8 |
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 | } |