Hi,
We are using OMAP5 based custom target. We have developed an application to execute test modes on the USB XHCI port connected to the DWC3 host controller (We have only configured USB2PHY in our case, ie, ss pins are not connected at all).
USB test mode FORCE_ENABLE doesn’t seem to work when executed for the XHCI port of OMAP5. Whereas the other test modes TEST_J, TEST_K, TEST_Packet, TEST_SE0_NACK work as expected. We are following the below steps as explained in the USB xHCI spec.
- Disable all Device slots
- All ports be in the disabled state (PP = 0)
- set R/S bit in USBCMD register to 0 and wait for halted state (HCH) bit in USBSTS register to be 1
- set port test control field in PORTPMSC register with corresponding test mode value
o If test mode FORCE_ENABLE is selected, then after selecting the test the R/S bit in the USBCMD register shall be transitioned back to ‘1’ by software, in order to enable transmission of SOFs out of the port under test.
Below are the DWC USB3 registers used with their addresses
USBOTGSS_USBCMD 0x4A030020
USBOTGSS_USBSTS 0x4A030024
USBOTGSS_CONFIG 0x4A030058
USBOTGSS_PORTSC1 0x4A030420
USBOTGSS_PORTPMSC1 0x4A030424
When FORCE_ENABLE is selected we should see the µSOF's sent out the OMAP5 without having any device connected, but nothing happens.
What could be the reason? Is something missing from our side? Any help would be appreciable.
Regards,
Nikhil Rao.