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.

TPS65094: The Buck issue for TPS650940

Part Number: TPS65094
Other Parts Discussed in Thread: , TPS650864, IPG-UI, USB2ANY

Tool/software:

Hi,

We use the TPS650940A0RSK in our Intel ApolloLake platform CPU, and we have below issue for this device:

1. When the operation temperature about 30℃, the PMIC is can power on and the system is normal;

2. When the operation temperature about 20℃-30℃, the PMIC will Intermittent power down;

3. When the operation temperature lower than 20℃, the PMIC will power down every time;

4. We are now product 10boards and there are one boars PMIC is abnormal(10% rate);

5. The waveform of buck3 and buck5 power down refer to below:

6. The schematic refer to below:

7. Now, we search the E2E and it suggest to change TPS650940 to TPS650945, and TPS650945 is a forced PWM mode to avoids this erratic switching:

The link:https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/757046/tps65094-pmic-resets-after-glitch-on-buck5-output

8. We have the below issue:

1) Please kindly advise if we can use the TPS650945( the forced PWM mode) to solve this issue?

2) If item1) is right, it is better to retain the HW design that we can updafed our SW program to solve this issue, can we set the I2C Serial to set the register to change to forced PWM? And how to set the I2C register;

3) If TPS650940 can't set to forced PWM mode, we need to know the functional differences between TPS650940 and TPS650945, and we will explain to our end customer to suggest customer to change to TPS650945;

9. Please kindly support this case, your reply is very important for us to support our end customer, thanks.

  • Hi Zhang,

    The only difference between the TPS650940 and the  TPS650945 is the Forced PWM setting. This is shown in the below table from the datasheet. Replacing the IC would eliminate the hassle of going through a re-programming process or having to change register settings after every power cycle. Also, it would make future support much easier since the part number will correctly indicate the device settings. If you re-program the TPS650940 you run the risk of confusion later when the register settings no longer match expected defaults.

    However, if swapping to a new IC is not possible your other option is to change the following registers.

    The Forced PWM settings for each buck is in the 0x5E address group of registers. Specifically BUCKs 1, 2 , and 3 Forced PWM can be enabled by setting R9C[5-3] = 1'b:

    For BUCK4, use R25[1] = 1'b to set Forced PWM mode

    For BUCK5, use R26[1] = 1'b to set Forced PWM mode

    For BUCK6, use R27[1] = 1'b to set Forced PWM mode

    These settings will reset to the default after every power cycle unless you burn them to the OTP bank. TPS65094 is a pre-programmed device with the OTP settings programmed to BANK0. You could program the new settings into BANK1 as the new defaults if you want Forced PWM to be enabled even after a power cycle.

    Burning the new settings requires the ability to apply 7V on CTL4 of the PMIC in order to enter programming mode. Once in programming mode, you will need to apply 7V on the IRQB pin when you initiate the burn process. If you already have pre-made boards, it may not be possible for the customer to apply 7V on these pins without affecting other components on the board. This would be the main challenge of programming changes.

    Let me know what you think about these two options. I usually recommend switching ICs as a cleaner solution. You could order a few sample ICs for the customer and have them do a PMIC swap and get quick results to see if the Forced PWM change fixes the issue.

    Regards,

    James

  • Hi James,

    We use the I2C to set the register but the buck waveform has no change, so please check how to use the register configuration the TPS650940

    to TPS650945, and the 7V push up for IRQB pin is the necessary request for change the PMIC register, right?

    Burning the new settings requires the ability to apply 7V on CTL4 of the PMIC in order to enter programming mode. Once in programming mode, you will need to apply 7V on the IRQB pin when you initiate the burn process. If you already have pre-made boards, it may not be possible for the customer to apply 7V on these pins without affecting other components on the board. This would be the main challenge of programming changes.
  • Hi Zhang,

    We use the I2C to set the register but the buck waveform has no change

    If you are already in PWM mode, then you would not see a difference in the waveform. Forced PWM will only be relevant when the IC would usually be using PFM (at startup and during low load conditions).

    please check how to use the register configuration the TPS650940

    to TPS650945

    I'm not sure what you mean here. I described the register changes in my previous reply. The TPS6508645 uses the same settings as TPS6508640 except Forced PWM is enabled for all rails by default.

    the 7V push up for IRQB pin is the necessary request for change the PMIC register, right?

    The 7V on IRQB is only necessary when you want to save your settings as the new default for the IC. The registers can be changed without needing 7V but they will reset to defaults after a power cycle. If you want to test Forced PWM during power up of the IC you can apply VSYS voltage, hold PWR_EN low to prevent power sequence, and reprogram the above registers for Forced PWM. Once the registers are changed, you can start the power-up using PWR_EN and run another test to see if the IC shuts down.

    • What are the fault conditions that are being reported by the PMIC when shutdown occurs?
    • Have you done an A-B-A swap to see if the issue follows the IC or the board?

    Regards,

    James

  • Hi James,

    Plesae refer to our waveform testing report, we use the I2C to set the register but there are some issue for our configuration:

    TPS65094.docx

    We set CR storage through BIOS after power on, enter OS to measure buck power output, so we can't configure TPS6508640 registers separately,  we can only read the total register mapping that we can't sure which regsiter range is the TPS6508640 register mapping;

    Now, please help to provide the .bin file of the TPS6508645 that we can compare the differences between our TPS6508645(After our change the register from TPS6508640 to TPS6508645) and the standard TPS6508645 register mapping, thanks.

  • Hi Zhang,

    I would need to manually dump the registers from a sample TPS650945 IC so I am ordering some chips that should arrive in a few days.

    I'm still a bit confused by all this. You originally had one failing board out of 10 total.

    1. Do you have a stock of TPS650945 ICs at your location already?
    2. Did you already try using the TPS650945 on your board to see if if fixes the issue with BUCK shutdown? Was the issue resolved by TPS650945?

    If the temperature issues are resolved by TPS650945 then switching to this version of the IC would probably be the easiest method but I want to confirm if TPS650945 actually fixes the behavior first. If you are unable to change the registers yourself then you will need to replace the IC on the board.

    I looked at the TPS65094 document you sent but I don't know what BUCK you are measuring or what the loading conditions are. I need specific numbers to help with the debug. It could be the case that you are in between PWM and auto-PFM at certain load conditions.

    Regards,

    James

  • Hi James,

    Thanks for your kindly support, and Is there any progress for this .bin file?

    BTW, We search in the previously E2E thread that they can set the "PMIC I2C registers in BIOS", can you help to provide some reference file to us, thanks.

    e2e.ti.com/.../tps65094-pmic-resets-after-glitch-on-buck5-output

  • Hi Zhang,

    We don't have the ability to make .bin files for register changes as far as I know.

    Regards,

    James

  • Hi James,

    OK, now we simplify our issue description, we have the below request:

    1. We use the TPS650940 and we consider to change to TPS650945 now, and because we can't change the hardware design and we Prioritize to upgrade 

    software configuration for this requirement;

    2. If item#1 is available, please kindly provide the update firmware to us or any reference manual, and we can use in the BIOS mode(LInux system), thanks.

  • Hi Zhang,

    There's no separate documentation for the TPS650945 besides the chart I posted above. The main datasheet is for all TPS65094x versions. The chip doesn't have firmware to update, it only has registers that can be adjusted and burned into the OTP banks. If you can't change individual registers then your options are as follows:

    1. Get new TPS650945 ICs that already have the settings you need and test them on your board to see if it fixes the failure. If you don't have TPS650945 samples, we can work with marketing to send some over so you can confirm the fix.
       
    2. Use a USB2ANY adapter with the IPG-UI software to make the changes to the PMIC which would require the following conditions:
      1. USB2ANY Explorer software or IPG-UI software for changing registers.
      2. Access to the I2C pins so you can connect the USB2ANY adapter
      3. VSYS voltage applied to the PMIC to activate the digital block for communication
      4. 7V on SLP_S3B to enter programming mode
      5. 7V on IRQB to burn the new settings to BANK1 OTP memory

    In my opinion, option 1 is the simplest course of action and we can work with marketing to figure out what needs to be done. We don't have a way to provide a .bin file for the TPS650945 so the only way to change the software is option 2 or with your own custom I2C communication.

    Let me know which option you want to proceed with.

    Regards,

    James