summaryrefslogtreecommitdiffstats
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.tar.bz2
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)
#ifdef HAVE_AS3543
as3514_write(AS3514_AUDIOSET1, AUDIOSET1_DAC_on | AUDIOSET1_DAC_GAIN_on);
- as3514_write(AS3514_AUDIOSET2, AUDIOSET2_HPH_QUALITY_LOW_POWER);
+ as3514_write(AS3514_AUDIOSET2, AUDIOSET2_AGC_off | AUDIOSET2_HPH_QUALITY_LOW_POWER);
/* common ground on, delay playback unmuting when inserting headphones */
as3514_write(AS3514_AUDIOSET3, AUDIOSET3_HPCM_on | AUDIOSET3_HP_LONGSTART);
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);
/* AUDIOSET2 (15h) */
#ifdef HAVE_AS3543
+#define AUDIOSET2_BIAS_on (0x0 << 7)
+#define AUDIOSET2_BIAS_off (0x1 << 7)
+#define AUDIOSET2_SUM_off (0x1 << 6)
+#define AUDIOSET2_AGC_off (0x1 << 5)
#define AUDIOSET2_HPH_QUALITY_LOW_POWER (0x0 << 4)
#define AUDIOSET2_HPH_QUALITY_HIGH (0x1 << 4)
#else