[U-Boot] [PATCH 1/4] ARM: dts: dh-imx6: add wdt-reboot node for sysreset driver

Robert Hancock hancock at sedsystems.ca
Thu Nov 28 16:21:53 UTC 2019

On 2019-11-28 9:43 a.m., Fabio Estevam wrote:
> Hi Claudius,
> On Thu, Nov 28, 2019 at 12:31 PM Claudius Heine <ch at denx.de> wrote:
>> Sorry, but we are probably misunderstanding each other here. So I try to
>> go step by step to show how I think about this. Maybe that way we figure
>> out where our understanding differs. Please bear with me, its a bit
>> verbose :)
> What I don't understand is why do we need "wdt-reboot" for i.MX in U-Boot?
> The i.MX watchdog driver is capable of resetting via internal watchdog
> or via a WDOG_B pin when the fsl,ext-reset-output property is passed.
>> My patch adds the 'wdt-reboot' device node which is needed by u-boot to
>> reset the device but doesn't exist in the linux kernel (since there is
> Right. This is the point I don't understand: why do we need a U-Boot
> wdt-reboot implementation in the first place?
> The imx watchdog works in the kernel with DT. Why can't you just use
> the same binding in U-Boot?

I ended up needing to add this node for our board as well to be able to
reset from U-Boot using DM. The watchdog itself is set up just from its
own device tree entry, but there's nothing to tie the sysreset code into
using the watchdog (and which one to use, since iMX has two of them)
without that node being present.

In Linux this works differently - the watchdog drivers that are capable
of triggering an immediate reset will register themselves as a reset
handler automatically so the system will try to use that functionality
in order to reboot the system. To avoid the need for that explicit
wdt-reboot node, something like this would need to be implemented in U-Boot.

> Thanks

Robert Hancock
Senior Software Developer
SED Systems, a division of Calian Ltd.
Email: hancock at sedsystems.ca

More information about the U-Boot mailing list