Jump to content

I've been looking at the issue of Odroid boards having trouble rebooting.


Javelin

Recommended Posts

The proposed solution here (https://github.com/armbian/build/pull/4824) basically performs a power-reset of the SDCARD in the final moments in order to prepare for the bootloader's (Uboot) restart.

 

What puzzles me is that the kernel has a Watchdog feature which seems to operating fine as witnessed by the console log "watchdog: watchdog0: watchdog did not stop!" meaning that the watchdog driver has been told to disregard attempts to disable it (which is fine in the context that the watchdog is being used to reset the cpu). The problem is, the watchdog never times-out because, i presume, something is still "kicking the dog" (there seems to be a worker thread tasked for this purpose).

 

As a test I "brutally" caused a watchdog timeout (watchdog_dev.c: watchdog_release()) by:

1) disabling interrupts

2) setting watchdog timeout to 2 secs

3) going into infinite loop

 

The board now reboots fine and reliably but clearly i've skipped the notification handler mechanism that is meant to be used in the "odroid-reboot.c" solution.

 

So I guess my question is, are reboots meant to be an elegant hand-off from kernel to uboot, or is the watchdog supposed to be the means to get all registers/pin to their POR state ready for a cold boot?

 

I'm new here so didn't know where to post, let me know the preferred place or whether it's not appropriate.

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines