summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Giacomelli <giac2000@hotmail.com>2011-07-24 21:56:24 +0000
committerMichael Giacomelli <giac2000@hotmail.com>2011-07-24 21:56:24 +0000
commitc27ea297a35b555b93a5e2be66297c1ba6cdbed4 (patch)
treef96abc8f6e30274aaa9863eae98f924565d25c2c
parent855e3c6f0f7b32375b054781fd4d419e1b0fc306 (diff)
downloadrockbox-c27ea297a35b555b93a5e2be66297c1ba6cdbed4.tar.gz
rockbox-c27ea297a35b555b93a5e2be66297c1ba6cdbed4.zip
Commit FS#12111 by Stephan Grossklass. Disables output mixer auto gain control on AMSv2. Should fix occasional distortion reported when running the player at very high output levels (e.g. at or above 0dB).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30208 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/audio/as3514.c2
-rw-r--r--firmware/export/as3514.h4
2 files changed, 5 insertions, 1 deletions
diff --git a/firmware/drivers/audio/as3514.c b/firmware/drivers/audio/as3514.c
index 1774932c51..64531cfc2b 100644
--- a/firmware/drivers/audio/as3514.c
+++ b/firmware/drivers/audio/as3514.c
@@ -151,7 +151,7 @@ void audiohw_preinit(void)
151#ifdef HAVE_AS3543 151#ifdef HAVE_AS3543
152 152
153 as3514_write(AS3514_AUDIOSET1, AUDIOSET1_DAC_on | AUDIOSET1_DAC_GAIN_on); 153 as3514_write(AS3514_AUDIOSET1, AUDIOSET1_DAC_on | AUDIOSET1_DAC_GAIN_on);
154 as3514_write(AS3514_AUDIOSET2, AUDIOSET2_HPH_QUALITY_LOW_POWER); 154 as3514_write(AS3514_AUDIOSET2, AUDIOSET2_AGC_off | AUDIOSET2_HPH_QUALITY_LOW_POWER);
155 /* common ground on, delay playback unmuting when inserting headphones */ 155 /* common ground on, delay playback unmuting when inserting headphones */
156 as3514_write(AS3514_AUDIOSET3, AUDIOSET3_HPCM_on | AUDIOSET3_HP_LONGSTART); 156 as3514_write(AS3514_AUDIOSET3, AUDIOSET3_HPCM_on | AUDIOSET3_HP_LONGSTART);
157 157
diff --git a/firmware/export/as3514.h b/firmware/export/as3514.h
index dfe0f8017f..0bfd445469 100644
--- a/firmware/export/as3514.h
+++ b/firmware/export/as3514.h
@@ -300,6 +300,10 @@ extern void audiohw_set_sampr_dividers(int fsel);
300 300
301/* AUDIOSET2 (15h) */ 301/* AUDIOSET2 (15h) */
302#ifdef HAVE_AS3543 302#ifdef HAVE_AS3543
303#define AUDIOSET2_BIAS_on (0x0 << 7)
304#define AUDIOSET2_BIAS_off (0x1 << 7)
305#define AUDIOSET2_SUM_off (0x1 << 6)
306#define AUDIOSET2_AGC_off (0x1 << 5)
303#define AUDIOSET2_HPH_QUALITY_LOW_POWER (0x0 << 4) 307#define AUDIOSET2_HPH_QUALITY_LOW_POWER (0x0 << 4)
304#define AUDIOSET2_HPH_QUALITY_HIGH (0x1 << 4) 308#define AUDIOSET2_HPH_QUALITY_HIGH (0x1 << 4)
305#else 309#else