mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
d13d6b284d
MOTU 828 is a first model in MOTU FireWire series, produced in 2001. This model consists of three chips: * Texas Instruments TSB41AB1 (Physical layer for IEEE 1394 bus) * Philips Semiconductors 1394L21BE (Link layer for IEEE 1394 bus and packet processing layer) * QuickLogic QuickRAM QL4016 (Data block processing layer and digital signal processing) This commit adds a support for this model, with its unique protocol as version 1. The features of this protocol are: * no MIDI support. * Rx packets have no data chunks for control and status messages. * Tx packets have 2 data chunks for control and status messages in the end of each data block. The chunks consist of data block counter (4 byte) and message (2 byte). * All of settings are represented in bit flag in one quadlet address (0x'ffff'f000'0b00). * When optical interface is configured as S/PDIF, signals of the interface is multiplexed for packets, instead of signals of coaxial interface. * The internal multiplexer is not configured by software. I note that the device has a quirk to mute output voluntarily during receiving batch of packets in the beginning of packet streaming. The operation to unmute should be done by software enough after the device shifts the state, however it's not deterministic. Furthermore, just after switching rate of sampling clock, the device keeps the state longer. This patch manages to sleep 100 msec before unmute operation, but it may fail to release the mute in the case that the rate is changed. As a workaround, users can restart packet streaming at the same rate, or write to specific register from userspace. $ python3 crpp < /sys/bus/firewire/devices/fw1/config_rom ROM header and bus information block ----------------------------------------------------------------- 400 04105c54 bus_info_length 4, crc_length 16, crc 23636 404 31333934 bus_name "1394" 408 20001000 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 0, max_rec 1 (4) 40c 0001f200 company_id 0001f2 | 410 00005015 device_id 0000005015 | EUI-64 0001f20000005015 root directory ----------------------------------------------------------------- 414 0004c65c directory_length 4, crc 50780 418 030001f2 vendor 41c 0c0083c0 node capabilities per IEEE 1394 420 8d000006 --> eui-64 leaf at 438 424 d1000001 --> unit directory at 428 unit directory at 428 ----------------------------------------------------------------- 428 00035052 directory_length 3, crc 20562 42c 120001f2 specifier id 430 13000001 version 434 17101800 model eui-64 leaf at 438 ----------------------------------------------------------------- 438 0002eeb6 leaf_length 2, crc 61110 43c 0001f200 company_id 0001f2 | 440 00005015 device_id 0000005015 | EUI-64 0001f20000005015 Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Link: https://lore.kernel.org/r/20210616082847.124688-2-o-takashi@sakamocchi.jp Signed-off-by: Takashi Iwai <tiwai@suse.de>
195 lines
6 KiB
Text
195 lines
6 KiB
Text
# SPDX-License-Identifier: GPL-2.0-only
|
|
menuconfig SND_FIREWIRE
|
|
bool "FireWire sound devices"
|
|
depends on FIREWIRE
|
|
default y
|
|
help
|
|
Support for IEEE-1394/FireWire/iLink sound devices.
|
|
|
|
if SND_FIREWIRE && FIREWIRE
|
|
|
|
config SND_FIREWIRE_LIB
|
|
tristate
|
|
select SND_PCM
|
|
select SND_RAWMIDI
|
|
|
|
config SND_DICE
|
|
tristate "DICE-based DACs support"
|
|
select SND_HWDEP
|
|
select SND_FIREWIRE_LIB
|
|
help
|
|
Say Y here to include support for devices based on the DICE chip family
|
|
(DICE-II/TCD2210(Mini)/TCD2220(Jr.)) which TC Applied Technologies (TCAT) produced.
|
|
* Allen and Heath Zed R16
|
|
* Alesis iO 14/26 FireWire, MasterControl, MultiMix 8/12/16 FireWire
|
|
* Avid Mbox 3 Pro
|
|
* FlexRadio Systems FLEX-3000, FLEX-5000
|
|
* Focusrite Liquid Saffire 56
|
|
* Focusrite Saffire Pro 14, Pro 24, Pro 24 DSP, Pro 26, Pro 40(TCD2220)
|
|
* Harman Music Group Lexicon I-ONIX FW810S
|
|
* Loud Technologies Mackie Onyx Blackbird, Onyx 820i/1220i/1620i/1640i (latter models)
|
|
* M-Audio ProFire 610/2626
|
|
* Mytek Stereo192-DSD DAC
|
|
* Midas Klark Teknik VeniceF series
|
|
* PreSonus FireStudio, FireStudio Mobile, FireStudio Project, FireStudio Tube
|
|
* PreSonus StudioLive 16.4.2, 16.0.2, 24.4.2, 32.4.2
|
|
* Solid State Logic Duende Classic, Duende Mini
|
|
* TC Electronic Studio Konnekt 48, Konnekt 24D, Konnekt Live, Impact Twin
|
|
* TC Electronic Digital Konnekt x32, Desktop Konnekt 6
|
|
* Weiss Engineering ADC2, Vesta, Minerva, AFI1, DAC1, INT202, DAC202
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-dice.
|
|
|
|
config SND_OXFW
|
|
tristate "Oxford Semiconductor FW970/971 chipset support"
|
|
select SND_FIREWIRE_LIB
|
|
select SND_HWDEP
|
|
help
|
|
Say Y here to include support for FireWire devices based on
|
|
Oxford Semiconductor FW970/971 chipset.
|
|
* Griffin Firewave
|
|
* LaCie Firewire Speakers
|
|
* Behringer F-Control Audio 202
|
|
* Mackie(Loud) Onyx-i series (former models)
|
|
* Mackie(Loud) Onyx 1640i (former model)
|
|
* Mackie(Loud) Onyx Satellite
|
|
* Mackie(Loud) Tapco Link.Firewire
|
|
* Mackie(Loud) d.2 pro/d.4 pro (built-in FireWire card with OXFW971 ASIC)
|
|
* Mackie(Loud) U.420/U.420d
|
|
* TASCAM FireOne
|
|
* Stanton Controllers & Systems 1 Deck/Mixer
|
|
* APOGEE duet FireWire
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-oxfw.
|
|
|
|
config SND_ISIGHT
|
|
tristate "Apple iSight microphone"
|
|
select SND_FIREWIRE_LIB
|
|
help
|
|
Say Y here to include support for the front and rear microphones
|
|
of the Apple iSight web camera.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-isight.
|
|
|
|
config SND_FIREWORKS
|
|
tristate "Echo Fireworks board module support"
|
|
select SND_FIREWIRE_LIB
|
|
select SND_HWDEP
|
|
help
|
|
Say Y here to include support for FireWire devices based
|
|
on Echo Digital Audio Fireworks board:
|
|
* Mackie Onyx 400F/1200F
|
|
* Echo AudioFire12/8(until 2009 July)
|
|
* Echo AudioFire2/4/Pre8/8(since 2009 July)
|
|
* Echo Fireworks 8/HDMI
|
|
* Gibson Robot Interface Pack/GoldTop
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-fireworks.
|
|
|
|
config SND_BEBOB
|
|
tristate "BridgeCo DM1000/DM1100/DM1500 with BeBoB firmware"
|
|
select SND_FIREWIRE_LIB
|
|
select SND_HWDEP
|
|
help
|
|
Say Y here to include support for FireWire devices based
|
|
on BridgeCo DM1000/DM1100/DM1500 with BeBoB firmware:
|
|
* Edirol FA-66/FA-101
|
|
* PreSonus FIREBOX/FIREPOD/FP10/Inspire1394
|
|
* BridgeCo RDAudio1/Audio5
|
|
* Mackie Onyx 1220/1620/1640 (FireWire I/O Card)
|
|
* Mackie d.2 (optional FireWire card with DM1000 ASIC)
|
|
* Stanton FinalScratch 2 (ScratchAmp)
|
|
* Tascam IF-FW/DM
|
|
* Behringer XENIX UFX 1204/1604
|
|
* Behringer Digital Mixer X32 series (X-UF Card)
|
|
* Behringer FCA610/1616
|
|
* Apogee Rosetta 200/400 (X-FireWire card)
|
|
* Apogee DA/AD/DD-16X (X-FireWire card)
|
|
* Apogee Ensemble
|
|
* ESI QuataFire 610
|
|
* AcousticReality eARMasterOne
|
|
* CME MatrixKFW
|
|
* Phonic Helix Board 12 MkII/18 MkII/24 MkII
|
|
* Phonic Helix Board 12 Universal/18 Universal/24 Universal
|
|
* Lynx Aurora 8/16 (LT-FW)
|
|
* ICON FireXon
|
|
* PrismSound Orpheus/ADA-8XR
|
|
* TerraTec PHASE 24 FW/PHASE X24 FW/PHASE 88 Rack FW
|
|
* TerraTec EWS MIC2/EWS MIC8
|
|
* TerraTec Aureon 7.1 FireWire
|
|
* Yamaha GO44/GO46
|
|
* Focusrite Saffire/Saffire LE/SaffirePro10 IO/SaffirePro26 IO
|
|
* M-Audio FireWire410/AudioPhile/Solo
|
|
* M-Audio Ozonic/NRV10/ProfireLightBridge
|
|
* M-Audio FireWire 1814/ProjectMix IO
|
|
* Digidesign Mbox 2 Pro
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-bebob.
|
|
|
|
config SND_FIREWIRE_DIGI00X
|
|
tristate "Digidesign Digi 002/003 family support"
|
|
select SND_FIREWIRE_LIB
|
|
select SND_HWDEP
|
|
help
|
|
Say Y here to include support for Digidesign Digi 002/003 family.
|
|
* Digi 002 Console
|
|
* Digi 002 Rack
|
|
* Digi 003 Console
|
|
* Digi 003 Rack
|
|
* Digi 003 Rack+
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-firewire-digi00x.
|
|
|
|
config SND_FIREWIRE_TASCAM
|
|
tristate "TASCAM FireWire series support"
|
|
select SND_FIREWIRE_LIB
|
|
select SND_HWDEP
|
|
help
|
|
Say Y here to include support for TASCAM.
|
|
* FW-1884
|
|
* FW-1082
|
|
* FW-1804
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-firewire-tascam.
|
|
|
|
config SND_FIREWIRE_MOTU
|
|
tristate "Mark of the unicorn FireWire series support"
|
|
select SND_FIREWIRE_LIB
|
|
select SND_HWDEP
|
|
help
|
|
Say Y here to enable support for FireWire devices which MOTU produced:
|
|
* 828
|
|
* 828mk2
|
|
* Traveler
|
|
* Ultralite
|
|
* 8pre
|
|
* 828mk3 (FireWire only)
|
|
* 828mk3 (Hybrid)
|
|
* Ultralite mk3 (FireWire only)
|
|
* Ultralite mk3 (Hybrid)
|
|
* Audio Express
|
|
* 4pre
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-firewire-motu.
|
|
|
|
config SND_FIREFACE
|
|
tristate "RME Fireface series support"
|
|
select SND_FIREWIRE_LIB
|
|
select SND_HWDEP
|
|
help
|
|
Say Y here to include support for RME fireface series.
|
|
* Fireface 400
|
|
* Fireface 800
|
|
* Fireface UFX
|
|
* Fireface UCX
|
|
* Fireface 802
|
|
|
|
endif # SND_FIREWIRE
|