-
Notifications
You must be signed in to change notification settings - Fork 22
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
gateware.platform: add ApolloAdvertiser
hook in boards with USB switch
#23
Conversation
This needs a quick update to add the hook to the r1.4 platform. However, even after making that change myself, this isn't currently working for me in The visible symptom is that when running a bitstream that uses the CONTROL port, I tell Apollo to I'm using current You should be able to reproduce this as follows (no Tycho required):
from apollo_fpga import ApolloDebugger
apollo = ApolloDebugger()
apollo.honor_fpga_adv()
|
I think I have found the root cause of the problem. We changed the behavior of the Could you try the following? from apollo_fpga import ApolloDebugger
apollo = ApolloDebugger()
apollo.soft_reset()
apollo.honor_fpga_adv() I did not test this properly after that merge because of my PCB issues with |
`control_phy_hook` is called during `USBDevice` elaboration and: - Adds `ApolloAdvertiser` submodule. - Modifies the device descriptor to add an additional interface with `bInterfaceClass=0xFF` and `bInterfaceSubclass=0` (Apollo interface). - Adds request handler with that interface as recipient for stopping advertisement.
This isn't working either - Apollo stays enumerated. But if I push RESET, the bitstream loads from flash and enumerates. Configuring a bitstream into RAM also doesn't work - the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've resolved the above issues, and this is now being used successfully on the update-dependencies
branch of the Cynthion factory test.
control_phy_hook
is called duringUSBDevice
elaboration and:ApolloAdvertiser
submodule.bInterfaceClass=0xFF
andbInterfaceSubclass=0
(Apollo interface).Merge in block with:
claim
toRequestHandlerInterface
luna#225