diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2015-02-12 09:41:26 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-02-13 23:27:03 -0500 |
commit | 226e2f1b0bb4a5f724dd119c1eeb8b8e89e87fab (patch) | |
tree | 226a98d18805a3438ad657f24299a343b2a743bf /sound/soc | |
parent | f4c2e9bcb0be4ee1c8722853e4faaaf6a9423d72 (diff) |
ASoC: davinci-mcasp: Add support for CBS_CFM mode
Support for setups where codec is bitclock slave and frame master.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/davinci/davinci-mcasp.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c index de3b155a5011..031c1fb44ae7 100644 --- a/sound/soc/davinci/davinci-mcasp.c +++ b/sound/soc/davinci/davinci-mcasp.c | |||
@@ -441,6 +441,18 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai, | |||
441 | mcasp_set_bits(mcasp, DAVINCI_MCASP_PDIR_REG, AFSX | AFSR); | 441 | mcasp_set_bits(mcasp, DAVINCI_MCASP_PDIR_REG, AFSX | AFSR); |
442 | mcasp->bclk_master = 1; | 442 | mcasp->bclk_master = 1; |
443 | break; | 443 | break; |
444 | case SND_SOC_DAIFMT_CBS_CFM: | ||
445 | /* codec is clock slave and frame master */ | ||
446 | mcasp_set_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE); | ||
447 | mcasp_clr_bits(mcasp, DAVINCI_MCASP_TXFMCTL_REG, AFSXE); | ||
448 | |||
449 | mcasp_set_bits(mcasp, DAVINCI_MCASP_ACLKRCTL_REG, ACLKRE); | ||
450 | mcasp_clr_bits(mcasp, DAVINCI_MCASP_RXFMCTL_REG, AFSRE); | ||
451 | |||
452 | mcasp_set_bits(mcasp, DAVINCI_MCASP_PDIR_REG, ACLKX | ACLKR); | ||
453 | mcasp_clr_bits(mcasp, DAVINCI_MCASP_PDIR_REG, AFSX | AFSR); | ||
454 | mcasp->bclk_master = 1; | ||
455 | break; | ||
444 | case SND_SOC_DAIFMT_CBM_CFS: | 456 | case SND_SOC_DAIFMT_CBM_CFS: |
445 | /* codec is clock master and frame slave */ | 457 | /* codec is clock master and frame slave */ |
446 | mcasp_clr_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE); | 458 | mcasp_clr_bits(mcasp, DAVINCI_MCASP_ACLKXCTL_REG, ACLKXE); |