Descriptors in XMOS USB Audio ============================= ADAT Alternate Settings ----------------------- 6 interfaces endpoint can only be shared between alternate settings of the same interface (not between interfaces) change alternate settings via SET_INTERFACE request an alternate setting has its' own interface and endpoint descriptors +-----------+------+-------+----------------+--------------------------------------------------+ | interface | type | alt. | endps. | note | +-----------+------+-------+----------------+--------------------------------------------------+ | 0 | AC | irq_in | | +-----------+------+-------+----------------+--------------------------------------------------+ | 1 | AS | 0 | | null interface | | | +-------+----------------+--------------------------------------------------+ | | | 1 | iso_out iso_in | 18 channels, host -> device, iso_in is feedback | | | +-------+----------------+--------------------------------------------------+ | | | 2 | shared | 18 channels | +-----------+------+-------+----------------+--------------------------------------------------+ | 2 | AS | 0 | | null interface | | | +-------+----------------+--------------------------------------------------+ | | | 1 | iso_in | 18 channels, device -> host | | | +-------+----------------+--------------------------------------------------+ | | | 2 | shared | 14 channels | +-----------+------+-------+----------------+--------------------------------------------------+ | 3 | AC | | MIDI | +-----------+------+-------+----------------+--------------------------------------------------+ | 4 | MS | bul_out bul_in | | +-----------+------+-------+----------------+--------------------------------------------------+ | 5 | DFU | | | +-----------+------+-------+----------------+--------------------------------------------------+ Interface 1: host -> device Interface 2: device -> host Structure of defines:: alt 0 alt 1 18 ch #ifdef ADAT alt 2 14 ch #endif Inconsistencies --------------- - is MIDI AC interface is required? spec says 1 AC interface per function - interface association descriptor specifies 3 interfaces, but there are 6