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.

TPS65987D: Getting stuck in COMMON_STATE_ATTACHWAIT_SRC state

Part Number: TPS65987D

Hello Team,

We are using TPS65987D in our solution as Android Accessory. But when we are connecting to mobile, we are not able to detect the device correctly.

After debugging using TI Application Customization  tool, we observed it is detecting the mobile connected but it stuck in USB Type C state 

COMMON_STATE_ATTACHWAIT_SRC. As per specification, after stable CC line voltage for debounce time and VBUS detection it should enter  COMMON_STATE_ATTACH_SRC state.

But we are observing CC line gets stabilized but stuck in the same COMMON_STATE_ATTACHWAIT_SRC state. Attaching the debug logs for the reference. The same project file when we use with EVM kit it is working fine.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 1 Module 31 0x1ff = UNKNOWN
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 1 Module 31 0x1ff = UNKNOWN
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 1 Module 31 0x17f = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 1 Module 31 0x1ff = UNKNOWN
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 0 PD 0x1 = PEState_CableTypeDetect
Port 0 INT 0x3 = PLUG_INSERT_OR_REMOVAL
Port 0 Type-C 0x67 = COMMON_STATE_UNATTACHED_SRC
Port 0 VBUS 0xcc = VBUSState_MON_HILO
Port 0 VBUS 0x91 = VBUSState_MON_LO
Port 0 Type-C 0x64 = COMMON_STATE_ATTACHWAIT_SRC
Port 1 Module 31 0x101 = UNKNOWN

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Can you please share your inputs / comments on the issue?

Thanks & Regards,

Amol M Shrotri

  • Hi Amol,

    Would you also be able to share a similar debug log but using the EVM kit? 

    Also, are there any differences between the EVM and your system? Are you successfully loading the flash image to the PD controller from an external EEPROM on your system?