summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorChaithrika U S <chaithrika@ti.com>2009-08-11 22:59:12 +0200
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-13 23:19:35 +0200
commit517ee6cf699967b421bcf8967e7bbeb3c45ded1a (patch)
treeacd066d11724eaf27483ffd69150c1be07af8c26 /sound
parentASoC: DaVinci: McASP driver enhacements (diff)
downloadlinux-517ee6cf699967b421bcf8967e7bbeb3c45ded1a.tar.xz
linux-517ee6cf699967b421bcf8967e7bbeb3c45ded1a.zip
ASoC: DaVinci: Add a DAI format to McASP driver
The patch adds a DAI format: Codec bit clock master and frame sync slave, to the driver. Signed-off-by: Chaithrika U S <chaithrika@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/davinci/davinci-mcasp.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index e672f431323d..eca22d7829d2 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -443,6 +443,16 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
mcasp_set_bits(base + DAVINCI_MCASP_PDIR_REG, (0x7 << 26));
break;
+ case SND_SOC_DAIFMT_CBM_CFS:
+ /* codec is clock master and frame slave */
+ mcasp_set_bits(base + DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE);
+ mcasp_set_bits(base + DAVINCI_MCASP_TXFMCTL_REG, AFSXE);
+
+ mcasp_set_bits(base + DAVINCI_MCASP_ACLKRCTL_REG, ACLKRE);
+ mcasp_set_bits(base + DAVINCI_MCASP_RXFMCTL_REG, AFSRE);
+
+ mcasp_set_bits(base + DAVINCI_MCASP_PDIR_REG, (0x2d << 26));
+ break;
case SND_SOC_DAIFMT_CBM_CFM:
/* codec is clock and frame master */
mcasp_clr_bits(base + DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE);