UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 47540

Zynq-7000 AP SoC, USB - First SOF after a Software Reset can be Corrupted

Description

During the USB reset process (speed negotiation and chirp), if the protocol engine sends SOF commands to the port control, the port control filters out those SOFs. However, at the end of reset (end of chirp back from Host), when the Protocol Engine sends an SOF, the ULPI Port Control sends the SOF to the PHY before sending the update opmode command. This results in an invalid packet being sent on the line. The invalid packet in ULPI protocol is a NOPID Tx Command immediately followed by an STP pulse.

Do not enable usb.USBCMD[RS] after the USB reset (usb.PORTSCx[PR] = 0) until the ULPI post reset processing has been completed, which can be checked by reading the prtsc.pr register. This ensures that the host does not send the SOF prematurely.

Solution

Impact:

Minor. This issue occurs depending on the specific timing between the start of the internal counters and the reset event. Because this cannot be determined by the Host software, it is considered a random event. This issue is not critical from a USB standpoint, because the Device should ignore the invalid packet.

Work-around:

Do not enable usb.USBCMD[RS] after the USB reset until the ULPI post reset processing has been completed.

Configurations Affected:

Systems that use the USB controller.

Device Revision(s) Affected: All, no plan to fix. Refer to (Xilinx Answer 47916) - Zynq-7000 Design Advisory Master Answer Record


To work around this problem, do not enable usb.USBCMD[RS] after the USB reset (usb.PORTSCx[PR] = 0) until the ULPI post reset processing has been completed, which can be checked by reading usb.PORTSCx[PR]register bit. This ensures that the host does not send the SOF prematurely.

NOTE: This work-around reduces the likelihood of this problem occurring, but it might not entirely eliminate it.

AR# 47540
Date Created 05/23/2012
Last Updated 08/23/2012
Status Active
Type Design Advisory
Devices
  • Zynq-7000