-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TriEndpointInterface, cdc=True, not working nicely with TinyUSB #19
Comments
@xobs any thoughts? @gregdavill - I would probably suggest spending your time on looking into LUNA rather than ValentyUSB. |
It should have a compatible EPTri interface - https://luna.readthedocs.io/en/latest/gateware/endpoint.html#usb2-interfaces-eptri-components. |
Looking at the sim output, when adding the cdc elements some critical timing, like async FIFO resets, can take upto 2-3 clocks in the slow domain. Which might require changes to the the TinyUSB EPTri interface. I did try some crude I assume for betrusted, they're using a different USB stack in Rust.
I'll take a look. I think it was only recently Kate showed off a SoC demo. The main sticking point with LUNA on this project is a clean way to connect it to my LiteX project, and have the CSR registers all working. |
I believe it was @bunnie who added the CDC stuff, and as of right now Betrusted is mostly using the Dummy endpoint. Are you running from XIP flash? If so, TinyUSB may be taking too long to respond. This was a common issue in the initial CircuitPython port, which I worked around by placing various calls in RAM. |
Not right now, it's all in BRAM based ROM, so it should be just as fast as from RAM. |
Hey, I've been trying for a couple of days to get the
TriEndpointInterface
withcdc=True
working on an ECP5 platform, vexriscv CPU running at 75MHz.Enumeration seems to work flawlessly, so I'm confident that clocks and i/o are setup correctly.
The issue is when running a simple TinyUSB example, cdc+msc.
I can open a minicom session and talk to the board, (sometimes dropping out). The msc device, however just never enumerates.
If I turn off cdc, and set my cpu_freq to 12MHz then it works as expected.
Any insights as to what might be going wrong here?
The text was updated successfully, but these errors were encountered: