ASoC: davinci-mcasp: Support for DSP_A format
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Fri, 4 Apr 2014 11:31:43 +0000 (14:31 +0300)
committerMark Brown <broonie@linaro.org>
Mon, 14 Apr 2014 16:24:24 +0000 (17:24 +0100)
DSP_A is like DSP_B mode but with one bit delay after the FS.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/davinci/davinci-mcasp.c

index f0c98653bfe7ba7b00694ed3975a1dcb4ae36af2..58b6d47cc8f88f696604afd6fdf3db6933a2a40a 100644 (file)
@@ -275,6 +275,13 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 
        pm_runtime_get_sync(mcasp->dev);
        switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
+       case SND_SOC_DAIFMT_DSP_A:
+               mcasp_clr_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, FSXDUR);
+               mcasp_clr_bits(mcasp, DAVINCI_MCASP_RXFMCTL_REG, FSRDUR);
+
+               /* 1st data bit occur one ACLK cycle after the frame sync */
+               data_delay = 1;
+               break;
        case SND_SOC_DAIFMT_DSP_B:
        case SND_SOC_DAIFMT_AC97:
                mcasp_clr_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, FSXDUR);