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.

TPS65987DDJ: Asus ZenPower Pro PD power bank can't be charged on TPS65987DDJ

Part Number: TPS65987DDJ

Hi, 

We designed TPS65987DDJ in our laptop with dual role configuration, found power bank with dual role configuration like Asus ZenPower Pro PD can't be charged from our laptop. 

If force TPS65987DDJ into DFP (Downstream Facing Port) mode by FW, the bank power become chargeable.  

Attached is the log of cc analyzer, could find bulk of "Hard Reset" in the log, please recommend if any suggestion, thanks a lot. 

8461.log.zip

Chris

  • Hello,

    One thing that you can try is to set different interrupt events on the TPS65987DDJ that has the potential to cause a hard reset (RCP, OCP, etc...). You can thing trigger the failure and see if any of the interrupt events you set where triggered. This would help to pinpoint if it is a hard reset from our end or possibly there end.

    Would you also be able to share your project file with me to take a look at?

  • Hi Adam, 

    Many thanks for reply. 

    We tried to read register 0x40, found the Hard Reset cause by "Required by policy engine, Source_SendCapabilities.", this also presented in the CC log file. 

    Attached is project files, please let me know if there is any suggestions, thank you. 

    A140_Type_C.zip

    Yours sincerely, 

    Chris

  • Hello Chang,

    Great, that helps a lot. So the hard reset is occurring due to the Asus ZenPower Pro PD. In this specific configuration where you are wanting the laptop to charge the Asus ZenPower Pro PD, so the TPS65987DDJ is acting as the source in this situation. I've attached the Source Port Policy Engine state diagram included within the Type-C PD spec as a reference.

    Since we are the source in this case, we of course send out our Source Capabilities and wait for a GoodCRC. We receive the CRC message, indicating that we are in fact connected to a PD controller. Our device then initializes the SenderResponseTimer, which is a timer programmed to timeout if we never receive the request message from the connected sink. In this example, the sink never sends the request message, so the SenderResponseTimer times out causing a hard reset. This variable cannot be changed and is contingent on the USB spec, so in this specific scenario, the Asus ZenPower Pro PD is not compliant and is the cause for the reset events.