diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2019-10-30 17:06:44 +0900 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2019-10-30 10:57:57 +0100 |
commit | 271e657f92ed94ced8a9fccf265b993650272a6b (patch) | |
tree | d1fd8ef1ae53bc3732dd1467fdd6ef680d9759de | |
parent | bd1073728260e1d2f9589c928b6d8ddb14f5646f (diff) | |
download | linux-271e657f92ed94ced8a9fccf265b993650272a6b.tar.bz2 |
ALSA: firewire-motu: add support for MOTU UltraLite
UltraLite was shipped in 2005 by MOTU, and already discontinued. This
model consists of below ICs:
- Texus Instruments TSB41AB2 for physical layer of IEEE 1394 bus
- Xilinx Spartan XC35S200 for link layer of IEEE 1394 bus, protocol layer
and signal processing
This commit adds support for this model. Like the other MOTU models,
ALSA firewire MOTU driver fails to drive the device for stable sampling
clock and generate noisy sound.
$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
ROM header and bus information block
-----------------------------------------------------------------
400 04107574 bus_info_length 4, crc_length 16, crc 30068
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 0007b82d device_id 000007b82d | EUI-64 0001f2000007b82d
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 0003d80a directory_length 3, crc 55306
42c 120001f2 specifier id
430 1300000d version
434 17100800 model
eui-64 leaf at 438
-----------------------------------------------------------------
438 00024566 leaf_length 2, crc 17766
43c 0001f200 company_id 0001f2 |
440 0007b82d device_id 000007b82d | EUI-64 0001f2000007b82d
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20191030080644.1704-7-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/firewire/motu/motu.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sound/firewire/motu/motu.c b/sound/firewire/motu/motu.c index f249ad39d8a8..f2080d720aa9 100644 --- a/sound/firewire/motu/motu.c +++ b/sound/firewire/motu/motu.c @@ -202,6 +202,19 @@ static const struct snd_motu_spec motu_traveler = { .analog_out_ports = 8, }; +static const struct snd_motu_spec motu_ultralite = { + .name = "UltraLite", + .protocol = &snd_motu_protocol_v2, + .flags = SND_MOTU_SPEC_SUPPORT_CLOCK_X2 | + SND_MOTU_SPEC_TX_MICINST_CHUNK | // padding. + SND_MOTU_SPEC_TX_RETURN_CHUNK | + SND_MOTU_SPEC_RX_MIDI_2ND_Q | + SND_MOTU_SPEC_TX_MIDI_2ND_Q | + SND_MOTU_SPEC_RX_SEPARATED_MAIN, + .analog_in_ports = 8, + .analog_out_ports = 8, +}; + static const struct snd_motu_spec motu_8pre = { .name = "8pre", .protocol = &snd_motu_protocol_v2, @@ -272,6 +285,7 @@ static const struct snd_motu_spec motu_4pre = { static const struct ieee1394_device_id motu_id_table[] = { SND_MOTU_DEV_ENTRY(0x000003, &snd_motu_spec_828mk2), SND_MOTU_DEV_ENTRY(0x000009, &motu_traveler), + SND_MOTU_DEV_ENTRY(0x00000d, &motu_ultralite), SND_MOTU_DEV_ENTRY(0x00000f, &motu_8pre), SND_MOTU_DEV_ENTRY(0x000015, &motu_828mk3), /* FireWire only. */ SND_MOTU_DEV_ENTRY(0x000035, &motu_828mk3), /* Hybrid. */ |