Changeset 1314

Show
Ignore:
Timestamp:
08/18/08 16:21:21 (12 years ago)
Author:
jwoithe
Message:

MOTU: additions to protocol documentation, mainly related to the 896HD.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libffado/doc/motu_firewire_protocol.txt

    r1085 r1314  
    33 
    44Author: Jonathan Woithe 
    5 Document version: 20080501-1 
     5Document version: 20080818-1 
    66 
    77 
    88Audio/MIDI data 
    99--------------- 
     10 
     11Note: while this section focuses on the Traveler, the same basic data format 
     12is utilised for the 828Mk2, 896HD and possibly other MOTU interfaces.  The 
     13differences lie in the number of discrete audio channels sent and perhaps 
     14the order of some channels within a data block. 
    1015 
    1116Audio data is sent via iso packets.  With nothing else present on the 
     
    4144190x0b10 - Optical port control? 
    4154200x0b14 - clock control register 
    416 0x0b24 - non-existent register probed during discovery/initialisation 
     4210x0b1c - 896HD register possibly related to programmable meters 
     4220x0b24 - 896HD programmable meter register (always probed during discovery/init) 
    4174230x0b28 - copy of model_id unit directory 
    4184240x0b2c - something related to selections in mixer application 
     
    548554The details of the clock control register are summarised below. 
    549555 
    550   bits 31-28: unknown at present.  Seem to always be set to 0. 
     556  bits 31-29: unknown at present.  Seem to always be set to 0. 
     557 
     558  bit 28: unknown at present.  For 896HD this seems to be set to 1 whenever 
     559    the sample rate, sample rate conversion or clock mode is changed.  For other 
     560    interfaces it appears to always be set to 0. 
    551561 
    552562  bit 27: in 2x or 4x clock mode, this bit indicates whether word clock out 
     
    558568    rate is changed and seem to both be set at times when iso data streaming 
    559569    is enabled.  Other bits appear to always be set to zero. 
     570 
     571  bit 9-8: Sample rate conversion setting (896HD only, always 0 on other 
     572    interfaces): 
     573      0 = off 
     574      1 = AES/EBU in 
     575      2 = AES/EBU out slave 
     576      3 = AES/EBU out 2x 
     577 
     578  bits 7-6: unknown at present.  Always observered to be 0. 
    560579 
    561580  bit 5: 4x rate multiplier selector 
     
    604623 
    605624 
    606 0x0b24 - non-existent register probed during discovery/initialisation 
    607  
    608 Register 0x0b24 doesn't exist in the MOTU hardware, but a read request is 
    609 sent to it twice during device discovery/initialisation.  In response the 
    610 MOTU returns "type_error" with data equal to 0x40000.  The precise purpose 
    611 of this is not known. 
     6250x0b1c - 896HD register associated with programmable meters 
     626 
     627The role of this register is currently unknown.  Whenever the programmable 
     628meters are configured via register 0x0b24, 0x0400 is written to this register 
     629after the write to register 0x0b24. 
     630 
     631 
     6320x0b24 - 896HD programmable meter register 
     633 
     634Register 0x0b24 doesn't exist in the MOTU Traveler/828Mk2 hardware, but a 
     635read request is always sent to it twice during device 
     636discovery/initialisation.  In response these interfaces return "type_error" 
     637with data equal to 0x40000.  The precise purpose of this is not known but it 
     638could be part of the device probing sequence. 
     639 
     640Register 0xb24 does however exist on the 896HD and appears to control the 
     641programmable meters: 
     642 
     643  bits 31-14: Unknown at present.  Always observed to be set to 0. 
     644 
     645  bits 13-11: Peak hold time: 
     646                000 = off 
     647                001 = 2 sec 
     648                010 = 4 sec 
     649                011 = 10 sec 
     650                100 = 1 minute 
     651                101 = 5 minutes 
     652                110 = 8 minutes 
     653                111 = infinite 
     654 
     655  bits 10-8: Clip hold time: 
     656                000 = off 
     657                001 = 2 sec 
     658                010 = 4 sec 
     659                011 = 10 sec 
     660                100 = 1 minute 
     661                101 = 5 minutes 
     662                110 = 8 minutes 
     663                111 = infinite 
     664 
     665  bits 7-3: Unknown at present.  Always observed to be set to 0. 
     666 
     667  bit 2: AES/EBU meter source: 
     668          0 = AES/EBU out 
     669          1 = AES/EBU in 
     670 
     671  bits 1-0: Programmable meter source: 
     672              0 = Analog out 
     673              1 = ADAT in 
     674              2 = ADAT out 
    612675 
    613676 
     
    786849  0x4 = analog 5-6 
    787850  0x5 = analog 7-8 
    788   0x6 = AES-EBU 
    789   0x7 = SPDIF 
     851  0x6 = AES-EBU (Main-out on 896HD) 
     852  0x7 = SPDIF (AES-EBU on 896HD) 
    790853  0x8 = ADAT 1-2 
    791854  0x9 = ADAT 3-4