From: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
To: Jarkko Nikula <jhnikula@gmail.com>
Cc: linux-omap@vger.kernel.org, alsa-devel@vger.kernel.org
Subject: Re: Please help in adding ams-delta support to ASoC
Date: Tue, 09 Jun 2009 17:00:49 +0200 [thread overview]
Message-ID: <4A2E7921.7090200@tis.icnet.pl> (raw)
In-Reply-To: <20090608094028.415e6ec3.jhnikula@gmail.com>
Jarkko Nikula wrote:
> On Sat, 6 Jun 2009 00:28:00 +0200
> Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> wrote:
>> My last idea was to create a generic test driver that would not use
>> any external clocks, ie configured with OMAP_MCBSP_SYSCLK_CLK and
>> SND_SOC_DAIFMT_CBS_CFS, right? That way, it should just work without
>> any hardware support except for mcbsp and maybe we could then
>> definitelly verify if current mcbsp and dma code works on omap1510 or
>> not.
>>
> This could be a bit risky and can damage your HW since both OMAP and
> codec are then driving the bit-clock and FS signals but you could try
> to configure McBSP as a master and use the internal clock source as its
> input.
I found that in OMAP5910, CLKR and FSR signals are not connected to any
pins, so I can safely set them as output. To make use of this feature, I
have modified sound/soc/omap/omap-mcbsp.c slightly:
diff -Npru linux-2.6.29/sound/soc/omap/omap-msbsp.c.orig
linux-2.6.29/sound/soc/omap/omap-mcbsp.c
--- linux-2.6.29/sound/soc/omap/omap-mcbsp.c.orig 2009-06-09
02:16:32.000000000 +0200
+++ linux-2.6.29/sound/soc/omap/omap-mcbsp.c 2009-06-09
02:25:50.000000000 +0200
@@ -341,8 +341,8 @@ static int omap_mcbsp_dai_set_dai_fmt(st
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
case SND_SOC_DAIFMT_CBS_CFS:
/* McBSP master. Set FS and bit clocks as outputs */
- regs->pcr0 |= FSXM | FSRM |
- CLKXM | CLKRM;
+ regs->pcr0 |= FSRM |
+ CLKRM;
/* Sample rate generator drives the FS */
regs->srgr2 |= FSGM;
break;
> Basically it goes with current driver by passing SND_SOC_DAIFMT_CBS_CFS
> to snd_soc_dai_set_fmt(cpu_dai, ...) and by setting SRG source clock
> and divider:
>
> snd_soc_dai_set_sysclk(cpu_dai, OMAP_MCBSP_SYSCLK_CLK, ...);
> snd_soc_dai_set_clkdiv(cpu_dai, OMAP_MCBSP_CLKGDV, divider);
So I restored all that 12MHz mclk stuff that I had already removed as
redundant, then set up the following in oder to get internally generated
~256kHz CLKR and ~8kHz FSR:
+ /* Set cpu DAI configuration */
+ err = snd_soc_dai_set_fmt(cpu_dai,
+ SND_SOC_DAIFMT_I2S |
+ SND_SOC_DAIFMT_IB_IF |
+ SND_SOC_DAIFMT_CBS_CFS);
+ if (err < 0) {
+ printk(KERN_ERR "can't set cpu DAI configuration\n");
+ return err;
+ }
+
+ /* Set cpu DAI master clock source */
+ err =
+ snd_soc_dai_set_sysclk(cpu_dai, OMAP_MCBSP_SYSCLK_CLK,
+ 0, SND_SOC_CLOCK_IN);
+
+ if (err < 0) {
+ printk(KERN_ERR "can't set cpu DAI clock source\n");
+ return err;
+ }
+
+ /* Set cpu DAI master clock divisor */
+ err =
+ snd_soc_dai_set_clkdiv(cpu_dai, OMAP_MCBSP_CLKGDV, 47);
+
+ if (err < 0) {
+ printk(KERN_ERR "can't set cpu DAI clock divisor\n");
+ return err;
+ }
Tried with both arecord and </dev/dsp, it looks like the problem still
persists, even with mcbsp internally generated clocking. I have also
tested a similiar mcbsp configuration with old driver for reference - it
works.
Importand or not, I have to fine down my provious reports on what works
and what does not:
- original patch applied with other ams-delta related patches
on linux-omap-2.6.16, as it was designed for:
- playback: works, with both aplay and >/dev/dsp,
- capture: works with </dev/dsp, gives null output with arecord
- original patch ported to the last l-o commit supporting omap-alsa:
- playback: works as before,
- capture: both </dev/dsp and arecord give null output,
but DMA interrupts still work.
- new driver on l-o: total hangup
- new driver on mainline 2.6.30-rc5: no DMA interrupts.
Thanks,
Janusz
next prev parent reply other threads:[~2009-06-09 15:00 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-26 13:17 Please help in adding ams-delta support to ASoC Janusz Krzysztofik
2009-05-27 5:57 ` Peter Ujfalusi
2009-05-27 13:07 ` Janusz Krzysztofik
2009-06-02 5:47 ` Peter Ujfalusi
2009-06-02 11:38 ` Janusz Krzysztofik
2009-05-27 6:59 ` Jarkko Nikula
2009-05-27 14:33 ` Janusz Krzysztofik
2009-05-27 14:33 ` Janusz Krzysztofik
2009-05-27 15:19 ` Jarkko Nikula
2009-05-27 15:19 ` Jarkko Nikula
2009-05-27 18:58 ` Janusz Krzysztofik
2009-05-27 18:58 ` Janusz Krzysztofik
2009-06-01 12:41 ` Janusz Krzysztofik
2009-06-01 18:04 ` Jarkko Nikula
2009-06-02 6:08 ` Peter Ujfalusi
2009-06-02 6:08 ` Peter Ujfalusi
2009-06-02 6:22 ` Jarkko Nikula
2009-06-02 13:35 ` Janusz Krzysztofik
2009-06-02 17:32 ` Jarkko Nikula
2009-06-03 7:24 ` Janusz Krzysztofik
2009-06-05 13:55 ` Jarkko Nikula
2009-06-05 22:28 ` Janusz Krzysztofik
2009-06-05 22:45 ` [alsa-devel] " Mark Brown
2009-06-06 17:42 ` Janusz Krzysztofik
2009-06-07 9:40 ` Mark Brown
2009-06-09 7:12 ` Peter Ujfalusi
2009-06-09 15:17 ` [alsa-devel] " Janusz Krzysztofik
2009-06-10 8:12 ` Peter Ujfalusi
2009-06-10 10:27 ` [alsa-devel] " Janusz Krzysztofik
2009-06-10 10:53 ` Peter Ujfalusi
2009-06-10 12:20 ` Janusz Krzysztofik
2009-06-10 12:20 ` Janusz Krzysztofik
2009-06-10 18:05 ` Janusz Krzysztofik
2009-06-10 18:05 ` [alsa-devel] " Janusz Krzysztofik
2009-06-10 10:53 ` Peter Ujfalusi
2009-06-10 10:27 ` Janusz Krzysztofik
2009-06-10 14:20 ` [alsa-devel] " Janusz Krzysztofik
2009-06-10 14:20 ` Janusz Krzysztofik
2009-06-08 6:40 ` Jarkko Nikula
2009-06-08 6:40 ` Jarkko Nikula
2009-06-09 15:00 ` Janusz Krzysztofik
2009-06-09 15:00 ` Janusz Krzysztofik [this message]
2009-06-15 13:22 ` Janusz Krzysztofik
2009-06-15 15:16 ` Jarkko Nikula
2009-06-16 14:43 ` Janusz Krzysztofik
2009-06-16 14:43 ` Janusz Krzysztofik
2009-06-17 14:12 ` Progress in adding ams-delta support to ASoC? Janusz Krzysztofik
2009-06-18 9:02 ` Peter Ujfalusi
2009-06-18 7:58 ` Tony Lindgren
2009-06-18 7:58 ` Tony Lindgren
2009-06-18 11:51 ` Janusz Krzysztofik
2009-06-18 10:21 ` Tony Lindgren
2009-06-18 10:21 ` Tony Lindgren
2009-06-18 11:51 ` Janusz Krzysztofik
2009-06-18 9:02 ` Peter Ujfalusi
2009-06-17 14:12 ` Janusz Krzysztofik
2009-06-18 6:07 ` Please help in adding ams-delta support to ASoC Jarkko Nikula
2009-06-18 11:40 ` Janusz Krzysztofik
2009-06-18 11:40 ` Janusz Krzysztofik
2009-06-19 3:50 ` Arun K S
2009-06-19 11:20 ` Janusz Krzysztofik
2009-06-19 18:55 ` Arun K S
2009-06-19 18:55 ` Arun K S
2009-06-19 11:20 ` Janusz Krzysztofik
2009-06-19 3:50 ` Arun K S
2009-06-22 11:47 ` Jarkko Nikula
2009-06-22 11:47 ` Jarkko Nikula
2009-06-23 11:58 ` Janusz Krzysztofik
2009-06-23 11:58 ` Janusz Krzysztofik
2009-06-18 6:07 ` Jarkko Nikula
2009-06-15 15:16 ` Jarkko Nikula
2009-06-15 13:22 ` Janusz Krzysztofik
2009-06-05 22:28 ` Janusz Krzysztofik
2009-06-05 13:55 ` Jarkko Nikula
2009-06-02 17:32 ` Jarkko Nikula
2009-06-02 10:50 ` *SPAM* " Janusz Krzysztofik
2009-06-02 10:50 ` Janusz Krzysztofik
2009-06-03 5:28 ` Peter Ujfalusi
2009-06-03 5:28 ` Peter Ujfalusi
2009-06-03 8:28 ` Janusz Krzysztofik
2009-06-03 8:28 ` Janusz Krzysztofik
2009-06-01 18:04 ` Jarkko Nikula
2009-06-01 12:41 ` Janusz Krzysztofik
2009-05-27 10:47 ` Mark Brown
2009-05-27 14:52 ` Janusz Krzysztofik
2009-06-02 7:24 ` Janusz Krzysztofik
2009-06-02 9:37 ` Mark Brown
-- strict thread matches above, loose matches on Subject: below --
2009-05-26 13:17 Janusz Krzysztofik
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=4A2E7921.7090200@tis.icnet.pl \
--to=jkrzyszt@tis.icnet.pl \
--cc=alsa-devel@vger.kernel.org \
--cc=jhnikula@gmail.com \
--cc=linux-omap@vger.kernel.org \
/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.