• Nicolin Chen's avatar
    ASoC: fsl_esai: Add ESAI CPU DAI driver · 43d24e76
    Nicolin Chen authored
    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: default avatarNicolin Chen <Guangyu.Chen@freescale.com>
    Signed-off-by: default avatarMark Brown <broonie@linaro.org>
    43d24e76
fsl_esai.h 14.8 KB