ASoC: fsl_sai_ac97: preliminary AC97 SAI driver archive/toradex_vf_3.18-next-ac97-old archive/vf610-ac97-sai-3.18-rel
authorStefan Agner <stefan@agner.ch>
Wed, 8 Oct 2014 06:51:25 +0000 (08:51 +0200)
committerStefan Agner <stefan@agner.ch>
Thu, 22 Jan 2015 13:12:40 +0000 (14:12 +0100)
commitd1b02604b70f075858dce2b20797f4f0ced58be6
tree782bca83aa789e4484946d4809701359b0c799a1
parent5defd920ce7ff7a9790626d90ebb9e66c42782d5
ASoC: fsl_sai_ac97: preliminary AC97 SAI driver

Initial support for AC97 using SAI peripheral. The SAI peripheral
does not support AC97 completely: Only the frame synchronization
and different slot length is taken care of, but all AC97 slots are
concatenated in one stream in a single FIFO. Hence the AC97 control
slots need to be handled completely in software. To do this in a
efficient manor the driver uses a ring buffer and prepares a whole
buffer at a time.

Due to the nature how variable sample rates are handled in AC97,
this software AC97 only supports AC97 native sample rate which is
48000Hz. However, the device announces this circumstances and the
upper stack should handle that correctly. Measurements showed a
overhead of about 3% CPU when playing a file with 44.1kHz sample
rate.
sound/soc/fsl/Kconfig
sound/soc/fsl/Makefile
sound/soc/fsl/fsl_sai.h
sound/soc/fsl/fsl_sai_ac97.c [new file with mode: 0644]