mx31 snd and mc13783 codec status

Valentin Longchamp valentin.longchamp at epfl.ch
Thu Apr 1 12:01:38 EDT 2010


Hi Sascha,

Sascha Hauer wrote:
> 
> Find the latest version of my code here:
> 
> The following changes since commit 01e77706cdde7c0b47e5ca1f4284a795504c7c40:
>   Linus Torvalds (1):
>         Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux
> 
> are available in the git repository at:
> 
>   git://git.pengutronix.de/git/sha/linux-2.6.git mc13783
> 
> Sascha Hauer (3):
>       add a mc13783 codec driver
>       add phycore-mc13783 sound support
>       pcm038: add sound support
> 
>  arch/arm/mach-mx2/mach-pcm038.c |   23 ++-
>  sound/soc/codecs/Kconfig        |    4 +
>  sound/soc/codecs/Makefile       |    2 +
>  sound/soc/codecs/mc13783.c      |  727 +++++++++++++++++++++++++++++++++++++++
>  sound/soc/codecs/mc13783.h      |   32 ++
>  sound/soc/imx/Kconfig           |    9 +
>  sound/soc/imx/Makefile          |    3 +
>  sound/soc/imx/phycore-mc13783.c |  160 +++++++++
>  8 files changed, 959 insertions(+), 1 deletions(-)
>  create mode 100644 sound/soc/codecs/mc13783.c
>  create mode 100644 sound/soc/codecs/mc13783.h
>  create mode 100644 sound/soc/imx/phycore-mc13783.c
> 
>> And do you know if your initial mc13783 codec support coupled with  
>> mx31 had some limitations ? Our setup is quite straightforward, we have  
>> direct connection from the mx31 to the mc13783 on a single SSI.
> 
> Our board uses both SSI channels of the MC13783 which we then mux into
> one channel in the DAM unit. I don't know how this affects you.
> 

I have struggled with the DAM unit (this thing is an awful bulk of 
wires) and now I get some sound on the loudspeaker.

The thing is that I get a less than a second sound loop (I use aplay to 
test, so userspace app should be ok), as if the buffer that the fiq asm 
interrupt (from ssi_fiq.S) copies to the SSI hardware never was updated.

If I have understood the fiq behaviour correctly, you have a asm fiq 
interrupt that does copy a larger tx buffer into the SSI hardware. 
Besides it, you have the imx_ssi_timer_callback that checks when the tx 
buffer was completely copied. If it is the case, then a new buffer tx 
buffer is "issued" with the snd_pcm_period_elapsed call (and then 
snd_pcm_update_hw_ptr0). Is this behaviour correct ?

If then it looks like on my system, I have a problem with the 
snd_pcm_update_hw_ptr0 call.

Thanks

Val

-- 
Valentin Longchamp, PhD Student, EPFL-STI-LSRO1
valentin.longchamp at epfl.ch, Phone: +41216937827
http://people.epfl.ch/valentin.longchamp
MEB3494, Station 9, CH-1015 Lausanne



More information about the linux-arm-kernel mailing list