USB hub issue enumeration

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

USB hub issue enumeration

807 Views
fabricedecrop
Contributor I

Hi,

I'm facing an USB issue, wich does not appear systematically, but leads to no USB devices enumeration.

My plateform is based on P1010, using UTMI and on-chip PHY. I'm using EHCI controller.
P1010 is used in host mode, and is connected to a microchip USB2534 Hub.

My issue is a that the microchip hub is not enumerated at each boot of VxWorks 6.9.4.6.

My problem seems to come from missing SOF. They can be interpreted as a reset by the microchip hub, requested by the host controller. This reset leads to a false enumeration.

Following 3 files, with signal capture, and USB traces.
In good_start.jpg, we see the missing SOF. But is not reconised as reset by the hub. In this case, Hub is enumerated.

good_start.jpg
In bad_start.jpg, we also so see the missing SOF, but leading to my issue : hub goes to reset state, and then is not enumerated.

bad_start.jpg

In traces.jpg, we see a SOF error packet #70

traces.jpg

Could you please help me to solve this issue ? Do you know a workaround in order to have a good enumeration of USB devices at each boot ?

Thanks in advance for your reply,
Regards,
Fabrice DECROP

0 Kudos
3 Replies

626 Views
Pavel
NXP Employee
NXP Employee

The P1010 USB stops SOF generation if RS or RST bits are set in the USB_USBCMD register.

See also the Section 17.7.4.1 of the P1010 Reference Manual.

 


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

626 Views
Pavel
NXP Employee
NXP Employee

The P1010 USB SOF generation can be tested using a timer and polling/interrupt from the USB_USBSTS[SRI] bit setting.

Te USB_USBSTS[FRI[ bit can be used for this task.

See the FRINDEX index.


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

626 Views
fabricedecrop
Contributor I

I understand that I can check USB SOF generation by this way. But how do I control it, in case of SOF missing ?

Moreover, why are there missing SOF ? Do you confirm that P1010 can miss SOF during enumeration ?

Thanks in advance for your reply,

Regards,

Fabrice DECROP

0 Kudos