Implementing Valid Alternate Interface

Discussions about USB Audio on XMOS devices
User avatar
OneOfTheDaves
Newbie
Posts: 1
Joined: Wed Mar 08, 2023 6:45 pm

Implementing Valid Alternate Interface

Post by OneOfTheDaves »

Implementing Valid Alternate Interface

Hi,
we have a development based on the XK-AUDIO-216-MC-AB reference design with 16 I/O, for 192kHz operation we need to choose an alternate interface that limits the I/O to 10, and manually selecting this works fine, but it is an extra step that is required when changing sample rates.
Following a conversation with one of the engineers from Apple's core audio team I believe that this process can be automated by implementing the Valid Alternate Settings Control as described in the USB class definition for audio devices 5.2.6.1.2, and I see equivalent comments in the TheSycon's Windows driver change list.
This project is based on the XK-AUDIO-216-MC-AB reference software using xTIMEcomposer 14.4.1 with no changes to endpoint0.c or usb_device.xc

Has anyone implemented this feature and can advise?

Thanks!


User avatar
Ross
XCore Expert
Posts: 962
Joined: Thu Dec 10, 2009 9:20 pm
Location: Bristol, UK

Post by Ross »

Yes, the XMOS design does support this to some extent - see the ADAT support (ADAT essentially changes channel count based on sample rate - see SMUX spec).

You would need some mods to make this work in the general case, I do no think this should be a large project.