ALSA McBSP communication

Hello everybody,

    I am new on Beagleboard. I use BeagleBoard B7 and Angstrom 2.6.32
running onto it.
I try to find out how sound chip, McBSP and microprocessor communicate
(communication steps like how to initialize, how to arrange memory and
DMA issue) . In order to learn it , I think learning ALSA is a good
start point. Therefore how can i find such an information or anybody
know these steps? Even ALSA source code for Angstrom is useful for
me. I think going through code i can findout the communication steps.
Thanks in advance



I've written some code that pokes the hardware directly (although it
was some time ago). I got most of the info from the manuals plus a
few of the trickier bits (setting up the routing mostly) from seeing
how the linux driver did it and dumping registers. I've only tested
it on a C3 board.

Whether it's useful or not kind of depends on if you're ultimately
trying to write linux drivers or just understand the hardware itself.
For the former it's not much use.

Basically you use I2C to communicate with the sound chip to tell it
what channels you're using, format, and signal routing. And then
setup the mcbsp with the matching frame format, and use dma to send
the data - my code didn't get to the dma bit.

You need two manuals - the omap35x technical reference manual
('spru98d.pdf' - where 'd' might be `higher' now) - for mcbsp and dma,
and the one for the companion power/audio device TPS65950.

Pretty well all I found out or know is in:

It's part of code that runs bare metal - without an operating system -
so will not work inside linux.


Thank you very much for your detailed answer it would helpful but i am
interested in most software not hardware.
This is different demand that how can i find the ALSA code for
angstrom to investigate the step by step what is happening?


Hello myfriends;

    I have Beagleboard and Angstrom 2.32 running on it. I will take
data with extension board and connect it to the McBSP.
Because i will have huge size datas i have to use DMA as well. Then, i
wrote the data onto disk. So how can i do that is there any
or anybody do this before?