[alsa-devel] SAIF configuration on imx28

George Stefan stefan.george87 at gmail.com
Tue Aug 21 13:24:32 CEST 2012


Hello,
I am using a custom board based on imx28 (running 2.6.35) with the SAIF
interface connected to the PCM output of a modem.
I have developed a dummy codec for the modem and customized mxs-devb.c to
use that codec instead of sgtl5000.
Clock master, fixed at 256kHz,
Frame sync master, fixed 125us frame duration (8kHz): 32 bits of total
data; first 16 bits are valid (while FS is high), following 16 are "don't
care" (while FS low)
16-bit linear samples, sent MSB first
"Long Frame" sync:  transmit and receive occur simultaneously while the
common FS line is active (high).
TX data with 0-bit delay; start at the rising edge of the clock, while FS
is high.
RX data with 0-bit delay; sample at the falling edge of the clock, while FS
is high.
This configuration is fixed so the only setup needed for SAIF is

dai_format = SND_SOC_DAIFMT_RIGHT_J | SND_SOC_DAIFMT_IB_NF |
                     SND_SOC_DAIFMT_CBM_CFM;
/* set cpu DAI configuration */
 ret = snd_soc_dai_set_fmt(cpu_dai, dai_format);
       if (ret < 0)
             return ret;

My problem is, although i am receiving dma irqs when i record ( arecord -f
S16_LE -r 8000 -c 1 <file>.wav), when i play the resulting file its just
silence.

[ 5295.890000] dump @ mxs_saif_trigger
[ 5295.890000] scr 101  , 107
[ 5295.890000] stat 80010041    , 80010071
[ 5295.890000] data 0   , ffffffff
[ 5295.890000] version 1010000  , 1010000
This  is a dump for arecord!

Do you have any ideeas?
Thanks,
George.


More information about the Alsa-devel mailing list