From: Mark Brown <broonie@sirena.org.uk>
To: Joonyoung Shim <jy0922.shim@samsung.com>
Cc: alsa-devel@alsa-project.org, peter.ujfalusi@nokia.com,
kyungmin.park@samsung.com, bhmin@samsung.com
Subject: Re: [PATCH 1/1] ASoC: TWL4030: Add support Voice DAI
Date: Thu, 9 Apr 2009 15:06:54 +0100 [thread overview]
Message-ID: <20090409140654.GC18152@sirena.org.uk> (raw)
In-Reply-To: <49DDFE1D.3090009@samsung.com>
On Thu, Apr 09, 2009 at 10:54:37PM +0900, Joonyoung Shim wrote:
> The PCM voice interface has two modes
> - PCM mode1 : This uses the rising edge of the clock signal
> - PCM mode2 : This uses the falling edge of the clock signal
> PCM mode1 and mode2 have a look of DSP_A and DSP_B, so we used DSP_A and
> DSP_B.
That sounds wrong - the difference between modes A and B is an extra
cycle on BCLK after LRP, not the polarity of the signal. I'd expect
that it should be one or the other of these modes with the option to
invert BCLK.
> +static int twl4030_voice_startup(struct snd_pcm_substream *substream,
> + struct snd_soc_dai *dai)
> +{
> + struct snd_soc_pcm_runtime *rtd = substream->private_data;
> + struct snd_soc_device *socdev = rtd->socdev;
> + struct snd_soc_codec *codec = socdev->card->codec;
> + u8 infreq;
> +
> + /* If the system master clock is not 26MHz, the voice PCM interface is
> + * not avilable.
> + */
> + infreq = twl4030_read_reg_cache(codec, TWL4030_REG_APLL_CTL)
> + & TWL4030_APLL_INFREQ;
> +
> + if (infreq != TWL4030_APLL_INFREQ_26000KHZ)
> + return -EPERM;
> +
> + return 0;
> +}
It's probably worth a comment here telling users that they'll need to
call set_sysclk() in their init() function rather than hw_params() -
otherwise this might get called before the clock is set up.
> + /* change rate and set CODECPDZ */
> + twl4030_codec_enable(codec, 0);
> + twl4030_write(codec, TWL4030_REG_CODEC_MODE, mode);
> + twl4030_codec_enable(codec, 1);
Hrm. This codec_enable() call looks fishy - what's the effect if the
other DAI is running when the voice DAI is configured? Though there may
be no way round this...
> +struct snd_soc_dai twl4030_dai[] = {
> +{ .name = "twl4030",
The { should ideally be on a line by itself (for both DAIs).
next prev parent reply other threads:[~2009-04-09 14:06 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-09 13:54 [PATCH 1/1] ASoC: TWL4030: Add support Voice DAI Joonyoung Shim
2009-04-09 14:06 ` Mark Brown [this message]
2009-04-10 2:03 ` Joonyoung Shim
2009-04-10 10:22 ` Mark Brown
2009-04-14 7:09 ` Peter Ujfalusi
2009-04-14 7:07 ` Peter Ujfalusi
2009-04-20 5:31 ` Joonyoung Shim
2009-04-20 6:35 ` Peter Ujfalusi
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=20090409140654.GC18152@sirena.org.uk \
--to=broonie@sirena.org.uk \
--cc=alsa-devel@alsa-project.org \
--cc=bhmin@samsung.com \
--cc=jy0922.shim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=peter.ujfalusi@nokia.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox