alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: Enric Balletbo Serra <eballetbo@gmail.com>
Cc: alsa-devel@alsa-project.org, Lars-Peter Clausen <lars@metafoo.de>,
	Takashi Iwai <tiwai@suse.de>, Liam Girdwood <lgirdwood@gmail.com>,
	Jyri Sarha <jsarha@ti.com>, Mark Brown <broonie@kernel.org>
Subject: Re: Audio play problem with tlv320aic3106 in mainline.
Date: Mon, 1 Jun 2015 15:10:23 +0300	[thread overview]
Message-ID: <556C4BAF.900@ti.com> (raw)
In-Reply-To: <CAFqH_527Ttu5wAVJ2ZtXZH0yMAg3J0YSGWdV_nvX6Ao0ub80cg@mail.gmail.com>

On 06/01/2015 12:16 PM, Enric Balletbo Serra wrote:
> Hi,
> 
> 2015-05-29 14:16 GMT+02:00 Peter Ujfalusi <peter.ujfalusi@ti.com>:
>> On 05/29/2015 12:24 PM, Enric Balletbo Serra wrote:
>>>> It might be really 24MHz.
>>>> If the MCLK in your board is wired like am335x-evmsk or how BeagleBone's audio
>>>> capes are wired (MCLK is coming from AM335x's EVENT_INTR0/1 pin as CLKOUT1/2)
>>>> then 24MHz is correct. On the am335x-evm there is a dedicated crystal
>>>> providing the 12MHz.
>>>>
>>> Well, in my board there is also a dedicated crystal providing the
>>> 12MHz, so I expect that the correct value for clock-frequency is 12MHz
>>> not 24MHz.
>>
>> I was wrong with the BBW audio cape.. At least the RevA which I have does have
>> 12MHz crystal connected to aic3106 MCLK, but there is a line to the SoC's
>> CLKOUT2. By default the codec runs using the 12MHz.
>> I have checked with a scope and yep, I have 12MHz for MCLK.
>>
>>>
>>>     clocks {
>>>         compatible = "simple-bus";
>>>         #address-cells = <1>;
>>>         #size-cells = <0>;
>>>
>>>         /* audio external oscillator */
>>>         tlv320aic3x_mclk: oscillator@0 {
>>>             compatible = "fixed-clock";
>>>             #clock-cells = <0>;
>>>             clock-frequency  = <12000000>;    /* 12MHz */
>>>         };
>>>     };
>>>
>>>     sound {
>>>         compatible = "ti,da830-evm-audio";
>>>         ti,model = "AM335x-SL50";
>>>         ti,audio-codec = <&audio_codec>;
>>>         ti,mcasp-controller = <&mcasp0>;
>>>
>>>         clocks = <&tlv320aic3x_mclk>;
>>>         clock-names = "mclk";
>>>
>>>         ti,audio-routing =
>>>             "Headphone Jack",    "HPLOUT",
>>>             "Headphone Jack",    "HPROUT",
>>>             "LINE1R",               "Line In",
>>>             "LINE1L",        "Line In";
>>>     };
>>
>> If I use this with my BBW+Audio cape: audio is fine.
>>
> 
> Tested with linux-next and same problem here, I also checked with a
> scope my clock and it's 12MHz but I need to apply this patch to make
> it work.
> 
> diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c
> index 731fb0d..8ce0d32 100644
> --- a/sound/soc/davinci/davinci-evm.c
> +++ b/sound/soc/davinci/davinci-evm.c
> @@ -64,6 +64,11 @@ static int evm_hw_params(struct snd_pcm_substream *substream,
>         unsigned sysclk = ((struct snd_soc_card_drvdata_davinci *)
>                            snd_soc_card_get_drvdata(soc_card))->sysclk;
> 
> +    ret = snd_soc_dai_set_clkdiv(cpu_dai, 0, 2);
> +    if (ret < 0)
> +            return ret;

This does not make sense... McASP is supposed to be slave when used with
compatible = "ti,da830-evm-audio"
This means that the reference clock is coming from internal source and AHCLKX
pin is output.
Setting the divider for the high-frequency clock should not be needed since
the McASP is not generating any of the clocks.

BTW: I see that in the DTS you are configuring the mcasp0.ahclkx pin. How this
is used?
While we are here, you can change the AXR2 pinmux to output.

I have 'cloned' your setup on my BBW+AudioCape where I also have 12MHz MCLK. I
don't have any problem with the playback speed.

-- 
Péter

      reply	other threads:[~2015-06-01 12:10 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-28 11:36 Audio play problem with tlv320aic3106 in mainline Enric Balletbo Serra
2015-05-29  7:20 ` Peter Ujfalusi
2015-05-29  9:24   ` Enric Balletbo Serra
2015-05-29 12:16     ` Peter Ujfalusi
2015-06-01  9:16       ` Enric Balletbo Serra
2015-06-01 12:10         ` Peter Ujfalusi [this message]

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=556C4BAF.900@ti.com \
    --to=peter.ujfalusi@ti.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=eballetbo@gmail.com \
    --cc=jsarha@ti.com \
    --cc=lars@metafoo.de \
    --cc=lgirdwood@gmail.com \
    --cc=tiwai@suse.de \
    /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;
as well as URLs for NNTP newsgroup(s).