From 19f7ac5038dc11e1ee2c54bb411326d23b40ccff Mon Sep 17 00:00:00 2001 From: Jarkko Nikula Date: Fri, 17 Sep 2010 14:39:01 +0300 Subject: [PATCH] ASoC: tlv320aic3x: Add virtual output pin Detection Purpose of this virtual Detection pin is to keep codec bias on whenever the GPIO or jack detection features are needed. Jack detection needs a mic bias so machine drivers can construct a following route for instance for keeping the path and codec bias on: "Input Jack" -> "Mic Bias xV" -> "Detection" -> detection block inside codec. For the GPIO the machine driver can force the pin on with snd_soc_dapm_force_enable_pin. Signed-off-by: Jarkko Nikula Acked-by: Mark Brown Signed-off-by: Liam Girdwood --- sound/soc/codecs/tlv320aic3x.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c index 94dc707..92030f5 100644 --- a/sound/soc/codecs/tlv320aic3x.c +++ b/sound/soc/codecs/tlv320aic3x.c @@ -646,6 +646,14 @@ static const struct snd_soc_dapm_widget aic3x_dapm_widgets[] = { SND_SOC_DAPM_INPUT("LINE1R"), SND_SOC_DAPM_INPUT("LINE2L"), SND_SOC_DAPM_INPUT("LINE2R"), + + /* + * Virtual output pin to detection block inside codec. This can be + * used to keep codec bias on if gpio or detection features are needed. + * Force pin on or construct a path with an input jack and mic bias + * widgets. + */ + SND_SOC_DAPM_OUTPUT("Detection"), }; static const struct snd_soc_dapm_widget aic3007_dapm_widgets[] = { -- 2.7.4