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: USB PD issue: Getting PEState_ErrorRecovery

Part Number: TPS65987D


We are using TPS65987D in our solution as Android Accessory for power swapping feature. We are testing the solution with different PD enabled mobiles (Samsung S20 FE and Google Pixel 2).

Samsung mobile setup is working fine in both transition Source to Sink and Sink to Source but with Google pixel sometimes we are seeing failure in below scenario

1. First power up the Accessory device.

2. Then connect the accessory to mobile phone.

So in this case Accessory should become source while mobile as sink and taking power from accessory to charge itself.

with Samsung phone no issue observed but in case of Google pixel some times VBUS not getting stable and it just keep toggling ON and OFF. 

After debugging using TI Application Customization  tool, we observed Accessory PD gives error as PEState_ErrorRecovery.

Attaching logs both when it works fine and when it fails.

Can you please provide some inputs on condition that can create the issue of PEState_ErrorRecovery?


Port 1	Module 31	0x1ff = UNKNOWN
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb6 = VBUSState_GOOD_RISING
Port 0	Type-C	0x61 = COMMON_STATE_ATTACHED_SNK
Port 0	BC 1.2	0xd = CHARGER_DCP_ADVERTISEMENT_COMPLETE
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	PD	0x2 = PEState_LaunchPolicyEngine
Port 0	PD	0x21 = PEState_Sink_Startup
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x22 = PEState_Sink_Discovery
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	BC 1.2	0x4 = CHARGER_DETECTION_COMPLETE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0xbf = PEState_ErrorRecovery
Port 0	PD	0x1 = PEState_CableTypeDetect
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	Type-C	0x5 = SRC_STATE_ERROR_RECOVERY
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x91 = VBUSState_MON_LO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb6 = VBUSState_GOOD_RISING
Port 0	Type-C	0x61 = COMMON_STATE_ATTACHED_SNK
Port 0	BC 1.2	0xd = CHARGER_DCP_ADVERTISEMENT_COMPLETE
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	PD	0x2 = PEState_LaunchPolicyEngine
Port 0	PD	0x21 = PEState_Sink_Startup
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x22 = PEState_Sink_Discovery
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	BC 1.2	0x4 = CHARGER_DETECTION_COMPLETE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0xbf = PEState_ErrorRecovery
Port 0	PD	0x1 = PEState_CableTypeDetect
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	Type-C	0x5 = SRC_STATE_ERROR_RECOVERY
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x91 = VBUSState_MON_LO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb6 = VBUSState_GOOD_RISING
Port 0	Type-C	0x61 = COMMON_STATE_ATTACHED_SNK
Port 0	BC 1.2	0xd = CHARGER_DCP_ADVERTISEMENT_COMPLETE
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	PD	0x2 = PEState_LaunchPolicyEngine
Port 0	PD	0x21 = PEState_Sink_Startup
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x22 = PEState_Sink_Discovery
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	BC 1.2	0x4 = CHARGER_DETECTION_COMPLETE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0xbf = PEState_ErrorRecovery
Port 0	PD	0x1 = PEState_CableTypeDetect
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	Type-C	0x5 = SRC_STATE_ERROR_RECOVERY
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x91 = VBUSState_MON_LO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb6 = VBUSState_GOOD_RISING
Port 0	Type-C	0x61 = COMMON_STATE_ATTACHED_SNK
Port 0	BC 1.2	0xd = CHARGER_DCP_ADVERTISEMENT_COMPLETE
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	PD	0x2 = PEState_LaunchPolicyEngine
Port 0	PD	0x21 = PEState_Sink_Startup
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x22 = PEState_Sink_Discovery
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	BC 1.2	0x4 = CHARGER_DETECTION_COMPLETE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0xbf = PEState_ErrorRecovery
Port 0	PD	0x1 = PEState_CableTypeDetect
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	Type-C	0x5 = SRC_STATE_ERROR_RECOVERY
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x91 = VBUSState_MON_LO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb6 = VBUSState_GOOD_RISING
Port 0	Type-C	0x61 = COMMON_STATE_ATTACHED_SNK
Port 0	BC 1.2	0xd = CHARGER_DCP_ADVERTISEMENT_COMPLETE
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	PD	0x2 = PEState_LaunchPolicyEngine
Port 0	PD	0x21 = PEState_Sink_Startup
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x22 = PEState_Sink_Discovery
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	BC 1.2	0x4 = CHARGER_DETECTION_COMPLETE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0xbf = PEState_ErrorRecovery
Port 0	PD	0x1 = PEState_CableTypeDetect
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	Type-C	0x5 = SRC_STATE_ERROR_RECOVERY
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x91 = VBUSState_MON_LO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb6 = VBUSState_GOOD_RISING
Port 0	Type-C	0x61 = COMMON_STATE_ATTACHED_SNK
Port 0	BC 1.2	0xd = CHARGER_DCP_ADVERTISEMENT_COMPLETE
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	PD	0x2 = PEState_LaunchPolicyEngine
Port 0	PD	0x21 = PEState_Sink_Startup
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x22 = PEState_Sink_Discovery
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	BC 1.2	0x4 = CHARGER_DETECTION_COMPLETE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0xbf = PEState_ErrorRecovery
Port 0	PD	0x1 = PEState_CableTypeDetect
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	Type-C	0x5 = SRC_STATE_ERROR_RECOVERY
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x91 = VBUSState_MON_LO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb6 = VBUSState_GOOD_RISING
Port 0	Type-C	0x61 = COMMON_STATE_ATTACHED_SNK
Port 0	BC 1.2	0xd = CHARGER_DCP_ADVERTISEMENT_COMPLETE
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	PD	0x2 = PEState_LaunchPolicyEngine
Port 0	PD	0x21 = PEState_Sink_Startup
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x22 = PEState_Sink_Discovery
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	BC 1.2	0x4 = CHARGER_DETECTION_COMPLETE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0xbf = PEState_ErrorRecovery
Port 0	PD	0x1 = PEState_CableTypeDetect
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	Type-C	0x5 = SRC_STATE_ERROR_RECOVERY
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x91 = VBUSState_MON_LO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb6 = VBUSState_GOOD_RISING
Port 0	Type-C	0x61 = COMMON_STATE_ATTACHED_SNK
Port 0	BC 1.2	0xd = CHARGER_DCP_ADVERTISEMENT_COMPLETE
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	PD	0x2 = PEState_LaunchPolicyEngine
Port 0	PD	0x21 = PEState_Sink_Startup
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x22 = PEState_Sink_Discovery
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	BC 1.2	0x4 = CHARGER_DETECTION_COMPLETE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0xbf = PEState_ErrorRecovery
Port 0	PD	0x1 = PEState_CableTypeDetect
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	Type-C	0x5 = SRC_STATE_ERROR_RECOVERY
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x91 = VBUSState_MON_LO
Port 0	VBUS	0x90 = VBUSState_MON_HI

Port 1	Module 31	0x1ff = UNKNOWN
Port 0	PD	0x1 = PEState_CableTypeDetect
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 1	PD	0x1 = PEState_CableTypeDetect
Port 1	Type-C	0x0 = SRC_STATE_DISABLED
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x61 = COMMON_STATE_ATTACHED_SNK
Port 0	BC 1.2	0x0 = CHARGER_DETECTION_INIT
Port 0	PD	0x2 = PEState_LaunchPolicyEngine
Port 0	PD	0x21 = PEState_Sink_Startup
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x22 = PEState_Sink_Discovery
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	BC 1.2	0x11 = SECONDARY_DETECTION_WAIT
Port 0	BC 1.2	0xe = CHARGER_DETECTION_DISABLED
Port 0	BC 1.2	0x2 = PRIMARY_DETECTION
Port 0	BC 1.2	0x4 = CHARGER_DETECTION_COMPLETE
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x28 = PEState_Sink_TransitionSink
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x29 = PEState_Sink_TransitionSink_PS_RDY
Port 0	PD	0x2a = PEState_Sink_Ready
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x2a = PEState_Sink_Ready
Port 0	PD	0xd = PEState_GiveSinkCap
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	PD	0x2a = PEState_Sink_Ready
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x5c = PEState_UFP_VDM_Send_Identity
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc0 = PRState_SQUELCH_ACTIVE
Port 0	Protocol	0xc1 = PRState_SQUELCH_IDLE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	PD	0x2a = PEState_Sink_Ready
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	PD	0x34 = PEState_PD_Send_Custom_Message
Port 0	PD	0x32 = PRState_Sink_SinkTxOk
Port 0	PD	0x36 = PEState_PRS_Send_PR_Swap
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x3a = PEState_PRS_TransitionToOff
Port 0	PD	0x3b = PEState_PRS_TransitionToOff_Sink
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb7 = VBUSState_GOOD_FALLING
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x38 = PEState_PRS_AssertRp
Port 0	PD	0x3e = PEState_PRS_SourceOn
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x3f = PEState_PRS_SourceOn_PS_RDY
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb6 = VBUSState_GOOD_RISING
Port 0	Type-C	0x60 = COMMON_STATE_ATTACHED_SRC
Port 0	PD	0x13 = PEState_Source_Startup
Port 0	PD	0x99 = PEState_PLUG_Send_SoftReset_Request
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	PD	0x96 = PESTATE_SRC2PLUG_VDM_Identity_Request
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	PD	0x98 = PESTATE_SRC2PLUG_VDM_Identity_NAKed
Port 0	PD	0x14 = PEState_Source_Startup_Continue
Port 0	PD	0x16 = PEState_Source_SendCapabilities
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x19 = PEState_Source_NegotiateCapability
Port 0	PD	0x1b = PEState_Source_TransitionSupply_Accept
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	PD	0x1c = PEState_Source_TransitionSupply
Port 0	PD	0x1e = PEState_Source_TransitionSupply_SetAlarmsNew
Port 0	PD	0x1f = PEState_Source_TransitionSupply_PS_RDY
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	PD	0x17 = PEState_Source_Ready
Port 0	Protocol	0x30 = PRState_Source_SinkTxOk
Port 0	Protocol	0x30 = PRState_Source_SinkTxOk
Port 0	PD	0x31 = PRState_Source_SinkTxNG
Port 0	Module 4	0xe0 = UNKNOWN
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Module 4	0xe1 = UNKNOWN
Port 0	PD	0x17 = PEState_Source_Ready
Port 0	Protocol	0x30 = PRState_Source_SinkTxOk
Port 0	PD	0x1 = PEState_CableTypeDetect
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x91 = VBUSState_MON_LO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
Port 0	Type-C	0x65 = COMMON_STATE_ATTACHWAIT_SNK
Port 0	Type-C	0x61 = COMMON_STATE_ATTACHED_SNK
Port 0	BC 1.2	0xd = CHARGER_DCP_ADVERTISEMENT_COMPLETE
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
Port 0	PD	0x2 = PEState_LaunchPolicyEngine
Port 0	PD	0x21 = PEState_Sink_Startup
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x22 = PEState_Sink_Discovery
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	BC 1.2	0x4 = CHARGER_DETECTION_COMPLETE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x24 = PEState_Sink_WaitForCapabilities
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x26 = PEState_Sink_EvaluateCapability
Port 0	PD	0x27 = PEState_Sink_SelectCapability
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x28 = PEState_Sink_TransitionSink
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x29 = PEState_Sink_TransitionSink_PS_RDY
Port 0	PD	0x2a = PEState_Sink_Ready
Port 0	INT	0x19 = DATA_STATUS_UPDATE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x2a = PEState_Sink_Ready
Port 0	PD	0xd = PEState_GiveSinkCap
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	PD	0x2a = PEState_Sink_Ready
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x5c = PEState_UFP_VDM_Send_Identity
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	PD	0x2a = PEState_Sink_Ready
Port 0	PD	0x36 = PEState_PRS_Send_PR_Swap
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x3a = PEState_PRS_TransitionToOff
Port 0	PD	0x3b = PEState_PRS_TransitionToOff_Sink
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb7 = VBUSState_GOOD_FALLING
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x38 = PEState_PRS_AssertRp
Port 0	PD	0x3e = PEState_PRS_SourceOn
Port 0	VBUS	0xcc = VBUSState_MON_HILO
Port 0	VBUS	0x90 = VBUSState_MON_HI
Port 0	PD	0x3f = PEState_PRS_SourceOn_PS_RDY
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	VBUS	0xcd = VBUSState_OVP_UVP
Port 0	VBUS	0xb6 = VBUSState_GOOD_RISING
Port 0	Type-C	0x60 = COMMON_STATE_ATTACHED_SRC
Port 0	PD	0x13 = PEState_Source_Startup
Port 0	PD	0x99 = PEState_PLUG_Send_SoftReset_Request
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	PD	0x96 = PESTATE_SRC2PLUG_VDM_Identity_Request
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	PD	0x98 = PESTATE_SRC2PLUG_VDM_Identity_NAKed
Port 0	PD	0x14 = PEState_Source_Startup_Continue
Port 0	PD	0x16 = PEState_Source_SendCapabilities
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	PD	0x19 = PEState_Source_NegotiateCapability
Port 0	PD	0x1b = PEState_Source_TransitionSupply_Accept
Port 0	Protocol	0xc8 = PRState_TXDONE
Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
Port 1	Module 31	0x1ff = UNKNOWN
Port 0	Module 15	0x8 = UNKNOWN
Port 0	Module 15	0x108 = UNKNOWN
Port 1	PD	0x8 = PEState_SendSoftReset_Accept
Port 1	Module 2	0x110 = UNKNOWN
Port 1	Module 5	0x110 = UNKNOWN
Port 0	Module 11	0x110 = UNKNOWN
Port 0	Module 24	0x8 = UNKNOWN
Port 0	Module 0	0x110 = UNKNOWN
Port 0	Module 1	0x108 = UNKNOWN
Port 0	Module 12	0x10a = UNKNOWN
Port 1	Module 19	0xa = UNKNOWN
Port 1	Sleep	0x0 = SLEEP_STATE_AWAKE
Port 0	Module 8	0x112 = UNKNOWN
Port 0	Module 8	0x12 = UNKNOWN

Thanks & Regards,

Amol M Shrotri

  • Attaching correct log for working condition. Please ignore previous log NoError_while_attaching_dev_to_googlepixel.txt

    Port 1	Module 31	0x1ff = UNKNOWN
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	INT	0x51 = READY_FOR_PATCH
    Port 0	PD	0x1 = PEState_CableTypeDetect
    Port 0	Type-C	0x66 = COMMON_STATE_UNATTACHED_SNK
    Port 1	PD	0x1 = PEState_CableTypeDetect
    Port 1	Type-C	0x0 = SRC_STATE_DISABLED
    Port 0	Type-C	0x67 = COMMON_STATE_UNATTACHED_SRC
    Port 0	Type-C	0x64 = COMMON_STATE_ATTACHWAIT_SRC
    Port 0	Type-C	0x60 = COMMON_STATE_ATTACHED_SRC
    Port 0	BC 1.2	0xd = CHARGER_DCP_ADVERTISEMENT_COMPLETE
    Port 0	INT	0x19 = DATA_STATUS_UPDATE
    Port 0	INT	0x3 = PLUG_INSERT_OR_REMOVAL
    Port 0	PD	0x2 = PEState_LaunchPolicyEngine
    Port 0	PD	0x2e = PEState_Enable_VCONN
    Port 0	PD	0x2f = PEState_Enable_VBUS
    Port 0	BC 1.2	0x4 = CHARGER_DETECTION_COMPLETE
    Port 0	INT	0x19 = DATA_STATUS_UPDATE
    Port 0	VBUS	0xcc = VBUSState_MON_HILO
    Port 0	VBUS	0x90 = VBUSState_MON_HI
    Port 0	PD	0x13 = PEState_Source_Startup
    Port 0	PD	0x96 = PESTATE_SRC2PLUG_VDM_Identity_Request
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	PD	0x98 = PESTATE_SRC2PLUG_VDM_Identity_NAKed
    Port 0	PD	0x14 = PEState_Source_Startup_Continue
    Port 0	PD	0x16 = PEState_Source_SendCapabilities
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	PD	0x15 = PEState_Source_Discovery
    Port 0	PD	0x96 = PESTATE_SRC2PLUG_VDM_Identity_Request
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	PD	0x98 = PESTATE_SRC2PLUG_VDM_Identity_NAKed
    Port 0	PD	0x14 = PEState_Source_Startup_Continue
    Port 0	PD	0x16 = PEState_Source_SendCapabilities
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
    Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
    Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
    Port 0	PD	0x19 = PEState_Source_NegotiateCapability
    Port 0	PD	0x1b = PEState_Source_TransitionSupply_Accept
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
    Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
    Port 0	PD	0x1c = PEState_Source_TransitionSupply
    Port 0	PD	0x1e = PEState_Source_TransitionSupply_SetAlarmsNew
    Port 0	PD	0x1f = PEState_Source_TransitionSupply_PS_RDY
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
    Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
    Port 0	PD	0x17 = PEState_Source_Ready
    Port 0	Protocol	0x30 = PRState_Source_SinkTxOk
    Port 0	PD	0x56 = PEState_DRS_Send_DR_Swap
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
    Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
    Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
    Port 0	PD	0x55 = PEState_DRS_DFP_UFP_Change_to_UFP
    Port 0	INT	0x19 = DATA_STATUS_UPDATE
    Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
    Port 0	PD	0x17 = PEState_Source_Ready
    Port 0	PD	0x5c = PEState_UFP_VDM_Send_Identity
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
    Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
    Port 0	PD	0x17 = PEState_Source_Ready
    Port 0	Protocol	0x30 = PRState_Source_SinkTxOk
    Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
    Port 0	PD	0x5d = PEState_UFP_VDM_Send_SVIDs
    Port 0	Protocol	0xc8 = PRState_TXDONE
    Port 0	Protocol	0xc5 = PRState_RX_BUF_RDY
    Port 0	Protocol	0xcb = PRState_RECEIVED_GOODCRC
    Port 0	PD	0x17 = PEState_Source_Ready
    Port 0	Protocol	0x30 = PRState_Source_SinkTxOk

  • Hello,

    Do you have a PD analyzer that is able to read the messages between the accessory device and mobile phone? If so would you be able to capture the PD communication during a passing and failing scenario? 

  • Hello Adam,

    Currently we do not have PD analyzer. Is it possible for you to share some pointers that can create the error condition.

      

  • Hi Amol,

    A PD analyzer may be necessary to help isolate the issue, but we can try a few other things to see if that helps reveal what the issue is.

    If you look at the host interface technical reference manual (https://www.ti.com/lit/pdf/slvubh2) register 0x14 - 0x19 can be used to set interrupt events that will trigger during specific events. Some of these trigger events that are related to an error event occurring (Error_MessageData, Error_DeviceIncompatible, etc...) Set all of these potential trigger events, and then connect the Google pixel. Then read the IRQ register using the GUI to see if any of those events triggered. 

  • Hello Adam,

    Thanks for the inputs. With Google Pixel 2 we are getting Error_ProtocolError. But when we connect the Samsung S20 FE, it works fine without any such error.

    Any pointers on this error bit?

    Thanks & Regards,

    Amol M Shrotri

  • Hi Amol,

    This is the definition for the Error_ProtocolError is "An unexpected message was received from the partner device". This is in reference to the PD messaging being sent back and forth between the two devices, so unfortunately, a PD analyzer is needed to look into this issue further. It seems that the Google Pixel is either not responding to a message we send causing a protocol error, or is sending a message at a point that is not expected.