diff options
author | Misael Lopez Cruz | 2013-07-08 03:52:30 -0500 |
---|---|---|
committer | Gerrit Code Review | 2013-08-05 15:41:05 -0500 |
commit | c03b70ef926884648b3498f6ad8d1fdd59750078 (patch) | |
tree | 6cb66bc4df99fddafb3ab63a3b75e2856ea03d7d | |
parent | 696c1c4f94564d49f64b28987457e472713fbbe1 (diff) | |
download | kernel-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.c | 14 |
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 | ||
254 | static const char *aic3x_poweron_time[] = { | ||
255 | "0us", "10us", "100us", "1ms", "10ms", "50ms", "100ms", | ||
256 | "200ms", "400ms", "800ms", "2s", "4s", | ||
257 | }; | ||
258 | static const char *aic3x_rampup_step[] = { "0ms", "1ms", "2ms", "4ms" }; | ||
259 | static 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 | /* |