|
|
@@ -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);
|