From 6d6564957ced9a29ca62adee68a6e24040dd54be Mon Sep 17 00:00:00 2001 From: Martyn Welch Date: Wed, 10 Jan 2018 20:31:32 +0100 Subject: [PATCH] board: ge: bx50v3: Enable hardware watchdog Enable the hardware watchdog on bx50v3 to cause it to reset in the event the board hangs. Configure GPIO_9 pin as WDOG1_B so that a watchdog timeout results in a full system reset. The watchdog is used and reconfigured by systemd approximately 1.7 seconds into boot. Adding a few seconds for U-Boot and a few more seconds as a safety margin. Note that the PCIe controller is _not_ put back into a safe state prior to board reset. This is a problem if board reset is implemented as CPU reset. Signed-off-by: Ian Ray Signed-off-by: Martyn Welch Signed-off-by: Sebastian Reichel --- board/ge/bx50v3/bx50v3.c | 1 + include/configs/ge_bx50v3.h | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/board/ge/bx50v3/bx50v3.c b/board/ge/bx50v3/bx50v3.c index 07b42988e4..48c26e0f9f 100644 --- a/board/ge/bx50v3/bx50v3.c +++ b/board/ge/bx50v3/bx50v3.c @@ -659,6 +659,7 @@ static iomux_v3_cfg_t const misc_pads[] = { MX6_PAD_EIM_OE__GPIO2_IO25 | MUX_PAD_CTRL(NC_PAD_CTRL), MX6_PAD_EIM_BCLK__GPIO6_IO31 | MUX_PAD_CTRL(NC_PAD_CTRL), MX6_PAD_GPIO_1__GPIO1_IO01 | MUX_PAD_CTRL(NC_PAD_CTRL), + MX6_PAD_GPIO_9__WDOG1_B | MUX_PAD_CTRL(NC_PAD_CTRL), }; #define SUS_S3_OUT IMX_GPIO_NR(4, 11) #define WIFI_EN IMX_GPIO_NR(6, 14) diff --git a/include/configs/ge_bx50v3.h b/include/configs/ge_bx50v3.h index 92b747bf28..596b1afaaa 100644 --- a/include/configs/ge_bx50v3.h +++ b/include/configs/ge_bx50v3.h @@ -44,6 +44,10 @@ #define CONFIG_REVISION_TAG #define CONFIG_SYS_MALLOC_LEN (10 * SZ_1M) +#define CONFIG_HW_WATCHDOG +#define CONFIG_IMX_WATCHDOG +#define CONFIG_WATCHDOG_TIMEOUT_MSECS 6000 + #define CONFIG_LAST_STAGE_INIT #define CONFIG_MXC_GPIO -- 2.25.1