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.

TPS65216: Inquiry for EEPROM programming specification

Part Number: TPS65216
Other Parts Discussed in Thread: TPS65218D0

Hello,

We've been requested to implement the TPS65216 EEPROM programming on our programming tools. We need a specification where is described a protocol for EEPROM programming. Could you provide me with such document.

Best regards,

Frantisek

  • Hi Frantisek,

    Thanks for using E2E! TPS65216 is pin-to-pin compatible with TPS65218D0 and the same procedure can be followed to program the EEPROM. Below, I have listed the general programming steps, please let me know if you face any issues during the programming  or if you have any questions about the information provided and I'll be happy to help.

    • If the registers you would like to modify are not password protected, you can simply identify the register address in the Register map (section "5.5.3 TPS65216 Registers " in the datasheet) and change specific EEPROM bits through I2C. Please note this will only change the volatile registers. If you want to make those changes the new power-up defaults then you need to write the following sequence to the PASSWORD register (address 0x10): 0x50, 0x1A, 0xCE (must be written consecutively, with no other I2C commands in between these three bytes.

    • If the registers you would like to modify are password protected, then you have to follow the steps on section "5.5.1 Password Protection" in the datasheet.  For example, if you need to make changes to the SEQ7 register (address 0x26), then you have to execute the following I2C commands:

    1. Write the address of the destination register, XORed with the protection password (0x7D), to the PASSWORD register (0x10). This translates to writing 5B (0x26 XOR 7D) to address 0x10.
    2. Write the data to the password protected register. This translates to writing 0x0F to register 0x26.
    3. Save new register settings to EEPROM by writing a consecutive write of the I2C commands to the password register. This translates to writing 0x50, 0x1A, 0xCE (in this order) to register 0x10.

    Other Notes:

    • Not all the EEPROM bits can be re-programmed. Only bits with "E2" under the "type" column in the register field description tables can be re-programmed with new power-up defaults. The EEPROM bits with "R/W" only can be change in the volatile registers but the power-up default values can't be re-programmed in the actual EEPROM memory.
    • There are specific registers that will require one additional step that will be noted on top of the register bit description tables. For example to make changes on register DCDC1 (address 0x16), the GO bit (or the GODSBL bit) must be set to 1b in register 0x1A. This can be done before writing the three consecutive I2C commands to save the new register settings into the EEPROM. 
    • Information about how to program TPS65216 have been provided on previous E2E posts, here is the link to one of them for your reference: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/960049/tps65216-porting-question-about-ti-tps65216

    Thanks,

    Brenda