Hi,
I am working on USB EHCI driver for OMAP3. I have got the EHCI stack up and running. I am able to test the driver with USB High Speed devices like USB Mass Storage, a high speed HUB, and USB keyboard, mouse through a high speed HUB.
Hardware Configuration:
1. HS USB HC Port2 --> configured in ULPI with external PHY mode. Other ports not being used.
2. EHCI is only configured and enabled.
3. External Transceiver used is USB83320 from SMSC.
Problem: If I connect any FS or LS devices directly to Physical port instead of connecting through a High Speed HUB then EHCI driver identifies the port change detect and identifies that as FS/LS device and switches the port ownership to OHCI. This is normal operation. But as soon I plug out this FS/LS device, EHCI controller should get an interrupt with port change detect which is not happening. So further even if I connect any high speed device EHCI controller does not respond since the ownership is still with the OHCI port. Due to this the EHCI driver will be in a sort of hang state.
But normally, OHCI and EHCI both should get the port status change interrupt and EHCI sholud take the ownership of the port control by setting the Port Owner bit in PORTSC and should signal a disconnet to OHCI. I am seeing this is not happening in OMAP3.
Is that a known hardware issue? If yes then how do I recover port control to EHCI once any FS/LS device is connected and disconnected from a HS port. I couldn't find any in the errata.
Regards,
Sharath