2019-05-19 15:07:45 +03:00
# SPDX-License-Identifier: GPL-2.0-only
2005-04-17 02:20:36 +04:00
# ALSA USB drivers
2008-05-23 18:10:37 +04:00
menuconfig SND_USB
bool "USB sound devices"
depends on USB
default y
help
Support for sound devices connected via the USB bus.
if SND_USB && USB
2005-04-17 02:20:36 +04:00
config SND_USB_AUDIO
tristate "USB Audio/MIDI driver"
2005-05-09 00:22:27 +04:00
select SND_HWDEP
2005-04-17 02:20:36 +04:00
select SND_RAWMIDI
select SND_PCM
2014-02-03 12:37:59 +04:00
select BITREVERSE
media: sound/usb: Use Media Controller API to share media resources
Media Device Allocator API to allows multiple drivers share a media device.
This API solves a very common use-case for media devices where one physical
device (an USB stick) provides both audio and video. When such media device
exposes a standard USB Audio class, a proprietary Video class, two or more
independent drivers will share a single physical USB bridge. In such cases,
it is necessary to coordinate access to the shared resource.
Using this API, drivers can allocate a media device with the shared struct
device as the key. Once the media device is allocated by a driver, other
drivers can get a reference to it. The media device is released when all
the references are released.
Change the ALSA driver to use the Media Controller API to share media
resources with DVB, and V4L2 drivers on a AU0828 media device.
The Media Controller specific initialization is done after sound card is
registered. ALSA creates Media interface and entity function graph nodes
for Control, Mixer, PCM Playback, and PCM Capture devices.
snd_usb_hw_params() will call Media Controller enable source handler
interface to request the media resource. If resource request is granted,
it will release it from snd_usb_hw_free(). If resource is busy, -EBUSY is
returned.
Media specific cleanup is done in usb_audio_disconnect().
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Shuah Khan <shuah@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2019-04-02 03:40:22 +03:00
select SND_USB_AUDIO_USE_MEDIA_CONTROLLER if MEDIA_CONTROLLER && (MEDIA_SUPPORT=y || MEDIA_SUPPORT=SND_USB_AUDIO)
2005-04-17 02:20:36 +04:00
help
Say Y here to include support for USB audio and USB MIDI
devices.
To compile this driver as a module, choose M here: the module
will be called snd-usb-audio.
media: sound/usb: Use Media Controller API to share media resources
Media Device Allocator API to allows multiple drivers share a media device.
This API solves a very common use-case for media devices where one physical
device (an USB stick) provides both audio and video. When such media device
exposes a standard USB Audio class, a proprietary Video class, two or more
independent drivers will share a single physical USB bridge. In such cases,
it is necessary to coordinate access to the shared resource.
Using this API, drivers can allocate a media device with the shared struct
device as the key. Once the media device is allocated by a driver, other
drivers can get a reference to it. The media device is released when all
the references are released.
Change the ALSA driver to use the Media Controller API to share media
resources with DVB, and V4L2 drivers on a AU0828 media device.
The Media Controller specific initialization is done after sound card is
registered. ALSA creates Media interface and entity function graph nodes
for Control, Mixer, PCM Playback, and PCM Capture devices.
snd_usb_hw_params() will call Media Controller enable source handler
interface to request the media resource. If resource request is granted,
it will release it from snd_usb_hw_free(). If resource is busy, -EBUSY is
returned.
Media specific cleanup is done in usb_audio_disconnect().
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Shuah Khan <shuah@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2019-04-02 03:40:22 +03:00
config SND_USB_AUDIO_USE_MEDIA_CONTROLLER
bool
2009-12-14 14:48:35 +03:00
config SND_USB_UA101
2010-03-22 17:12:07 +03:00
tristate "Edirol UA-101/UA-1000 driver"
2009-12-14 14:48:35 +03:00
select SND_PCM
select SND_RAWMIDI
help
2010-03-01 18:20:37 +03:00
Say Y here to include support for the Edirol UA-101 and UA-1000
audio/MIDI interfaces.
2009-12-14 14:48:35 +03:00
To compile this driver as a module, choose M here: the module
will be called snd-ua101.
2005-04-17 02:20:36 +04:00
config SND_USB_USX2Y
tristate "Tascam US-122, US-224 and US-428 USB driver"
2008-05-23 18:10:37 +04:00
depends on X86 || PPC || ALPHA
2005-04-17 02:20:36 +04:00
select SND_HWDEP
select SND_RAWMIDI
select SND_PCM
help
Say Y here to include support for Tascam USB Audio/MIDI
interfaces or controllers US-122, US-224 and US-428.
To compile this driver as a module, choose M here: the module
will be called snd-usb-usx2y.
2007-03-26 21:11:24 +04:00
config SND_USB_CAIAQ
tristate "Native Instruments USB audio devices"
2007-11-20 20:32:08 +03:00
select SND_HWDEP
select SND_RAWMIDI
select SND_PCM
help
2007-03-26 21:11:24 +04:00
Say Y here to include support for caiaq USB audio interfaces,
namely:
* Native Instruments RigKontrol2
2007-09-17 16:45:14 +04:00
* Native Instruments RigKontrol3
2007-03-26 21:11:24 +04:00
* Native Instruments Kore Controller
2007-11-26 11:00:56 +03:00
* Native Instruments Kore Controller 2
2007-03-26 21:11:24 +04:00
* Native Instruments Audio Kontrol 1
2009-07-22 16:13:35 +04:00
* Native Instruments Audio 2 DJ
2009-01-16 13:03:19 +03:00
* Native Instruments Audio 4 DJ
2007-03-26 21:11:24 +04:00
* Native Instruments Audio 8 DJ
2010-09-01 12:23:46 +04:00
* Native Instruments Traktor Audio 2
2009-01-16 13:03:19 +03:00
* Native Instruments Guitar Rig Session I/O
* Native Instruments Guitar Rig mobile
2010-03-22 15:13:37 +03:00
* Native Instruments Traktor Kontrol X1
2010-09-10 13:04:57 +04:00
* Native Instruments Traktor Kontrol S4
2011-10-10 19:54:23 +04:00
* Native Instruments Maschine Controller
2007-03-26 21:11:24 +04:00
To compile this driver as a module, choose M here: the module
will be called snd-usb-caiaq.
config SND_USB_CAIAQ_INPUT
bool "enable input device for controllers"
depends on SND_USB_CAIAQ
2007-11-21 18:47:03 +03:00
depends on INPUT=y || INPUT=SND_USB_CAIAQ
2007-03-26 21:11:24 +04:00
help
Say Y here to support input controllers like buttons, knobs,
alpha dials and analog pedals on the following products:
* Native Instruments RigKontrol2
2007-09-17 16:45:14 +04:00
* Native Instruments RigKontrol3
2007-11-22 13:40:04 +03:00
* Native Instruments Kore Controller
2007-11-26 11:00:56 +03:00
* Native Instruments Kore Controller 2
2007-03-26 21:11:24 +04:00
* Native Instruments Audio Kontrol 1
2010-09-10 13:04:57 +04:00
* Native Instruments Traktor Kontrol S4
2011-10-10 19:54:23 +04:00
* Native Instruments Maschine Controller
2007-03-26 21:11:24 +04:00
2008-07-30 17:13:29 +04:00
config SND_USB_US122L
tristate "Tascam US-122L USB driver"
2017-05-12 15:34:39 +03:00
depends on X86 || COMPILE_TEST
2008-09-05 07:28:13 +04:00
select SND_HWDEP
2008-07-30 17:13:29 +04:00
select SND_RAWMIDI
help
Say Y here to include support for Tascam US-122L USB Audio/MIDI
interfaces.
To compile this driver as a module, choose M here: the module
will be called snd-usb-us122l.
2011-01-24 20:45:30 +03:00
config SND_USB_6FIRE
2019-10-04 17:49:31 +03:00
tristate "TerraTec DMX 6Fire USB"
select FW_LOADER
select BITREVERSE
select SND_RAWMIDI
select SND_PCM
select SND_VMASTER
help
Say Y here to include support for TerraTec 6fire DMX USB interface.
You will need firmware files in order to be able to use the device
after it has been coldstarted. An install script for the firmware
and further help can be found at
http://sixfireusb.sourceforge.net
2011-01-24 20:45:30 +03:00
2013-06-22 02:14:46 +04:00
config SND_USB_HIFACE
2019-10-04 17:49:31 +03:00
tristate "M2Tech hiFace USB-SPDIF driver"
select SND_PCM
help
2013-06-22 02:14:46 +04:00
Select this option to include support for M2Tech hiFace USB-SPDIF
interface.
This driver supports the original M2Tech hiFace and some other
compatible devices. The supported products are:
* M2Tech Young
* M2Tech hiFace
* M2Tech North Star
* M2Tech W4S Young
* M2Tech Corrson
* M2Tech AUDIA
* M2Tech SL Audio
* M2Tech Empirical
* M2Tech Rockna
* M2Tech Pathos
* M2Tech Metronome
* M2Tech CAD
* M2Tech Audio Esclusive
* M2Tech Rotel
* M2Tech Eeaudio
* The Chord Company CHORD
* AVA Group A/S Vitus
To compile this driver as a module, choose M here: the module
will be called snd-usb-hiface.
2014-04-04 22:40:50 +04:00
config SND_BCD2000
tristate "Behringer BCD2000 MIDI driver"
select SND_RAWMIDI
help
Say Y here to include MIDI support for the Behringer BCD2000 DJ
controller.
Audio support is still work-in-progress at
https://github.com/anyc/snd-usb-bcd2000
To compile this driver as a module, choose M here: the module
will be called snd-bcd2000.
2015-01-13 00:29:57 +03:00
source "sound/usb/line6/Kconfig"
2008-05-23 18:10:37 +04:00
endif # SND_USB
2005-04-17 02:20:36 +04:00