TPS6594-Q1: TPS6594133A I2C address and register

Part Number: TPS6594-Q1
Other Parts Discussed in Thread: TDA4VH,

Tool/software:

#1. There are two I2C bus on this device, what is their address separately, where specified it in data sheet? or another document?

#2. Which is watchdog I2C bus, seems it is 0x12 from other e2e thread. where described it in datasheet?

#3. How to control the Watchdog, from below command, the offset 0x09 register seems like 409h, if yes, what is mechanism of the register mapping?  where described it?

  i2cset -f -y 0 0x12 0x09 0xbf

#4. Is the watchdog enabled in default? Why it is not enabled on TDA4VH EVM, but is enabled on customer board, reset every 12 minutes.  We found the version are different between VH EVM and customer, what is the difference between them? is there a document?

i2cdump -f -y 1 0x48

#5. How to disable the watchdog from default.

  • Hi Tony,

    #1. There are two I2C bus on this device, what is their address separately, where specified it in data sheet? or another document?

    I'm assuming you are using TPS6594133A version? I'm checking because I2C ID which is used for the address, is dependent on the NVM of the device. So need to check the full part number (unless you are doing your own NVM, in which case check this thread for choosing appropriate I2C addresses https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1087635/faq-tps6594-q1-tps6594-lp8764-what-is-an-appropriate-i2c-addresses-for-the-pmic )

    First, the datasheet for TPS6594-Q1 explains generally about the I2C addresses in section 8.5.2 I2C-Compatible Interface:

    So then you need to check the User's guide for the specific NVM version of a part to find the I2C1_ID and I2C2_ID that is used as the default address for each interface. For TPS6594133A, that is found in www.ti.com/lit/pdf/slvuci2, section 4.11 Interface Settings:

    #2. Which is watchdog I2C bus, seems it is 0x12 from other e2e thread. where described it in datasheet?

    This is found in same 2 places, it is the I2C2_ID.

    #3. How to control the Watchdog, from below command, the offset 0x09 register seems like 409h, if yes, what is mechanism of the register mapping?  where described it?

    The registers are in pages. The pages affect the I2C address you use. This is described in the datasheet section 8.6

    Watchdog is page 4, so this would be I2C2 bus. So on I2C2 use the I2C2_ID for the address for the watchdog commands. The I2C format is explained in the datasheet section 8.5.2.3 Transferring Data 

    So for the I2C command you referred to, address is 0x12 because it's a write to page 4 watchdog registers, which are on I2C2 which has that as the I2C_ID. Then the address byte is the 09h.

    Regards,

    Katie

  • page 4 watchdog registers, which are on I2C2 which has that as the I2C_ID. Then the address byte is the 09h.

    I need more time to understand the concept of page come out suddenly. 

    Straight support needs: Is there way to disable WD from hardware for this REV5 device? customer pulled GPIO9 to VSYS 3V3, board can't power up.

  • Hi Tony,

    Sorry for the delay on part of the question, I had to look into the version info for question #4:

    #4. Is the watchdog enabled in default? Why it is not enabled on TDA4VH EVM, but is enabled on customer board, reset every 12 minutes.  We found the version are different between VH EVM and customer, what is the difference between them? is there a document?

    i2cdump -f -y 1 0x48

    There are some changes between these versions of the NVM, I will share you some slides that explain the differences. There are two line items relevant to what you are seeing: 

    1. Watchdog enabled by default

    2. Watchdog Long Window set to 13 minutes. 

    Impact: MCU SW must boot and configure watchdog within 13 minutes of nRSTOUT going high

    So for #5 disabling the watchdog, you must have your MCU send the I2C command to disable or reconfigure the watchdog according to your desired application right after your MCU powers up/initializes. You can write to the WD_THR_CFG register to clear the WD_EN bit to stop the watchdog. You had the correct bytes for this indicated in your command above, but you need to make sure this is sent on I2C2 interface. 

    Regards,

    Katie