aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisael Lopez Cruz2013-07-08 03:52:30 -0500
committerGerrit Code Review2013-08-05 15:41:05 -0500
commitc03b70ef926884648b3498f6ad8d1fdd59750078 (patch)
tree6cb66bc4df99fddafb3ab63a3b75e2856ea03d7d
parent696c1c4f94564d49f64b28987457e472713fbbe1 (diff)
downloadkernel-audio-c03b70ef926884648b3498f6ad8d1fdd59750078.tar.gz
kernel-audio-c03b70ef926884648b3498f6ad8d1fdd59750078.tar.xz
kernel-audio-c03b70ef926884648b3498f6ad8d1fdd59750078.zip
ASoC: tlv320aic3x: Add output driver pop reduction controls
Output driver has two parameters that can be configured to reduce pop noise: power-on delay and ramp-up step time. Two new kcontrols have been added to set these parameters. Change-Id: Icb9963ce046adb81bf31997a037c404178e18f71 Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
-rw-r--r--sound/soc/codecs/tlv320aic3x.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
index 31772fad881a..a945452fce0a 100644
--- a/sound/soc/codecs/tlv320aic3x.c
+++ b/sound/soc/codecs/tlv320aic3x.c
@@ -251,6 +251,16 @@ static const struct soc_enum aic3x_agc_decay_enum[] = {
251 SOC_ENUM_SINGLE(RAGC_CTRL_A, 0, 4, aic3x_agc_decay), 251 SOC_ENUM_SINGLE(RAGC_CTRL_A, 0, 4, aic3x_agc_decay),
252}; 252};
253 253
254static const char *aic3x_poweron_time[] = {
255 "0us", "10us", "100us", "1ms", "10ms", "50ms", "100ms",
256 "200ms", "400ms", "800ms", "2s", "4s",
257};
258static const char *aic3x_rampup_step[] = { "0ms", "1ms", "2ms", "4ms" };
259static const struct soc_enum aic3x_pop_reduction_enum[] = {
260 SOC_ENUM_SINGLE(HPOUT_POP_REDUCTION, 4, 12, aic3x_poweron_time),
261 SOC_ENUM_SINGLE(HPOUT_POP_REDUCTION, 2, 4, aic3x_rampup_step),
262};
263
254/* 264/*
255 * DAC digital volumes. From -63.5 to 0 dB in 0.5 dB steps 265 * DAC digital volumes. From -63.5 to 0 dB in 0.5 dB steps
256 */ 266 */
@@ -391,6 +401,10 @@ static const struct snd_kcontrol_new aic3x_snd_controls[] = {
391 SOC_DOUBLE_R("PGA Capture Switch", LADC_VOL, RADC_VOL, 7, 0x01, 1), 401 SOC_DOUBLE_R("PGA Capture Switch", LADC_VOL, RADC_VOL, 7, 0x01, 1),
392 402
393 SOC_ENUM("ADC HPF Cut-off", aic3x_enum[ADC_HPF_ENUM]), 403 SOC_ENUM("ADC HPF Cut-off", aic3x_enum[ADC_HPF_ENUM]),
404
405 /* Pop reduction */
406 SOC_ENUM("Output Driver Power-On time", aic3x_pop_reduction_enum[0]),
407 SOC_ENUM("Output Driver Ramp-up step", aic3x_pop_reduction_enum[1]),
394}; 408};
395 409
396/* 410/*