[U-Boot] [PATCH] watchdog: aspeed: restore default value of reset_mask
Cédric Le Goater
clg at kaod.org
Tue Oct 16 11:57:11 UTC 2018
This is required for the current Linux kernel to reboot. It should also
probably be fixed in Linux.
Signed-off-by: Cédric Le Goater <clg at kaod.org>
---
arch/arm/include/asm/arch-aspeed/wdt.h | 9 +++++++++
drivers/watchdog/ast_wdt.c | 1 +
2 files changed, 10 insertions(+)
diff --git a/arch/arm/include/asm/arch-aspeed/wdt.h b/arch/arm/include/asm/arch-aspeed/wdt.h
index 8d6f292c8495..fb04d41d3cbf 100644
--- a/arch/arm/include/asm/arch-aspeed/wdt.h
+++ b/arch/arm/include/asm/arch-aspeed/wdt.h
@@ -57,6 +57,15 @@
#define WDT_RESET_SPI (1 << 24)
#define WDT_RESET_MISC (1 << 25)
+#define WDT_RESET_DEFAULT \
+ (WDT_RESET_ARM | WDT_RESET_COPROC | WDT_RESET_I2C | \
+ WDT_RESET_MAC1 | WDT_RESET_MAC2 | WDT_RESET_GCRT | \
+ WDT_RESET_USB20 | WDT_RESET_USB11_HOST | WDT_RESET_USB11_EHCI2 | \
+ WDT_RESET_VIDEO | WDT_RESET_HAC | WDT_RESET_LPC | \
+ WDT_RESET_SDSDIO | WDT_RESET_MIC | WDT_RESET_CRT2C | \
+ WDT_RESET_PWM | WDT_RESET_PECI | WDT_RESET_JTAG | \
+ WDT_RESET_ADC | WDT_RESET_GPIO | WDT_RESET_MISC)
+
#ifndef __ASSEMBLY__
struct ast_wdt {
u32 counter_status;
diff --git a/drivers/watchdog/ast_wdt.c b/drivers/watchdog/ast_wdt.c
index 477605e7222d..59afa21efa4b 100644
--- a/drivers/watchdog/ast_wdt.c
+++ b/drivers/watchdog/ast_wdt.c
@@ -50,6 +50,7 @@ static int ast_wdt_stop(struct udevice *dev)
clrbits_le32(&priv->regs->ctrl, WDT_CTRL_EN);
+ writel(WDT_RESET_DEFAULT, &priv->regs->reset_mask);
return 0;
}
--
2.17.2
More information about the U-Boot
mailing list