2025-07-01 1:29 AM
Hey everyone,
I’m working on a USB audio project using TinyUSB on my STM32H7S78-DK Discovery board, and I’ve hit a wall with UAC2.0 on the High-Speed port. I’m hoping someone here has experience with this setup and can point me in the right direction!
What I’ve Achieved So Far
Board: STM32H7S78-DK (three USB-C ports)
Programmer
Full-Speed (USB FS)
High-Speed (USB HS)
TinyUSB ported successfully to the board
CDC example works perfectly on the Full-Speed port
Attempted UAC2.0 on Full-Speed port, but Windows rejects it
Windows insists on at least a High-Speed device for USB Audio Class 2.0
What I’m Trying to Do
I want to stream multi-channel audio (UAC2.0) over the High-Speed USB-C port. Unfortunately, I can’t get TinyUSB’s UAC2.0 example to enumerate or work on HS. The descriptors seem correct, but Windows doesn’t recognize the device as a valid UAC2.0 HS audio interface.
What I’ve Checked
Clock configuration – HS PHY clock is enabled, and I’ve verified 480 MHz operation.
Pin mapping – USB1 HS D+/D– pins mapped correctly to the C-connector.
Descriptors – I’m using the TinyUSB UAC2.0 sample descriptors with multiple streaming channels.
Device speed – USB Analyzer shows enumeration on FS rather than HS when plugging into the HS port.
Questions for the Community
Has anyone got TinyUSB UAC2.0 running on an STM32H7 HS port?
Are there any special tweaks to the CubeMX/HAL setup for HS PHY on this board?
Descriptor pitfalls or common mistakes that prevent HS enumeration?
Recommended debugging tools or steps for USB HS on STM32?
Any guidance, code snippets, or pointers to example projects would be hugely appreciated! Thanks in advance for your help.
2025-07-01 2:20 AM
Can you ask on Microsoft forum or Stack Overflow to confirm that Windows requires high speed for UAC 2.0?