From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gregory CLEMENT Subject: Re: [PATCH 06/16] serial: mvebu-uart: add soft reset at probe Date: Fri, 06 Oct 2017 14:33:03 +0200 Message-ID: <87h8vcfocg.fsf@free-electrons.com> References: <20171006101344.15590-1-miquel.raynal@free-electrons.com> <20171006101344.15590-7-miquel.raynal@free-electrons.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from mail.free-electrons.com ([62.4.15.54]:56355 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752165AbdJFMdP (ORCPT ); Fri, 6 Oct 2017 08:33:15 -0400 In-Reply-To: <20171006101344.15590-7-miquel.raynal@free-electrons.com> (Miquel Raynal's message of "Fri, 6 Oct 2017 12:13:34 +0200") Sender: linux-gpio-owner@vger.kernel.org List-Id: linux-gpio@vger.kernel.org To: Miquel Raynal Cc: Greg Kroah-Hartman , Linus Walleij , Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Jiri Slaby , Catalin Marinas , Will Deacon , Thomas Petazzoni , devicetree@vger.kernel.org, Allen Yan , Antoine Tenart , Nadav Haklai , linux-gpio@vger.kernel.org, linux-serial@vger.kernel.org, Wilson Ding , linux-arm-kernel@lists.infradead.org Hi Miquel, On ven., oct. 06 2017, Miquel Raynal wrote: > From: Allen Yan > > The existing UART driver relies on the bootloader to initialize the > port(s). However, the secondary uart port may not be initialized > properly in early boot stage. This patch adds the UART soft reset when > probing, for all ports. > > Signed-off-by: Allen Yan > Signed-off-by: Miquel Raynal Reviewed-by: Gregory CLEMENT Thanks, Gregory > --- > drivers/tty/serial/mvebu-uart.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c > index 82438884af1e..da756cfec0bb 100644 > --- a/drivers/tty/serial/mvebu-uart.c > +++ b/drivers/tty/serial/mvebu-uart.c > @@ -653,6 +653,11 @@ static int mvebu_uart_probe(struct platform_device *pdev) > port->private_data = mvuart; > platform_set_drvdata(pdev, mvuart); > > + /* UART Soft Reset*/ > + writel(CTRL_SOFT_RST, port->membase + UART_CTRL(port)); > + udelay(1); > + writel(0, port->membase + UART_CTRL(port)); > + > ret = uart_add_one_port(&mvebu_uart_driver, port); > if (ret) > return ret; > -- > 2.11.0 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com From mboxrd@z Thu Jan 1 00:00:00 1970 From: gregory.clement@free-electrons.com (Gregory CLEMENT) Date: Fri, 06 Oct 2017 14:33:03 +0200 Subject: [PATCH 06/16] serial: mvebu-uart: add soft reset at probe In-Reply-To: <20171006101344.15590-7-miquel.raynal@free-electrons.com> (Miquel Raynal's message of "Fri, 6 Oct 2017 12:13:34 +0200") References: <20171006101344.15590-1-miquel.raynal@free-electrons.com> <20171006101344.15590-7-miquel.raynal@free-electrons.com> Message-ID: <87h8vcfocg.fsf@free-electrons.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Miquel, On ven., oct. 06 2017, Miquel Raynal wrote: > From: Allen Yan > > The existing UART driver relies on the bootloader to initialize the > port(s). However, the secondary uart port may not be initialized > properly in early boot stage. This patch adds the UART soft reset when > probing, for all ports. > > Signed-off-by: Allen Yan > Signed-off-by: Miquel Raynal Reviewed-by: Gregory CLEMENT Thanks, Gregory > --- > drivers/tty/serial/mvebu-uart.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c > index 82438884af1e..da756cfec0bb 100644 > --- a/drivers/tty/serial/mvebu-uart.c > +++ b/drivers/tty/serial/mvebu-uart.c > @@ -653,6 +653,11 @@ static int mvebu_uart_probe(struct platform_device *pdev) > port->private_data = mvuart; > platform_set_drvdata(pdev, mvuart); > > + /* UART Soft Reset*/ > + writel(CTRL_SOFT_RST, port->membase + UART_CTRL(port)); > + udelay(1); > + writel(0, port->membase + UART_CTRL(port)); > + > ret = uart_add_one_port(&mvebu_uart_driver, port); > if (ret) > return ret; > -- > 2.11.0 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com