[PATCH linux v3] arm: aspeed: zaius: Disable LPC reset for UART1
Joel Stanley
joel at jms.id.au
Fri Feb 3 12:03:34 AEDT 2017
On Wed, Feb 1, 2017 at 11:42 AM, Xo Wang via openbmc
<openbmc at lists.ozlabs.org> wrote:
> Currently, UART1 on Zaius BMC is unusable until brought out of reset by
> powering the host on. In that default reset state, ttyS0 can still be
> opened and UART1 silently drops bytes, which is not obviously expected
> behavior.
>
> Clear the LPC block control bit that enables LPCRST# as a reset source
> for UART1, making UART1 immediately useful in that it won't discard
> bytes.
>
> Signed-off-by: Xo Wang <xow at google.com>
Andrew, Rick, are you guys happy with this now? Can I get an ack or review tag?
Cheers,
Joel
> ---
> arch/arm/mach-aspeed/aspeed.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm/mach-aspeed/aspeed.c b/arch/arm/mach-aspeed/aspeed.c
> index 4bd3680d742d..b7022eaa7b5d 100644
> --- a/arch/arm/mach-aspeed/aspeed.c
> +++ b/arch/arm/mach-aspeed/aspeed.c
> @@ -185,6 +185,14 @@ static void __init do_zaius_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_witherspoon_setup(void)
> --
> 2.11.0.483.g087da7b7c-goog
>
> _______________________________________________
> openbmc mailing list
> openbmc at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/openbmc
More information about the openbmc
mailing list