ASoC: Codec driver for Texas Instruments tlv320dac33 codec
authorPeter Ujfalusi <peter.ujfalusi@nokia.com>
Thu, 15 Oct 2009 06:03:56 +0000 (09:03 +0300)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 15 Oct 2009 14:02:04 +0000 (15:02 +0100)
commitc8bf93f0fe8c5a509a29e30f3bac823fa0f6d96e
tree2424eb4912787cafcd1fde38711a945cd23fe104
parent640fb39e386a0dac9014e5b8a512de0950e30288
ASoC: Codec driver for Texas Instruments tlv320dac33 codec

Driver for Texas Instruments TLV320DAC33 (SLAS546) low power stereo
audio DAC.

TLV320DAC33 is a stereo audio codec with integrated 24KB FIFO for low
power audio playback.

The digital interface can use I2S, DSP (A or B), Right and Left
justified formats.
DAC33 has stereo analog input, which can be bypassed to the analog
outputs.

Regarding to the internal 24KB FIFO the driver implements 'FIFO bypass'
mode (default) and nSample mode (FIFO is in use).
a) In 'FIFO bypass' mode the internal FIFO is not in use, the codec is
working synchronously as a normal codec (it needs constant stream of
data on the digital interface).

b) The nSample mode implementation uses one interrupt line from DAC33 to
the host:
Alarm threshold is set to 10ms of audio data (limit by the driver
implementation).
DAC33 will signal an interrupt, when the FIFO level goes under the
Alarm threshold.
The host will write to nSample register a value (number of stereo
samples), to tell DAC33 how many samples it should read in a burst from
the host. When the DAC33 received the number of samples, it disables the
clocks on the I2S bus. When the FIFO use again goes under the Alarm
threshold, DAC33 signals the host with an interrupt, and the process is
repeated.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
include/sound/tlv320dac33-plat.h [new file with mode: 0644]
sound/soc/codecs/Kconfig
sound/soc/codecs/Makefile
sound/soc/codecs/tlv320dac33.c [new file with mode: 0644]
sound/soc/codecs/tlv320dac33.h [new file with mode: 0644]