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.

TPS65981 hung in infinite bot loop

Other Parts Discussed in Thread: TPS65981

On one of our prototypes boards has a malfunctioning TPS65981.  It appears the TPS65981 is in some sort of infinite reset loop that prevents the firmware from properly loading.  Here’s the behavior I’m seeing:

 

1.       Power is applied to the TSP65981

2.       As expected, the TPS65981 begins to read the firmware from the attached SPI flash.

3.       ~2ms into the process of reading the SPI flash the SPI transactions abruptly stop.  Note: For a working TPS65981, the SPI transactions continue for ~300ms, stop, and then the TPS65981 transitions to APP mode.

4.       ~115 after the SPI transactions abruptly stop, the TPS65981 SPI transactions start again, and are again interrupted about ~2ms into the process.

5.       Steps 3-4 repeat indefinitely.  The TPS65981 never enters APP mode.

 

As part of our debug we swapped the malfunctioning TPS65981 with a correctly functioning the TPS65981, and vice-versa.  The problem followed the TSP65981.  This seems to implicate the TPS65981.  However, it is possible there is something marginal in our design that is exacerbated by this particular TPS65981.  As part of our debug we verified the following on the TPS65981:

 

·         Contents of the SPI flash are valid.  SPI flash was removed from board, read with an external programmer, and the content match expectations.  This exonerates the binary in the flash.

·         SPI flash is working properly.  If we move the SPI flash from the failing board to a new board, the TPS65981 on the new board is able to load the firmware properly.  This exonerates this particular SPI flash.

·         The R_OSC resistor value is correct.  We both measured the value of the R_OSC resistor and verify the SPI clock is running at 12MHz.

·         Verified the input voltages at the PP_5V0, PP_CABLE, VDDIO, and VIN_3V3 inputs to the TPS65981 are within spec

·         Verified the output voltages at the LDO_1V8A, LDO_1V8D, and LDO_3V3 outputs from the TPS65981 are within spec.  This seems to indicate the power portions of the TPS65981 are operating properly.

 

Do you have any additional debug steps that could help root cause this behavior?  Do you have any idea what may cause the TPS65981 to get into an infinite reboot state?  Is this a known issue with the TSP65981?  Keep in mind that we’re using the prototype PTPS65981.  Thus far we’ve observed this behavior on 1 of 40 TPS65981 units.  The TPS65981 does not response to I2C transactions so we can’t query TPS65981 registers.

 

Thanks.

  • Hi Ronnie,

    Thanks for the detailed information.

    How did you replaced the TPS65981 between boards? Do you have a socket on your boards or you desoldered and soldered it back?
    From your observation it looks like that the TPS65981 is not able to access the SPI flash due to some reason.
    These are the debug steps we would like to suggest:
    1. Probe the UART lines and verify that do you see any data on the UART between step 2 and 3? If you see any UART data then it means there's some problem due to which TPS65981 is not able to get data from SPI flash
    2. If there's UART data then connect the UART lines of the board with the failing chip with the UART lines of a working board to ensure that the failing chip boots in secondary mode
    3. Once chip boots up then try to erase the SPI flash usign Host commands over I2C bus and verify that TPS65981 can talk to the SPI flash

    Please follow these steps it will clarify if we have issue with SPI connectivity.

    Thanks,
    Rahul
  • The device is question is the TPS65981.  There are no UART pins, unless these are brought out on other pins in a debug mode.  Please advise.

    Attached are scope shots showing the activity on the SPI bus:

  • Hi Ronnie,

    Thanks for sharing the plots.

    From the first plot we can see the the first 4 bytes stored in the SPI flash is 0xFF, 0xFF, 0xFF, 0xFF; which is highly unlikely.

    Can you share your bin file and configuration details.

    By looking at the problem statement and the waveforms it looks like because of some reason TPS65981 is not able get valid data from SPI flash.

    Please share the bin file and configuration files along with the schematic and layout files.

    Thanks,

    Rahul