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.

TPS25750EVM: update the firmware

Part Number: TPS25750EVM
Other Parts Discussed in Thread: TPS25751, TPS25750

Tool/software:

Hello,

 I tried to force the PD to switch to PTCH mode, but I couldn't get it to work properly.

Attached is a photo of the commands I sent. Could you please review them and provide any necessary assistance to help resolve this issue?

I found this information on the internet, but I'm not sure how to switch to the NegotiateHighVoltage configuration. I am using a TPS25750EVM



Thank you in advance for your assistance. I look forward to your guidance to help me progress with my project.

Best regards,

  • Hello Azmi,

    Thank you for your query. Due to the 4th of July holiday, please expect delayed responses.

    BR,

    Seong

  • Hi Azmi, 

    Thank you for reaching out!

    Could you please elaborate as to why you would like to force the PD into PTCH mode? 

    NegotiateHighVoltage is a dead-battery configuration in which the device always enables the sink path during the implicit contract and negotiates the highest power contract. This configuration cannot be used when a patch is loaded from EEPROM (See Table 9-5 below from datasheet). 

    Also, we recommend all new designs to use our follow-on device, the TPS25751. Please see the following FAQ

    Best Regards, 

    Aya Khedr 

  • Hello,

    I need to update the firmware on this device (TPS25750). I would like to know how to perform this update to send the firmware.

    Best Regards, 

  • Hi Azmi, 

    The TPS25750/1 EVM has the ability to load a patch bundle by using external I2C flash, or have an external EC push the patch bundle using the PBMx commands. By default, J4/J16 is populated on the EVM, allowing for the EEPROM on the EVM to program the TPS25750/1. However, to test and evaluate the PBMx commands, the flash must be disconnected by removing J4/J16. When this is done, the  TPS25750/1 never reads a valid EEPROM address on I2Cm/I2Cc, and instead just waits for the patch bundle to be sent from an EC (i.e. PD controller should be in patch mode without using "Go2P")

    Best Regards, 

    Aya Khedr

  • Hi Azmi, 

    The I2C slave address can be selected in S1 switch bank on the EVM. 

    #1 --> 0x20 

    #2 --> 0x21 

    Best Regards, 

    Aya Khedr 

  • Hello,

    Thank you  for your help.

    I would like to know to which memory address or register I need to send the 64-byte blocks. Additionally, I am aware that using i2cset on Linux has a limitation of sending no more than 32 bytes in a single transaction. Could this limitation cause any issues when sending the data? I have attached a screenshot of an Excel file that I received from one of your colleagues for reference.

    Also, I am curious why the I2C address was changed from 0x21 to 0x30 ?

    Best regards,

  • Hi Azmi, 

    Could you provide the excel file referenced?

    Best Regards, 

    Aya Khedr

  • Hi Aya
    here is the excel file referenced

    8420.PBMx_PowerUp_Two_994.xlsx

  • Hi Azmi, 

    Thank you for providing. See my responses below:

    I would like to know to which memory address or register I need to send the 64-byte blocks.

    Think of this address as a communication channel instead. You choose an address that will not be used in the system (i.e. not the ADCIN address) to send the patch bundle to PD. Once the process is done we no longer interact with that channel. This address is set up though the first PBMx command 'PBMs'. The address is set to 0x30 in the example spreadsheet. 

    Also, I am curious why the I2C address was changed from 0x21 to 0x30 ?

    As mentioned above, 0x30 in this example is the memory address that we send the 64bytes to. 0x21 is the ADCIN address setting which we read/write to the PD controller's registers. 

    Could this limitation cause any issues when sending the data?

    This should not cause any issues as long as the EC is chunking the writes correctly and terminating the burst with a stop bit. 

    Best Regards, 

    Aya Khedr