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.

Watchdog is not working after global software reset

Other Parts Discussed in Thread: OMAP3503

We are using OMAP3503 processor in our device. In our system there is one application in NAND flash which is redirecting CPU to boot from SD card after performing global software reset. For this operation we are loading RAM scratch area at 0x48002910 address with boot device as SD card and then we are performing global software reset by writring value 0x00000002 in PRM_RSTCTRL register. This operation is performing warm reset on CPU and it is successfully staring to boot (mlo) from SD card after reset.

Now in this sequence sometimes we have observed that after global software reset, CPU is not able to boot from SD card and it stuck. Reproduction of this case is very rare.

To handle this issue I have implemented watchdog timer in NAND binary such that if CPU stuck after global software reset then device get reboot. We are starting watchdog timer before global software reset operation. But after global software reset watchdog is not able to reset device after timeout.

Here watchdog timer configured successfully ant it works fine before gloable software reset operation. I have tested it by just putting infinite while loop before global software reset and watchdog is successfully rebooting device after timeout value but after performing global software reset, watchdog is not working. It looks like it is disabled after global software reset operation.

Now in datasheet under watchdog section I found below statement,
NOTE:
WDT2 is reset on power-on or after a warm reset, and then it starts counting.

According to this statement watchdog (using WDT2) should work after global software reset as it is a warm reset but it is not working.

Can you please correct me if my understaing is wrong or I missed something in configuration which causes watchdog stops to work after global software reset.

Is there any other way using which I can keep watchdog running after performing global software reset?