162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci# ALSA USB drivers
362306a36Sopenharmony_ci
462306a36Sopenharmony_cimenuconfig SND_USB
562306a36Sopenharmony_ci	bool "USB sound devices"
662306a36Sopenharmony_ci	depends on USB
762306a36Sopenharmony_ci	default y
862306a36Sopenharmony_ci	help
962306a36Sopenharmony_ci	  Support for sound devices connected via the USB bus.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciif SND_USB && USB
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciconfig SND_USB_AUDIO
1462306a36Sopenharmony_ci	tristate "USB Audio/MIDI driver"
1562306a36Sopenharmony_ci	select SND_HWDEP
1662306a36Sopenharmony_ci	select SND_RAWMIDI
1762306a36Sopenharmony_ci	select SND_PCM
1862306a36Sopenharmony_ci	select SND_UMP if SND_USB_AUDIO_MIDI_V2
1962306a36Sopenharmony_ci	select BITREVERSE
2062306a36Sopenharmony_ci	select SND_USB_AUDIO_USE_MEDIA_CONTROLLER if MEDIA_CONTROLLER && (MEDIA_SUPPORT=y || MEDIA_SUPPORT=SND_USB_AUDIO)
2162306a36Sopenharmony_ci	help
2262306a36Sopenharmony_ci	  Say Y here to include support for USB audio and USB MIDI
2362306a36Sopenharmony_ci	  devices.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
2662306a36Sopenharmony_ci	  will be called snd-usb-audio.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciconfig SND_USB_AUDIO_MIDI_V2
2962306a36Sopenharmony_ci	bool "MIDI 2.0 support by USB Audio driver"
3062306a36Sopenharmony_ci	depends on SND_USB_AUDIO
3162306a36Sopenharmony_ci	help
3262306a36Sopenharmony_ci	  Say Y here to include the support for MIDI 2.0 by USB Audio driver.
3362306a36Sopenharmony_ci	  When the config is set, the driver tries to probe MIDI 2.0 interface
3462306a36Sopenharmony_ci	  at first, then falls back to MIDI 1.0 interface as default.
3562306a36Sopenharmony_ci	  The MIDI 2.0 support can be disabled dynamically via midi2_enable
3662306a36Sopenharmony_ci	  module option, too.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciconfig SND_USB_AUDIO_USE_MEDIA_CONTROLLER
3962306a36Sopenharmony_ci	bool
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciconfig SND_USB_UA101
4262306a36Sopenharmony_ci	tristate "Edirol UA-101/UA-1000 driver"
4362306a36Sopenharmony_ci	select SND_PCM
4462306a36Sopenharmony_ci	select SND_RAWMIDI
4562306a36Sopenharmony_ci	help
4662306a36Sopenharmony_ci	  Say Y here to include support for the Edirol UA-101 and UA-1000
4762306a36Sopenharmony_ci	  audio/MIDI interfaces.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
5062306a36Sopenharmony_ci	  will be called snd-ua101.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciconfig SND_USB_USX2Y
5362306a36Sopenharmony_ci	tristate "Tascam US-122, US-224 and US-428 USB driver"
5462306a36Sopenharmony_ci	depends on X86 || PPC || ALPHA
5562306a36Sopenharmony_ci	select SND_HWDEP
5662306a36Sopenharmony_ci	select SND_RAWMIDI
5762306a36Sopenharmony_ci	select SND_PCM
5862306a36Sopenharmony_ci	help
5962306a36Sopenharmony_ci	  Say Y here to include support for Tascam USB Audio/MIDI
6062306a36Sopenharmony_ci	  interfaces or controllers US-122, US-224 and US-428.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
6362306a36Sopenharmony_ci	  will be called snd-usb-usx2y.
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig SND_USB_CAIAQ
6662306a36Sopenharmony_ci	tristate "Native Instruments USB audio devices"
6762306a36Sopenharmony_ci	select SND_HWDEP
6862306a36Sopenharmony_ci	select SND_RAWMIDI
6962306a36Sopenharmony_ci	select SND_PCM
7062306a36Sopenharmony_ci	help
7162306a36Sopenharmony_ci	   Say Y here to include support for caiaq USB audio interfaces,
7262306a36Sopenharmony_ci	   namely:
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci	    * Native Instruments RigKontrol2
7562306a36Sopenharmony_ci	    * Native Instruments RigKontrol3
7662306a36Sopenharmony_ci	    * Native Instruments Kore Controller
7762306a36Sopenharmony_ci	    * Native Instruments Kore Controller 2
7862306a36Sopenharmony_ci	    * Native Instruments Audio Kontrol 1
7962306a36Sopenharmony_ci	    * Native Instruments Audio 2 DJ
8062306a36Sopenharmony_ci	    * Native Instruments Audio 4 DJ
8162306a36Sopenharmony_ci	    * Native Instruments Audio 8 DJ
8262306a36Sopenharmony_ci	    * Native Instruments Traktor Audio 2
8362306a36Sopenharmony_ci	    * Native Instruments Guitar Rig Session I/O
8462306a36Sopenharmony_ci	    * Native Instruments Guitar Rig mobile
8562306a36Sopenharmony_ci	    * Native Instruments Traktor Kontrol X1
8662306a36Sopenharmony_ci	    * Native Instruments Traktor Kontrol S4
8762306a36Sopenharmony_ci	    * Native Instruments Maschine Controller
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci	   To compile this driver as a module, choose M here: the module
9062306a36Sopenharmony_ci	   will be called snd-usb-caiaq.
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ciconfig SND_USB_CAIAQ_INPUT
9362306a36Sopenharmony_ci	bool "enable input device for controllers"
9462306a36Sopenharmony_ci	depends on SND_USB_CAIAQ
9562306a36Sopenharmony_ci	depends on INPUT=y || INPUT=SND_USB_CAIAQ
9662306a36Sopenharmony_ci	help
9762306a36Sopenharmony_ci	  Say Y here to support input controllers like buttons, knobs,
9862306a36Sopenharmony_ci	  alpha dials and analog pedals on the following products:
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci	   * Native Instruments RigKontrol2
10162306a36Sopenharmony_ci	   * Native Instruments RigKontrol3
10262306a36Sopenharmony_ci	   * Native Instruments Kore Controller
10362306a36Sopenharmony_ci	   * Native Instruments Kore Controller 2
10462306a36Sopenharmony_ci	   * Native Instruments Audio Kontrol 1
10562306a36Sopenharmony_ci	   * Native Instruments Traktor Kontrol S4
10662306a36Sopenharmony_ci	   * Native Instruments Maschine Controller
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ciconfig SND_USB_US122L
10962306a36Sopenharmony_ci	tristate "Tascam US-122L USB driver"
11062306a36Sopenharmony_ci	depends on X86 || COMPILE_TEST
11162306a36Sopenharmony_ci	select SND_HWDEP
11262306a36Sopenharmony_ci	select SND_RAWMIDI
11362306a36Sopenharmony_ci	help
11462306a36Sopenharmony_ci	  Say Y here to include support for Tascam US-122L USB Audio/MIDI
11562306a36Sopenharmony_ci	  interfaces.
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
11862306a36Sopenharmony_ci	  will be called snd-usb-us122l.
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ciconfig SND_USB_6FIRE
12162306a36Sopenharmony_ci	tristate "TerraTec DMX 6Fire USB"
12262306a36Sopenharmony_ci	select FW_LOADER
12362306a36Sopenharmony_ci	select BITREVERSE
12462306a36Sopenharmony_ci	select SND_RAWMIDI
12562306a36Sopenharmony_ci	select SND_PCM
12662306a36Sopenharmony_ci	select SND_VMASTER
12762306a36Sopenharmony_ci	help
12862306a36Sopenharmony_ci	  Say Y here to include support for TerraTec 6fire DMX USB interface.
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci	  You will need firmware files in order to be able to use the device
13162306a36Sopenharmony_ci	  after it has been coldstarted. An install script for the firmware
13262306a36Sopenharmony_ci	  and further help can be found at
13362306a36Sopenharmony_ci	  http://sixfireusb.sourceforge.net
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ciconfig SND_USB_HIFACE
13662306a36Sopenharmony_ci	tristate "M2Tech hiFace USB-SPDIF driver"
13762306a36Sopenharmony_ci	select SND_PCM
13862306a36Sopenharmony_ci	help
13962306a36Sopenharmony_ci	  Select this option to include support for M2Tech hiFace USB-SPDIF
14062306a36Sopenharmony_ci	  interface.
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci	  This driver supports the original M2Tech hiFace and some other
14362306a36Sopenharmony_ci	  compatible devices. The supported products are:
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci	    * M2Tech Young
14662306a36Sopenharmony_ci	    * M2Tech hiFace
14762306a36Sopenharmony_ci	    * M2Tech North Star
14862306a36Sopenharmony_ci	    * M2Tech W4S Young
14962306a36Sopenharmony_ci	    * M2Tech Corrson
15062306a36Sopenharmony_ci	    * M2Tech AUDIA
15162306a36Sopenharmony_ci	    * M2Tech SL Audio
15262306a36Sopenharmony_ci	    * M2Tech Empirical
15362306a36Sopenharmony_ci	    * M2Tech Rockna
15462306a36Sopenharmony_ci	    * M2Tech Pathos
15562306a36Sopenharmony_ci	    * M2Tech Metronome
15662306a36Sopenharmony_ci	    * M2Tech CAD
15762306a36Sopenharmony_ci	    * M2Tech Audio Esclusive
15862306a36Sopenharmony_ci	    * M2Tech Rotel
15962306a36Sopenharmony_ci	    * M2Tech Eeaudio
16062306a36Sopenharmony_ci	    * The Chord Company CHORD
16162306a36Sopenharmony_ci	    * AVA Group A/S Vitus
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
16462306a36Sopenharmony_ci	  will be called snd-usb-hiface.
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ciconfig SND_BCD2000
16762306a36Sopenharmony_ci	tristate "Behringer BCD2000 MIDI driver"
16862306a36Sopenharmony_ci	select SND_RAWMIDI
16962306a36Sopenharmony_ci	help
17062306a36Sopenharmony_ci	  Say Y here to include MIDI support for the Behringer BCD2000 DJ
17162306a36Sopenharmony_ci	  controller.
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci	  Audio support is still work-in-progress at
17462306a36Sopenharmony_ci	  https://github.com/anyc/snd-usb-bcd2000
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
17762306a36Sopenharmony_ci	  will be called snd-bcd2000.
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_cisource "sound/usb/line6/Kconfig"
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_ciendif	# SND_USB
18262306a36Sopenharmony_ci
183