AR# 47538

Zynq-7000 SoC, USB - Device mode does not generate a port change interrupt when session is no longer valid

Description

The USB controller in device mode and acting as a self-powered device does not generate a port change interrupt when the session is no longer valid (VBUS not present).

To work around this, software can enable the B session end interrupt to detect when the VBUS voltage level drops.

Solution

Impact:

Minor. Refer to the work-around.

Work-around:

The two-step work-around is described in the Work-around Details.

Configurations Affected:

Systems that use the USB controller in Device mode.

Device Revision(s) Affected:All. No plan to fix. Refer to (Xilinx Answer 47916) - Zynq-7000 SoC Silicon Revision Differences.


Work-around Details

The following software steps can be followed to detect a disconnect from the host:

  • Enable the B Session End Interrupt. Set usb.OTGSC[BSEIE] = 1.
  • Monitor for an interrupt status using usb.OTGSC [BSEIS].

Note: The VBUS comparator interrupts are de-bounced for 1ms, so it will take 1ms to 2ms for the interrupt to be asserted from the time the disconnect has occurred.

AR# 47538
Date 06/13/2018
Status Active
Type Design Advisory
Devices