2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-21 19:53:59 +08:00
linux-next/sound/isa/Kconfig
René Herman 495311927f ALSA: ISA: New Aztech Sound Galaxy driver
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 ifdeffery.

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.

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-MMSN837: Packard Bell ISA Soundcard 030069
FCC-ID I38-MMSN846: Trust Sound Expert DeLuxe 16-3D (06300)
FCC-ID I38-MMSN847: Trust Sound Expert DeLuxe Wave 32-3D (06301)
FCC-ID I38-MMSN852: Aztech Sound Galaxy Waverider Pro 32-3D

826 and 846 were also marketed directly by Aztech and then known as:

FCC-ID I38-MMSN826: Aztech Sound Galaxy Waverider 32+
FCC-ID I38-MMSN846: Aztech Sound Galaxy Nova 16 Extra II-3D

Together, these cover the AZT1605 and AT2316A, AZT2316R and AZT2316-S
chipsets. 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 wss-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 wss-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 (which are common), full-duplex,
MPU-401 UART and OPL3. In the future they might grow support for that
ICS2115 WaveFront synth on 826 and an hwdep interface to write to the
EEPROM on the models that have one.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-08-13 12:57:58 +02:00

457 lines
12 KiB
Plaintext

# ALSA ISA drivers
config SND_WSS_LIB
tristate
select SND_PCM
config SND_SB_COMMON
tristate
config SND_SB8_DSP
tristate
select SND_PCM
select SND_SB_COMMON
config SND_SB16_DSP
tristate
select SND_PCM
select SND_SB_COMMON
menuconfig SND_ISA
bool "ISA sound devices"
depends on ISA && ISA_DMA_API
default y
help
Support for sound devices connected via the ISA bus.
if SND_ISA
config SND_ADLIB
tristate "AdLib FM card"
select SND_OPL3_LIB
help
Say Y here to include support for AdLib FM cards.
To compile this driver as a module, choose M here: the module
will be called snd-adlib.
config SND_AD1816A
tristate "Analog Devices SoundPort AD1816A"
depends on PNP
select ISAPNP
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_PCM
help
Say Y here to include support for Analog Devices SoundPort
AD1816A or compatible sound chips.
To compile this driver as a module, choose M here: the module
will be called snd-ad1816a.
config SND_AD1848
tristate "Generic AD1848/CS4248 driver"
select SND_WSS_LIB
help
Say Y here to include support for AD1848 (Analog Devices) or
CS4248 (Cirrus Logic - Crystal Semiconductors) chips.
For newer chips from Cirrus Logic, use the CS4231 or CS4232+
drivers.
To compile this driver as a module, choose M here: the module
will be called snd-ad1848.
config SND_ALS100
tristate "Diamond Tech. DT-019x and Avance Logic ALSxxx"
depends on PNP
select ISAPNP
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_SB16_DSP
help
Say Y here to include support for soundcards based on the
Diamond Technologies DT-019X or Avance Logic chips: ALS007,
ALS100, ALS110, ALS120 and ALS200 chips.
To compile this driver as a module, choose M here: the module
will be called snd-als100.
config SND_AZT1605
tristate "Aztech AZT1605 Driver"
depends on SND
select SND_WSS_LIB
select SND_MPU401_UART
select SND_OPL3_LIB
help
Say Y here to include support for Aztech Sound Galaxy cards
based on the AZT1605 chipset.
To compile this driver as a module, choose M here: the module
will be called snd-azt1605.
config SND_AZT2316
tristate "Aztech AZT2316 Driver"
depends on SND
select SND_WSS_LIB
select SND_MPU401_UART
select SND_OPL3_LIB
help
Say Y here to include support for Aztech Sound Galaxy cards
based on the AZT2316 chipset.
To compile this driver as a module, choose M here: the module
will be called snd-azt2316.
config SND_AZT2320
tristate "Aztech Systems AZT2320"
depends on PNP
select ISAPNP
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
Say Y here to include support for soundcards based on the
Aztech Systems AZT2320 chip.
To compile this driver as a module, choose M here: the module
will be called snd-azt2320.
config SND_CMI8330
tristate "C-Media CMI8330"
select SND_WSS_LIB
select SND_SB16_DSP
select SND_OPL3_LIB
select SND_MPU401_UART
help
Say Y here to include support for soundcards based on the
C-Media CMI8330 chip.
To compile this driver as a module, choose M here: the module
will be called snd-cmi8330.
config SND_CS4231
tristate "Generic Cirrus Logic CS4231 driver"
select SND_MPU401_UART
select SND_WSS_LIB
help
Say Y here to include support for CS4231 chips from Cirrus
Logic - Crystal Semiconductors.
To compile this driver as a module, choose M here: the module
will be called snd-cs4231.
config SND_CS4236
tristate "Generic Cirrus Logic CS4232/CS4236+ driver"
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
Say Y to include support for CS4232,CS4235,CS4236,CS4237B,
CS4238B,CS4239 chips from Cirrus Logic - Crystal
Semiconductors.
To compile this driver as a module, choose M here: the module
will be called snd-cs4236.
config SND_ES1688
tristate "Generic ESS ES688/ES1688 and ES968 PnP driver"
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_PCM
help
Say Y here to include support for ESS AudioDrive ES688 or
ES1688 chips. Also, this module support cards with ES968 PnP chip.
To compile this driver as a module, choose M here: the module
will be called snd-es1688.
config SND_ES18XX
tristate "Generic ESS ES18xx driver"
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_PCM
help
Say Y here to include support for ESS AudioDrive ES18xx chips.
To compile this driver as a module, choose M here: the module
will be called snd-es18xx.
config SND_SC6000
tristate "Gallant SC-6000/6600/7000 and Audio Excel DSP 16"
depends on HAS_IOPORT
select SND_WSS_LIB
select SND_OPL3_LIB
select SND_MPU401_UART
help
Say Y here to include support for Gallant SC-6000, SC-6600, SC-7000
cards and clones:
Audio Excel DSP 16 and Zoltrix AV302.
These cards are based on CompuMedia ASC-9308 or ASC-9408 chips.
To compile this driver as a module, choose M here: the module
will be called snd-sc6000.
config SND_GUSCLASSIC
tristate "Gravis UltraSound Classic"
select SND_RAWMIDI
select SND_PCM
help
Say Y here to include support for Gravis UltraSound Classic
soundcards.
To compile this driver as a module, choose M here: the module
will be called snd-gusclassic.
config SND_GUSEXTREME
tristate "Gravis UltraSound Extreme"
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_PCM
help
Say Y here to include support for Gravis UltraSound Extreme
soundcards.
To compile this driver as a module, choose M here: the module
will be called snd-gusextreme.
config SND_GUSMAX
tristate "Gravis UltraSound MAX"
select SND_RAWMIDI
select SND_WSS_LIB
help
Say Y here to include support for Gravis UltraSound MAX
soundcards.
To compile this driver as a module, choose M here: the module
will be called snd-gusmax.
config SND_INTERWAVE
tristate "AMD InterWave, Gravis UltraSound PnP"
depends on PNP
select SND_RAWMIDI
select SND_WSS_LIB
help
Say Y here to include support for AMD InterWave based
soundcards (Gravis UltraSound Plug & Play, STB SoundRage32,
MED3210, Dynasonic Pro, Panasonic PCA761AW).
To compile this driver as a module, choose M here: the module
will be called snd-interwave.
config SND_INTERWAVE_STB
tristate "AMD InterWave + TEA6330T (UltraSound 32-Pro)"
depends on PNP
select SND_RAWMIDI
select SND_WSS_LIB
help
Say Y here to include support for AMD InterWave based
soundcards with a TEA6330T bass and treble regulator
(UltraSound 32-Pro).
To compile this driver as a module, choose M here: the module
will be called snd-interwave-stb.
config SND_JAZZ16
tristate "Media Vision Jazz16 card and compatibles"
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_SB8_DSP
help
Say Y here to include support for soundcards based on the
Media Vision Jazz16 chipset: digital chip MVD1216 (Jazz16),
codec MVA416 (CS4216) and mixer MVA514 (ICS2514).
Media Vision's Jazz16 cards were sold under names Pro Sonic 16,
Premium 3-D and Pro 3-D. There were also OEMs cards with the
Jazz16 chipset.
To compile this driver as a module, choose M here: the module
will be called snd-jazz16.
config SND_OPL3SA2
tristate "Yamaha OPL3-SA2/SA3"
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
Say Y here to include support for Yamaha OPL3-SA2 and OPL3-SA3
chips.
To compile this driver as a module, choose M here: the module
will be called snd-opl3sa2.
config SND_OPTI92X_AD1848
tristate "OPTi 82C92x - AD1848"
select SND_OPL3_LIB
select SND_OPL4_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
Say Y here to include support for soundcards based on Opti
82C92x or OTI-601 chips and using an AD1848 codec.
To compile this driver as a module, choose M here: the module
will be called snd-opti92x-ad1848.
config SND_OPTI92X_CS4231
tristate "OPTi 82C92x - CS4231"
select SND_OPL3_LIB
select SND_OPL4_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
Say Y here to include support for soundcards based on Opti
82C92x chips and using a CS4231 codec.
To compile this driver as a module, choose M here: the module
will be called snd-opti92x-cs4231.
config SND_OPTI93X
tristate "OPTi 82C93x"
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
Say Y here to include support for soundcards based on Opti
82C93x chips.
To compile this driver as a module, choose M here: the module
will be called snd-opti93x.
config SND_MIRO
tristate "Miro miroSOUND PCM1pro/PCM12/PCM20radio driver"
select SND_OPL4_LIB
select SND_WSS_LIB
select SND_MPU401_UART
select SND_PCM
help
Say 'Y' or 'M' to include support for Miro miroSOUND PCM1 pro,
miroSOUND PCM12 and miroSOUND PCM20 Radio soundcards.
To compile this driver as a module, choose M here: the module
will be called snd-miro.
config SND_SB8
tristate "Sound Blaster 1.0/2.0/Pro (8-bit)"
select SND_OPL3_LIB
select SND_RAWMIDI
select SND_SB8_DSP
help
Say Y here to include support for Creative Sound Blaster 1.0/
2.0/Pro (8-bit) or 100% compatible soundcards.
To compile this driver as a module, choose M here: the module
will be called snd-sb8.
config SND_SB16
tristate "Sound Blaster 16 (PnP)"
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_SB16_DSP
help
Say Y here to include support for Sound Blaster 16 soundcards
(including the Plug and Play version).
To compile this driver as a module, choose M here: the module
will be called snd-sb16.
config SND_SBAWE
tristate "Sound Blaster AWE (32,64) (PnP)"
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_SB16_DSP
help
Say Y here to include support for Sound Blaster AWE soundcards
(including the Plug and Play version).
To compile this driver as a module, choose M here: the module
will be called snd-sbawe.
config SND_SB16_CSP
bool "Sound Blaster 16/AWE CSP support"
depends on (SND_SB16 || SND_SBAWE) && (BROKEN || !PPC)
select FW_LOADER
help
Say Y here to include support for the CSP core. This special
coprocessor can do variable tasks like various compression and
decompression algorithms.
config SND_SGALAXY
tristate "Aztech Sound Galaxy"
select SND_WSS_LIB
help
Say Y here to include support for Aztech Sound Galaxy
soundcards.
To compile this driver as a module, choose M here: the module
will be called snd-sgalaxy.
config SND_SSCAPE
tristate "Ensoniq SoundScape driver"
select SND_MPU401_UART
select SND_WSS_LIB
select FW_LOADER
help
Say Y here to include support for Ensoniq SoundScape
and Ensoniq OEM soundcards.
The PCM audio is supported on SoundScape Classic, Elite, PnP
and VIVO cards. The supported OEM cards are SPEA Media FX and
Reveal SC-600.
The MIDI support is very experimental and requires binary
firmware files called "scope.cod" and "sndscape.co?" where the
? is digit 0, 1, 2, 3 or 4. The firmware files can be found
in DOS or Windows driver packages. One has to put the firmware
files into the /lib/firmware directory.
To compile this driver as a module, choose M here: the module
will be called snd-sscape.
config SND_WAVEFRONT
tristate "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)"
select FW_LOADER
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_WSS_LIB
help
Say Y here to include support for Turtle Beach Maui, Tropez
and Tropez+ soundcards based on the Wavefront chip.
To compile this driver as a module, choose M here: the module
will be called snd-wavefront.
config SND_MSND_PINNACLE
tristate "Turtle Beach MultiSound Pinnacle/Fiji driver"
depends on X86 && EXPERIMENTAL
select FW_LOADER
select SND_MPU401_UART
select SND_PCM
help
Say Y to include support for Turtle Beach MultiSound Pinnacle/
Fiji soundcards.
To compile this driver as a module, choose M here: the module
will be called snd-msnd-pinnacle.
config SND_MSND_CLASSIC
tristate "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey"
depends on X86 && EXPERIMENTAL
select FW_LOADER
select SND_MPU401_UART
select SND_PCM
help
Say M here if you have a Turtle Beach MultiSound Classic, Tahiti or
Monterey (not for the Pinnacle or Fiji).
See <file:Documentation/sound/oss/MultiSound> for important information
about this driver. Note that it has been discontinued, but the
Voyetra Turtle Beach knowledge base entry for it is still available
at <http://www.turtlebeach.com/site/kb_ftp/790.asp>.
To compile this driver as a module, choose M here: the module
will be called snd-msnd-classic.
endif # SND_ISA