Re: OMAP Audio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 17 February 2010 12:43:56 ext Gary Thomas wrote:
> On 02/17/2010 03:26 AM, Peter Ujfalusi wrote:
> > On Wednesday 17 February 2010 09:03:39 ext Jarkko Nikula wrote:
> >> On Tue, 16 Feb 2010 11:19:25 -0700
> >> 
> >> Gary Thomas<gary@xxxxxxxxxxxx>  wrote:
> >>> I need to connect the OMAP (3530) to a 24bit CODEC.  So far
> >>> my attempts at getting this to go have not gone well.  Then
> >>> 
> >>> I ran across this comment in sound/soc/omap/omap-pcm.c:
> >>> 	/*
> >>> 	
> >>> 	 * Note: Regardless of interface data formats supported by OMAP McBSP
> >>> 	 * or EAC blocks, internal representation is always fixed
> >>> 	 16-bit/sample */
> >>> 
> >>> Does this mean that this setup is just not supported?  even though
> >>> the hardware can handle it?
> >> 
> >> Yep, comment is bit misleading but true until some patch will remove
> >> it. IRCC, the EAC was limited to 16-bit and also there wasn't need and
> >> HW to test other formats than S16_LE in McBSP DAI.
> >> 
> >>> Thanks for any pointers or ideas on how to get this going.
> >> 
> >> I would first start adding support for the S32_LE into omap-pcm.c (DMA
> >> part). Worth to look this thread:
> >> 
> >> http://mailman.alsa-project.org/pipermail/alsa-devel/2010-January/024704
> >> .ht ml
> >> 
> >> Then add support for this format to the omap-mcbsp.c (link
> >> configuration part).
> >> 
> >> Next step would be to add support for the S24_LE on 4-byte boundaries.
> >> I.e. the DMA is moving 32-bit samples between the memory and McBSP but
> >> only 24-bits are transferred over the McBSP and codec.
> > 
> > Hmmm, I think this is a bit more complicated than that at least on OMAP3.
> > I think the DMA engine should also move 24 bit words.
> > This is dictated by the McBSP FIFO: it has a notion of word size, and it
> > is expecting that the DMA engine will move THRESHOLD number of words. So
> > if the McBSP is configured for 24 bit words, than the DMA word size has
> > to match that.
> > 
> > Apart from this, the constraint set for the period bytes need to be
> > changed since as you change the word size in McBSP you will have
> > different amount of actual bytes for the FIFO (the FIFO size is in
> > words, and the maximum word size is 32 bit).
> 
> Thanks for the help.  I'm pretty sure I understand how to change
> the McBSP code (omap-mcbsp.c) to handle the various formats, but
> I'm a bit lost in the DMA setup (omap-pcm.c).  How do I identify
> the code/width in omap_pcm_prepare()?

After looking at the TRM of OMAP, the sDMA has support for 8, 16 and 32 bit data 
types. So I'm not really sure how to configure McBSP and sDMA in case of 24 bit 
packed format.
I would go with a trial and error method and find it out how it is working...

> Has no one ever used the OMAP/McBSP with data sizes other than 16 bits??

At least I can not recall. I have had a plan to add support for these, but it 
got delayed and delayed ;)

-- 
Péter
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux