summaryrefslogtreecommitdiff
path: root/firmware/drivers/audio
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2010-06-26 10:07:17 +0000
committerMichael Sevakis <jethead71@rockbox.org>2010-06-26 10:07:17 +0000
commitb15a523870d6aa45b38b92547053beb986b92d9a (patch)
tree8b75fe5f13a3418186cb11c01062ad415490036b /firmware/drivers/audio
parentac622c6d673c708d48527db8a189401422a5d03c (diff)
downloadrockbox-b15a523870d6aa45b38b92547053beb986b92d9a.tar.gz
rockbox-b15a523870d6aa45b38b92547053beb986b92d9a.zip
e200v1/c200v1: Implement limited samplerate switching. Rates 24kHz and below are being a bear as far as minor crackling at higher amplitude-- leave them out for the time being since no solution is currently evident. 48, 44, 32 (rec rates 24, 22, 16) seem perfectly fine. I'm betting c200 is ok to include because it uses the same setup as e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27139 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/audio')
-rw-r--r--firmware/drivers/audio/as3514.c9
-rw-r--r--firmware/drivers/audio/sdl.c4
2 files changed, 13 insertions, 0 deletions
diff --git a/firmware/drivers/audio/as3514.c b/firmware/drivers/audio/as3514.c
index 34dc9ad29f..957aba8dbb 100644
--- a/firmware/drivers/audio/as3514.c
+++ b/firmware/drivers/audio/as3514.c
@@ -327,6 +327,15 @@ void audiohw_close(void)
327 327
328void audiohw_set_frequency(int fsel) 328void audiohw_set_frequency(int fsel)
329{ 329{
330#if defined(SANSA_E200) || defined(SANSA_C200)
331 if ((unsigned)fsel >= HW_NUM_FREQ)
332 fsel = HW_FREQ_DEFAULT;
333
334 as3514_write(AS3514_PLLMODE, hw_freq_sampr[fsel] < 24000 ?
335 PLLMODE_LRCK_8_23 : PLLMODE_LRCK_24_48);
336
337 audiohw_set_sampr_dividers(fsel);
338#endif
330 (void)fsel; 339 (void)fsel;
331} 340}
332 341
diff --git a/firmware/drivers/audio/sdl.c b/firmware/drivers/audio/sdl.c
index c063192873..f4c622d7a6 100644
--- a/firmware/drivers/audio/sdl.c
+++ b/firmware/drivers/audio/sdl.c
@@ -162,6 +162,10 @@ void audiohw_set_eq_band_width(unsigned int band, int value)
162void audiohw_set_depth_3d(int value) 162void audiohw_set_depth_3d(int value)
163 { (void)value; } 163 { (void)value; }
164#endif 164#endif
165#if defined(HAVE_SAMPR_TYPE_REC)
166unsigned int pcm_sampr_type_rec_to_play(int samplerate)
167 { return samplerate; }
168#endif
165#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) 169#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
166int mas_codec_readreg(int reg) 170int mas_codec_readreg(int reg)
167{ 171{