AnsweredAssumed Answered

Cause of iMX6Q/D Watchdog timer resetting the system?

Question asked by Gustavo Oliveira on Oct 16, 2017
Latest reply on Oct 20, 2017 by Gustavo Oliveira

Hi, I am working on an embedded system that uses on the main board and iMX6Q/D and runs Android Jelly beans, more precisely: Linux version 3.0.35, Jelly Beans

 

It is an embedded system and "out of the blue" the system completely resets itself. By looking at the uboot reason of reset we are able to see the code 0x0011, which inside the kernel says "WDOG"

 

void disp_boot_reason(void)
...
...

case 0x0010:
case 0x0011:
printk("WDOG");
break;
....

 

The system has been in development for a long time, it started back in 2013. So things are quite old, but we can't changed the hardware or OS at this stage.

 

From the iMX 6Dual/6Quad Reference manual I read:

 

"The Watchdog Timer (WDOG) protects against system failures by providing a method by
which to escape from unexpected events or programming errors."

 

I see no traces of software failure either from the linux kernel logs or the android adb shell logs. I do see that the watch dog is set to be server every 60s

 

10-13 22:53:05.750 E/kernel  ( 2403): <6>imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)

 

Here are my questions?

 

1. It is a software or hardware fault? I am assuming it is hardware since our software is running fine.

2. What do the manual mean by "unexpected events"? Hardware fault?

3. Is there a way to know, from the hardware perspective what is the root cause of the watchdog not being served by the kernel? We are suspecting our display, but not totally sure.

4. When there is a hardware fault, can I add some logs to the kernel to help pin point what hardware component is making the watchdog timer not kick in?

5. known hardware bugs regarding the iMX watchdog timer? Can it be served and reset the processor anyway?

Outcomes