summaryrefslogtreecommitdiff
path: root/firmware/target/arm/tms320dm320
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-12-12 11:01:07 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-12-12 11:01:07 +0000
commite69d567d9ebf7d236ff9663b11ac396cc71dcd75 (patch)
tree093b9d1bc979d79be1fcd0daac1d8daf8ac55503 /firmware/target/arm/tms320dm320
parent0ad97d13fc52b28de566dc0ddaf7245583eec2cc (diff)
downloadrockbox-e69d567d9ebf7d236ff9663b11ac396cc71dcd75.tar.gz
rockbox-e69d567d9ebf7d236ff9663b11ac396cc71dcd75.zip
Bring consistency to pcm implementation and samplerate handling. Less low-level duplication. A small test_sampr fix so it works on coldfire again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19400 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/tms320dm320')
-rw-r--r--firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c33
-rw-r--r--[-rwxr-xr-x]firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c8
2 files changed, 8 insertions, 33 deletions
diff --git a/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c b/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c
index 34425fa63d..d8c953bbce 100644
--- a/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c
+++ b/firmware/target/arm/tms320dm320/creative-zvm/pcm-creativezvm.c
@@ -28,6 +28,8 @@
28#include "audiohw.h" 28#include "audiohw.h"
29#include "dsp-target.h" 29#include "dsp-target.h"
30 30
31static int pcm_fsel = HW_FREQ_DEFAULT;
32
31void pcm_play_dma_init(void) 33void pcm_play_dma_init(void)
32{ 34{
33 IO_CLK_O1DIV = 3; 35 IO_CLK_O1DIV = 3;
@@ -37,7 +39,7 @@ void pcm_play_dma_init(void)
37 39
38 audiohw_init(); 40 audiohw_init();
39 41
40 audiohw_set_frequency(1); 42 audiohw_set_frequency(HW_FREQ_DEFAULT);
41 43
42 /* init DSP */ 44 /* init DSP */
43 dsp_init(); 45 dsp_init();
@@ -46,42 +48,21 @@ void pcm_play_dma_init(void)
46void pcm_postinit(void) 48void pcm_postinit(void)
47{ 49{
48 audiohw_postinit(); 50 audiohw_postinit();
51 pcm_apply_settings();
52
49 /* wake DSP */ 53 /* wake DSP */
50 dsp_wake(); 54 dsp_wake();
51} 55}
52 56
53/* set frequency used by the audio hardware */
54void pcm_set_frequency(unsigned int frequency)
55{
56 int index;
57
58 switch(frequency)
59 {
60 case SAMPR_11:
61 case SAMPR_22:
62 index = 0;
63 break;
64 default:
65 case SAMPR_44:
66 index = 1;
67 break;
68 case SAMPR_88:
69 index = 2;
70 break;
71 }
72
73 audiohw_set_frequency(index);
74} /* pcm_set_frequency */
75
76const void * pcm_play_dma_get_peak_buffer(int *count) 57const void * pcm_play_dma_get_peak_buffer(int *count)
77{ 58{
78 (void) count; 59 (void) count;
79 return 0; 60 return 0;
80} 61}
81 62
82void pcm_apply_settings(void) 63void pcm_dma_apply_settings(void)
83{ 64{
84 65 audiohw_set_frequency(pcm_fsel);
85} 66}
86 67
87void pcm_play_dma_start(const void *addr, size_t size) 68void pcm_play_dma_start(const void *addr, size_t size)
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c
index 2f0e40757b..4c9cc337a5 100755..100644
--- a/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c
+++ b/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c
@@ -41,14 +41,8 @@ void pcm_play_dma_init(void)
41 41
42} 42}
43 43
44void pcm_apply_settings(void) 44void pcm_dma_apply_settings(void)
45{ 45{
46
47}
48
49void pcm_set_frequency(unsigned int frequency)
50{
51 (void) frequency;
52} 46}
53 47
54void pcm_play_dma_start(const void *addr, size_t size) 48void pcm_play_dma_start(const void *addr, size_t size)