linux/sound
Peter Ujfalusi 276c62225a ASoC: TWL4030: DAPM based capture implementation
This patch adds DAPM implementaion for the capture path
on twlx030.

TWL has two physical ADC and two digital microphone (stereo) connections.
The CPU interface has four microphone channels.
For simplicity the microphone channel paths are named as:
TX1 (Left/Right) - when using i2s mode, only the TX1 data is valid
TX2 (Left/Right)

Input routing (simplified version):
There is two levels of mux settings for TWL in input path:
Analog input mux:
 ADCL <- {Off, Main mic, Headset mic, AUXL, Carkit mic}
 ADCR <- {Off, Sub mic, AUXR}

Analog/Digital mux:
TX1 Analog mode:
 TX1L <- ADCL
 TX1R <- ADCR
TX1 Digital mode:
 TX1L <- Digimic0 (Left)
 TX1R <- Digimic0 (Right)

TX2 Analog mode:
 TX2L <- ADCL
 TX2R <- ADCR
TX2 Digital mode:
 TX2L <- Digimic1 (Left)
 TX2R <- Digimic1 (Right)

The patch provides the following user controls for the capture path:
Mux settings:
"TX1 Capture Route": {Analog, Digimic0}
"TX2 Capture Route": {Analog, Digimic1}
"Analog Left Capture Route":  {Off, Main Mic, Headset Mic, AUXL, Carkit Mic}
"Analog Right Capture Route": {Off, Sub Mic, AUXR}

Volume/Gain controls:
"TX1 Digital Capture Volume": Stereo gain control for TX1 path
"TX2 Digital Capture Volume": Stereo gain control for TX2 path
"Analog Capture Volume":      Stereo gain control for the analog path only

Important things for the board files:
Microphone bias:
"Mic Bias 1":       Bias for Main mic or for digimic0 (analog or digital path)
"Mic Bias 2":       Bias for Sub mic or for digimic1 (analog or digital path)
"Headset Mic Bias": Bias for Headset mic

When the routing configured correctly only the needed components will be
powered/enabled.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-31 13:11:59 +00:00
..
aoa Merge branch 'topic/aoa' into to-push 2008-12-25 11:40:24 +01:00
arm [ARM] pxa: move AC97 register definitions into dedicated regs-ac97.h 2008-12-02 14:42:39 +08:00
core Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-30 16:16:21 -08:00
drivers Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-30 16:16:21 -08:00
i2c V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card 2008-12-29 17:53:28 -02:00
isa Merge branch 'topic/pcsp-fix' into topic/misc 2008-12-20 23:39:47 +01:00
mips removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
oss [ARM] netwinder: clean up GPIO naming 2008-12-13 09:12:07 +00:00
parisc ALSA: harmony - fix a typo 2008-09-04 10:33:55 +02:00
pci Merge branch 'topic/udev-id-rename' into to-push 2008-12-25 11:40:34 +01:00
pcmcia ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule() 2008-12-18 12:17:55 +01:00
ppc Merge branch 'topic/misc' into topic/pcsp-fix 2008-11-26 14:12:42 +01:00
sh ALSA: Fix section for snd-aica platform driver 2008-09-23 08:17:58 +02:00
soc ASoC: TWL4030: DAPM based capture implementation 2008-12-31 13:11:59 +00:00
sparc Revert "of_platform_driver noise on sparce" 2008-12-01 07:55:14 -08:00
spi sound: Convert to menuconfig 2008-05-27 15:56:20 +02:00
synth ALSA: Kill snd_assert() in other places 2008-08-13 11:46:40 +02:00
usb Merge branch 'topic/convert-tasklet' into to-push 2008-12-25 11:40:27 +01:00
ac97_bus.c ALSA: ac97 - Include ac97_codec.h for ac97_bus_type declaration 2008-12-02 16:25:37 +01:00
Kconfig Fix CONFIG_AC97_BUS dependency 2008-09-06 11:43:41 +02:00
last.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
Makefile [ALSA] Add SPI devices to ALSA Kconfig and Makefile 2007-10-16 15:57:47 +02:00
sound_core.c ALSA: Fix declaration of sound_class 2008-12-15 16:55:27 +01:00
sound_firmware.c