I write something in source codes of watchdog,
struct watchdog_device *wdog = (struct watchdog_device *)arg;
struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
static int watchdog_reboot=0;
watchdog_reboot++;
pr_err("watchdog is ping....,time=%d \n",watchdog_reboot);
/* ping it every wdog->timeout / 2 seconds to prevent reboot */
if(watchdog_reboot<5)
imx2_wdt_ping(wdog);
else
pr_err("wdog isn't ping\n");
mod_timer(&wdev->timer, jiffies + wdog->timeout * HZ / 2);
and the console print
ls1046ardb login: root
root@ls1046ardb:~# [ 32.098606] watchdog is ping....,time=2
[ 62.178629] watchdog is ping....,time=3
[ 92.258654] watchdog is ping....,time=4
[ 122.338607] watchdog is ping....,time=5
[ 122.342538] wdog isn't ping
root@ls1046ardb:~#
root@ls1046ardb:~# [ 152.418606] watchdog is ping....,time=6
[ 152.422535] wdog isn't ping
[ 182.498647] watchdog is ping....,time=7
[ 182.502577] wdog isn't ping
the watchdog is timeout,and it can't reboot ,why???
Solved! Go to Solution.
Please refer to the QorIQ LS1046A Reference Design Board Getting Started Guide, Table 8. DIP switch settings, SW4[8] SW_RST_MODE - it is not in default position.
the board is ls1046ardb whitch is designed by nxp,I don't know what RESET_REQ_B connects,this is my board's picture.
Please refer to the QorIQ LS1046A Reference Design Board Getting Started Guide, Table 8. DIP switch settings, SW4[8] SW_RST_MODE - it is not in default position.
Please refer to the QorIQ LS1046A Reference Manual, Chapter 35 Watchdog Timer (WDOG), 35.1 Overview:
"the core WDOG timers expiry signals are used to raise reset request (RESET_REQ output of the chip)."
How RESET_REQ_B is connected in your case?
Which board is in question?