TDA4AL-Q1: We can't find watchdog code in j721s2 dts

Part Number: TDA4AL-Q1

Hi,

The old link is no longer answer,and we need watch dog in SBL

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1258234/tda4al-q1-we-can-t-find-watchdog-code-in-j721s2-dts

Thanks

  • Hi, 

    I believe you are looking for a way to control PMIC watchdog from MCU1_0 right?

    Did you get a chance to look at PMIC watchdog test at <PDK>/packages/ti/drv/pmic/test/wdg_test ?

    Does this reference not help with your use case?

    Regards,
    Parth

  • Hi,

    1:

    I believe you are looking for a way to control PMIC watchdog from MCU1_0 right?

    yes

    2:

    Did you get a chance to look at PMIC watchdog test at <PDK>/packages/ti/drv/pmic/test/wdg_test ?

    This code has been verified and can be used ?

    Thanks

  • Hi,

    Thanks for pointing this out. This test does not build for J721S2. Ideally it should not be packaged with the release as well. I'll raise a bug to remove that from upcoming release.

    Currently we do not have any reference example for this. Re-routing this to our PMIC team for further comment on this.

    Regards,
    Parth

  • 1:

    I believe you are looking for a way to control PMIC watchdog from MCU1_0 right?

    yes

    2:

    To control PMIC watchdog from I2C1 bus line, set configure GPIO1 or GPIO2 of the primary PMIC to anything other than I2C2. Then watchdog can be accessed via I2C2_ID address. I2C2_ID is 0x12 for most of our devices. 

    Regards,

    Mike

  • Hi

    Input testPmicWDG function in vision_apps/platform/j721s2/rtos/mcu1_0/main.c file

    Code:

    void testPmicWDG()
    {
        UART_printf("wyp test pmic\n");
        /* Pointer holds the pPmicCoreHandle */
        Pmic_CoreHandle_t *pPmicCoreHandle = NULL;
        int32_t pmicStatus = PMIC_ST_SUCCESS;
        Pmic_WdgCfg_t wdgCfg_rd = {PMIC_WDG_CFG_SETPARAMS_FORALL, };
        Pmic_WdgCfg_t wdgCfg    =
        {
            PMIC_WDG_CFG_SETPARAMS_FORALL,
            750000U,
            4950U,
            4950U,
            PMIC_WDG_FAIL_THRESHOLD_COUNT_5,
            PMIC_WDG_RESET_THRESHOLD_COUNT_6,
            PMIC_WDG_QA_MODE,
            PMIC_WDG_PWRHOLD_DISABLE,
            PMIC_WDG_RESET_ENABLE,
            PMIC_WDG_RETLONGWIN_DISABLE,
            PMIC_WDG_QA_FEEDBACK_VALUE_2,
            PMIC_WDG_QA_LFSR_VALUE_1,
            PMIC_WDG_QA_QUES_SEED_VALUE_5,
        };
        pmicStatus = Pmic_wdgEnable(pPmicCoreHandle);
        pmicStatus = Pmic_wdgSetCfg(pPmicCoreHandle, wdgCfg);
        pmicStatus = Pmic_wdgGetCfg(pPmicCoreHandle, &wdgCfg_rd);
        // pmicStatus = Pmic_wdgStartTriggerSequence(pPmicCoreHandle);
        // pmicStatus = Pmic_wdgStartQaSequence(pPmicCoreHandle,1U,PMIC_WDG_WAIT_CNT_MIN_VAL);
        pmicStatus = Pmic_wdgQaSequenceWriteAnswer(pPmicCoreHandle);
        // pmicStatus = Pmic_wdgDisable(pPmicCoreHandle);
        UART_printf("wyp test pmic end\n");
    }
    

    The above code;10 minutes later will not let cpu reset;

    1: How can I modify the PMIC watchdog to work properly?

    2: How to set the dog feeding interval

    3: How to feed dogs

    Thanks

  • Hi,

    Code:

    Is the code you provided us referred from the PDK or the Vision app?

    Regards,

    Karthik