linux/sound
Misael Lopez Cruz 8ecbabd977 ASoC: TWL6040: Add twl6040 codec driver
Initial version of TWL6040 codec driver.

The TWL6040 codec uses a proprietary PDM-based digital audio interface.
Audio paths supported are:

- Input: Main Mic, Sub Mic, Headset Mic, Auxiliary-FM Left/Right
- Output: Headset Left/Right, Handsfree Left/Right

TWL6040 codec supports power-up/down manual and automatic sequence.
Manual sequence is done through a specific register writes sequence.
Automatic sequence is done when the codec is powered-up through the
external AUDPWRON line. The completion of the sequence is signaled
through the audio interrupt.

TWL6040 codec sysclk can be provided by: low-power or high
performance PLL:

- The low-power PLL takes a low-frequency input at 32,768 Hz and
generates an approximate of 17.64 or 19.2 MHz (for 44.1 KHz and 48 KHz
respectively)

- The high-performance PLL generates an exact 19.2 MHz clock signal
from high-frequency input at 12/19.2/26/38.4 MHz.

Low-power playback mode is a special scenario where only headset path
(headset DAC and driver) is active.

For the particular case of headset path, PLL being used defines the
headset power mode: low-power, high-performance.

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-03-19 11:29:33 +00:00
..
aoa of: unify phandle name in struct device_node 2010-01-28 14:06:53 -07:00
arm ALSA: sound/arm: Fix build failure caused by missing struct aaci definition 2009-12-26 10:16:07 +01:00
atmel ALSA: snd-atmel-abdac: increase periods_min to 6 instead of 4 2009-04-06 03:56:28 +02:00
core ALSA: timer - pass real event in snd_timer_notify1() to instance callback 2010-03-03 22:39:45 +01:00
drivers Merge remote branch 'alsa/devel' into topic/misc 2010-02-12 10:42:38 +01:00
i2c Merge branch 'topic/hda' into for-linus 2009-12-04 16:22:45 +01:00
isa ALSA: fix jazz16 compile (udelay) 2010-03-05 08:13:20 +01:00
mips ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers 2010-01-18 15:00:34 +01:00
oss Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-03-08 07:34:26 -08:00
parisc ALSA: sound/parisc: Move dereference after NULL test 2009-10-30 12:01:38 +01:00
pci Merge branch 'topic/misc' into for-linus 2010-03-08 09:35:50 +01:00
pcmcia ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers 2010-01-18 15:00:34 +01:00
ppc of: add 'of_' prefix to machine_is_compatible() 2010-02-09 08:33:00 -07:00
sh Merge branch 'topic/beep-rename' into topic/core-change 2009-12-01 15:58:10 +01:00
soc ASoC: TWL6040: Add twl6040 codec driver 2010-03-19 11:29:33 +00:00
sparc ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some drivers 2009-04-28 15:06:44 +02:00
spi ALSA: Convert to snd_card_create() in other sound/* 2009-01-12 15:21:19 +01:00
synth tree-wide: fix typos "couter" -> "counter" 2009-12-04 15:39:51 +01:00
usb ALSA: usbaudio - remove debug "SAMPLE BYTES" printk line 2010-03-03 22:40:04 +01:00
Kconfig tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
Makefile ALSA: Add Atmel ALSA drivers directory 2009-02-05 15:08:53 +01:00
ac97_bus.c ALSA: ac97 - Include ac97_codec.h for ac97_bus_type declaration 2008-12-02 16:25:37 +01:00
last.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
sound_core.c ALSA: use subsys_initcall for sound core instead of module_init 2010-01-14 21:21:47 +01:00
sound_firmware.c