[alsa-devel] [PATCH] New Aztech Sound Galaxy driver
rene.herman at gmail.com
Thu Sep 20 14:20:01 CEST 2007
This is a new driver for Aztech Sound Galaxy ISA soundcards based on the
AZT1605 and AZT2316 chipsets. It's constructed as two seperate drivers for
either chipset generated from the same source file, with (very) minimal
The drivers check the SB DSP version to decide if they are being loaded for
the right chip. AZT1605 returns 2.1 by default, and AZT2316 3.1. This isn't
full-proof as the DSP version can actually be set through software but it's
close enough -- as far as I've been able to see, the DSP version can not be
stored in the EEPROM and the cards will therefore startup with the defaults.
This distinction could (with the same success rate) also be used to decide
which chip we're looking at at runtime meaning a single, merged driver is
also an option but I feel it's actually nicer this way. A merged driver
would have to postpone translating the passed in resource values to the card
configuration until it knew which one it was looking at and would need to
postpone erring out on mpu_irq=10 for azt1605 and mpu_irq=3 for azt2316. If
you differ, I will merge them, but I'd rather keep them seperate.
The drivers have been tested on various cards. For snd-azt1605:
FCC-ID I38-MMSN811: Aztech Sound Galaxy Nova 16 Extra
FCC-ID I38-MMSN822: Aztech Sound Galaxy Pro 16 II
and for snd-azt2316:
FCC-ID I38-MMSN824: Aztech Sound Galaxy Pro 16 AB
FCC-ID I38-MMSN826: Trust Sound Expert DeLuxe Wave 32 (05201)
FCC-ID I38-MMSN830: Trust Sound Expert DeLuxe 16+ (05202)
FCC-ID I38-MMSN847: Trust Sound Expert DeLuxe Wave 32-3D (06301)
FCC-ID I38-MMSN852: Aztech Sound Galaxy Waverider Pro 32-3D
I38-MMSN826 is also known as "Aztech Sound Galaxy Waverider 32+".
All cards work fully -- full-duplex PCM, MIDI and FM. Full-duplex is a
little flaky on some.
I38-MSN811 tends to not work in full duplex, but sometimes does with the
highest success rate being achieved when you first start the capture and
then a playback instead of the other way around (it's a CS4231-KL codec).
The cards with an AD1845XP codec (my I38-MMSN826 and one of my I38-MMSN830s)
are also somewhat duplex-challenged. Sometimes full-duplex works, sometimes
not and this varies from try to try. This seems likely to be a timing
problem somewhere inside cs4231-lib.
I38-MMSN826 has an additional "ICS2115 WaveFront" wavetable synth onboard
that isn't supported yet. The wavetable synths on I38-MMSN847 and
I38-MMSN852 are wired directly to the standard MPU-401 UART and the AUX1
input on the codec and work without problem.
CD-ROM audio on the cards is routed to the codec "Line" input, Line-In to
its Aux input, and FM/Wavetable to its AUX1 input. I did not rename the
controls due to the capture source enumeration: I see that capture-source
overrides are hardcoded in cs4231-lib and this is just too ugly to live.
Versus the old snd-sgalaxy driver, these drivers add support for the models
without a configuration EEPROM (common), full-duplex, MPU-401 UART and OPL3.
In the future they should grow support for that ICS2115 WaveFront synth on
826 and an hwdep interface to write to the EEPROM on the models that have one.
lib.c was split off in preparation of having snd-azt2320 use it as well and
generally containing non soundgalaxy specific code that might at some point
make it into an isa/lib.c or something. It's tiny, so it's not constructed
as a helper module but simply compiled into both drivers.
Signed-off-by: Rene Herman <rene.herman at gmail.com>
[ all of the above is intended as a changelog ]
Given that they are new drivers with new names, they shouldn't disturb
anything and can as far as I'm concerned make 1.0.15 but if you feel it's
too late (and/or don't want the two seperate drivers), so be it. I can also
submit a next patch removing the old sgalaxy driver now or just wait with
Patch is against current alsa-kernel hg.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the Alsa-devel