android_kernel_xiaomi_sm8350/sound/soc
Peter Ujfalusi c8bf93f0fe 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>
2009-10-15 15:02:04 +01:00
..
atmel ASoC: at91sam9g20ek_2mmc board uses same audio connexion as at91sam9g20ek 2009-10-09 12:41:55 +01:00
au1x ASoC: au1x: PSC-AC97 bugfixes 2009-09-08 19:21:27 +01:00
blackfin Merge branch 'for-2.6.32' into for-2.6.33 2009-10-01 11:35:11 +01:00
codecs ASoC: Codec driver for Texas Instruments tlv320dac33 codec 2009-10-15 15:02:04 +01:00
davinci Merge branch 'for-2.6.32' into for-2.6.33 2009-10-06 16:01:27 +01:00
fsl Merge branch 'fix/asoc' into for-linus 2009-09-17 21:08:53 +02:00
imx Merge branch 'for-2.6.32' into for-2.6.33 2009-10-08 10:45:09 +01:00
omap ASoC: OMAP: Add functionality to set CLKR and FSR sources in McBSP DAI 2009-08-28 18:36:43 +01:00
pxa ASoC: finally enable support for eXeda and CM-X300 2009-10-15 15:01:47 +01:00
s3c24xx ASoC: S3C: Remove <plat/audio.h> 2009-10-13 13:33:53 +01:00
s6000 ASoC: tlv320aic3x: fixup board device changes 2009-08-21 10:52:57 +01:00
sh ASoC: Add FSI-AK4642 sound support for SuperH 2009-08-21 11:02:03 +01:00
txx9 ASoC: txx9aclc: dynamically allocate dmaengine devname 2009-06-25 21:06:30 +01:00
Kconfig ASoC: Hook i.MX into build 2009-08-15 11:37:30 +01:00
Makefile Merge branch 'for-2.6.32' into mxc 2009-08-15 11:20:44 +01:00
soc-cache.c ASoC: Convert soc-cache to use C99 style initialisers for the table 2009-09-21 04:21:47 -07:00
soc-core.c ASoC: Remove snd_soc_suspend_device() 2009-10-15 15:01:43 +01:00
soc-dapm.c ASoC: Add virtual enumeration support for DAPM muxes 2009-10-06 15:57:02 +01:00
soc-jack.c ASoC: jack: Fix race in snd_soc_jack_add_gpios 2009-07-31 22:38:43 +01:00