[alsa-devel] Please help in adding ams-delta support to ASoC
Jarkko Nikula
jhnikula at gmail.com
Wed May 27 08:59:49 CEST 2009
Hi
On Tue, 26 May 2009 15:17:23 +0200
Janusz Krzysztofik <jkrzyszt at tis.icnet.pl> wrote:
Grr, these McBSP bits are always almost un-readable :-)
> 4. the following McBSP register settings changes:
>
> - .xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
> - XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG,
> + .xcr2 = XPHASE | XWDLEN2(OMAP_MCBSP_WORD_16) | XFRLEN2(0),
>
XFIG is only difference (OMAP_MCBSP_WORD_8 = 0) -> transfer is aborted
in case of unexpected frame sync.
> - .srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1),
> + .srgr1 = CLKGDV(0),
>
Width of frame sync signal set to 1 here -> DSP_B format because no
data delay set.
> - .srgr2 = GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE *
> 2 - 1),
> + .srgr2 = GSYNC,
>
> - .pcr0 = CLKXP | CLKRP, /* mcbsp: slave */
>
No CLKXM, CLKRM and FSGM set -> codec is providing the frame sync and
bit-clock signals -> SND_SOC_DAIFMT_CBM_CFM.
CLKXP and CLKRP not set -> rising edge of bit clock drives the
transitions. This with DSP_B indicates inverted bit clock so
SND_SOC_DAIFMT_IB_NF.
I wonder why the frame sync period (FWID) wasn't set in that original
patch but probably McBSP is able to work without :-)
> safely access the device, however it does not work as expected. aplay
> and arecord wait forever, cat to/from /dev/dsp breaks with hardware
> error messgae. DMA interrput counters stay at 0. However, codec
Looks like McBSP is not getting bit-clock and frame-sync signals from
the codec. Do you have any way to measure is the codec sending those?
Another possibility are the OMAP pins muxed for McBSP? I assume they
are if the bootloader is still the same but worth to find check was
previous kernel doing any runtime remuxing for those pins with
omap_cfg_reg calls.
> First of all, I'd like to make sure if my problem is related to my
> code only. As I am new in these areas, I would like to ask you if the
> omap asoc framework is stable enough to relay on. If yes, could you
> please look at my dirty code (attached) an give me some hints? I can
> provide you with more information if necessary.
>
I hope it's stable enough for you to get going. It would be nice to get
this working since it would be the first OMAP5910 == OMAP1510 based
machine driver. OMAP1510 doesn't support DMA chaining so there are few
cpu_is_omap1510() code snippets in sound/soc/omap/omap-pcm.c which I
think I have only simulated using OMAP2420.
--
Jarkko
--
To unsubscribe from this list: send the line "unsubscribe alsa-devel" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the Alsa-devel
mailing list