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.

TPS6594-Q1: Integrate TPS6594 WDG driver into TDA4VL SDK

Part Number: TPS6594-Q1
Other Parts Discussed in Thread: TDA4VL

Tool/software:

Hi expert,

Now I try to integrate TPS6594 WDG driver into TDA4VL SDK,the watchdog will work in Q&A mode.My SDK version is pdk_j721s2_08_05_00_36,and I found the driver of TPS594 in packages/ti/drv/PMIC.

Q1:  How to integrare the WDG driver?  Is the PMlC driver imported correctly as follows?

1.Pmic_init()

2.Pmic_wdgSetCfg()

3.Pmic_wdgStartQaSequence()

4. call Pmic_wdgQaSequenceWriteAnswer() four times in every feed cycle

Q2: Pmic_wdgQaSequenceWriteAnswer() need access I2C multi times. can I read WD_QUESTION then search question table to get answer directory in every feed cycle?

best regards!

wl.wang

  •  Pmic_wdgQaSequenceWriteAnswer() need access I2C multi times. can I read WD_QUESTION then search question table to get answer directory in every feed cycle?

    You can either search for answers or calculate the answer using the method described in section 8.3.11.8 of the data sheet

  • Regarding Q1, to begin servicing the PMIC watchdog in Q&A mode, it is recommended to follow the steps below.

    1. Initialize the PMIC driver by calling Pmic_Init().

    2. Ensure PMIC configuration registers are unlocked by calling Pmic_setCommonCtrlConfig().

    3. Enable the watchdog by calling Pmic_wdgEnable().

    4. Set WDG configurations by calling Pmic_wdgSetCfg(). It is recommended for the end-user to set pwrHold to be PMIC_WDG_PWRHOLD_DISABLE so that the watchdog is able to exit Long Window. Additionally, for continuous Q&A sequences, it is recommended that the end-user sets retLongWin to be PMIC_WDG_RETLONGWIN_DISABLE so that the PMIC watchdog does not return to Long Window.

    5. Exit Long Window by calling Pmic_wdgQaSequenceWriteAnswer() four times.

    6. Window-1 will begin once the PMIC watchdog exits Long Window. Call Pmic_wdgQaSequenceWriteAnswer() three times in Window-1 to send answer-bytes Answer-3, Answer-2, and Answer-1.

    7. Wait until Window-1 time elapses so that Window-2 can begin.

    8. Window-2 will begin once Window-1 time elapses. Call Pmic_wdgQaSequenceWriteAnswer() once in Window-2 to send the last answer-byte, Answer-0.

    9. Once the last answer-byte is sent, Window-1 of the next Q&A sequence will begin. Repeat steps 6, 7, and 8.

    10. If end-user would like to reconfigure watchdog, the user will need to return to Long Window by calling Pmic_wdgSetCfg().

    For Q2, yes you can read the WD_QUESTION register directly to search for the question that's needed to calculate the answer in every sequence. However, we do not recommend doing this because the Pmic_wdgQaSequenceWriteAnswer() API already does this for you. In fact, it handles the process of calculating and sending the answer-bytes - there is no need to do individual serial communication read/writes or any WDG answer-byte calculations in the application layer

  • Hi expert,

    When I call Pmic_init(),it return PMIC_ST_ERR_CRC_STATUS_FAIL(-38). The register PMIC_SERIAL_IF_CONFIG_REGARDS(0x11A) can't be find in datasheet of TPS6594. The value read from this register is 0x1B.How to deal with this problem?

    best regards!

    wl.wang

  • Hi expert,

    The above CRC issue has been fixed,the root cause is setting wrong nvmSlaveAddr.

    best regards!

    wl.wang

  • I'm glad this issue was resolved.

  • Hi expert,

    I config the watch dog as follows:

    The period of WIN1 and WIN2 set to 50ms all. 

    After configuration, I enable the watchdog.

    I feed the watchdog by calling Pmic_wdgQaSequenceWriteAnswer() at 10ms、20ms、30ms and 70ms,But the watchdog still restarts repeatedly, may I ask what the reason is?

    best regards!

    wl.wang

  • Hi Wang,

    US in on public holiday 17th of Feb. They will come back to you next business day. 

    Br, Jari

  • But the watchdog still restarts repeatedly, may I ask what the reason is?

    Are you seeing a WD_INT or nRSTOUT toggle?

  • Hi expert,

    This issue has been resolved, mainly due to incorrect watchdog feeding cycle settings

    best regards!

    wl.wang