ASoC: tlv320aic3x: Convert mic bias to a supply widget
authorHebbar Gururaja <gururaja.hebbar@ti.com>
Thu, 31 Jan 2013 12:53:04 +0000 (18:23 +0530)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 4 Feb 2013 18:35:19 +0000 (18:35 +0000)
commite2e8bfdf61573c98162d1112b971d8d00f00fcf8
tree3cfe1c7a55fa32bad47edd3b5541fcbb7380e876
parent88b62b915b0b7e25870eb0604ed9a92ba4bfc9f7
ASoC: tlv320aic3x: Convert mic bias to a supply widget

Convert MicBias widgets to supply widget.

On tlv320aic3x, Mic bias power on/off shares the same register bits
with output mic bias voltage.  So, when power on mic bias, we need
reclaim it to voltage value.

Provide a new platform data so that the micbias voltage can be sent
according to board requirement. Now since tlv320aic3x codec driver
is DT aware, update dt files and functions to handle this new
"micbias-vg"  platform data.

Because of sharing of bits, when enabling the micbias, voltage also
needs to be updated. So use SND_SOC_DAPM_POST_PMU & SND_SOC_DAPM_PRE_PMD
macro to create an event to handle this.

Since micbias is converted to supply widget, updated machine drivers as
well.

This change is runtime tested on da850-evm with audio loopback
(arecord|aplay) for confirmation.

Signed-off-by: Hebbar Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Documentation/devicetree/bindings/sound/tlv320aic3x.txt
include/sound/tlv320aic3x.h
sound/soc/codecs/tlv320aic3x.c
sound/soc/codecs/tlv320aic3x.h
sound/soc/davinci/davinci-evm.c
sound/soc/omap/n810.c
sound/soc/omap/rx51.c