summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Stanley <joel@jms.id.au>2017-05-01 10:51:39 +0300
committerPatrick Williams <patrick@stwcx.xyz>2017-05-01 21:53:51 +0300
commit912e689d0b12445025dab6053825c81e7777bcd3 (patch)
tree5dcb63827972bca19296ea6e580058d5184dd64c
parent8b5847cfa7d8ae5e306203fc01c3dde8c8d25649 (diff)
downloadlinux-912e689d0b12445025dab6053825c81e7777bcd3.tar.xz
ARM: aspeed: witherspoon: Take UART1 out of reset
This is required so the UART can be used before booting the host. Signed-off-by: Joel Stanley <joel@jms.id.au> Reviewed-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
-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 0717181cc890..0d1dded5d91b 100644
--- a/arch/arm/mach-aspeed/aspeed.c
+++ b/arch/arm/mach-aspeed/aspeed.c
@@ -197,6 +197,8 @@ static void __init do_zaius_setup(void)
static void __init do_witherspoon_setup(void)
{
+ int reg;
+
do_common_setup();
/* Setup PNOR address mapping for 64M flash
@@ -216,6 +218,14 @@ static void __init do_witherspoon_setup(void)
/* Set SPI1 CE0 decoding window to 0x30000000 */
writel(0x68600000, AST_IO(AST_BASE_SPI | 0x30));
+
+ /* Disable default behavior of UART1 being held in reset by LPCRST#.
+ * By releasing UART1 from being controlled by LPC reset, it becomes
+ * immediately available regardless of the host being up.
+ */
+ reg = readl(AST_IO(AST_BASE_LPC | 0x98));
+ /* Clear "Enable UART1 reset source from LPC" */
+ writel(reg & ~BIT(4), AST_IO(AST_BASE_LPC | 0x98));
}
static void __init do_romulus_setup(void)