[PATCH linux dev-4.10] ARM: aspeed: romulus: Add reset tolerance for power GPIOs

Lei YU mine260309 at gmail.com
Mon Oct 30 20:20:14 AEDT 2017


This is a similar change as Witherspoon, that enables the host to stay
up across BMC reboots.

Signed-off-by: Lei YU <mine260309 at gmail.com>
---
 arch/arm/mach-aspeed/aspeed.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm/mach-aspeed/aspeed.c b/arch/arm/mach-aspeed/aspeed.c
index c84c871..5965bbf 100644
--- a/arch/arm/mach-aspeed/aspeed.c
+++ b/arch/arm/mach-aspeed/aspeed.c
@@ -196,7 +196,17 @@ static void __init do_witherspoon_setup(void)
 
 static void __init do_romulus_setup(void)
 {
+	unsigned long reg;
+
 	do_common_setup();
+
+	/* Reset tolerance for BMC_POWER_UP (GPIOD1) */
+	reg = readl(AST_IO(AST_BASE_GPIO | 0x01c));
+	writel(reg | BIT(25), AST_IO(AST_BASE_GPIO | 0x01c));
+
+	/* Reset tolerance for SOFTWARE_PGOOD (GPIOR1) and SEQ_CONT (GPIOS7) */
+	reg = readl(AST_IO(AST_BASE_GPIO | 0x12c));
+	writel(reg | BIT(9) | BIT(23), AST_IO(AST_BASE_GPIO | 0x12c));
 }
 
 static void __init do_lanyang_setup(void)
-- 
1.9.1



More information about the openbmc mailing list