Message ID | 1507707680-19898-1-git-send-email-mine260309@gmail.com |
---|---|
State | Accepted, archived |
Headers | show |
Series | [linux,dev-4.10] aspeed: firestone: Set SIO to bypass UART in hostboot | expand |
On Wed, 2017-10-11 at 15:41 +0800, Lei YU wrote: > 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@gmail.com> Applied to dev-4.10. We really should start to think again about how best to do this from userspace. Andrew > --- > 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)
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)
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@gmail.com> --- arch/arm/mach-aspeed/aspeed.c | 4 ++++ 1 file changed, 4 insertions(+)