ASoC: fsl_esai: Add ESAI CPU DAI driver
authorNicolin Chen <Guangyu.Chen@freescale.com>
Fri, 10 Jan 2014 09:54:06 +0000 (17:54 +0800)
committerMark Brown <broonie@linaro.org>
Fri, 10 Jan 2014 12:52:15 +0000 (12:52 +0000)
commit43d24e76b69826ce32292f47060ad78cdd0197fa
tree102d87faa7583b88b7e1a1216e72dfc2d495f8ef
parent633ff8f8a4393b4a13b94eddd2613198c32035e6
ASoC: fsl_esai: Add ESAI CPU DAI driver

This patch implements a device-tree-only CPU DAI driver for Freescale ESAI
controller that supports:

 - 12 channels playback and 8 channels record.
   [ Some of the inner transmitters and receivers are sharing same group of
     pins. So the maxmium 12 output or 8 input channels are only valid if
     there is no pin conflict occurring to it. ]

 - Independent (asynchronous mode) or shared (synchronous mode) transmit and
   receive sections with separate or shared internal/external clocks and frame
   syncs, operating in Master or Slave mode.
   [ Current ALSA seems not to allow CPU DAI drivers to configure DAI format
     separately for PLAYBACK and CAPTURE. So this first version only supports
     the case that uses the same DAI format for both directions. ]

 - Various DAI formats: I2S, Left-Justified, Right-Justified, DSP-A and DSP-B.

 - Programmable word length (8, 16, 20 or 24bits)

 - Flexible selection between system clock or external oscillator as input
   clock source, programmable internal clock divider and frame sync generation.

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Documentation/devicetree/bindings/sound/fsl,esai.txt [new file with mode: 0644]
sound/soc/fsl/Kconfig
sound/soc/fsl/Makefile
sound/soc/fsl/fsl_esai.c [new file with mode: 0644]
sound/soc/fsl/fsl_esai.h [new file with mode: 0644]