From d188d2b5772d814e8ef7b6bc36bdb217c8794330 Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Thu, 3 Dec 2015 14:37:32 +1030 Subject: [PATCH] arm/aspeed: Ensure all IP will be reset on reboot When the watchdog counts down the processor may optionally reset all of it's peripherals. An issue was observed where the Flash controller was placed in 4b mode and the system would not come back up. Set it to reset all peripherals (except the SDRAM and AHB bridge), which is the default, to ensure that everything is reset to ensure the system can reboot. Signed-off-by: Joel Stanley --- arch/arm/mach-aspeed/aspeed.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/mach-aspeed/aspeed.c b/arch/arm/mach-aspeed/aspeed.c index 7ec9141cc8ce9..0ac1771739758 100644 --- a/arch/arm/mach-aspeed/aspeed.c +++ b/arch/arm/mach-aspeed/aspeed.c @@ -134,6 +134,11 @@ static void __init aspeed_init_early(void) reg = readl(AST_IO(AST_BASE_SCU | 0x90)); reg |= 0x3E0000; writel(reg, AST_IO(AST_BASE_SCU | 0x90)); + + /* + * ensure all IPs are reset on watchdog expiry + */ + writel(0x003ffff3, AST_IO(AST_BASE_SCU | 0x9C)); } static void __init aspeed_map_io(void)