public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] Revert "serial: ns16550: fix debug uart putc called before init"
@ 2018-12-03 20:55 Simon Goldschmidt
  2018-12-03 20:57 ` Philipp Tomsich
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Simon Goldschmidt @ 2018-12-03 20:55 UTC (permalink / raw)
  To: u-boot

This reverts commit 6f57c34473d37b8da5e6a3764d0d377d748aeef1 since it
does not seem to work at least on rk3399.

The Rockchip Technical Reference Manual (TRM) for the rk3399 says the baud
rate prescaler register is readable only when USR[0] is zero. Since this
bit is defined as "reserved" in the socfpga cylcone5 TRM, let's rather
drop this than making the ns16550 debug uart more platform specific.

Reported-by: Roosen Henri <Henri.Roosen@ginzinger.com>
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
---

 drivers/serial/ns16550.c | 18 ++----------------
 1 file changed, 2 insertions(+), 16 deletions(-)

diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index f21c240e64..25b9d17243 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -272,26 +272,12 @@ static inline void _debug_uart_init(void)
 	serial_dout(&com_port->lcr, UART_LCRVAL);
 }
 
-static inline int NS16550_read_baud_divisor(struct NS16550 *com_port)
-{
-	int ret;
-
-	serial_dout(&com_port->lcr, UART_LCR_BKSE | UART_LCRVAL);
-	ret = serial_din(&com_port->dll) & 0xff;
-	ret |= (serial_din(&com_port->dlm) & 0xff) << 8;
-	serial_dout(&com_port->lcr, UART_LCRVAL);
-
-	return ret;
-}
-
 static inline void _debug_uart_putc(int ch)
 {
 	struct NS16550 *com_port = (struct NS16550 *)CONFIG_DEBUG_UART_BASE;
 
-	while (!(serial_din(&com_port->lsr) & UART_LSR_THRE)) {
-		if (!NS16550_read_baud_divisor(com_port))
-			return;
-	}
+	while (!(serial_din(&com_port->lsr) & UART_LSR_THRE))
+		;
 	serial_dout(&com_port->thr, ch);
 }
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] Revert "serial: ns16550: fix debug uart putc called before init"
  2018-12-03 20:55 [U-Boot] [PATCH] Revert "serial: ns16550: fix debug uart putc called before init" Simon Goldschmidt
@ 2018-12-03 20:57 ` Philipp Tomsich
  2018-12-03 21:01   ` Tom Rini
  2018-12-04  2:49 ` Kever Yang
  2018-12-04  4:50 ` [U-Boot] " Tom Rini
  2 siblings, 1 reply; 5+ messages in thread
From: Philipp Tomsich @ 2018-12-03 20:57 UTC (permalink / raw)
  To: u-boot



> On 03.12.2018, at 21:55, Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> wrote:
> 
> This reverts commit 6f57c34473d37b8da5e6a3764d0d377d748aeef1 since it
> does not seem to work at least on rk3399.
> 
> The Rockchip Technical Reference Manual (TRM) for the rk3399 says the baud
> rate prescaler register is readable only when USR[0] is zero. Since this
> bit is defined as "reserved" in the socfpga cylcone5 TRM, let's rather
> drop this than making the ns16550 debug uart more platform specific.
> 
> Reported-by: Roosen Henri <Henri.Roosen@ginzinger.com>
> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>

Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] Revert "serial: ns16550: fix debug uart putc called before init"
  2018-12-03 20:57 ` Philipp Tomsich
@ 2018-12-03 21:01   ` Tom Rini
  0 siblings, 0 replies; 5+ messages in thread
From: Tom Rini @ 2018-12-03 21:01 UTC (permalink / raw)
  To: u-boot

On Mon, Dec 03, 2018 at 09:57:06PM +0100, Philipp Tomsich wrote:
> 
> 
> > On 03.12.2018, at 21:55, Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> wrote:
> > 
> > This reverts commit 6f57c34473d37b8da5e6a3764d0d377d748aeef1 since it
> > does not seem to work at least on rk3399.
> > 
> > The Rockchip Technical Reference Manual (TRM) for the rk3399 says the baud
> > rate prescaler register is readable only when USR[0] is zero. Since this
> > bit is defined as "reserved" in the socfpga cylcone5 TRM, let's rather
> > drop this than making the ns16550 debug uart more platform specific.
> > 
> > Reported-by: Roosen Henri <Henri.Roosen@ginzinger.com>
> > Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
> 
> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

Thanks, I will apply this before release.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181203/fc0f88fa/attachment.sig>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] Revert "serial: ns16550: fix debug uart putc called before init"
  2018-12-03 20:55 [U-Boot] [PATCH] Revert "serial: ns16550: fix debug uart putc called before init" Simon Goldschmidt
  2018-12-03 20:57 ` Philipp Tomsich
@ 2018-12-04  2:49 ` Kever Yang
  2018-12-04  4:50 ` [U-Boot] " Tom Rini
  2 siblings, 0 replies; 5+ messages in thread
From: Kever Yang @ 2018-12-04  2:49 UTC (permalink / raw)
  To: u-boot

Hi Simon,


On 12/04/2018 04:55 AM, Simon Goldschmidt wrote:
> This reverts commit 6f57c34473d37b8da5e6a3764d0d377d748aeef1 since it
> does not seem to work at least on rk3399.
>
> The Rockchip Technical Reference Manual (TRM) for the rk3399 says the baud
> rate prescaler register is readable only when USR[0] is zero. Since this
> bit is defined as "reserved" in the socfpga cylcone5 TRM, let's rather
> drop this than making the ns16550 debug uart more platform specific.
>
> Reported-by: Roosen Henri <Henri.Roosen@ginzinger.com>
> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>

Reviewed-by:  Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>
>  drivers/serial/ns16550.c | 18 ++----------------
>  1 file changed, 2 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
> index f21c240e64..25b9d17243 100644
> --- a/drivers/serial/ns16550.c
> +++ b/drivers/serial/ns16550.c
> @@ -272,26 +272,12 @@ static inline void _debug_uart_init(void)
>  	serial_dout(&com_port->lcr, UART_LCRVAL);
>  }
>  
> -static inline int NS16550_read_baud_divisor(struct NS16550 *com_port)
> -{
> -	int ret;
> -
> -	serial_dout(&com_port->lcr, UART_LCR_BKSE | UART_LCRVAL);
> -	ret = serial_din(&com_port->dll) & 0xff;
> -	ret |= (serial_din(&com_port->dlm) & 0xff) << 8;
> -	serial_dout(&com_port->lcr, UART_LCRVAL);
> -
> -	return ret;
> -}
> -
>  static inline void _debug_uart_putc(int ch)
>  {
>  	struct NS16550 *com_port = (struct NS16550 *)CONFIG_DEBUG_UART_BASE;
>  
> -	while (!(serial_din(&com_port->lsr) & UART_LSR_THRE)) {
> -		if (!NS16550_read_baud_divisor(com_port))
> -			return;
> -	}
> +	while (!(serial_din(&com_port->lsr) & UART_LSR_THRE))
> +		;
>  	serial_dout(&com_port->thr, ch);
>  }
>  

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] Revert "serial: ns16550: fix debug uart putc called before init"
  2018-12-03 20:55 [U-Boot] [PATCH] Revert "serial: ns16550: fix debug uart putc called before init" Simon Goldschmidt
  2018-12-03 20:57 ` Philipp Tomsich
  2018-12-04  2:49 ` Kever Yang
@ 2018-12-04  4:50 ` Tom Rini
  2 siblings, 0 replies; 5+ messages in thread
From: Tom Rini @ 2018-12-04  4:50 UTC (permalink / raw)
  To: u-boot

On Mon, Dec 03, 2018 at 09:55:33PM +0100, Simon Goldschmidt wrote:

> This reverts commit 6f57c34473d37b8da5e6a3764d0d377d748aeef1 since it
> does not seem to work at least on rk3399.
> 
> The Rockchip Technical Reference Manual (TRM) for the rk3399 says the baud
> rate prescaler register is readable only when USR[0] is zero. Since this
> bit is defined as "reserved" in the socfpga cylcone5 TRM, let's rather
> drop this than making the ns16550 debug uart more platform specific.
> 
> Reported-by: Roosen Henri <Henri.Roosen@ginzinger.com>
> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181203/0ed8582d/attachment.sig>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-12-04  4:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-03 20:55 [U-Boot] [PATCH] Revert "serial: ns16550: fix debug uart putc called before init" Simon Goldschmidt
2018-12-03 20:57 ` Philipp Tomsich
2018-12-03 21:01   ` Tom Rini
2018-12-04  2:49 ` Kever Yang
2018-12-04  4:50 ` [U-Boot] " Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox