[PATCH linux dev-4.10] aspeed: firestone: Set SIO to bypass UART in hostboot

Lei YU mine260309 at gmail.com
Wed Oct 11 18:41:20 AEDT 2017


OpenBMC fails to boot host on Firestone.
The cause is that Firestone's hostboot hangs after disables
SUART/VUART.

The workaround is to make hostboot run into default SUART init
without disabling VUART, by setting 0x170 SIO register to 0.

With this workaround, Firestone boots OK.

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

diff --git a/arch/arm/mach-aspeed/aspeed.c b/arch/arm/mach-aspeed/aspeed.c
index a9e91d9..c84c871 100644
--- a/arch/arm/mach-aspeed/aspeed.c
+++ b/arch/arm/mach-aspeed/aspeed.c
@@ -104,6 +104,10 @@ static void __init do_firestone_setup(void)
 
 	/* Override serial destination to use the dedicated serial port */
 	writel(0x00004000, AST_IO(AST_BASE_LPC | 0x174));
+
+	/* Workaround to make hostboot run into default SUART init */
+	/* Otherwise it fails to boot */
+	writel(0x00000000, AST_IO(AST_BASE_LPC | 0x170));
 }
 
 static void __init do_garrison_setup(void)
-- 
1.9.1



More information about the openbmc mailing list