linux/sound/firewire
Takashi Sakamoto 411ac2982c 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-08 13:49:27 +01:00
..
bebob ALSA: bebob: correct duplicated entries with TerraTec OUI 2021-07-05 19:31:12 +02:00
dice ALSA: dice: cease from delayed card registration 2021-06-07 17:14:14 +02:00
digi00x ALSA: firewire-digi00x: cease from delayed card registration 2021-06-07 17:14:29 +02:00
fireface ALSA: fireface: cease from delayed card registration 2021-06-07 17:14:48 +02:00
fireworks ALSA: fireworks: fulfil device entries 2021-06-12 09:33:09 +02:00
motu ALSA: firewire-motu: add support for MOTU Track 16 2021-11-08 13:49:27 +01:00
oxfw ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or later 2021-10-28 17:33:11 +02:00
tascam ALSA: firewire-tascam: cease from delayed card registration 2021-06-07 17:14:36 +02:00
amdtp-am824.c ALSA: firewire-lib/motu: use int type for the value of bitwise OR with enumerator-constant 2021-05-18 12:21:52 +02:00
amdtp-am824.h ALSA: firewire-lib/motu: use int type for the value of bitwise OR with enumerator-constant 2021-05-18 12:21:52 +02:00
amdtp-stream-trace.h ALSA: firewire-lib: replace in_interrupt() with in_softirq() 2021-06-12 09:31:41 +02:00
amdtp-stream.c ALSA: firewire-lib: Fix 'amdtp_domain_start()' when no AMDTP_OUT_STREAM stream is found 2021-06-25 09:38:11 +02:00
amdtp-stream.h ALSA: firewire-lib: obsolete workqueue for period update 2021-06-10 09:50:37 +02:00
cmp.c ALSA: firewire: fix kernel-doc 2020-07-07 12:09:32 +02:00
cmp.h ALSA: firewire-lib: split allocation of isochronous resources from establishment of connection 2019-06-17 08:18:36 +02:00
fcp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 2019-06-05 17:37:08 +02:00
fcp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
isight.c ALSA: firewire: Drop superfluous ioctl PCM ops 2019-12-11 07:25:27 +01:00
iso-resources.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 2019-06-05 17:37:08 +02:00
iso-resources.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig ALSA: firewire-motu: add support for MOTU Track 16 2021-11-08 13:49:27 +01:00
lib.c ALSA: firewire-lib: delete unused kernel API 2021-06-07 17:14:54 +02:00
lib.h ALSA: firewire-lib: delete unused kernel API 2021-06-07 17:14:54 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
packets-buffer.c ALSA: firewire: fix a memory leak bug 2019-08-08 11:12:26 +02:00
packets-buffer.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00