[alsa-devel] mic bias for tlv320aic3x?
Hello,
I'd like to enable 2V mic bias on the tlv320aic3x (which offers 2V, 2.5V, AVDD, off) -- I'd have expected some control in alsamixer to so, but there is none
what is the proper way to implement mic bias selection?
thanks, regards, p.
On Tue, Nov 27, 2012 at 06:15:27PM +0100, Peter Meerwald wrote:
I'd like to enable 2V mic bias on the tlv320aic3x (which offers 2V, 2.5V, AVDD, off) -- I'd have expected some control in alsamixer to so, but there is none
what is the proper way to implement mic bias selection?
As platform data or possibly via an API offered to the machine driver, we've yet to see any use case where it's something that should be varied directly from the application layer.
Always CC maintainers...
Hello,
I'd like to enable 2V mic bias on the tlv320aic3x (which offers 2V, 2.5V, AVDD, off) -- I'd have expected some control in alsamixer to so, but there is none
what is the proper way to implement mic bias selection?
As platform data or possibly via an API offered to the machine driver, we've yet to see any use case where it's something that should be varied directly from the application layer.
I can see the platform data way
I'd be happy with an API to control from the machine driver -- is snd_soc_dapm_enable_pin() to be used for this + some SND_SOC_DAPM_MIC?
I am missing the overall strategy how this is supposed to work
is there a good reference driver?
per default, Mic Bias is off there already are some mic bias definitions in tlv320aic3x:
/* Mic Bias */ SND_SOC_DAPM_REG(snd_soc_dapm_micbias, "Mic Bias 2V", MICBIAS_CTRL, 6, 3, 1, 0), SND_SOC_DAPM_REG(snd_soc_dapm_micbias, "Mic Bias 2.5V", MICBIAS_CTRL, 6, 3, 2, 0), SND_SOC_DAPM_REG(snd_soc_dapm_micbias, "Mic Bias AVDD", MICBIAS_CTRL, 6, 3, 3, 0),
however, those are not referenced anywhere and it is not clear how to access those from the machine driver
as for the use case: user wants to connect either a microphone or line-in to a connector, hence mic bias selection is necessary -- this doesn't sound so unusual
thanks, regards, p.
On Wed, Nov 28, 2012 at 10:28:53AM +0100, Peter Meerwald wrote:
I am missing the overall strategy how this is supposed to work
is there a good reference driver?
Currently nobody is implementing this dynamically, it's always configured via platform data.
per default, Mic Bias is off
Well, of course... it's just a normal thing in DAPM.
there already are some mic bias definitions in tlv320aic3x:
/* Mic Bias */ SND_SOC_DAPM_REG(snd_soc_dapm_micbias, "Mic Bias 2V", MICBIAS_CTRL, 6, 3, 1, 0), SND_SOC_DAPM_REG(snd_soc_dapm_micbias, "Mic Bias 2.5V", MICBIAS_CTRL, 6, 3, 2, 0), SND_SOC_DAPM_REG(snd_soc_dapm_micbias, "Mic Bias AVDD", MICBIAS_CTRL, 6, 3, 3, 0),
however, those are not referenced anywhere and it is not clear how to access those from the machine driver
I'm not clear what the above is intended to do but I think you're supposed to pick the MICBIAS you want to use in your board when you're hooking it up.
as for the use case: user wants to connect either a microphone or line-in to a connector, hence mic bias selection is necessary -- this doesn't sound so unusual
Normally this sort of thing would be done automatically by the kernel detecting what's plugged in, not manually by an application.
participants (2)
-
Mark Brown
-
Peter Meerwald