XHCI: configure endpoint
Posted: Thu Jan 26, 2023 3:53 pm
Hello everyone,
currently, I am working on my XHCI implementation and I managed to get the configuration information from the attached USB device.
On EHCI I could just call SET_CONFIGURATION and then I have access to my bulk endpoints.
But I am not sure how to achieve the same on XHCI.
I have the following questions:
1 - Should I first run SET_CONFIGURATION and then the Configure Endpoint Command?
2 - If I read the documentation about the Configure Endpoint Command, it says it requires me to create an Input Context, is this the same input context of the Set Address Command but then with two extra EP contexts added? (for both bulk endpoints)
3 - should I enable A2 and A3 in the Input Control Context?
4 - do I need to declare an interface number/configuration number? if yes, does it mean I need to run this command twice? one for the bulk in and one for the bulk out?
Thank you for your time!
currently, I am working on my XHCI implementation and I managed to get the configuration information from the attached USB device.
On EHCI I could just call SET_CONFIGURATION and then I have access to my bulk endpoints.
But I am not sure how to achieve the same on XHCI.
I have the following questions:
1 - Should I first run SET_CONFIGURATION and then the Configure Endpoint Command?
2 - If I read the documentation about the Configure Endpoint Command, it says it requires me to create an Input Context, is this the same input context of the Set Address Command but then with two extra EP contexts added? (for both bulk endpoints)
3 - should I enable A2 and A3 in the Input Control Context?
4 - do I need to declare an interface number/configuration number? if yes, does it mean I need to run this command twice? one for the bulk in and one for the bulk out?
Thank you for your time!