watchdog: imx: add config to disable wdog reset

Add Kconfig option WATCHDOG_RESET_DISABLE to disable watchdog reset
in imx_watchdog driver, so that the watchdog will not be fed in
u-boot if CONFIG_WATCHDOG_RESET_DISABLE is enabled.

Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
This commit is contained in:
Xiaoliang Yang 2018-10-18 18:27:46 +08:00 committed by Stefano Babic
parent 005c1cf888
commit da4918acb8
3 changed files with 10 additions and 0 deletions

View File

@ -17,3 +17,5 @@ Use following config to set watchdog timeout, if this config is not defined,
the default timeout value is 128s which is the maximum. Set 10 seconds for the default timeout value is 128s which is the maximum. Set 10 seconds for
example: example:
#define CONFIG_WATCHDOG_TIMEOUT_MSECS 10000 #define CONFIG_WATCHDOG_TIMEOUT_MSECS 10000
Set CONFIG_WATCHDOG_RESET_DISABLE to disable reset watchdog, so that the
watchdog will not be fed in u-boot.

View File

@ -11,6 +11,12 @@ config WATCHDOG
config HW_WATCHDOG config HW_WATCHDOG
bool bool
config WATCHDOG_RESET_DISABLE
bool "Disable reset watchdog"
help
Disable reset watchdog, which can let WATCHDOG_RESET invalid, so
that the watchdog will not be fed in u-boot.
config BCM2835_WDT config BCM2835_WDT
bool "Enable BCM2835/2836 watchdog driver" bool "Enable BCM2835/2836 watchdog driver"
select HW_WATCHDOG select HW_WATCHDOG

View File

@ -16,10 +16,12 @@
#ifdef CONFIG_IMX_WATCHDOG #ifdef CONFIG_IMX_WATCHDOG
void hw_watchdog_reset(void) void hw_watchdog_reset(void)
{ {
#ifndef CONFIG_WATCHDOG_RESET_DISABLE
struct watchdog_regs *wdog = (struct watchdog_regs *)WDOG1_BASE_ADDR; struct watchdog_regs *wdog = (struct watchdog_regs *)WDOG1_BASE_ADDR;
writew(0x5555, &wdog->wsr); writew(0x5555, &wdog->wsr);
writew(0xaaaa, &wdog->wsr); writew(0xaaaa, &wdog->wsr);
#endif /* CONFIG_WATCHDOG_RESET_DISABLE*/
} }
void hw_watchdog_init(void) void hw_watchdog_init(void)