# SPDX-License-Identifier: GPL-2.0-only
# ALSA ISA drivers

config SND_WSS_LIB
	tristate
	select SND_PCM
	select SND_TIMER

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 || COMPILE_TEST
	depends on ISA_DMA_API
	depends on HAS_IOPORT
	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
	select SND_TIMER
	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_MAP
	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
	select SND_TIMER
	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
	select SND_TIMER
	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
	select SND_SEQ_DEVICE if SND_SEQUENCER != n
	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.

# select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
config SND_SBAWE_SEQ
	def_tristate SND_SEQUENCER && SND_SBAWE
	select SND_SEQ_MIDI_EMUL
	select SND_SEQ_VIRMIDI
	select SND_SYNTH_EMUX

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
	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
	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/cards/multisound.sh> 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