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.

TPS65220: TPS65220 PMIC not generating power supply on some boards

Part Number: TPS65220
Other Parts Discussed in Thread: AM6411,

Tool/software:

Hi Team,

We have build the 100 board using the TI PMIC TPS6522053RHBR and AM6411 processor and on few board PMIC is not genearting any power supply.

To debug the issue we have probed the PMIC GPO2 signal and we have observed that PMIC is trying to turning ON but it fails may be due to some fault. Also same type of behaviour observed with the Buck 2, Buck 3, LDO3 & LDO4.

Also we have used external I2C debugger to read the PMIC registers and below is the I2C dump of PMIC:

root@am64xx-bidi-proto-1:~# i2cdetect -y -a -r 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: 30 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- UU -- 53 -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
root@am64xx-bidi-proto-1:~# i2cget -y 0 0x30 0x09
0xa4
root@am64xx-bidi-proto-1:~# i2cset -y 0 0x30 0x09 0x34
root@am64xx-bidi-proto-1:~# i2cget -y 0 0x30 0x09
0x34
root@am64xx-bidi-proto-1:~# i2cget -y 0 0x30 0x01
0x53
root@am64xx-bidi-proto-1:~# i2cd
i2cdetect            i2cdetect.i2c-tools  i2cdump              i2cdump.i2c-tools
root@am64xx-bidi-proto-1:~# i2cd
i2cdetect            i2cdetect.i2c-tools  i2cdump              i2cdump.i2c-tools
root@am64xx-bidi-proto-1:~# i2cdump -h
Error: Unsupported option "-h"!
Usage: i2cdump [-f] [-y] [-r first-last] [-a] I2CBUS ADDRESS [MODE [BANK [BANKREG]]]
  I2CBUS is an integer or an I2C bus name
  ADDRESS is an integer (0x08 - 0x77, or 0x00 - 0x7f if -a is given)
  MODE is one of:
    b (byte, default)
    w (word)
    W (word on even register addresses)
    s (SMBus block, deprecated)
    i (I2C block)
    c (consecutive byte)
    Append p for SMBus PEC
root@am64xx-bidi-proto-1:~# i2cdump 0 0x30
No size specified (using byte-data access)
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0, address 0x30, mode byte
Continue? [Y/n] Y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 80 53 7f 0b a6 98 05 76 94 34 86 21 21 50 21 30    ?S?????v?4?!!P!0
10: 21 41 80 60 02 60 a9 5d c0 00 f0 00 00 00 02 41    !A?`?`?]?.?...?A
20: c6 7f 02 00 00 e0 30 00 02 00 7f 01 00 00 00 00    ???..?0.?.??....
30: 00 00 04 04 00 0e 00 00 00 00 00 00 00 00 00 00    ..??.?..........
40: 03 40 38 22 07 63 cd 2e 81 80 15 15 16 0e 0f 3f    ?@8"?c?.????????
50: 47 00 00 17 03 00 88 0d 24 a0 26 36 63 44 6c 1f    G..??.??$?&6cDl?
60: 24 26 20 24 80 17 36 63 55 68 20 23 24 20 24 60    $& $??6cUh #$ $`
70: 30 36 63 67 74 1e 24 2a 1f e4 e4 e4 24 24 24 e4    06cgt?$*????$$$?
80: e4 e4 0f d6 7b 15 27 26 8d 13 27 1a 66 1c 1e 1f    ????{?'&??'?f???
90: 08 1d 26 21 08 26 00 00 00 00 00 00 00 00 00 00    ??&!?&..........
a0: 00 26 08 00 00 00 00 00 00 00 00 00 00 00 00 00    .&?.............
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 08 00 00 04 00 00 00 3f 87 08 00    .....?..?...???.
d0: 80 53 7f 0b 00 1f 00 1e 00 1e 62 00 62 2c 00 2c    ?S??.?.?.?b.b,.,
e0: 18 00 00 00 05 00 00 00 18 00 34 00 ec 34 34 00    ?...?...?.4.?44.
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

Request you kindly check this logs and let us know the exact issue and support to resolve this issue, as we have planned mass production in upcoming quarter.

Below is the snapshot of the PMIC schematic:

Regards,

Mohabbat Singh

  • Hi Mohabbat,

    Thank you for reaching out on e2e and providing all the details.

    Looks like Buck3 RV (Residual Voltage) is causing the PMIC to not power up. It re-tries 2 more times and shuts down.

    Before trying the next power up, can you check the Buck3 output voltage and try to completely discharge and try powering up again.

    Sathish

  • Hi Sathish,

    Thanks for feedback.

    We have checked the waveform for the below supplies rails:

    BUCK 3:

    BUCK 2:

    LDO 1:

    LDO 3:

    LDO 4:

    We are not observing any output on the LDO 2(VDDAR_CORE) and Buck 1 (VDD_CORE).

    Can you let us know which fault is causing this issue based on the PMIC register dump we have shared and also let us know how to fix this issue. This is the very critical issue and we need to resolve it soon.

    Regards,

    Mohabbat Singh

  • Hi Mohabbat,

    Thank you for the waveforms. All the voltage levels are good except Buck3, it is not able to reach the full 1.1V and it could be because of several reasons like bad inductor, leakage from MCU, board manufacturing issues etc..

    Did you check Buck3 voltage when PMIC is OFF?

    Sathish

  • Hi Sathish,

    We have resolved this issue by applying the additional 22uF capacitor at Buck 3 ouptut.

    So, need your opinion on the exact output capacitor needed for the Buck1, Buck2 and Buck 3 as this issue may occurs on the few boards during production due to component tolerance and due to other factors.

    I am thinking to add one more 22uF capacitor on all the buck output for next PCB revision.

    Regards,

    Mohabbat Singh

  • Hi Mohabbat,

    This is other thing i was thinking about suggesting.

    Since the buck regulators are configured in High Bandwidth, we need a minimum of 30uF capacitance (after derating) however datasheet says 80uF under ripple specification.

    Sathish

  • Hi Sathish,

    This issue is not resolved fully, as we are seeing PMIC is unable to turn ON each time and during that time we are observing the same buck 3 waveform that i have shared.

    For example, if are trying to turn ON PMIC 10 times then its able to turn ON properly 6~7 times only and for 3~4 times its failing due to buck 3. We have increased the capacitor value to 66uF but still facing same issue.

    Looking for the fix that completely resolve this issue.

    Regards,

    Mohabbat Singh

  • Hi Mohabbat,

    Increase all the Buck output capacitance to >80uF and check.

    You can also plot all the output rails as shown in TPS65220 TRM power up sequence diagram and check if any other rails are causing the PMIC to not power up.

    Sathish 

  • Hi Sathish,

    We have increased the buck 3 output capacitance to >80uF and did the multiple turn ON and OFF cycle and with this change board is powering up successfully each time.

    Regards,

    Mohabbat Singh

  • Hi Sathish,

    We are observing this issue again on same board, even after mounting the 80uF capacitor and we need the soultion which can resolve this issue fully.

    Regards,

    Mohabbat Singh

  • Hi Mohabbat,

    Is the error related to Buck3 (register 0x32=04) or any new issue?

    When you tried repeated ON and OFF, did you make sure all the rails are completely discharged before starting the new power up? PMIC will engage the discharges before the rails are enabled but if a rail is not fully discharged then PMIC aborts the power up sequence.

    Sathish

  • Hi Sathish,

    Yes, same error we are getting in same board with both cases (working or non working). Below are the log that we have captured with the same board that have 80uF capacitor mounted on it.

    PMIC log when issue occurred:

    root@am64xx-bidi-proto-1:~# i2cdump 0 0x30
    No size specified (using byte-data access)
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-0, address 0x30, mode byte
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 80 53 7f 0b a6 98 05 76 94 a4 86 21 21 50 21 30    ?S?????v???!!P!0
    10: 21 41 80 60 02 60 a9 5d c0 00 f0 00 00 00 02 41    !A?`?`?]?.?...?A
    20: c6 7f 02 00 00 e0 30 00 02 00 7f 01 00 00 00 00    ???..?0.?.??....
    30: 00 00 04 04 00 0e 00 00 00 00 00 00 00 00 00 00    ..??.?..........
    40: 03 40 38 22 07 63 cd 2e 81 80 15 15 16 0e 0f 3f    ?@8"?c?.????????
    50: 47 00 00 17 03 00 88 0d 24 a0 26 36 63 44 6c 1f    G..??.??$?&6cDl?
    60: 24 26 20 24 80 17 36 63 55 68 20 23 24 20 24 60    $& $??6cUh #$ $`
    70: 30 36 63 67 74 1e 24 2a 1f e4 e4 e4 24 24 24 e4    06cgt?$*????$$$?
    80: e4 e4 0f d6 7b 15 27 26 8d 13 27 1a 66 1c 1e 1f    ????{?'&??'?f???
    90: 08 1d 26 21 08 26 00 00 00 00 00 00 00 00 00 00    ??&!?&..........
    a0: 00 26 08 00 00 00 00 00 00 00 00 00 00 00 00 00    .&?.............
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 08 00 00 04 00 00 00 3f 87 08 00    .....?..?...???.
    d0: 80 53 7f 0b 00 1f 00 1e 00 1e 52 00 52 2c 00 2c    ?S??.?.?.?R.R,.,
    e0: 18 00 00 00 05 00 00 00 18 00 34 00 ec 00 00 00    ?...?...?.4.?...
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

     

    PMIC log when issue not occurred:

    root@am64xx-bidi-proto-1:~# i2cdump 0 0x30
    No size specified (using byte-data access)
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-0, address 0x30, mode byte
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 80 53 7f 0b a6 98 05 76 94 a4 86 21 21 50 21 30    ?S?????v???!!P!0
    10: 21 41 80 60 02 60 a9 5d c0 00 f0 00 00 00 02 41    !A?`?`?]?.?...?A
    20: c6 7f 02 00 00 e0 30 00 02 00 7f 01 00 00 00 00    ???..?0.?.??....
    30: 00 00 04 04 00 18 00 00 00 00 00 00 00 00 00 00    ..??.?..........
    40: 03 40 38 22 07 63 cd 2e 81 80 15 15 16 0e 0f 3f    ?@8"?c?.????????
    50: 47 00 00 17 03 00 88 0d 24 a0 26 36 63 44 6c 1f    G..??.??$?&6cDl?
    60: 24 26 20 24 80 17 36 63 55 68 20 23 24 20 24 60    $& $??6cUh #$ $`
    70: 30 36 63 67 74 1e 24 2a 1f e4 e4 e4 24 24 24 e4    06cgt?$*????$$$?
    80: e4 e4 0f d6 7b 15 27 26 8d 13 27 1a 66 1c 1e 1f    ????{?'&??'?f???
    90: 08 1d 26 21 08 26 00 00 00 00 00 00 00 00 00 00    ??&!?&..........
    a0: 00 26 08 00 00 00 00 00 00 00 00 00 00 00 00 00    .&?.............
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 08 00 00 08 00 00 00 3f 87 08 00    .....?..?...???.
    d0: 80 53 7f 0b 00 1f 00 1e 56 1e 52 56 52 2c 56 2c    ?S??.?.?V?RVR,V,
    e0: 36 04 4a 4a 05 04 11 11 18 2e 34 2e ec 00 00 00    6?JJ?????.4.?...
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    root@am64xx-bidi-proto-1:~#

     

    We are allowing the enough time to PMIC to discharge.

    Regards,

    Mohabbat Singh

  • Hi Mohabbat, 

    Sathish is currently out of office, let me try to answer your questions in the meantime. 

    The I2C register readings are still indicating that a shutdown occurred due to RV/DISCHARGE_TIMEOUT on BUCK3 occurred (0x32= 04)
    However, No RV event is flagged in register 31.
    And no timeout event is flagged in bit 7 in register 32. 

    If you write '1' to clear bit 2 of 0x32 and read again, is this bit still reading as 1 in both cases?

    Both logs are showing these faults, but the device where the issue is observed is moving to INITIALIZE state after shutdown event,
    while the device with no issue is able to move to ACTIVE state.

    As Sathish mentioned earlier, are you able to measure voltage on Buck3 while PMIC is OFF to ensure there is absolutely no residual voltage?

    Best Regards, 
    Sarah

  • Hi Sarah,

    We did not observed any residual voltage on buck3.

    Regards,

    Mohabbat Singh

  • Hi Mohbbat, 

    Thank you for the confirmation.

    Any comment regarding re-reading 0x32 of the boards with no issue detected?

    If you write '1' to clear bit 2 of 0x32 and read again, is this bit still reading as 1 in both cases?

    Best Regards, 
    Sarah