diff options
Diffstat (limited to 'sound/isa')
76 files changed, 38300 insertions, 0 deletions
diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig new file mode 100644 index 00000000000..4a6be966bd9 --- /dev/null +++ b/sound/isa/Kconfig @@ -0,0 +1,377 @@ +# ALSA ISA drivers + +menu "ISA devices" + depends on SND!=n && ISA + +config SND_AD1848_LIB + tristate + select SND_PCM + select SND_GENERIC_PM + +config SND_CS4231_LIB + tristate + select SND_PCM + select SND_GENERIC_PM + +config SND_AD1816A + tristate "Analog Devices SoundPort AD1816A" + depends on SND && 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" + depends on SND + select SND_AD1848_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, CS4232 or + CS4236+ drivers. + + To compile this driver as a module, choose M here: the module + will be called snd-ad1848. + +config SND_CS4231 + tristate "Generic Cirrus Logic CS4231 driver" + depends on SND + select SND_MPU401_UART + select SND_CS4231_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_CS4232 + tristate "Generic Cirrus Logic CS4232 driver" + depends on SND + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_CS4231_LIB + help + Say Y here to include support for CS4232 chips from Cirrus + Logic - Crystal Semiconductors. + + To compile this driver as a module, choose M here: the module + will be called snd-cs4232. + +config SND_CS4236 + tristate "Generic Cirrus Logic CS4236+ driver" + depends on SND + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_CS4231_LIB + help + Say Y to include support for 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_ES968 + tristate "Generic ESS ES968 driver" + depends on SND && ISAPNP + select SND_MPU401_UART + select SND_PCM + help + Say Y here to include support for ESS AudioDrive ES968 chips. + + To compile this driver as a module, choose M here: the module + will be called snd-es968. + +config SND_ES1688 + tristate "Generic ESS ES688/ES1688 driver" + depends on SND + 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. + + 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" + depends on SND + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_PCM + select SND_GENERIC_PM + 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_GUS_SYNTH + tristate + +config SND_GUSCLASSIC + tristate "Gravis UltraSound Classic" + depends on SND + select SND_RAWMIDI + select SND_PCM + select SND_GUS_SYNTH + 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" + depends on SND + select SND_HWDEP + select SND_MPU401_UART + select SND_PCM + select SND_GUS_SYNTH + 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" + depends on SND + select SND_RAWMIDI + select SND_CS4231_LIB + select SND_GUS_SYNTH + 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 SND + select SND_RAWMIDI + select SND_CS4231_LIB + select SND_GUS_SYNTH + 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 SND + select SND_RAWMIDI + select SND_CS4231_LIB + select SND_GUS_SYNTH + 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_OPTI92X_AD1848 + tristate "OPTi 82C92x - AD1848" + depends on SND + select SND_OPL3_LIB + select SND_OPL4_LIB + select SND_MPU401_UART + select SND_AD1848_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" + depends on SND + select SND_OPL3_LIB + select SND_OPL4_LIB + select SND_MPU401_UART + select SND_CS4231_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" + depends on SND + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_PCM + 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_SB8 + tristate "Sound Blaster 1.0/2.0/Pro (8-bit)" + depends on SND + select SND_OPL3_LIB + select SND_RAWMIDI + select SND_PCM + 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)" + depends on SND + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_PCM + 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)" + depends on SND + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_PCM + 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) + 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_WAVEFRONT + tristate "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)" + depends on SND + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_CS4231_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_ALS100 + tristate "Avance Logic ALS100/ALS120" + depends on SND && ISAPNP + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_PCM + help + Say Y here to include support for soundcards based on Avance + Logic 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_AZT2320 + tristate "Aztech Systems AZT2320" + depends on SND && ISAPNP + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_CS4231_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" + depends on SND + select SND_AD1848_LIB + 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_DT019X + tristate "Diamond Technologies DT-019X, Avance Logic ALS-007" + depends on SND && ISAPNP + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_PCM + help + Say Y here to include support for soundcards based on the + Diamond Technologies DT-019X or Avance Logic ALS-007 chips. + + To compile this driver as a module, choose M here: the module + will be called snd-dt019x. + +config SND_OPL3SA2 + tristate "Yamaha OPL3-SA2/SA3" + depends on SND + select SND_OPL3_LIB + select SND_MPU401_UART + select SND_CS4231_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_SGALAXY + tristate "Aztech Sound Galaxy" + depends on SND + select SND_AD1848_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 PnP driver" + depends on SND + select SND_HWDEP + select SND_MPU401_UART + select SND_CS4231_LIB + help + Say Y here to include support for Ensoniq SoundScape PnP + soundcards. + + To compile this driver as a module, choose M here: the module + will be called snd-sscape. + +endmenu diff --git a/sound/isa/Makefile b/sound/isa/Makefile new file mode 100644 index 00000000000..05724eb7bfe --- /dev/null +++ b/sound/isa/Makefile @@ -0,0 +1,26 @@ +# +# Makefile for ALSA +# Copyright (c) 2001 by Jaroslav Kysela <perex@suse.cz> +# + +snd-als100-objs := als100.o +snd-azt2320-objs := azt2320.o +snd-cmi8330-objs := cmi8330.o +snd-dt019x-objs := dt019x.o +snd-es18xx-objs := es18xx.o +snd-opl3sa2-objs := opl3sa2.o +snd-sgalaxy-objs := sgalaxy.o +snd-sscape-objs := sscape.o + +# Toplevel Module Dependency +obj-$(CONFIG_SND_ALS100) += snd-als100.o +obj-$(CONFIG_SND_AZT2320) += snd-azt2320.o +obj-$(CONFIG_SND_CMI8330) += snd-cmi8330.o +obj-$(CONFIG_SND_DT019X) += snd-dt019x.o +obj-$(CONFIG_SND_ES18XX) += snd-es18xx.o +obj-$(CONFIG_SND_OPL3SA2) += snd-opl3sa2.o +obj-$(CONFIG_SND_SGALAXY) += snd-sgalaxy.o +obj-$(CONFIG_SND_SSCAPE) += snd-sscape.o + +obj-$(CONFIG_SND) += ad1816a/ ad1848/ cs423x/ es1688/ gus/ opti9xx/ \ + sb/ wavefront/ diff --git a/sound/isa/ad1816a/Makefile b/sound/isa/ad1816a/Makefile new file mode 100644 index 00000000000..a42b29cf854 --- /dev/null +++ b/sound/isa/ad1816a/Makefile @@ -0,0 +1,10 @@ +# +# Makefile for ALSA +# Copyright (c) 2001 by Jaroslav Kysela <perex@suse.cz> +# + +snd-ad1816a-lib-objs := ad1816a_lib.o +snd-ad1816a-objs := ad1816a.o + +# Toplevel Module Dependency +obj-$(CONFIG_SND_AD1816A) += snd-ad1816a.o snd-ad1816a-lib.o diff --git a/sound/isa/ad1816a/ad1816a.c b/sound/isa/ad1816a/ad1816a.c new file mode 100644 index 00000000000..9fa7a78da6c --- /dev/null +++ b/sound/isa/ad1816a/ad1816a.c @@ -0,0 +1,312 @@ + +/* + card-ad1816a.c - driver for ADI SoundPort AD1816A based soundcards. + Copyright (C) 2000 by Massimo Piccioni <dafastidio@libero.it> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#include <sound/driver.h> +#include <linux/init.h> +#include <linux/time.h> +#include <linux/wait.h> +#include <linux/pnp.h> +#include <linux/moduleparam.h> +#include <sound/core.h> +#include <sound/initval.h> +#include <sound/ad1816a.h> +#include <sound/mpu401.h> +#include <sound/opl3.h> + +#define PFX "ad1816a: " + +MODULE_AUTHOR("Massimo Piccioni <dafastidio@libero.it>"); +MODULE_DESCRIPTION("AD1816A, AD1815"); +MODULE_LICENSE("GPL"); +MODULE_SUPPORTED_DEVICE("{{Highscreen,Sound-Boostar 16 3D}," + "{Analog Devices,AD1815}," + "{Analog Devices,AD1816A}," + "{TerraTec,Base 64}," + "{TerraTec,AudioSystem EWS64S}," + "{Aztech/Newcom SC-16 3D}," + "{Shark Predator ISA}}"); + +static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 1-MAX */ +static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ +static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_ISAPNP; /* Enable this card */ +static long port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; /* PnP setup */ +static long mpu_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; /* PnP setup */ +static long fm_port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; /* PnP setup */ +static int irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ; /* Pnp setup */ +static int mpu_irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ; /* Pnp setup */ +static int dma1[SNDRV_CARDS] = SNDRV_DEFAULT_DMA; /* PnP setup */ +static int dma2[SNDRV_CARDS] = SNDRV_DEFAULT_DMA; /* PnP setup */ + +module_param_array(index, int, NULL, 0444); +MODULE_PARM_DESC(index, "Index value for ad1816a based soundcard."); +module_param_array(id, charp, NULL, 0444); +MODULE_PARM_DESC(id, "ID string for ad1816a based soundcard."); +module_param_array(enable, bool, NULL, 0444); +MODULE_PARM_DESC(enable, "Enable ad1816a based soundcard."); +module_param_array(port, long, NULL, 0444); +MODULE_PARM_DESC(port, "Port # for ad1816a driver."); +module_param_array(mpu_port, long, NULL, 0444); +MODULE_PARM_DESC(mpu_port, "MPU-401 port # for ad1816a driver."); +module_param_array(fm_port, long, NULL, 0444); +MODULE_PARM_DESC(fm_port, "FM port # for ad1816a driver."); +module_param_array(irq, int, NULL, 0444); +MODULE_PARM_DESC(irq, "IRQ # for ad1816a driver."); +module_param_array(mpu_irq, int, NULL, 0444); +MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for ad1816a driver."); +module_param_array(dma1, int, NULL, 0444); +MODULE_PARM_DESC(dma1, "1st DMA # for ad1816a driver."); +module_param_array(dma2, int, NULL, 0444); +MODULE_PARM_DESC(dma2, "2nd DMA # for ad1816a driver."); + +struct snd_card_ad1816a { + struct pnp_dev *dev; + struct pnp_dev *devmpu; +}; + +static struct pnp_card_device_id snd_ad1816a_pnpids[] = { + /* Analog Devices AD1815 */ + { .id = "ADS7150", .devs = { { .id = "ADS7150" }, { .id = "ADS7151" } } }, + /* Analog Devices AD1816A - added by Kenneth Platz <kxp@atl.hp.com> */ + { .id = "ADS7181", .devs = { { .id = "ADS7180" }, { .id = "ADS7181" } } }, + /* Analog Devices AD1816A - Aztech/Newcom SC-16 3D */ + { .id = "AZT1022", .devs = { { .id = "AZT1018" }, { .id = "AZT2002" } } }, + /* Highscreen Sound-Boostar 16 3D - added by Stefan Behnel */ + { .id = "LWC1061", .devs = { { .id = "ADS7180" }, { .id = "ADS7181" } } }, + /* Highscreen Sound-Boostar 16 3D */ + { .id = "MDK1605", .devs = { { .id = "ADS7180" }, { .id = "ADS7181" } } }, + /* Shark Predator ISA - added by Ken Arromdee */ + { .id = "SMM7180", .devs = { { .id = "ADS7180" }, { .id = "ADS7181" } } }, + /* Analog Devices AD1816A - Terratec AudioSystem EWS64S */ + { .id = "TER1112", .devs = { { .id = "ADS7180" }, { .id = "ADS7181" } } }, |