ASoC: TWL6040: Add twl6040 codec driver
authorMisael Lopez Cruz <x0052729@ti.com>
Fri, 19 Mar 2010 11:25:51 +0000 (11:25 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 19 Mar 2010 11:29:33 +0000 (11:29 +0000)
commit8ecbabd977dc64d2d8c9980420a3d72db06fe551
tree106f18d7d1a403a9eebed27480dcf128154caeac
parent27648b2f1c464f8827cc01ba4eb21580b5402947
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>
sound/soc/codecs/Kconfig
sound/soc/codecs/Makefile
sound/soc/codecs/twl6040.c [new file with mode: 0755]
sound/soc/codecs/twl6040.h [new file with mode: 0644]