This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

USB disconnect not detected with TWL6032

We are using TWL6032A2B4YFFR PMIC.  When USB plug is removed while first connected to a host, sometimes Android does not detect the event and the USB icon remains.  We have found that in the failing case the following registers remain while USB cable is unplugged.

When USB disconnected but icon stuck, PMIC generates an interrupt (IRQ 378) with wrong information, reading the interrupt status registers...

  • STS_HW_CONDITIONS bit-3 reads 1 (Charger is plugged)
  • CONTROLLER_STAT1 bit-2 reads 0 (VBUS is not present)
    In this failure case, battery icon is white with no charging sign, probably due to no VBUS signal is read.

In correct USB disconnected case, STS_HW_CONDITIONS register bit-3 reads 0 (No charger plugged).

What could possibly be causing the failing condition.

  • Is there any update to this question. We wish to know what could cause the two PMIC registers noted not to report the same status when the USB plug is removed - ie, STS_PLUG_DET bit3 in STS_HW_CONDITIONS register reads 1 (a charger is plugged) and VBUS_DET bit2 in CONTROLLER_STAT1 register. We hypothesize that if the USB power rail were to drop too slowly there could be a timing issue in servicing the interrupt - where one bit is not yet set while servicing the interrupt for the first, but the second does not generate a new interrupt after it is set. Or perhaps we have something setup incorrectly otherwise.
  • We are still looking for an answer to this query. Further, we have found that the STS_PLUG_DET is always set regardless of whether the USB cable is plugged or not. Therefore this bit does not seem to affect our outcome.

    Can you let us know what is the VBUS threshold for VBUS_DET and how the STS_PLUG_DET operates.