XMOS module_usbhost High Speed support

Sub forums for various specialist XMOS applications. e.g. USB audio, motor control and robotics.
Junior Member
Posts: 7
Joined: Wed Jul 12, 2017 3:44 pm

XMOS module_usbhost High Speed support

Post by zoran4afc »

XMOS Support suggested that I should ask the following question for the XCore Engineers here, on the forum.

In my current project I need to implement USB host with the UAC1 and
UAC2 generic drivers on the xCore 216 (working on audio_xk_216_mc
In the USB Audio MFI Software I found the module "module_usbhost" with
the libUsbHostLLD_x200.a library inside.
I don't actually need the MFI functionality, I just need the "USB 2.0
High Speed" Host library.

I am not sure that libUsbHostLLD_x200.a supports "USB 2.0 High Speed",
because the UAC2 devices I connect to the board's USB port would use
only the "Full Speed".
I suspect that "High Speed" support is either disabled or not
implemented in the libUsbHostLLD_x200.a library.
Analysing the USB communication with an oscilloscope I found that the
XMOS USB host is ignoring "Device K Chirp" and the communication
resumes at the "Full Speed".
Please instruct me how to activate the "High Speed" support for the
libUsbHostLLD_x200.a library.
If that's not possible, can you make the source of that, or other
relevant library, available for me to try to implement the "High
Speed"? I have no problem programming in the XCore assembler.

Best regards
User avatar
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am

Post by mon2 »

Review this page:

https://www.xmos.com/developer/publishe ... 9.a&page=3

and see the parameter named desiredSpeed

These comments are for creating a high speed USB device with the XMOS CPU. You should also be able to apply one of the USB HS device function IPs for quick testing with a HS capable PC port.
You do not have the required permissions to view the files attached to this post.
Junior Member
Posts: 7
Joined: Wed Jul 12, 2017 3:44 pm

Post by zoran4afc »

Hello mon2,

thank you for quick reply.
The thing is, I need the host XMOS library with HS support, not the device library.
"module_usbhost" with the library libUsbHostLLD_x200.a is the host library, but it supports, apparently, only FS.
That module is a part of the "USB-Audio-Host-Software---MFi_2.0.3.zip" project.
Junior Member
Posts: 7
Joined: Wed Jul 12, 2017 3:44 pm

Post by zoran4afc »

Still no response from anybody
User avatar
XCore Expert
Posts: 580
Joined: Thu Nov 26, 2015 11:47 pm

Post by akp »

Unfortunately, it seems like you will have to implement this feature yourself from scratch.
User avatar
XCore Expert
Posts: 1004
Joined: Thu Dec 10, 2009 9:20 pm
Location: Bristol, UK

Post by Ross »

Software for high-speed host is something XMOS has not authored, whilst the device is technically capable of it there has not been enough interest in it to spend time vs other application areas. Out of interest, what is your actual application? Why do you need HS host?
Technical Director @ XMOS. Opinions expressed are my own.
Posts: 1
Joined: Sat Aug 26, 2023 9:31 pm

Post by Audax77 »

Found this thread exploring whether XMOS HS Host support exists. We are performing some design viability studies and need this functionality for a standalone digital/analog hybrid mixer.
There are more devices reaching the market supporting streaming multichannel USB audio, and there is a notable absence of hardware that can directly receive these streams outside of computers.

XCore seems to be the nearest potential solution, would love to hear whether this code is being developed or likely to be.