hathach / tinyusb

An open source cross-platform USB stack for embedded system
https://www.tinyusb.org
MIT License
4.92k stars 1.03k forks source link

ST Synopsys port lacks SOF support #1684

Open battlesnake opened 1 year ago

battlesnake commented 1 year ago

Related area

ST Synopsys port

Hardware specification

Cortex M7, STM32H750, USB3300, custom board

Is your feature request related to a problem?

The port currently lacks support for USB SOF frames.

Describe the solution you'd like

I will provide a PR with my proposed solution

I have checked existing issues, dicussion and documentation

battlesnake commented 1 year ago

PR: https://github.com/hathach/tinyusb/pull/1685

PanRe commented 1 year ago

Just a short question, the driver in portable/synopsis/dwc2 does not work for you?

battlesnake commented 1 year ago

I didn't use try it. I didn't find info in the docs about which port(s) to use, so I tried st/synopsys (since using ST part), and it worked after adding the SOF feature.

battlesnake commented 1 year ago

Besides (presumably) supporting SOF already, what are other differences of that synopsys/dw2 port vs. st/synopsys?

PanRe commented 1 year ago

It fuses the device driver for multiple MCUs as far as i know. I don't know why the st/synopsis driver is still there, maybe due to backward compatibilities.

battlesnake commented 1 year ago

Thanks, I'll give it a try in an hour or so [once I've hopefully got UAC2 interrupt endpoint working and delivering control-change messages to the host].

battlesnake commented 1 year ago

Using synopsis/dwc2, I get into a crash-loop. Almost certainly due to configuration on my side though.

I'll go back to using st/synopsys for now. Once I've got my UAC2 interrupt status endpoint working, then I'll try synopsys/dwc2 again and see if I can either fix the issue in my code, or file a PR if it's due to a bug in tinyusb.