2019-05-19 05:07:45 -07:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2011-03-14 23:53:21 -07:00
|
|
|
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
|
2014-05-30 01:15:58 -07:00
|
|
|
select SND_PCM
|
|
|
|
select SND_RAWMIDI
|
2011-03-14 23:53:21 -07:00
|
|
|
|
2011-09-04 13:04:49 -07:00
|
|
|
config SND_DICE
|
2014-11-28 08:59:24 -07:00
|
|
|
tristate "DICE-based DACs support"
|
2011-09-04 13:04:49 -07:00
|
|
|
select SND_HWDEP
|
|
|
|
select SND_FIREWIRE_LIB
|
|
|
|
help
|
2021-06-13 01:26:21 -07:00
|
|
|
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
|
2013-10-15 11:26:05 -07:00
|
|
|
|
2011-09-04 13:04:49 -07:00
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called snd-dice.
|
|
|
|
|
2014-11-28 08:59:25 -07:00
|
|
|
config SND_OXFW
|
|
|
|
tristate "Oxford Semiconductor FW970/971 chipset support"
|
2011-03-14 23:53:21 -07:00
|
|
|
select SND_FIREWIRE_LIB
|
2014-12-08 08:10:49 -07:00
|
|
|
select SND_HWDEP
|
2011-03-14 23:53:21 -07:00
|
|
|
help
|
2014-11-28 08:59:25 -07:00
|
|
|
Say Y here to include support for FireWire devices based on
|
|
|
|
Oxford Semiconductor FW970/971 chipset.
|
|
|
|
* Griffin Firewave
|
|
|
|
* LaCie Firewire Speakers
|
2014-12-08 08:10:45 -07:00
|
|
|
* Behringer F-Control Audio 202
|
|
|
|
* Mackie(Loud) Onyx-i series (former models)
|
ALSA: oxfw: add support for Mackie Onyx 1640i
As of kernel 4.10, ALSA OXFW driver has no entry for Onyx 1640i produced
by Mackie (Loud Technologies). This commit supplement it.
I note that there're two models produced by Mackie (Loud Technologies),
which have the same name 'Onyx 1640i'. The former model based on OXFW970,
the latter model based on Dice. This is probably due to low quality of
communication of OXFW series.
Additionally, the tester reports his or her experiences to get unexpected
result at higher sampling transmission frequency as 88.2/96.0 kHz. We
didn't have further investigation yet[0].
$ ./linux-firewire-utils/src/crpp < config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 042525ce bus_info_length 4, crc_length 37, crc 9678
404 31333934 bus_name "1394"
408 20ff5003 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 255, max_rec 5 (64)
40c 000ff205 company_id 000ff2 |
410 00000fcf device_id 0500000fcf | EUI-64 000ff20500000fcf
root directory
-----------------------------------------------------------------
414 0006c1b7 directory_length 6, crc 49591
418 03000ff2 vendor
41c 8100000a --> descriptor leaf at 444
420 17001640 model
424 81000011 --> descriptor leaf at 468
428 0c0083c0 node capabilities per IEEE 1394
42c d1000001 --> unit directory at 430
unit directory at 430
-----------------------------------------------------------------
430 00040b97 directory_length 4, crc 2967
434 1200a02d specifier id: 1394 TA
438 13010001 version: AV/C
43c 17001640 model
440 81000010 --> descriptor leaf at 480
descriptor leaf at 444
-----------------------------------------------------------------
444 0008a886 leaf_length 8, crc 43142
448 00000000 textual descriptor
44c 00000000 minimal ASCII
450 4c6f7564 "Loud"
454 20546563 " Tec"
458 686e6f6c "hnol"
45c 6f676965 "ogie"
460 7320496e "s In"
464 632e0000 "c."
descriptor leaf at 468
-----------------------------------------------------------------
468 00059fcf leaf_length 5, crc 40911
46c 00000000 textual descriptor
470 00000000 minimal ASCII
474 4f6e7978 "Onyx"
478 20313634 " 164"
47c 30690000 "0i"
descriptor leaf at 480
-----------------------------------------------------------------
480 00059fcf leaf_length 5, crc 40911
484 00000000 textual descriptor
488 00000000 minimal ASCII
48c 4f6e7978 "Onyx"
490 20313634 " 164"
494 30690000 "0i"
[0]: [FFADO-user] Mackie 1640i issues (finer details)
https://sourceforge.net/p/ffado/mailman/message/35229260/
Tested-by: Seth O'Bannion <saobannion@gmail.com>
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-01-02 19:36:08 -07:00
|
|
|
* Mackie(Loud) Onyx 1640i (former model)
|
2014-12-08 08:10:45 -07:00
|
|
|
* Mackie(Loud) Onyx Satellite
|
|
|
|
* Mackie(Loud) Tapco Link.Firewire
|
2021-05-18 01:45:47 -07:00
|
|
|
* Mackie(Loud) d.2 pro/d.4 pro (built-in FireWire card with OXFW971 ASIC)
|
2014-12-08 08:10:45 -07:00
|
|
|
* Mackie(Loud) U.420/U.420d
|
2015-11-07 22:46:34 -07:00
|
|
|
* TASCAM FireOne
|
2015-12-21 17:15:45 -07:00
|
|
|
* Stanton Controllers & Systems 1 Deck/Mixer
|
ALSA: oxfw: add support for APOGEE duet FireWire
This commit adds support for APOGEE duet FireWire, launched 2007, already
discontinued. This model uses Oxford Semiconductor FW971 as its
communication engine. Below is information on Configuration ROM of this
unit. The unit supports some AV/C commands defined by Audio subunit
specification and vendor dependent commands.
$ ./hinawa-config-rom-printer /dev/fw1
{ 'bus-info': { 'adj': False,
'bmc': False,
'chip_ID': 42949742248,
'cmc': False,
'cyc_clk_acc': 255,
'generation': 0,
'imc': False,
'isc': True,
'link_spd': 3,
'max_ROM': 0,
'max_rec': 64,
'name': '1394',
'node_vendor_ID': 987,
'pmc': False},
'root-directory': [ ['VENDOR', 987],
['DESCRIPTOR', 'Apogee Electronics'],
['MODEL', 122333],
['DESCRIPTOR', 'Duet'],
[ 'NODE_CAPABILITIES',
{ 'addressing': {'64': True, 'fix': True, 'prv': False},
'misc': {'int': False, 'ms': False, 'spt': True},
'state': { 'atn': False,
'ded': False,
'drq': True,
'elo': False,
'init': False,
'lst': True,
'off': False},
'testing': {'bas': False, 'ext': False}}],
[ 'UNIT',
[ ['SPECIFIER_ID', 41005],
['VERSION', 65537],
['MODEL', 122333],
['DESCRIPTOR', 'Duet']]]]}
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-11-12 20:01:30 -07:00
|
|
|
* APOGEE duet FireWire
|
2011-03-14 23:53:21 -07:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
2014-11-28 08:59:25 -07:00
|
|
|
will be called snd-oxfw.
|
2011-03-14 23:53:21 -07:00
|
|
|
|
2011-05-11 01:44:51 -07:00
|
|
|
config SND_ISIGHT
|
2011-05-11 01:54:41 -07:00
|
|
|
tristate "Apple iSight microphone"
|
2011-05-11 01:44:51 -07:00
|
|
|
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.
|
|
|
|
|
2014-04-25 06:45:00 -07:00
|
|
|
config SND_FIREWORKS
|
|
|
|
tristate "Echo Fireworks board module support"
|
2014-04-25 06:45:01 -07:00
|
|
|
select SND_FIREWIRE_LIB
|
2014-04-25 06:45:12 -07:00
|
|
|
select SND_HWDEP
|
2014-04-25 06:45:00 -07:00
|
|
|
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.
|
|
|
|
|
2014-04-25 06:45:14 -07:00
|
|
|
config SND_BEBOB
|
|
|
|
tristate "BridgeCo DM1000/DM1100/DM1500 with BeBoB firmware"
|
|
|
|
select SND_FIREWIRE_LIB
|
2014-04-25 06:45:20 -07:00
|
|
|
select SND_HWDEP
|
2019-10-04 07:49:31 -07:00
|
|
|
help
|
2014-04-25 06:45:14 -07:00
|
|
|
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
|
2014-07-26 05:05:10 -07:00
|
|
|
* Mackie Onyx 1220/1620/1640 (FireWire I/O Card)
|
2021-05-18 01:45:47 -07:00
|
|
|
* Mackie d.2 (optional FireWire card with DM1000 ASIC)
|
2014-04-25 06:45:14 -07:00
|
|
|
* Stanton FinalScratch 2 (ScratchAmp)
|
|
|
|
* Tascam IF-FW/DM
|
|
|
|
* Behringer XENIX UFX 1204/1604
|
|
|
|
* Behringer Digital Mixer X32 series (X-UF Card)
|
2015-06-13 20:49:37 -07:00
|
|
|
* Behringer FCA610/1616
|
2014-04-25 06:45:14 -07:00
|
|
|
* Apogee Rosetta 200/400 (X-FireWire card)
|
|
|
|
* Apogee DA/AD/DD-16X (X-FireWire card)
|
|
|
|
* Apogee Ensemble
|
2014-07-26 05:05:10 -07:00
|
|
|
* ESI QuataFire 610
|
2014-04-25 06:45:14 -07:00
|
|
|
* 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
|
2014-04-25 06:45:22 -07:00
|
|
|
* TerraTec PHASE 24 FW/PHASE X24 FW/PHASE 88 Rack FW
|
2014-07-26 05:05:10 -07:00
|
|
|
* TerraTec EWS MIC2/EWS MIC8
|
|
|
|
* TerraTec Aureon 7.1 FireWire
|
2014-04-25 06:45:23 -07:00
|
|
|
* Yamaha GO44/GO46
|
2014-04-25 06:45:24 -07:00
|
|
|
* Focusrite Saffire/Saffire LE/SaffirePro10 IO/SaffirePro26 IO
|
2014-07-26 05:05:10 -07:00
|
|
|
* M-Audio FireWire410/AudioPhile/Solo
|
2014-04-25 06:45:25 -07:00
|
|
|
* M-Audio Ozonic/NRV10/ProfireLightBridge
|
2014-07-26 05:05:10 -07:00
|
|
|
* M-Audio FireWire 1814/ProjectMix IO
|
2015-05-24 04:51:45 -07:00
|
|
|
* Digidesign Mbox 2 Pro
|
2021-06-19 01:39:22 -07:00
|
|
|
* ToneWeal FW66
|
2014-04-25 06:45:14 -07:00
|
|
|
|
2019-10-04 07:49:31 -07:00
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called snd-bebob.
|
2014-04-25 06:45:14 -07:00
|
|
|
|
2015-09-29 17:39:16 -07:00
|
|
|
config SND_FIREWIRE_DIGI00X
|
|
|
|
tristate "Digidesign Digi 002/003 family support"
|
|
|
|
select SND_FIREWIRE_LIB
|
2015-09-29 17:39:21 -07:00
|
|
|
select SND_HWDEP
|
2015-09-29 17:39:16 -07:00
|
|
|
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.
|
|
|
|
|
2015-10-01 06:02:11 -07:00
|
|
|
config SND_FIREWIRE_TASCAM
|
|
|
|
tristate "TASCAM FireWire series support"
|
|
|
|
select SND_FIREWIRE_LIB
|
2015-10-01 06:02:17 -07:00
|
|
|
select SND_HWDEP
|
2015-10-01 06:02:11 -07:00
|
|
|
help
|
|
|
|
Say Y here to include support for TASCAM.
|
|
|
|
* FW-1884
|
|
|
|
* FW-1082
|
2016-03-27 00:09:09 -07:00
|
|
|
* FW-1804
|
2015-10-01 06:02:11 -07:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called snd-firewire-tascam.
|
|
|
|
|
2017-03-22 05:30:11 -07:00
|
|
|
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:
|
ALSA: firewire-motu: add support for MOTU 828
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>
2021-06-16 01:28:46 -07:00
|
|
|
* 828
|
ALSA: firewire-motu: add support for MOTU 896
MOTU 896 is a second model in MOTU FireWire series, produced in 2001. This
model consists of three chips:
* Texas Instruments TSB41AB2 (Physical layer for IEEE 1394 bus)
* Philips Semiconductors PDI 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 the 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 bytes for control and status messages in the end of
each data block.
* The most of settings are represented in bit flag in one quadlet address
(0x'ffff'f000'0b14).
* It's selectable to use signal on optical interface, however the device
has no register specific to it. The state has effect just to whether
to exclude differed data chunks.
* The internal multiplexer is not configured by software.
Just after powering on, the device has a quirk to fail handling
transaction. I recommend users to connect the device enough after powering
on.
$ python3 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 04102814 bus_info_length 4, crc_length 16, crc 10260
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 0000d645 device_id 000000d645 | EUI-64 0001f2000000d645
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 0003ab34 directory_length 3, crc 43828
42c 120001f2 specifier id
430 13000002 version
434 17102801 model
eui-64 leaf at 438
-----------------------------------------------------------------
438 0002057d leaf_length 2, crc 1405
43c 0001f200 company_id 0001f2 |
440 0000d645 device_id 000000d645 | EUI-64 0001f2000000d645
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20210616082847.124688-3-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-06-16 01:28:47 -07:00
|
|
|
* 896
|
2017-03-22 05:30:26 -07:00
|
|
|
* 828mk2
|
ALSA: firewire-motu: add support for MOTU Track 16
Mark of the Unicorn designed Track 16 2011 as one of models in third
generation of its FireWire series. The model is already discontinued.
It consists of below ICs:
* Texas Instruments TSB41AB1
* Microchip (SMSC) USB3300
* Xilinx Spartan-3A FPGA, XC3S700A
* Texas Instruments TMS320C6722
* Microchip (Atmel) AT91SAM SAM7S512
It supports sampling transfer frequency up to 192.0 kHz. The packet
format differs depending on both of current sampling transfer frequency
and the type of signal in optical interfaces. The model supports
transmission of PCM frames as well as MIDI messages.
The model supports command mechanism to configure internal DSP. Hardware
meter information is available in the first 2 chunks of each data block
of tx packet.
This commit adds support for it.
$ cd linux-firewire-tools/src
$ python crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 04107d95 bus_info_length 4, crc_length 16, crc 32149
404 31333934 bus_name "1394"
408 20ff7000 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 255, max_rec 7 (256)
40c 0001f200 company_id 0001f2 |
410 000a83c4 device_id 00000a83c4 | EUI-64 0001f200000a83c4
root directory
-----------------------------------------------------------------
414 0004ef04 directory_length 4, crc 61188
418 030001f2 vendor
41c 0c0083c0 node capabilities per IEEE 1394
420 d1000002 --> unit directory at 428
424 8d000005 --> eui-64 leaf at 438
unit directory at 428
-----------------------------------------------------------------
428 00035b04 directory_length 3, crc 23300
42c 120001f2 specifier id
430 13000039 version
434 17102800 model
eui-64 leaf at 438
-----------------------------------------------------------------
438 0002b25f leaf_length 2, crc 45663
43c 0001f200 company_id 0001f2 |
440 000a83c4 device_id 00000a83c4 | EUI-64 0001f200000a83c4
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211107110644.23511-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-11-07 04:06:44 -07:00
|
|
|
* 896hd
|
2018-10-12 00:08:59 -07:00
|
|
|
* Traveler
|
2020-05-10 19:25:40 -07:00
|
|
|
* Ultralite
|
|
|
|
* 8pre
|
|
|
|
* 828mk3 (FireWire only)
|
|
|
|
* 828mk3 (Hybrid)
|
ALSA: firewire-motu: add support for MOTU 896 mk3 FireWire and Hybrid
Mark of the Unicorn released 896 mk3 FireWire in 2008 as part of the third
generation of its FireWire series. In 2011, 896 mk3 hybrid was released to
support USB protocol.
It supports sampling transfer frequency up to 192.0 kHz. The packet
format differs depending on both of current sampling transfer frequency
and the type of signal in optical interfaces. The model supports
transmission of PCM frames as well as MIDI messages.
The 896 mk3 FireWire consists of below ICs:
* Texas Instruments TSB41AB2
* Xilinx Spartan-3A FPGA, XC3S500E
* Texas Instruments TMS320C6722
* Microchip (Atmel) AT91SAM SAM7S256
It supports sampling transfer frequency up to 192.0 kHz. The packet
format differs depending on both of current sampling transfer frequency
and the type of signal in two pairs of optical interfaces. The model
supports transmission of PCM frames, while has no port for MIDi messages.
The model supports command mechanism to configure internal DSP. Hardware
meter information is available in the first 2 chunks of each data block
of tx packet.
This commit adds support for it. The 896 mk3 FireWire is just tested, but
the 896 mk3 Hybrid is not yet.
$ config-rom-pretty-printer < motu-896mk3fw.img
ROM header and bus information block
-----------------------------------------------------------------
1024 04100ce1 bus_info_length 4, crc_length 16, crc 3297
1028 31333934 bus_name "1394"
1032 20ff7000 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 255, max_rec 7 (256)
1036 0001f200 company_id 0001f2 |
1040 00093add device_id 0000604893 | EUI-64 0547556791237341
root directory
-----------------------------------------------------------------
1044 0004ef04 directory_length 4, crc 61188
1048 030001f2 vendor
1052 0c0083c0 node capabilities: per IEEE 1394
1056 d1000002 --> unit directory at 1064
1060 8d000005 --> eui-64 leaf at 1080
unit directory at 1064
-----------------------------------------------------------------
1064 0003998d directory_length 3, crc 39309
1068 120001f2 specifier id
1072 13000017 version
1076 17101800 model
eui-64 leaf at 1080
-----------------------------------------------------------------
1080 0002cc82 leaf_length 2, crc 52354
1084 0001f200 company_id 0001f2 |
1088 00093add device_id 0000604893 | EUI-64 0547556791237341
$ config-rom-pretty-printer < motu-896mk3hybrid.img
ROM header and bus information block
-----------------------------------------------------------------
1024 04103cbe bus_info_length 4, crc_length 16, crc 15550
1028 31333934 bus_name "1394"
1032 20ff7000 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 255, max_rec 7 (256)
1036 0001f200 company_id 0001f2 |
1040 000ae601 device_id 0000714241 | EUI-64 0547556791346689
root directory
-----------------------------------------------------------------
1044 0004ef04 directory_length 4, crc 61188
1048 030001f2 vendor
1052 0c0083c0 node capabilities: per IEEE 1394
1056 d1000002 --> unit directory at 1064
1060 8d000005 --> eui-64 leaf at 1080
unit directory at 1064
-----------------------------------------------------------------
1064 000394ac directory_length 3, crc 38060
1068 120001f2 specifier id
1072 13000037 version
1076 17102800 model
eui-64 leaf at 1080
-----------------------------------------------------------------
1080 0002cf69 leaf_length 2, crc 53097
1084 0001f200 company_id 0001f2 |
1088 000ae601 device_id 0000714241 | EUI-64 0547556791346689
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20240129022711.254383-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2024-01-28 19:27:11 -07:00
|
|
|
* 896mk3 (FireWire only)
|
|
|
|
* 896mk3 (Hybrid)
|
ALSA: firewire-motu: add support for hybrid model of MOTU Ultralite mk3
This commit adds support for the hybrid model of MOTU Ultralite mk3 with
alpha connector, which is already discontinued. The hardware specification
of the model is the same as the one of FireWire-only model.
$ cd linux-firewire-utils
$ python3 src/crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 04101573 bus_info_length 4, crc_length 16, crc 5491
404 31333934 bus_name "1394"
408 20ff7000 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 255, max_rec 7 (256)
40c 0001f200 company_id 0001f2 |
410 000a059c device_id 00000a059c | EUI-64 0001f200000a059c
root directory
-----------------------------------------------------------------
414 0004ef04 directory_length 4, crc 61188
418 030001f2 vendor
41c 0c0083c0 node capabilities per IEEE 1394
420 d1000002 --> unit directory at 428
424 8d000005 --> eui-64 leaf at 438
unit directory at 428
-----------------------------------------------------------------
428 0003f00b directory_length 3, crc 61451
42c 120001f2 specifier id
430 13000030 version
434 17103800 model
eui-64 leaf at 438
-----------------------------------------------------------------
438 0002d89c leaf_length 2, crc 55452
43c 0001f200 company_id 0001f2 |
440 000a059c device_id 00000a059c | EUI-64 0001f200000a059c
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20210606043409.40019-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-06-05 21:34:09 -07:00
|
|
|
* Ultralite mk3 (FireWire only)
|
|
|
|
* Ultralite mk3 (Hybrid)
|
ALSA: firewire-motu: add support for MOTU Track 16
Mark of the Unicorn designed Track 16 2011 as one of models in third
generation of its FireWire series. The model is already discontinued.
It consists of below ICs:
* Texas Instruments TSB41AB1
* Microchip (SMSC) USB3300
* Xilinx Spartan-3A FPGA, XC3S700A
* Texas Instruments TMS320C6722
* Microchip (Atmel) AT91SAM SAM7S512
It supports sampling transfer frequency up to 192.0 kHz. The packet
format differs depending on both of current sampling transfer frequency
and the type of signal in optical interfaces. The model supports
transmission of PCM frames as well as MIDI messages.
The model supports command mechanism to configure internal DSP. Hardware
meter information is available in the first 2 chunks of each data block
of tx packet.
This commit adds support for it.
$ cd linux-firewire-tools/src
$ python crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 04107d95 bus_info_length 4, crc_length 16, crc 32149
404 31333934 bus_name "1394"
408 20ff7000 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 255, max_rec 7 (256)
40c 0001f200 company_id 0001f2 |
410 000a83c4 device_id 00000a83c4 | EUI-64 0001f200000a83c4
root directory
-----------------------------------------------------------------
414 0004ef04 directory_length 4, crc 61188
418 030001f2 vendor
41c 0c0083c0 node capabilities per IEEE 1394
420 d1000002 --> unit directory at 428
424 8d000005 --> eui-64 leaf at 438
unit directory at 428
-----------------------------------------------------------------
428 00035b04 directory_length 3, crc 23300
42c 120001f2 specifier id
430 13000039 version
434 17102800 model
eui-64 leaf at 438
-----------------------------------------------------------------
438 0002b25f leaf_length 2, crc 45663
43c 0001f200 company_id 0001f2 |
440 000a83c4 device_id 00000a83c4 | EUI-64 0001f200000a83c4
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211107110644.23511-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-11-07 04:06:44 -07:00
|
|
|
* Traveler mk3
|
2018-10-12 00:08:59 -07:00
|
|
|
* Audio Express
|
ALSA: firewire-motu: add support for MOTU Track 16
Mark of the Unicorn designed Track 16 2011 as one of models in third
generation of its FireWire series. The model is already discontinued.
It consists of below ICs:
* Texas Instruments TSB41AB1
* Microchip (SMSC) USB3300
* Xilinx Spartan-3A FPGA, XC3S700A
* Texas Instruments TMS320C6722
* Microchip (Atmel) AT91SAM SAM7S512
It supports sampling transfer frequency up to 192.0 kHz. The packet
format differs depending on both of current sampling transfer frequency
and the type of signal in optical interfaces. The model supports
transmission of PCM frames as well as MIDI messages.
The model supports command mechanism to configure internal DSP. Hardware
meter information is available in the first 2 chunks of each data block
of tx packet.
This commit adds support for it.
$ cd linux-firewire-tools/src
$ python crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 04107d95 bus_info_length 4, crc_length 16, crc 32149
404 31333934 bus_name "1394"
408 20ff7000 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 255, max_rec 7 (256)
40c 0001f200 company_id 0001f2 |
410 000a83c4 device_id 00000a83c4 | EUI-64 0001f200000a83c4
root directory
-----------------------------------------------------------------
414 0004ef04 directory_length 4, crc 61188
418 030001f2 vendor
41c 0c0083c0 node capabilities per IEEE 1394
420 d1000002 --> unit directory at 428
424 8d000005 --> eui-64 leaf at 438
unit directory at 428
-----------------------------------------------------------------
428 00035b04 directory_length 3, crc 23300
42c 120001f2 specifier id
430 13000039 version
434 17102800 model
eui-64 leaf at 438
-----------------------------------------------------------------
438 0002b25f leaf_length 2, crc 45663
43c 0001f200 company_id 0001f2 |
440 000a83c4 device_id 00000a83c4 | EUI-64 0001f200000a83c4
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211107110644.23511-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-11-07 04:06:44 -07:00
|
|
|
* Track 16
|
2020-05-10 19:25:40 -07:00
|
|
|
* 4pre
|
2017-03-22 05:30:11 -07:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called snd-firewire-motu.
|
|
|
|
|
2017-03-31 06:05:59 -07:00
|
|
|
config SND_FIREFACE
|
|
|
|
tristate "RME Fireface series support"
|
|
|
|
select SND_FIREWIRE_LIB
|
2017-03-31 06:06:11 -07:00
|
|
|
select SND_HWDEP
|
2017-03-31 06:05:59 -07:00
|
|
|
help
|
|
|
|
Say Y here to include support for RME fireface series.
|
ALSA: fireface: add support for Fireface 400
Fireface 400 is a second model of RME Fireface series, released in 2006.
This commit adds support for this model.
This model supports 8 analog channels, 2 S/PDIF channels and 8 ADAT
channels in both of tx/rx packet. The number of ADAT channels differs
depending on each mode of sampling transmission frequency.
$ python2 linux-firewire-utils/src/crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 04107768 bus_info_length 4, crc_length 16, crc 30568 (should be 61311)
404 31333934 bus_name "1394"
408 20009002 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 0, max_rec 9 (1024)
40c 000a3501 company_id 000a35 |
410 1bd0862a device_id 011bd0862a | EUI-64 000a35011bd0862a
root directory
-----------------------------------------------------------------
414 000485ec directory_length 4, crc 34284
418 03000a35 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 000314c4 directory_length 3, crc 5316
42c 12000a35 specifier id
430 13000002 version
434 17101800 model
eui-64 leaf at 438
-----------------------------------------------------------------
438 000261a8 leaf_length 2, crc 25000
43c 000a3501 company_id 000a35 |
440 1bd0862a device_id 011bd0862a | EUI-64 000a35011bd0862a
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-03-31 06:06:12 -07:00
|
|
|
* Fireface 400
|
2018-12-11 03:17:35 -07:00
|
|
|
* Fireface 800
|
2020-05-10 00:43:01 -07:00
|
|
|
* Fireface UFX
|
2019-01-20 01:25:53 -07:00
|
|
|
* Fireface UCX
|
ALSA: fireface: add support for RME FireFace 802
Fireface 802 was shipped by RME GmbH in 2014. This model supports later
protocol for management of isochronous communication and synchronization
of sampling transmission frequency.
This model consists of below ICs:
* TI TSB41AB2
* Xilinx Spartan-6 FPGA XC6SLX16
* TI TMS320 C6747
* SMSC USB3250
Especially, this model just supports IEEE 1394a, against its name which
evokes Fireface 800.
This commit adds support for Fireface 802 (tested). Userspace applications
can transfer PCM frames and MIDI messages via ALSA PCM/Rawmidi interface.
I note that 4 channels for ADAt1 and ADAT2 are disabled at higher sampling
transfer frequency since isochronous resources reservation fails due to
bandwidth limitation of IEEE 1394a.
The value read from LATTER_SYNC_STATUS register is slightly different
from the one of Fireface UCX. The higher 4 bits and lower 4 bits are
swapped within the same byte.
Without any assist of userspace application, transmitted MIDI messages
from the device are not going to be processed. For detail, please refer
to my comment in code of latter protocol.
$ python crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 0404ffff bus_info_length 4, crc_length 4, crc 65535 (should be 26805)
404 31333934 bus_name "1394"
408 20008000 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 0, max_rec 8 (512)
40c 000a3504 company_id 000a35 |
410 38077423 device_id 0438077423 | EUI-64 000a350438077423
root directory
-----------------------------------------------------------------
414 0005ffff directory_length 5, crc 65535 (should be 9514)
418 0c0083c0 node capabilities per IEEE 1394
41c 03000a35 vendor
420 8100000b --> descriptor leaf at 44c
424 8d000007 --> eui-64 leaf at 440
428 d1000001 --> unit directory at 42c
unit directory at 42c
-----------------------------------------------------------------
42c 0004ffff directory_length 4, crc 65535 (should be 45134)
430 12000a35 specifier id
434 13000005 version
438 17101800 model
43c 81000008 --> descriptor leaf at 45c
eui-64 leaf at 440
-----------------------------------------------------------------
440 0002ffff leaf_length 2, crc 65535 (should be 60131)
444 000a3504 company_id 000a35 |
448 38077423 device_id 0438077423 | EUI-64 000a350438077423
descriptor leaf at 44c
-----------------------------------------------------------------
44c 0003ffff leaf_length 3, crc 65535 (should be 469)
450 00000000 textual descriptor
454 00000000 minimal ASCII
458 524d4521 "RME!"
descriptor leaf at 45c
-----------------------------------------------------------------
45c 0005ffff leaf_length 5, crc 65535 (should be 10561)
460 00000000 textual descriptor
464 00000000 minimal ASCII
468 46697265 "Fire"
46c 66616365 "face"
470 20383032 " 802"
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20200510074301.116224-6-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-05-10 00:43:00 -07:00
|
|
|
* Fireface 802
|
2017-03-31 06:05:59 -07:00
|
|
|
|
2011-03-14 23:53:21 -07:00
|
|
|
endif # SND_FIREWIRE
|