[alsa-devel] Support for SAM9407?
rene.herman at gmail.com
Tue May 1 14:52:47 CEST 2007
On 05/01/2007 01:18 PM, Ash Willis wrote:
> Hi, I've just been digging around for information on the old Dream
> SAM9407 chip. What's the current support status in ALSA for this chip?
> I know some work was done on producing drivers for cards based on this
> chip and I know there were plans to port the efforts to ALSA. Did that
> ever happen? It doesn't seem so. Was there a specific reason why it
> wasn't ported in the end?
I don't know about reasons others may have had, but I have been working off
and on, but significantly more off than on, on my TerraTec EWS64XL which is
a Crystal CS4236 + SAM9407. Basically just two soundcards on one board. The
CS4326 part works fine with the existing ALSA driver.
The EWS64XL itself is a very complex card with various functionality, such
as switching the outputs to the SAM from the CS4236, hanging off one of two
bitbanged I2C busses (that share one clockline), with having to manually
setup the memory decoding logic after detecting what sort of SIMM you have
installed, with the 'F' (front) and 'R' (rear) digital extensions with the
digital out- and inputs both being available but different, with it having
both coaxial and optical digital in that you have to switch around, with a
dedicated clock chip for the SAM that can be programmed (by poking bits) to
various clock rates, and so on, and so on.
Many (if not most, it's been quite some time since I looked at the driver
and I'm not completely sure anymore about its current state) of those card
details I have in fact figured out but I have only done some superficial
probing around the SAM9407 itself. It's not a very nice chip in fact. It's
strictly PIO only (over ISA!) and strictly firmware driven, with slightly to
significantly different firmwares (and hence APIs) depending on the card
upon which it sits and is poorly documented.
MIDI is the main objective of the SAM, but that sort of has gone the way of
the dodo in itself and streaming PCM out an I/O port to the ISA bus is just
not something that makes a great deal of sense when a few centimeters away
you have a DMA capable CS4236 sitting that's already supported (and sounds
very, very good -- it's just a well-built board). There's a pair of 20-bit
DACs behing the SAM, but that's only an advantage for things like adding
effects and I don't generally add effect to my music.
Basically, the SAM9407 is for (home-) musicians, but musicians have long ago
gone to more capable hardware. For MIDI I myself have stuck a Yamaha DB-50XG
on its front panel "waveblaster header" (which is routed to the CS4236
MPU401 and its CD input) and that probably actually sounds better than the
SAM ever would...
> In the interest of making ALSA that bit more complete as well as trying
> to improve my skills, I've been looking around for some older hardware
> that I can write drivers for.
> This chip seems like a good candidate considering the cards haven't quite
> disappeared into oblivion :) I was looking into the possiblity of
> porting the remaining kernel OSS drivers to ALSA...but I can't even find
> any test hardware because they're so rare.
I'd think twice about the SAM. Other than the complexity of the cards on
which it sits the SAM itself is also complex. Due to that PIO thing you'll
need all sorts of double buffering and will need to feed the card from a
kernel thread or something like that and will furthermore need to concern
yourself with firmware loading, and yes, all the card details; on this EWS64
you'd first need to know how to setup memory decoding for example before you
can use it for the SAM and ofcourse, need to know to switch the outputs to
the SAM to actually hear anything in the end. The OSS driver that still
floats around the net is not something you'll enjoy looking at. It doesn't
require a port but a rewrite from scratch.
For me this EWS64XL was the first reason I ever looked at ALSA and I _have_
thought about it twice and will in fact want to completely support it "some
day" but there's quite a few things I want to happen "some day" ;-/
How about a Media Vision Pro Audio Spectrum 16? Those can still be found
relatively easily and it's one the cards for which an OSS/Free driver is
still kept in the tree. I have a pair of those as well so I'll happily test
if you want to write a driver for it...
More information about the Alsa-devel