alsa audio support..

im interested in getting audio recording working on the beagleboard on
either the dsp side or the arm side. Has anyone been successfull at
getting the alsa libs working either the render side (aplay) or the
capture side (arecord).

thanks Pete.

Sorry, I missed this message and should have replied here. My
response is at
http://groups.google.com/group/beagleboard/browse_thread/thread/3d1e130d8f1d462e?hl=en#

Pete,

TI's pre-built binaries include an alsa driver.

If you are interested in using the latest linux-omap git kernel, I've
written an alsa ASoC driver which has been tested on Beagle, the TI
OMAP3 EVM, and the new Gumxtix Overo prototype. I have tested it with
arecord and aplay as well as mplayer and xmms.

I will be submitting the patches to the alsa and linux-omap mailing
lists this week.

An early version of the driver is included in the OpenEmbedded builds
for beagle and the evm. It is also available in the omap3 branch of
my kernel git:

http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/omap3

Steve

steve thanks for the info,

after hearing this im going to be ordering a beagle today.

ill probably email you with some alsa questions along the way.

pete.

Steve,

im not too familiar with the OMAP arch here, but im assuming the codec is accessible
from the both the dsp c64x and the Arm cortex. So both the dsp and arm have direct access to the McBSP/codecs. So i could so push and pull data to the codec from either the dsp or arm.

Im assumming the alsa support is Arm cortex based and is not interacting with the C64x?

pete.

The ASoC driver is arm cortex, it has no dsp code. Audio dsp
processing would need to be handled cooperatively by the dsp/cortex,
the ASoC driver just pushes & pulls buffers to/from the codec.

Steve

has anyone been able to get code running in the dsp on the beagleboard
using the free linux hosted C64x compiler. I liked to try running an FFT in the DSP but have only used the code composer studio environment for something like this, however id like to do the same using the linux hosted dsp compiler.

thanks Pete.

Jason,

i have a spectrum digital XDS510PP+ (parallel port version) jtag debugger. Can this debugger be used with CCS to debug the C64x on the beagleboard?

pete.

At a minimum, you’d need one of these level translators: http://www.spectrumdigital.com/product_info.php?cPath=22&products_id=32&osCsid=2dc97f7d31e6fe51268429209be69db9.

I’d guess that the Spectrum Digital guys are pretty good about adding support for new devices for their older hardware, but I suspect you’d need to contact them for a software update. I don’t see anything on their drivers page.

Steve,

I'm interested in alsa ASoC driver for omap3430 boards, I tested your
driver in my 3430 board and it works fine, only some minor changes
needed. And I'm also interested in adding the interconnections map for
having more control on the codec. When are you planning to send your
patch for review to the alsa mailing list?

Regards,
Misa

Misa,

I've held off submitting for two reasons -- I wanted to deal with the
header location changes that just went into 2.6.27 (that's done now),
and even more importantly it seems to be causing kernel faults on
Beagle and Overo (null substream pointer) :frowning:

I too am interested in beefing up the interconnections map, but I want
to get the basics to be reliable first.

What changes did you have to make? Hopefully you found the source of
the null pointer crash :slight_smile:

Regards,

Steve

Apart for machine driver macros for 3430, what I added was to set the I/O type to 0:

omap_mcbsp_set_io_type(mcbsp_data->bus_id, 0);

in “omap_mcbsp_dai_startup” function of omap-mcbsp.c file. Without that it was unable to open interface.

Regards,
Misa

2008/8/19 Steve Sakoman <sakoman@gmail.com>

Misa,

Apart for machine driver macros for 3430, what I added was to set the I/O
type to 0:

omap_mcbsp_set_io_type(mcbsp_data->bus_id, 0);

in "omap_mcbsp_dai_startup" function of omap-mcbsp.c file. Without that it
was unable to open interface.

Very strange! This changes mcbsp from interrupt driven io to polled
io. Is this what you intended? Is there a problem with the way
interrupts are set up on your 3430 board?

Steve