mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 09:50:04 +00:00
![Ondrej Zary](/assets/img/avatar_default.png)
Introduce snd-cmi8328 driver for C-Media CMI8328-based sound cards, such as AudioExcel AV500. It supports PCM playback and capture (full-duplex) through wss_lib, gameport, OPL3 and MPU401. The AV500 card has onboard Dream wavetable synth connected to the MPU401 port and Aux 1 input internally which works too. The CDROM interface is not supported (as the drivers for these CDROMs were removed from the kernel some time ago). A separate driver is needed because CMI8328 is completely different chip to CMI8329/CMI8330. It's configured by magic registers (there's no PnP). Sound is provided by a real WSS codec (CS4231A) and the SB part is just a SB Pro emulation (for DOS games, useless for Linux). When SB is enabled, the CMI8328 chip disables access to the WSS codec, emulates SoundBlaster on one side and outputs sound data to the codec - so SB and WSS can't work together with this card. The WSS codec can do full duplex by itself so there's no need for crazy things like snd-cmi8330 does (combining SB and WSS parts into one driver). Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
458 lines
12 KiB
Text
458 lines
12 KiB
Text
# 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_CMI8328
|
|
tristate "C-Media CMI8328"
|
|
select SND_WSS_LIB
|
|
select SND_OPL3_LIB
|
|
select SND_MPU401_UART
|
|
help
|
|
Say Y here to include support for soundcards based on the
|
|
C-Media CMI8328 chip.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-cmi8328.
|
|
|
|
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_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
|
|
|