• Richard Leitner's avatar
    ASoC: sgtl5000: add avc support · a7295267
    Richard Leitner authored
    The sgtl5000 features an automatic volume control block (AVC), which
    reduces loud signals and amplifies low level signals for easier
    listening. This patch adds support for this AVC block to the driver.
    
    Apart from the "AVC Switch" control which enables the block following
    controls for the configuration of AVC are added:
    	+ AVC Threshold Volume: threshold where audio is compressed when
    		the measured level is above or expanded when below
    	+ AVC Max Gain Volume: maximum gain which can be applied when
    		the measured audio level is below threshold
    	+ AVC Hard Limiter Switch: when enabled the signal is limited to
    		the programmed threshold.
    	+ AVC Integrator Response: response time of the integrator
    
    The AVC block is enabled and configured using the DAP_AVC_CTRL and
    DAP_AVC_THRESHOLD registers.
    
    Following 2 checkpatch.pl strict checks are ignored because the
    indentation style is different for the struct snd_kcontrol_new
    definition:
    	patch:147: CHECK: Alignment should match open parenthesis
    	patch:150: CHECK: Alignment should match open parenthesis
    Signed-off-by: default avatarRichard Leitner <richard.leitner@skidata.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    a7295267
sgtl5000.c 40.6 KB