There are multiple instances of watchdogs on the main domain. How to enable full SoC reset upon a main domain watchdog timer expiry.
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.
Hi,
On TDA4-SK board the design is slightly compared to TDA4-EVM. The main domain watchdog expiry event reaches the Main
domain ESM. That routes the event to PMIC which only resets the main domain.
So we need to enable the the event from main watchdog that reaches the MCU ESM which eventually triggers the MCU domain
aka full domain reset.
I have enabled the Main Domain watchdogs triggering the full SoC reset on TDA4-SK. There is an event that
can be enabled to propagate the main domain ESM watchdog expiry all the way to MCU ESM. With that event enabled I could
trigger SoC reset with main domain watchdog expiry.
Here is the patch on top of the latest 8.4 SDK U-Boot repository:
The patch does:
No change needed in kernel as by default the Main domain watchdogs are enabled.
With the above patch on the TDA4-SK board I am able to full system reset by using main domain watchdog
Logs: main_domain_wd_soc_reset.txt
Quick debug pointers when you see on your board:
MAIN_ESM registers: root@tda4vm-sk:/opt/edge_ai_apps# devmem2 0x700550
/dev/mem opened.
Memory mapped at address 0xffffa6c95000.
Read at address 0x00700550 (0xffffa6c95550): 0x03000000
MCU_ESM:
devmem2 0x40800450
/dev/mem opened.
Memory mapped at address 0xffff83a95000.
Read at address 0x40800450 (0xffff83a95450): 0x80300000
Best Regards,
Keerthy