ASoC: tlv320adcx140: Add DRE and AGC support
authorDan Murphy <dmurphy@ti.com>
Fri, 21 Feb 2020 18:13:57 +0000 (12:13 -0600)
committerMark Brown <broonie@kernel.org>
Fri, 21 Feb 2020 19:36:18 +0000 (19:36 +0000)
commit8a329dbd4a02dc4e4ff78b006c33676f867f2726
tree688f61795a5fb67c8b8c0a2e97fbc2f1259856b5
parentb38c4a8a0291c31a660cd77761202ebb18332fb7
ASoC: tlv320adcx140: Add DRE and AGC support

The TLV320ADCx140 parts support Dynamic Range Enhancer (DRE) as defined
in Section 8.3.2 of the data sheets.

The DRE achieves a complete-channel dynamic range as high as 120 dB.
At a system level, the DRE scheme enables far-field, high-fidelity recording
of audio signals in very quiet environments and low-distortion recording in
loud environments.

There are 2 enables for DRE.  The first is a global setting that enables
the DRE engine in the device and the other enable is per channel.  If
the DRE is enabled globally then either DRE or AGC can be used per each
configured channel.  If global DRE is disabled then even setting the DRE
enable bit in the channel config register will have no effect.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
Link: https://lore.kernel.org/r/20200221181358.22526-1-dmurphy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/tlv320adcx140.c
sound/soc/codecs/tlv320adcx140.h