BeagleBoard/DSP Clarification

This article tries to explain all the different Linux DSP systems for OMAP chips (e.g. used on BeagleBoard), how they are similar and different.

dsp-gateway
DSP Gateway was developed by Nokia for the Maemo Internet Tablets. It's the oldest and more open of the implementations. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.

It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.

It is maintained by Hiroshi DOYU.

There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.

dsp-bridge
[https://www.omapzoom.org/gf/project/omapbridge/wiki/? tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.

It is stable, but it still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.

There was a disagreement between TI and the community as how power management must be handled, which created two forks: linux-omap, and omapzoom; but now, after a lot of progress in pm branch, bridgedriver must be aligned with linux-omap-pm. TI is also working with the community on the linux-omap-pm branch maintained by Kevin Hillman.

It's under heavy code cleanup ; the first dspbridge appearance was in form of tarballs, some time later it was merged into TI's omapzoom tree. Then, Hiroshi DOYU split the driver into a logical set of patches but its inclusion into linux-omap was rejected and it was maintained in www.muru.com (Tony Lindgren's personal site), from there it jumped into Hiroshi's personal web space and it finally ended in gitorious, now Ameya Palande took over.

There are plans to share the mailbox and iommu that the dsp-gateway uses (which are part of the omap platform) as well as to move parts of it to user-space. However, TI argues the platform code is missing features from tidspbridge and it is unstable.

There are slightly more user-space applications using it, including gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.

For documentation and project overview, visit: TI DSP/Bridge project

dsp-link
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.

It is the one farther from meeting Linux standards. The code hasn't even been submitted for reviewing nor is planned to to be merged at any time.

It's tightly tied to CodecEngine and DMAI, and there are GStreamer plug-ins provided by TI to use the algorithms.

Unlike the other implementations, it has strong support from the Angstrom distribution precisely because of wider platform support.

See DSPLink articles in Texas Instruments Embedded Processors Wiki, too.

Interesting threads

 * bridge vs link
 * different power management