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.zip
rockbox-c27ea297a35b555b93a5e2be66297c1ba6cdbed4.tar.gz
rockbox-c27ea297a35b555b93a5e2be66297c1ba6cdbed4.tar.bz2
rockbox-c27ea297a35b555b93a5e2be66297c1ba6cdbed4.tar.xz
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 1774932..64531cf 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 dfe0f80..0bfd445 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