From: Daniel Mack <zonque@gmail.com>
To: alsa-devel@alsa-project.org
Cc: Matt Porter <mporter@ti.com>,
"Hebbar, Gururaja" <gururaja.hebbar@ti.com>,
broonie@opensource.wolfsonmicro.com, lrg@ti.com,
Daniel Mack <zonque@gmail.com>
Subject: [PATCH 5/5] ALSA: ASoC: McASP: set format parameters in dependence of the DAI format
Date: Thu, 4 Oct 2012 15:08:42 +0200 [thread overview]
Message-ID: <1349356122-14794-6-git-send-email-zonque@gmail.com> (raw)
In-Reply-To: <1349356122-14794-1-git-send-email-zonque@gmail.com>
The FSDUR flag configures whether the frame clock uses a high phase of
only one bit or a full word. This has to be set depending on the DAI
format.
For other modes than DSP_B, the FSXDLY/FSRDLY fields have to be set to
1.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Cc: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Cc: Matt Porter <mporter@ti.com>
---
sound/soc/davinci/davinci-mcasp.c | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index 48e347f..8fac32a 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -477,6 +477,23 @@ static int davinci_mcasp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
struct davinci_audio_dev *dev = snd_soc_dai_get_drvdata(cpu_dai);
void __iomem *base = dev->base;
+ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
+ case SND_SOC_DAIFMT_DSP_B:
+ case SND_SOC_DAIFMT_AC97:
+ mcasp_clr_bits(dev->base + DAVINCI_MCASP_TXFMCTL_REG, FSXDUR);
+ mcasp_clr_bits(dev->base + DAVINCI_MCASP_RXFMCTL_REG, FSRDUR);
+ break;
+ default:
+ /* configure a full-word SYNC pulse (LRCLK) */
+ mcasp_set_bits(dev->base + DAVINCI_MCASP_TXFMCTL_REG, FSXDUR);
+ mcasp_set_bits(dev->base + DAVINCI_MCASP_RXFMCTL_REG, FSRDUR);
+
+ /* make 1st data bit occur one ACLK cycle after the frame sync */
+ mcasp_set_bits(dev->base + DAVINCI_MCASP_TXFMT_REG, FSXDLY(1));
+ mcasp_set_bits(dev->base + DAVINCI_MCASP_RXFMT_REG, FSRDLY(1));
+ break;
+ }
+
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
case SND_SOC_DAIFMT_CBS_CFS:
/* codec is clock and frame slave */
@@ -765,8 +782,6 @@ static void davinci_hw_param(struct davinci_audio_dev *dev, int stream)
else
printk(KERN_ERR "playback tdm slot %d not supported\n",
dev->tdm_slots);
-
- mcasp_clr_bits(dev->base + DAVINCI_MCASP_TXFMCTL_REG, FSXDUR);
} else {
/* bit stream is MSB first with no delay */
/* DSP_B mode */
@@ -779,8 +794,6 @@ static void davinci_hw_param(struct davinci_audio_dev *dev, int stream)
else
printk(KERN_ERR "capture tdm slot %d not supported\n",
dev->tdm_slots);
-
- mcasp_clr_bits(dev->base + DAVINCI_MCASP_RXFMCTL_REG, FSRDUR);
}
}
--
1.7.11.4
next prev parent reply other threads:[~2012-10-04 13:09 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-04 13:08 [PATCH 0/5] McASP changes for more flexibility Daniel Mack
2012-10-04 13:08 ` [PATCH 1/5] ALSA: ASoC: enable 192KHz support for McASP Daniel Mack
2012-10-09 7:19 ` Mark Brown
2012-10-04 13:08 ` [PATCH 2/5] ALSA: ASoC: McASP: add support for clock dividers Daniel Mack
2012-10-04 13:08 ` [PATCH 3/5] ALSA: ASoC: McASP: add support for 24 bit samples Daniel Mack
2012-10-09 7:17 ` Mark Brown
2012-10-09 7:30 ` Daniel Mack
2012-10-04 13:08 ` [PATCH 4/5] ALSA: ASoC: McASP: make AHCLK direction configurable Daniel Mack
2012-10-09 7:21 ` Mark Brown
2012-10-04 13:08 ` Daniel Mack [this message]
2012-10-09 7:21 ` [PATCH 5/5] ALSA: ASoC: McASP: set format parameters in dependence of the DAI format Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1349356122-14794-6-git-send-email-zonque@gmail.com \
--to=zonque@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=gururaja.hebbar@ti.com \
--cc=lrg@ti.com \
--cc=mporter@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.