summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLei YU <mine260309@gmail.com>2017-10-30 12:20:14 +0300
committerAndrew Jeffery <andrew@aj.id.au>2017-10-31 03:08:54 +0300
commit73b861044886dc4f0dac7b8d473d08cf9b987569 (patch)
tree877de17bce99d812121c8b1c18f9f4816ca3a1ba
parentde178a52f1a46c615b19e504a47dcebec054c45f (diff)
downloadlinux-73b861044886dc4f0dac7b8d473d08cf9b987569.tar.xz
ARM: aspeed: romulus: Add reset tolerance for power GPIOs
This is a similar change as Witherspoon, that enables the host to stay up across BMC reboots. OpenBMC-Staging-Count: 1 Signed-off-by: Lei YU <mine260309@gmail.com> Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
-rw-r--r--arch/arm/mach-aspeed/aspeed.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-aspeed/aspeed.c b/arch/arm/mach-aspeed/aspeed.c
index c84c87153c4c..5965bbfefaff 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)