From 65a0de3d07731b2857f28261837b5c136f7922d1 Mon Sep 17 00:00:00 2001 From: Maurus Cuelenaere Date: Sat, 3 May 2008 13:52:39 +0000 Subject: [PATCH] Fix red. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17317 a1c6a512-1295-4272-9138-f99709370657 --- .../creative-zvm/pcm-creativezvm.c | 60 +++++++++++++++---- 1 file changed, 47 insertions(+), 13 deletions(-) diff --git a/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c b/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c index 6501125f9e..49f75c26ce 100644 --- a/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c +++ b/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c @@ -22,37 +22,71 @@ #include "audio.h" #include "sound.h" #include "file.h" +#include "dm320.h" +#include "audiohw.h" +#include "dsp-target.h" + +void pcm_play_dma_init(void) +{ + IO_CLK_O1DIV = 3; + /* Set GIO25 to CLKOUT1A */ + IO_GIO_FSEL2 |= 3; + sleep(5); + + audiohw_init(); + + audiohw_set_frequency(1); + + /* init DSP */ + dsp_init(); +} void pcm_postinit(void) { - + audiohw_postinit(); + /* wake DSP */ + dsp_wake(); } +/* set frequency used by the audio hardware */ +void pcm_set_frequency(unsigned int frequency) +{ + int index; + + switch(frequency) + { + case SAMPR_11: + case SAMPR_22: + index = 0; + break; + default: + case SAMPR_44: + index = 1; + break; + case SAMPR_88: + index = 2; + break; + } + + audiohw_set_frequency(index); +} /* pcm_set_frequency */ + const void * pcm_play_dma_get_peak_buffer(int *count) { (void) count; return 0; } -void pcm_play_dma_init(void) -{ - -} - void pcm_apply_settings(void) { } -void pcm_set_frequency(unsigned int frequency) -{ - (void) frequency; -} - void pcm_play_dma_start(const void *addr, size_t size) { - (void) addr; - (void) size; + (void)addr; + (void)size; + DEBUGF("pcm_play_dma_start(0x%x, %d)", addr, size); } void pcm_play_dma_stop(void)