watchdog: imx2_wdt: add external reset support via dt prop
authorTim Harvey <tharvey@gateworks.com>
Fri, 1 Apr 2016 15:16:43 +0000 (08:16 -0700)
committerWim Van Sebroeck <wim@iguana.be>
Sat, 14 May 2016 07:36:38 +0000 (09:36 +0200)
commitbc677ff42e81bbf78308a7b66cf7b63b0f5c26b0
treedcef2c5380ca309e77a7f5a35fc0b16f0ab48415
parentebbf677a3fb54fda56c58fc985c4617c215da6a0
watchdog: imx2_wdt: add external reset support via dt prop

The IMX6 watchdog supports assertion of a signal (WDOG_B) which
can be pinmux'd to an external pin. This is typically used for boards that
have PMIC's in control of the IMX6 power rails. In fact, failure to use
such an external reset on boards with external PMIC's can result in various
hangs due to the IMX6 not being fully reset [1] as well as the board failing
to reset because its PMIC has not been reset to provide adequate voltage for
the CPU when coming out of reset at 800Mhz.

This uses a new device-tree property 'fsl,ext-reset-output' to indicate the
board has such a reset and to cause the watchdog to be configured to assert
WDOG_B instead of an internal reset both on a watchdog timeout and in
system_restart.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-March/333689.html

Cc: Fabio Estevam <festevam@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Stefan Roese <sr@denx.de>
Cc: Iain Paton <ipaton0@gmail.com>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Tested-by: Akshay Bhat <akshay.bhat@timesys.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt
drivers/watchdog/imx2_wdt.c