# 18 Apr 1998, Michael Elizabeth Chastain, <mailto:mec@shout.net>
# More hacking for modularisation.
#
# Prompt user for primary drivers.

config SOUND_BCM_CS4297A
	tristate "Crystal Sound CS4297a (for Swarm)"
	depends on SIBYTE_SWARM
	help
	  The BCM91250A has a Crystal CS4297a on synchronous serial
	  port B (in addition to the DB-9 serial port).  Say Y or M
	  here to enable the sound chip instead of the UART.  Also
	  note that CONFIG_KGDB should not be enabled at the same
	  time, since it also attempts to use this UART port.

config SOUND_MSNDCLAS
	tristate "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey"
	depends on (m || !STANDALONE) && ISA
	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>.

comment "Compiled-in MSND Classic support requires firmware during compilation."
	depends on SOUND_PRIME && SOUND_MSNDCLAS=y

config MSNDCLAS_HAVE_BOOT
	bool
	depends on SOUND_MSNDCLAS=y && !STANDALONE
	default y

config MSNDCLAS_INIT_FILE
	string "Full pathname of MSNDINIT.BIN firmware file"
	depends on SOUND_MSNDCLAS
	default "/etc/sound/msndinit.bin"
	help
	  The MultiSound cards have two firmware files which are required for
	  operation, and are not currently included. These files can be
	  obtained from Turtle Beach. See
	  <file:Documentation/sound/oss/MultiSound> for information on how to
	  obtain this.

config MSNDCLAS_PERM_FILE
	string "Full pathname of MSNDPERM.BIN firmware file"
	depends on SOUND_MSNDCLAS
	default "/etc/sound/msndperm.bin"
	help
	  The MultiSound cards have two firmware files which are required for
	  operation, and are not currently included. These files can be
	  obtained from Turtle Beach. See
	  <file:Documentation/sound/oss/MultiSound> for information on how to
	  obtain this.

config MSNDCLAS_IRQ
	int "MSND Classic IRQ 5, 7, 9, 10, 11, 12"
	depends on SOUND_MSNDCLAS=y
	default "5"
	help
	  Interrupt Request line for the MultiSound Classic and related cards.

config MSNDCLAS_MEM
	hex "MSND Classic memory B0000, C8000, D0000, D8000, E0000, E8000"
	depends on SOUND_MSNDCLAS=y
	default "D0000"
	help
	  Memory-mapped I/O base address for the MultiSound Classic and
	  related cards.

config MSNDCLAS_IO
	hex "MSND Classic I/O 210, 220, 230, 240, 250, 260, 290, 3E0"
	depends on SOUND_MSNDCLAS=y
	default "290"
	help
	  I/O port address for the MultiSound Classic and related cards.

config SOUND_MSNDPIN
	tristate "Support for Turtle Beach MultiSound Pinnacle, Fiji"
	depends on (m || !STANDALONE) && ISA
	help
	  Say M here if you have a Turtle Beach MultiSound 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/600.asp>.

comment "Compiled-in MSND Pinnacle support requires firmware during compilation."
	depends on SOUND_PRIME && SOUND_MSNDPIN=y

config MSNDPIN_HAVE_BOOT
	bool
	depends on SOUND_MSNDPIN=y
	default y

config MSNDPIN_INIT_FILE
	string "Full pathname of PNDSPINI.BIN firmware file"
	depends on SOUND_MSNDPIN
	default "/etc/sound/pndspini.bin"
	help
	  The MultiSound cards have two firmware files which are required
	  for operation, and are not currently included. These files can be
	  obtained from Turtle Beach. See
	  <file:Documentation/sound/oss/MultiSound> for information on how to
	  obtain this.

config MSNDPIN_PERM_FILE
	string "Full pathname of PNDSPERM.BIN firmware file"
	depends on SOUND_MSNDPIN
	default "/etc/sound/pndsperm.bin"
	help
	  The MultiSound cards have two firmware files which are required for
	  operation, and are not currently included. These files can be
	  obtained from Turtle Beach. See
	  <file:Documentation/sound/oss/MultiSound> for information on how to
	  obtain this.

config MSNDPIN_IRQ
	int "MSND Pinnacle IRQ 5, 7, 9, 10, 11, 12"
	depends on SOUND_MSNDPIN=y
	default "5"
	help
	  Interrupt request line for the primary synthesizer on MultiSound
	  Pinnacle and Fiji sound cards.

config MSNDPIN_MEM
	hex "MSND Pinnacle memory B0000, C8000, D0000, D8000, E0000, E8000"
	depends on SOUND_MSNDPIN=y
	default "D0000"
	help
	  Memory-mapped I/O base address for the primary synthesizer on
	  MultiSound Pinnacle and Fiji sound cards.

config MSNDPIN_IO
	hex "MSND Pinnacle I/O 210, 220, 230, 240, 250, 260, 290, 3E0"
	depends on SOUND_MSNDPIN=y
	default "290"
	help
	  Memory-mapped I/O base address for the primary synthesizer on
	  MultiSound Pinnacle and Fiji sound cards.

config MSNDPIN_DIGITAL
	bool "MSND Pinnacle has S/PDIF I/O"
	depends on SOUND_MSNDPIN=y
	help
	  If you have the S/PDIF daughter board for the Pinnacle or Fiji,
	  answer Y here; otherwise, say N. If you have this, you will be able
	  to play and record from the S/PDIF port (digital signal). See
	  <file:Documentation/sound/oss/MultiSound> for information on how to make
	  use of this capability.

config MSNDPIN_NONPNP
	bool "MSND Pinnacle non-PnP Mode"
	depends on SOUND_MSNDPIN=y
	help
	  The Pinnacle and Fiji card resources can be configured either with
	  PnP, or through a configuration port. Say Y here if your card is NOT
	  in PnP mode. For the Pinnacle, configuration in non-PnP mode allows
	  use of the IDE and joystick peripherals on the card as well; these
	  do not show up when the card is in PnP mode. Specifying zero for any
	  resource of a device will disable the device. If you are running the
	  card in PnP mode, you must say N here and use isapnptools to
	  configure the card's resources.

comment "MSND Pinnacle DSP section will be configured to above parameters."
	depends on SOUND_MSNDPIN=y && MSNDPIN_NONPNP

config MSNDPIN_CFG
	hex "MSND Pinnacle config port 250,260,270"
	depends on MSNDPIN_NONPNP
	default "250"
	help
	  This is the port which the Pinnacle and Fiji uses to configure the
	  card's resources when not in PnP mode. If your card is in PnP mode,
	  then be sure to say N to the previous option, "MSND Pinnacle Non-PnP
	  Mode".

comment "Pinnacle-specific Device Configuration (0 disables)"
	depends on SOUND_MSNDPIN=y && MSNDPIN_NONPNP

config MSNDPIN_MPU_IO
	hex "MSND Pinnacle MPU I/O (e.g. 330)"
	depends on MSNDPIN_NONPNP
	default "0"
	help
	  Memory-mapped I/O base address for the Kurzweil daughterboard
	  synthesizer on MultiSound Pinnacle and Fiji sound cards.

config MSNDPIN_MPU_IRQ
	int "MSND Pinnacle MPU IRQ (e.g. 9)"
	depends on MSNDPIN_NONPNP
	default "0"
	help
	  Interrupt request number for the Kurzweil daughterboard
	  synthesizer on MultiSound Pinnacle and Fiji sound cards.

config MSNDPIN_IDE_IO0
	hex "MSND Pinnacle IDE I/O 0 (e.g. 170)"
	depends on MSNDPIN_NONPNP
	default "0"
	help
	  CD-ROM drive 0 memory-mapped I/O base address for the MultiSound
	  Pinnacle and Fiji sound cards.

config MSNDPIN_IDE_IO1
	hex "MSND Pinnacle IDE I/O 1 (e.g. 376)"
	depends on MSNDPIN_NONPNP
	default "0"
	help
	  CD-ROM drive 1 memory-mapped I/O base address for the MultiSound
	  Pinnacle and Fiji sound cards.

config MSNDPIN_IDE_IRQ
	int "MSND Pinnacle IDE IRQ (e.g. 15)"
	depends on MSNDPIN_NONPNP
	default "0"
	help
	  Interrupt request number for the IDE CD-ROM interface on the
	  MultiSound Pinnacle and Fiji sound cards.

config MSNDPIN_JOYSTICK_IO
	hex "MSND Pinnacle joystick I/O (e.g. 200)"
	depends on MSNDPIN_NONPNP
	default "0"
	help
	  Memory-mapped I/O base address for the joystick port on MultiSound
	  Pinnacle and Fiji sound cards.

config MSND_FIFOSIZE
	int "MSND buffer size (kB)"
	depends on SOUND_MSNDPIN=y || SOUND_MSNDCLAS=y
	default "128"
	help
	  Configures the size of each audio buffer, in kilobytes, for
	  recording and playing in the MultiSound drivers (both the Classic
	  and Pinnacle). Larger values reduce the chance of data overruns at
	  the expense of overall latency. If unsure, use the default.

menuconfig SOUND_OSS
	tristate "OSS sound modules"
	depends on ISA_DMA_API && (VIRT_TO_BUS || ARCH_RPC || ARCH_NETWINDER)
	depends on !GENERIC_ISA_DMA_SUPPORT_BROKEN
	help
	  OSS is the Open Sound System suite of sound card drivers.  They make
	  sound programming easier since they provide a common API.  Say Y or
	  M here (the module will be called sound) if you haven't found a
	  driver for your sound card above, then pick your driver from the
	  list below.

if SOUND_OSS

config SOUND_TRACEINIT
	bool "Verbose initialisation"
	help
	  Verbose soundcard initialization -- affects the format of autoprobe
	  and initialization messages at boot time.

config SOUND_DMAP
	bool "Persistent DMA buffers"
	---help---
	  Linux can often have problems allocating DMA buffers for ISA sound
	  cards on machines with more than 16MB of RAM. This is because ISA
	  DMA buffers must exist below the 16MB boundary and it is quite
	  possible that a large enough free block in this region cannot be
	  found after the machine has been running for a while. If you say Y
	  here the DMA buffers (64Kb) will be allocated at boot time and kept
	  until the shutdown. This option is only useful if you said Y to
	  "OSS sound modules", above. If you said M to "OSS sound modules"
	  then you can get the persistent DMA buffer functionality by passing
	  the command-line argument "dmabuf=1" to the sound module.

	  Say Y unless you have 16MB or more RAM or a PCI sound card.

config SOUND_VMIDI
	tristate "Loopback MIDI device support"
	help
	  Support for MIDI loopback on port 1 or 2.

config SOUND_TRIX
	tristate "MediaTrix AudioTrix Pro support"
	help
	  Answer Y if you have the AudioTriX Pro sound card manufactured
	  by MediaTrix.

config TRIX_HAVE_BOOT
	bool "Have TRXPRO.HEX firmware file"
	depends on SOUND_TRIX=y && !STANDALONE
	help
	  The MediaTrix AudioTrix Pro has an on-board microcontroller which
	  needs to be initialized by downloading the code from the file
	  TRXPRO.HEX in the DOS driver directory. If you don't have the
	  TRXPRO.HEX file handy you may skip this step. However, the SB and
	  MPU-401 modes of AudioTrix Pro will not work without this file!

config TRIX_BOOT_FILE
	string "Full pathname of TRXPRO.HEX firmware file"
	depends on TRIX_HAVE_BOOT
	default "/etc/sound/trxpro.hex"
	help
	  Enter the full pathname of your TRXPRO.HEX file, starting from /.

config SOUND_MSS
	tristate "Microsoft Sound System support"
	---help---
	  Again think carefully before answering Y to this question.  It's
	  safe to answer Y if you have the original Windows Sound System card
	  made by Microsoft or Aztech SG 16 Pro (or NX16 Pro).  Also you may
	  say Y in case your card is NOT among these:

	  ATI Stereo F/X, AdLib, Audio Excell DSP16, Cardinal DSP16,
	  Ensoniq SoundScape (and compatibles made by Reveal and Spea),
	  Gravis Ultrasound, Gravis Ultrasound ACE, Gravis Ultrasound Max,
	  Gravis Ultrasound with 16 bit option, Logitech Sound Man 16,
	  Logitech SoundMan Games, Logitech SoundMan Wave, MAD16 Pro (OPTi
	  82C929), Media Vision Jazz16, MediaTriX AudioTriX Pro, Microsoft
	  Windows Sound System (MSS/WSS), Mozart (OAK OTI-601), Orchid
	  SW32, Personal Sound System (PSS), Pro Audio Spectrum 16, Pro
	  Audio Studio 16, Pro Sonic 16, Roland MPU-401 MIDI interface,
	  Sound Blaster 1.0, Sound Blaster 16, Sound Blaster 16ASP, Sound
	  Blaster 2.0, Sound Blaster AWE32, Sound Blaster Pro, TI TM4000M
	  notebook, ThunderBoard, Turtle Beach Tropez, Yamaha FM
	  synthesizers (OPL2, OPL3 and OPL4), 6850 UART MIDI Interface.

	  For cards having native support in VoxWare, consult the card
	  specific instructions in <file:Documentation/sound/oss/README.OSS>.
	  Some drivers have their own MSS support and saying Y to this option
	  will cause a conflict.

	  If you compile the driver into the kernel, you have to add
	  "ad1848=<io>,<irq>,<dma>,<dma2>[,<type>]" to the kernel command
	  line.

config SOUND_MPU401
	tristate "MPU-401 support (NOT for SB16)"
	---help---
	  Be careful with this question.  The MPU401 interface is supported by
	  all sound cards.  However, some natively supported cards have their
	  own driver for MPU401.  Enabling this MPU401 option with these cards
	  will cause a conflict.  Also, enabling MPU401 on a system that
	  doesn't really have a MPU401 could cause some trouble.  If your card
	  was in the list of supported cards, look at the card specific
	  instructions in the <file:Documentation/sound/oss/README.OSS> file.  It
	  is safe to answer Y if you have a true MPU401 MIDI interface card.

	  If you compile the driver into the kernel, you have to add
	  "mpu401=<io>,<irq>" to the kernel command line.

config SOUND_PAS
	tristate "ProAudioSpectrum 16 support"
	---help---
	  Answer Y only if you have a Pro Audio Spectrum 16, ProAudio Studio
	  16 or Logitech SoundMan 16 sound card. Answer N if you have some
	  other card made by Media Vision or Logitech since those are not
	  PAS16 compatible. Please read <file:Documentation/sound/oss/PAS16>.
	  It is not necessary to add Sound Blaster support separately; it
	  is included in PAS support.

	  If you compile the driver into the kernel, you have to add
	  "pas2=<io>,<irq>,<dma>,<dma2>,<sbio>,<sbirq>,<sbdma>,<sbdma2>
	  to the kernel command line.

config PAS_JOYSTICK
	bool "Enable PAS16 joystick port"
	depends on SOUND_PAS=y
	help
	  Say Y here to enable the Pro Audio Spectrum 16's auxiliary joystick
	  port.

config SOUND_PSS
	tristate "PSS (AD1848, ADSP-2115, ESC614) support"
	help
	  Answer Y or M if you have an Orchid SW32, Cardinal DSP16, Beethoven
	  ADSP-16 or some other card based on the PSS chipset (AD1848 codec +
	  ADSP-2115 DSP chip + Echo ESC614 ASIC CHIP). For more information on
	  how to compile it into the kernel or as a module see the file
	  <file:Documentation/sound/oss/PSS>.

	  If you compile the driver into the kernel, you have to add
	  "pss=<io>,<mssio>,<mssirq>,<mssdma>,<mpuio>,<mpuirq>" to the kernel
	  command line.

config PSS_MIXER
	bool "Enable PSS mixer (Beethoven ADSP-16 and other compatible)"
	depends on SOUND_PSS
	help
	  Answer Y for Beethoven ADSP-16. You may try to say Y also for other
	  cards if they have master volume, bass, treble, and you can't
	  control it under Linux. If you answer N for Beethoven ADSP-16, you
	  can't control master volume, bass, treble and synth volume.

	  If you said M to "PSS support" above, you may enable or disable this
	  PSS mixer with the module parameter pss_mixer. For more information
	  see the file <file:Documentation/sound/oss/PSS>.

config PSS_HAVE_BOOT
	bool "Have DSPxxx.LD firmware file"
	depends on SOUND_PSS && !STANDALONE
	help
	  If you have the DSPxxx.LD file or SYNTH.LD file for you card, say Y
	  to include this file. Without this file the synth device (OPL) may
	  not work.

config PSS_BOOT_FILE
	string "Full pathname of DSPxxx.LD firmware file"
	depends on PSS_HAVE_BOOT
	default "/etc/sound/dsp001.ld"
	help
	  Enter the full pathname of your DSPxxx.LD file or SYNTH.LD file,
	  starting from /.

config SOUND_SB
	tristate "100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support"
	---help---
	  Answer Y if you have an original Sound Blaster card made by Creative
	  Labs or a 100% hardware compatible clone (like the Thunderboard or
	  SM Games). For an unknown card you may answer Y if the card claims
	  to be Sound Blaster-compatible.

	  Please read the file <file:Documentation/sound/oss/Soundblaster>.

	  You should also say Y here for cards based on the Avance Logic
	  ALS-007 and ALS-1X0 chips (read <file:Documentation/sound/oss/ALS>) and
	  for cards based on ESS chips (read
	  <file:Documentation/sound/oss/ESS1868> and
	  <file:Documentation/sound/oss/ESS>). If you have an IBM Mwave
	  card, say Y here and read <file:Documentation/sound/oss/mwave>.

	  If you compile the driver into the kernel and don't want to use
	  isapnp, you have to add "sb=<io>,<irq>,<dma>,<dma2>" to the kernel
	  command line.

	  You can say M here to compile this driver as a module; the module is
	  called sb.

config SOUND_YM3812
	tristate "Yamaha FM synthesizer (YM3812/OPL-3) support"
	---help---
	  Answer Y if your card has a FM chip made by Yamaha (OPL2/OPL3/OPL4).
	  Answering Y is usually a safe and recommended choice, however some
	  cards may have software (TSR) FM emulation. Enabling FM support with
	  these cards may cause trouble (I don't currently know of any such
	  cards, however). Please read the file
	  <file:Documentation/sound/oss/OPL3> if your card has an OPL3 chip.

	  If you compile the driver into the kernel, you have to add
	  "opl3=<io>" to the kernel command line.

	  If unsure, say Y.

config SOUND_UART6850
	tristate "6850 UART support"
	help
	  This option enables support for MIDI interfaces based on the 6850
	  UART chip. This interface is rarely found on sound cards. It's safe
	  to answer N to this question.

	  If you compile the driver into the kernel, you have to add
	  "uart6850=<io>,<irq>" to the kernel command line.

config SOUND_AEDSP16
	tristate "Gallant Audio Cards (SC-6000 and SC-6600 based)"
	---help---
	  Answer Y if you have a Gallant's Audio Excel DSP 16 card. This
	  driver supports Audio Excel DSP 16 but not the III nor PnP versions
	  of this card.

	  The Gallant's Audio Excel DSP 16 card can emulate either an SBPro or
	  a Microsoft Sound System card, so you should have said Y to either
	  "100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support"
	  or "Microsoft Sound System support", above, and you need to answer
	  the "MSS emulation" and "SBPro emulation" questions below
	  accordingly. You should say Y to one and only one of these two
	  questions.

	  Read the <file:Documentation/sound/oss/README.OSS> file and the head of
	  <file:sound/oss/aedsp16.c> as well as
	  <file:Documentation/sound/oss/AudioExcelDSP16> to get more information
	  about this driver and its configuration.

config SC6600
	bool "SC-6600 based audio cards (new Audio Excel DSP 16)"
	depends on SOUND_AEDSP16
	help
	  The SC6600 is the new version of DSP mounted on the Audio Excel DSP
	  16 cards. Find in the manual the FCC ID of your audio card and
	  answer Y if you have an SC6600 DSP.

config SC6600_JOY
	bool "Activate SC-6600 Joystick Interface"
	depends on SC6600
	help
	  Say Y here in order to use the joystick interface of the Audio Excel
	  DSP 16 card.

config SC6600_CDROM
	int "SC-6600 CDROM Interface (4=None, 3=IDE, 1=Panasonic, 0=?Sony?)"
	depends on SC6600
	default "4"
	help
	  This is used to activate the CD-ROM interface of the Audio Excel
	  DSP 16 card. Enter: 0 for Sony, 1 for Panasonic, 2 for IDE, 4 for no
	  CD-ROM present.

config SC6600_CDROMBASE
	hex "SC-6600 CDROM Interface I/O Address"
	depends on SC6600
	default "0"
	help
	  Base I/O port address for the CD-ROM interface of the Audio Excel
	  DSP 16 card.

config SOUND_VIDC
	tristate "VIDC 16-bit sound"
	depends on ARM && ARCH_ACORN
	help
	  16-bit support for the VIDC onboard sound hardware found on Acorn
	  machines.

config SOUND_WAVEARTIST
	tristate "Netwinder WaveArtist"
	depends on ARM && ARCH_NETWINDER
	help
	  Say Y here to include support for the Rockwell WaveArtist sound
	  system.  This driver is mainly for the NetWinder.

config SOUND_KAHLUA
	tristate "XpressAudio Sound Blaster emulation"
	depends on SOUND_SB

endif	# SOUND_OSS

