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.

TPS65988: Why can't I modify DP SID Configuration Register 0x51 after boot using the I2C interface?

Part Number: TPS65988
Other Parts Discussed in Thread: TPS65981,

If I create a binary (with the TPS65981_2_6_7_8 Application Customization 6.1.1 Tool) that sets the DP SID Configuration Register 0x51 to 0x020A00144E03. If I later try to change this setting to 0x020B0008CE03 (i.e., change pin configuration, multifunction preference, USB2 requirement) after FLASH boot using the I2C interface for testing purposes, the register remains set to the original 0x020A00144E03 when read-back.

Is this because of the Lock function? If so, how do I unlock. I cannot find any place in the Customization Tool for establishing an initial Lock key. It is my understanding that if the key is initialized to the default value 0, then the PD Controller is supposed to start out in the unlocked state and I should be able to write Lock registers. Is this right?

Do I need to use a Patch Bundles Update Task to update this register? If so, are there app notes on how to patch and re-launch?

  • Hi Mark,

    Did you enter Debug Mode to change the register? If not, then your changing the register is invalid. I recommend you that enter debug mode and change the register and then execute "Warm Reboot" to reload the configuration.

    Thanks.

    Bing

  • Hi Bing,

    No I didn't. How do I enter "debug mode" and execute a "Warm Reboot"? Neither of these terms are defined in the Host Interface Technical Reference Manual.

    Perhaps, by "Warm Reboot", you mean Gaid command?

    Would the DISC command put me in "debug mode"?

    Sorry, I'm new to all of this.

    Thanks,

    Mark

  • Hi Mark,

    If you want to enter Debug Mode, you can click the "Debug" tab on the top of the GUI tools, and then it will pop up a box "Debug Mode", and you choose it then you can enter the Debug Mode.

    Then you can go to DP SID Configuration Register x51 to change the value.

    I'm sorry, here Warm Reboot is no need. 

    Thanks.

    Bing

  • Hi Bing,

    Unfortunately, I'm developing test equipment, so my end-product needs to make changes to register 0x51 in my own application program, where TI "GUI tools" are not present. Is there something simple I can do to implement a limited-scope "Debug Mode" in my final application using the I2C Host Interface somehow?

    Mark 

  • P.S. I'm trying to avoid updating FLASH memory with new .bin everytime I want to change 0x51 register setting.

  • Is there some way that I can simply swap the entire image within the TPS65988 (from a .bin file) and reset (e.g., by executing a 'GAID' 4CC) using I2C1 with my own software (i.e., without the TI Application Customization Application and without having to re-program/ware-out any FLASH memory)?

  • Hi Mark,

    The register 0x51 allows customers to modify its value. So if the I2C address and the register address have been set correctly, you can write values into this register directly.

    I have test this function on TPS65988 EVM, it is OK to write values into 0x51 through I2C.

    Thanks.

    Bing

  • 0x51 register can be modified even if the device is running. You can change its value directly and no need reboot from internal RAM or external EEPROM as long as the correct I2C address is set.

    More details about how to write the value through I2C, you can take TPS65988 datasheed as reference (Page 41). Below is the chart of general I2C protocol:

    Please be careful that the protocol may have distinctions among different I2C adapters.

    Thanks.

    Bing