• Takashi Sakamoto's avatar
    ALSA: firewire-motu: add support for MOTU 896 mk3 FireWire and Hybrid · 6d5a2dda
    Takashi Sakamoto authored
    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: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Link: https://lore.kernel.org/r/20240129022711.254383-1-o-takashi@sakamocchi.jpSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    6d5a2dda
Kconfig 6.08 KB