]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: adau17x1: Workaround for noise bug in ADC
authorRicard Wanderlof <ricard.wanderlof@axis.com>
Thu, 7 Sep 2017 13:31:38 +0000 (15:31 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 7 Sep 2017 13:46:34 +0000 (14:46 +0100)
commit81dca0edef701fb5bb773b880c66f32f6a218d38
tree75f148ede163ca0690cd6ed0141b648e6b35b249
parent476a3bab14864c4283995abeb8ae79a4f63efee4
ASoC: adau17x1: Workaround for noise bug in ADC

The ADC in the ADAU1361 (and possibly other Analog Devices codecs)
exhibits a cyclic variation in the noise floor (in our test setup between
-87 and -93 dB), a new value being attained within this range whenever a
new capture stream is started. The cycle repeats after about 10 or 11
restarts.

The workaround recommended by the manufacturer is to toggle the ADOSR bit
in the Converter Control 0 register each time a new capture stream is
started.

I have verified that the patch fixes this problem on the ADAU1361, and
according to the manufacturer toggling the bit in question in this manner
will at least have no detrimental effect on other chips served by this
driver.

Signed-off-by: Ricard Wanderlof <ricardw@axis.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
sound/soc/codecs/adau17x1.c
sound/soc/codecs/adau17x1.h