linux/drivers/watchdog
Tim Harvey bc677ff42e 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>
2016-05-14 09:36:38 +02:00
..
acquirewdt.c
advantechwdt.c
alim1535_wdt.c
alim7101_wdt.c
ar7_wdt.c
asm9260_wdt.c watchdog: asm9260: remove __init and __exit annotations 2016-01-11 22:48:05 +01:00
at32ap700x_wdt.c
at91rm9200_wdt.c Merge git://www.linux-watchdog.org/linux-watchdog 2015-09-11 15:12:59 -07:00
at91sam9_wdt.c watchdog: at91sam9: get and use slow clock 2015-09-09 21:38:52 +02:00
at91sam9_wdt.h watchdog: add a driver to support SAMA5D4 watchdog timer 2015-09-09 21:38:29 +02:00
ath79_wdt.c
atlas7_wdt.c watchdog: atlas7_wdt: test clock rate to avoid division by 0 2016-03-16 21:09:08 +01:00
bcm47xx_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
bcm63xx_wdt.c
bcm2835_wdt.c watchdog: bcm2835_wdt: Drop log message if watchdog is stopped 2015-12-28 23:04:04 +01:00
bcm7038_wdt.c watchdog: Watchdog driver for Broadcom Set-Top Box 2015-10-27 16:12:02 +01:00
bcm_kona_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
bfin_wdt.c
booke_wdt.c watchdog: booke_wdt: Use infrastructure to check timeout limits 2015-09-09 21:34:34 +02:00
cadence_wdt.c watchdog: cadence_wdt: use to_platform_device() 2015-12-27 21:15:34 +01:00
coh901327_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
cpu5wdt.c
cpwd.c
da9052_wdt.c watchdog: da9052_wdt: Drop reference counting 2015-12-29 20:36:03 +01:00
da9055_wdt.c watchdog: da9055_wdt: Drop reference counting 2015-12-29 20:36:04 +01:00
da9062_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
da9063_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
davinci_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
diag288_wdt.c watchdog: diag288: Stop re-using watchdog core internal flags 2015-12-29 20:36:02 +01:00
digicolor_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
dw_wdt.c watchdog: dw_wdt: Convert to use watchdog infrastructure 2016-03-16 21:11:21 +01:00
ebc-c384_wdt.c watchdog: Add watchdog timer support for the WinSystems EBC-C384 2016-03-01 16:25:47 +01:00
ep93xx_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
eurotechwdt.c
f71808e_wdt.c
gef_wdt.c watchdog: Fix module autoload for OF platform driver 2015-09-28 10:56:01 +02:00
geodewdt.c
gpio_wdt.c watchdog: gpio: Do not use device pointer from struct watchdog_device 2015-12-28 23:04:05 +01:00
hpwdt.c hpwdt: use nmi_panic() when kernel panics in NMI handler 2016-03-22 15:36:02 -07:00
i6300esb.c
ib700wdt.c
ibmasr.c
ie6xx_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
imgpdc_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
imx2_wdt.c watchdog: imx2_wdt: add external reset support via dt prop 2016-05-14 09:36:38 +02:00
indydog.c
intel_scu_watchdog.c
intel_scu_watchdog.h
intel-mid_wdt.c watchdog: intel-mid: add Magic Closure flag 2015-10-28 22:58:32 +01:00
iop_wdt.c
it87_wdt.c watchdog: it87_wdt: add IT8783 ID 2015-02-17 21:32:08 +01:00
it8712f_wdt.c
iTCO_vendor_support.c
iTCO_vendor.h
iTCO_wdt.c watchdog: iTCO_wdt: Add support for TCO on Intel Sunrisepoint 2015-08-11 15:03:52 +01:00
ixp4xx_wdt.c
jz4740_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
Kconfig Merge git://www.linux-watchdog.org/linux-watchdog 2016-03-19 19:35:51 -07:00
kempld_wdt.c
ks8695_wdt.c char: make misc_deregister a void function 2015-08-05 10:35:49 -07:00
lantiq_wdt.c
lpc18xx_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
m54xx_wdt.c
machzwd.c
Makefile Merge git://www.linux-watchdog.org/linux-watchdog 2016-03-19 19:35:51 -07:00
max63xx_wdt.c watchdog: max63xx: make module's license marker match the header 2016-01-31 16:51:56 +01:00
mei_wdt.c watchdog: mei_wdt: re-register device on event 2016-02-07 13:00:52 -08:00
mena21_wdt.c watchdog: mena21: Do not use device pointer from struct watchdog_device 2015-12-28 23:04:06 +01:00
menf21bmc_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
meson_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
mixcomwd.c
moxart_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
mpc8xxx_wdt.c watchdog: mpc8xxx: use better error code when watchdog cannot be enabled 2015-09-09 21:37:51 +02:00
mt7621_wdt.c watchdog: add MT7621 watchdog support 2016-01-09 17:45:28 +01:00
mtk_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
mtx-1_wdt.c
mv64x60_wdt.c
ni903x_wdt.c watchdog: ni903x_wdt: Add NI 903x/913x watchdog driver 2016-03-01 16:25:39 +01:00
nuc900_wdt.c
nv_tco.c watchdog: (nv_tco) add support for MCP79 2015-09-09 21:34:24 +02:00
nv_tco.h
octeon-wdt-main.c watchdog: octeon: Handle the FROZEN hot plug notifier actions. 2016-05-14 09:22:21 +02:00
octeon-wdt-nmi.S
of_xilinx_wdt.c
omap_wdt.c watchdog: omap: don't disable the timer when it should be enabled early 2015-12-27 21:09:40 +01:00
omap_wdt.h watchdog: omap_wdt: implement get_timeleft 2015-06-22 15:54:35 +02:00
orion_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
pc87413_wdt.c
pcwd_pci.c
pcwd_usb.c watchdog: pcwd_usb: fix compilation warning 2016-01-31 16:52:15 +01:00
pcwd.c
pika_wdt.c
pnx833x_wdt.c
pnx4008_wdt.c watchdog: pnx4008: restart: support "cmd" from userspace 2016-03-16 21:09:42 +01:00
qcom-wdt.c watchdog: qcom: Report reboot reason 2016-05-14 09:08:01 +02:00
rc32434_wdt.c watchdog: rc32434_wdt: fix ioctl error handling 2016-03-01 15:29:42 +01:00
rdc321x_wdt.c
retu_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
riowd.c
rn5t618_wdt.c
rt2880_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
s3c2410_wdt.c watchdog: s3c2410_wdt: Add max and min timeout values 2016-03-16 21:08:09 +01:00
sa1100_wdt.c
sama5d4_wdt.c watchdog: add a driver to support SAMA5D4 watchdog timer 2015-09-09 21:38:29 +02:00
sb_wdog.c
sbc60xxwdt.c
sbc7240_wdt.c
sbc8360.c
sbc_epx_c3.c
sbc_fitpc2_wdt.c
sbsa_gwdt.c Watchdog: introduce ARM SBSA watchdog driver 2016-03-16 21:07:31 +01:00
sc520_wdt.c
sc1200wdt.c
sch311x_wdt.c
scx200_wdt.c
shwdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
sirfsoc_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
smsc37b787_wdt.c
softdog.c watchdog: refuse to unload softdog module when its timer is running 2015-12-27 21:02:21 +01:00
sp805_wdt.c watchdog: sp805: ping fails to abort wdt reset 2016-01-31 16:52:08 +01:00
sp5100_tco.c sp5100_tco: fix the device check for SB800 and later chipsets 2015-12-27 20:42:55 +01:00
sp5100_tco.h
st_lpc_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
stmp3xxx_rtc_wdt.c watchdog: stmp3xxx: Remove unused variables 2016-01-11 21:51:28 +01:00
sun4v_wdt.c Add sun4v_wdt watchdog driver 2016-01-31 11:06:24 -08:00
sunxi_wdt.c watchdog: Add 'action' and 'data' parameters to restart handler callback 2016-03-01 15:36:35 +01:00
tangox_wdt.c watchdog: tangox_wdt: test clock rate to avoid division by 0 2016-03-16 21:09:16 +01:00
tegra_wdt.c watchdog: tegra: Stop watchdog first if restarting 2015-11-23 08:59:45 +01:00
ts72xx_wdt.c char: make misc_deregister a void function 2015-08-05 10:35:49 -07:00
ts4800_wdt.c watchdog: ts4800: add driver for TS-4800 watchdog 2015-12-28 22:29:35 +01:00
twl4030_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
txx9wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
ux500_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
via_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
w83627hf_wdt.c watchdog: w83627hf: Added NCT6102D support. 2016-03-01 14:22:05 +01:00
w83877f_wdt.c
w83977f_wdt.c watchdog: w83977f_wdt: underflow in wdt_set_timeout() 2015-11-23 08:59:30 +01:00
wafer5823wdt.c
watchdog_core.c watchdog: Make stop function optional 2016-03-16 21:11:16 +01:00
watchdog_core.h watchdog: Create watchdog device in watchdog_dev.c 2015-12-29 20:36:01 +01:00
watchdog_dev.c watchdog: Ensure that wdd is not dereferenced if NULL 2016-03-16 21:11:50 +01:00
wd501p.h
wdrtas.c
wdt285.c
wdt977.c
wdt_pci.c
wdt.c
wm831x_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
wm8350_wdt.c Watchdog: Fix parent of watchdog_devices 2015-09-09 21:39:22 +02:00
xen_wdt.c
ziirave_wdt.c watchdog: ziirave_wdt: Rename "trigger" reset reason "hw watchdog" 2016-03-01 15:30:16 +01:00