All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
To: "meta-freescale@yoctoproject.org" <meta-freescale@yoctoproject.org>
Subject: i.MX6 ASRC problem
Date: Tue, 11 Jun 2013 10:13:25 +0400	[thread overview]
Message-ID: <51B6C005.5050009@gmail.com> (raw)

Dear all,

last 3 weeks I spent in attempts to get ASRC working for my codec but 
all of them seem to be failed. So, at the moment I'm still stuck with 
ASRC due to several black spots in RM and source code.


My environment:
===============

1. I use kernel from the following package L3.0.35_4.0.0_130424_source

2. I have a custom board with a custom DAC codec

3. Codec is connected to CPU over SSI2

My base support package works good, so I can play audio over codec by 
using 'aplay' at fixed sample rates:

$ aplay -D "hw:0,0" foo.wav


What I've done:
===============

1. I've implemented ASRC support for CS4344 according to the CS42888 
reference code. But in some configurations I got I/O error (ASRC doesn't 
start and aborts by timeout), in other - empty stream

2.  I've posted a question to Freescale's community, but after 2 weeks 
there is still no reply. The link is:

https://community.freescale.com/message/332039#332039


Questions:
==========

1. ASRC requires 2 physical clocks: input and output. According to the 
Reference Manual (RM), ASRC fetches data from each enabled FIFO and 
processes the data sample-by-sample after each rising edge of input 
clock (chapter 15.1.2.1.1, page 639 of RM). But, there is no information 
about output clock usage, only mentioned that it should be physically 
available. The ratio Fs_in/Fs_out is provided as integers.

So what's the meaning of input/output physical clocks, sample clocks?
Which physical clocks are required to get ASRC working?

2. Why SSI3_RX clock is called INCLK_NONE in Linux? What does it mean?

3. I use SSI2 bus for my DAC. Which clocks should I use to get mxc_asrc 
driver work properly?

4. Does the current ASRC driver work? I found some old linux-2.6-imx 
kernel, which has support for i.MX5 family only. I noticed, that all 
codecs (3-stack) in 'sound/soc/imx/' have ASRC support. But in current 
kernel only cs42888 has ASRC support...

5. Is there some more detailed ASRC specification?

6. Does ALSA utils require some extra ASRC support? I've tried ASRC by 
the following command:

$ aplay -D "hw:0,1" foo.wav


I will highly appreciate any hints on this topic, thanks in advance!

BTW: I have several several fixes for ASRC driver, but they are mostly 
cosmetic. I'm going to send them after I'll be sure that the driver works.

With best regards,
Alex


                 reply	other threads:[~2013-06-11  6:20 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=51B6C005.5050009@gmail.com \
    --to=alex.bluesman.smirnov@gmail.com \
    --cc=meta-freescale@yoctoproject.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.