All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] dm: serial: fix uart stop bits
@ 2017-05-18 17:59 Álvaro Fernández Rojas
  2017-05-18 18:01 ` [U-Boot] [PATCH] dm: serial: bcm6345: " Álvaro Fernández Rojas
  0 siblings, 1 reply; 9+ messages in thread
From: Álvaro Fernández Rojas @ 2017-05-18 17:59 UTC (permalink / raw)
  To: u-boot

I missed this when I added support for BMIPS UART driver and it's needed to
achieve a real 115200 8N1 setup.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 drivers/serial/serial_bcm6345.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/serial/serial_bcm6345.c b/drivers/serial/serial_bcm6345.c
index db270e3..14c1bf2 100644
--- a/drivers/serial/serial_bcm6345.c
+++ b/drivers/serial/serial_bcm6345.c
@@ -141,6 +141,8 @@ static int bcm6345_serial_init(void __iomem *base, ulong clk, u32 baudrate)
 			UART_CTL_RXTIMEOUT_5 |
 			/* set 8 bits/symbol */
 			UART_CTL_BITSPERSYM_8 |
+			/* set 1 stop bit */
+			UART_CTL_STOPBITS_1 |
 			/* set parity to even */
 			UART_CTL_RXPAREVEN_MASK |
 			UART_CTL_TXPAREVEN_MASK);
-- 
2.1.4

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

* [U-Boot] [PATCH] dm: serial: bcm6345: fix uart stop bits
  2017-05-18 17:59 [U-Boot] [PATCH] dm: serial: fix uart stop bits Álvaro Fernández Rojas
@ 2017-05-18 18:01 ` Álvaro Fernández Rojas
  2017-05-18 21:09   ` [U-Boot] [PATCH v3 1/2] " Álvaro Fernández Rojas
  0 siblings, 1 reply; 9+ messages in thread
From: Álvaro Fernández Rojas @ 2017-05-18 18:01 UTC (permalink / raw)
  To: u-boot

I missed this when I added support for BMIPS UART driver and it's needed to
achieve a real 115200 8N1 setup.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v2: fix commit title (missed bcm6345)

 drivers/serial/serial_bcm6345.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/serial/serial_bcm6345.c b/drivers/serial/serial_bcm6345.c
index db270e3..14c1bf2 100644
--- a/drivers/serial/serial_bcm6345.c
+++ b/drivers/serial/serial_bcm6345.c
@@ -141,6 +141,8 @@ static int bcm6345_serial_init(void __iomem *base, ulong clk, u32 baudrate)
 			UART_CTL_RXTIMEOUT_5 |
 			/* set 8 bits/symbol */
 			UART_CTL_BITSPERSYM_8 |
+			/* set 1 stop bit */
+			UART_CTL_STOPBITS_1 |
 			/* set parity to even */
 			UART_CTL_RXPAREVEN_MASK |
 			UART_CTL_TXPAREVEN_MASK);
-- 
2.1.4

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

* [U-Boot] [PATCH v3 1/2] dm: serial: bcm6345: fix uart stop bits
  2017-05-18 18:01 ` [U-Boot] [PATCH] dm: serial: bcm6345: " Álvaro Fernández Rojas
@ 2017-05-18 21:09   ` Álvaro Fernández Rojas
  2017-05-18 21:09     ` [U-Boot] [PATCH v3 2/2] dm: serial: bcm6345: fix baud rate clock calculation Álvaro Fernández Rojas
  2017-05-20 16:04     ` [U-Boot] [PATCH v3 1/2] dm: serial: bcm6345: fix uart stop bits Daniel Schwierzeck
  0 siblings, 2 replies; 9+ messages in thread
From: Álvaro Fernández Rojas @ 2017-05-18 21:09 UTC (permalink / raw)
  To: u-boot

I missed this when I added support for BMIPS UART driver and it's needed to
achieve a real 115200 8N1 setup.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v3: no changes, added another fix on a separate patch.
 v2: fix commit title (missed bcm6345)

 drivers/serial/serial_bcm6345.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/serial/serial_bcm6345.c b/drivers/serial/serial_bcm6345.c
index db270e3..14c1bf2 100644
--- a/drivers/serial/serial_bcm6345.c
+++ b/drivers/serial/serial_bcm6345.c
@@ -141,6 +141,8 @@ static int bcm6345_serial_init(void __iomem *base, ulong clk, u32 baudrate)
 			UART_CTL_RXTIMEOUT_5 |
 			/* set 8 bits/symbol */
 			UART_CTL_BITSPERSYM_8 |
+			/* set 1 stop bit */
+			UART_CTL_STOPBITS_1 |
 			/* set parity to even */
 			UART_CTL_RXPAREVEN_MASK |
 			UART_CTL_TXPAREVEN_MASK);
-- 
2.1.4

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

* [U-Boot] [PATCH v3 2/2] dm: serial: bcm6345: fix baud rate clock calculation
  2017-05-18 21:09   ` [U-Boot] [PATCH v3 1/2] " Álvaro Fernández Rojas
@ 2017-05-18 21:09     ` Álvaro Fernández Rojas
  2017-05-20 16:04       ` Daniel Schwierzeck
  2017-05-20 16:04     ` [U-Boot] [PATCH v3 1/2] dm: serial: bcm6345: fix uart stop bits Daniel Schwierzeck
  1 sibling, 1 reply; 9+ messages in thread
From: Álvaro Fernández Rojas @ 2017-05-18 21:09 UTC (permalink / raw)
  To: u-boot

It's currently bugged and doesn't work for even cases.
Right shift bits instead of dividing and fix even cases.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 drivers/serial/serial_bcm6345.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/serial/serial_bcm6345.c b/drivers/serial/serial_bcm6345.c
index 14c1bf2..9638952 100644
--- a/drivers/serial/serial_bcm6345.c
+++ b/drivers/serial/serial_bcm6345.c
@@ -157,11 +157,9 @@ static int bcm6345_serial_init(void __iomem *base, ulong clk, u32 baudrate)
 			UART_FIFO_CFG_TX_4);
 
 	/* set baud rate */
-	val = (clk / baudrate) / 16;
-	if (val & 0x1)
-		val = val;
-	else
-		val = val / 2 - 1;
+	val = ((clk / baudrate) >> 5);
+	if (!(val & 0x1))
+		val -= 1;
 	writel_be(val, base + UART_BAUD_REG);
 
 	/* clear interrupts */
@@ -243,7 +241,7 @@ static int bcm6345_serial_probe(struct udevice *dev)
 	ret = clk_get_by_index(dev, 0, &clk);
 	if (ret < 0)
 		return ret;
-	priv->uartclk = clk_get_rate(&clk) / 2;
+	priv->uartclk = clk_get_rate(&clk);
 	clk_free(&clk);
 
 	/* initialize serial */
-- 
2.1.4

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

* [U-Boot] [PATCH v3 2/2] dm: serial: bcm6345: fix baud rate clock calculation
  2017-05-18 21:09     ` [U-Boot] [PATCH v3 2/2] dm: serial: bcm6345: fix baud rate clock calculation Álvaro Fernández Rojas
@ 2017-05-20 16:04       ` Daniel Schwierzeck
  2017-05-22 14:24         ` Álvaro Fernández Rojas
  0 siblings, 1 reply; 9+ messages in thread
From: Daniel Schwierzeck @ 2017-05-20 16:04 UTC (permalink / raw)
  To: u-boot



Am 18.05.2017 um 23:09 schrieb Álvaro Fernández Rojas:
> It's currently bugged and doesn't work for even cases.
> Right shift bits instead of dividing and fix even cases.
> 
> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
> ---
>  drivers/serial/serial_bcm6345.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 

applied to u-boot-mips, thanks.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170520/c7e23eaf/attachment.sig>

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

* [U-Boot] [PATCH v3 1/2] dm: serial: bcm6345: fix uart stop bits
  2017-05-18 21:09   ` [U-Boot] [PATCH v3 1/2] " Álvaro Fernández Rojas
  2017-05-18 21:09     ` [U-Boot] [PATCH v3 2/2] dm: serial: bcm6345: fix baud rate clock calculation Álvaro Fernández Rojas
@ 2017-05-20 16:04     ` Daniel Schwierzeck
  1 sibling, 0 replies; 9+ messages in thread
From: Daniel Schwierzeck @ 2017-05-20 16:04 UTC (permalink / raw)
  To: u-boot



Am 18.05.2017 um 23:09 schrieb Álvaro Fernández Rojas:
> I missed this when I added support for BMIPS UART driver and it's needed to
> achieve a real 115200 8N1 setup.
> 
> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
> ---
>  v3: no changes, added another fix on a separate patch.
>  v2: fix commit title (missed bcm6345)
> 
>  drivers/serial/serial_bcm6345.c | 2 ++
>  1 file changed, 2 insertions(+)
> 

applied to u-boot-mips, thanks.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170520/830bfb25/attachment.sig>

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

* [U-Boot] [PATCH v3 2/2] dm: serial: bcm6345: fix baud rate clock calculation
  2017-05-20 16:04       ` Daniel Schwierzeck
@ 2017-05-22 14:24         ` Álvaro Fernández Rojas
  2017-05-22 18:01           ` [U-Boot] [PATCH v4] " Álvaro Fernández Rojas
  0 siblings, 1 reply; 9+ messages in thread
From: Álvaro Fernández Rojas @ 2017-05-22 14:24 UTC (permalink / raw)
  To: u-boot




	
		
		
	
		
		Hi Daniel,
It looks like this is not the correct way to calculate it either.I will send a proper patch later today.I'm very sorry for the inconvenience.
Regards,Álvaro.
		

		
	





On Sat, May 20, 2017 at 6:04 PM +0200, "Daniel Schwierzeck" <daniel.schwierzeck@gmail.com> wrote:












Am 18.05.2017 um 23:09 schrieb Álvaro Fernández Rojas:
> It's currently bugged and doesn't work for even cases.
> Right shift bits instead of dividing and fix even cases.
> 
> Signed-off-by: Álvaro Fernández Rojas 
> ---
>  drivers/serial/serial_bcm6345.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 

applied to u-boot-mips, thanks.

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

* [U-Boot] [PATCH v4] dm: serial: bcm6345: fix baud rate clock calculation
  2017-05-22 14:24         ` Álvaro Fernández Rojas
@ 2017-05-22 18:01           ` Álvaro Fernández Rojas
  2017-05-31 12:58             ` Daniel Schwierzeck
  0 siblings, 1 reply; 9+ messages in thread
From: Álvaro Fernández Rojas @ 2017-05-22 18:01 UTC (permalink / raw)
  To: u-boot

It's currently bugged and doesn't work for even cases.
Right shift bits instead of dividing and fix even cases.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v4: really fix baud rate calculation
 v3: fix baud rate calculation

 drivers/serial/serial_bcm6345.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/serial/serial_bcm6345.c b/drivers/serial/serial_bcm6345.c
index 14c1bf2..0843b48 100644
--- a/drivers/serial/serial_bcm6345.c
+++ b/drivers/serial/serial_bcm6345.c
@@ -157,11 +157,11 @@ static int bcm6345_serial_init(void __iomem *base, ulong clk, u32 baudrate)
 			UART_FIFO_CFG_TX_4);
 
 	/* set baud rate */
-	val = (clk / baudrate) / 16;
+	val = ((clk / baudrate) >> 4);
 	if (val & 0x1)
-		val = val;
+		val = (val >> 1);
 	else
-		val = val / 2 - 1;
+		val = (val >> 1) - 1;
 	writel_be(val, base + UART_BAUD_REG);
 
 	/* clear interrupts */
@@ -243,7 +243,7 @@ static int bcm6345_serial_probe(struct udevice *dev)
 	ret = clk_get_by_index(dev, 0, &clk);
 	if (ret < 0)
 		return ret;
-	priv->uartclk = clk_get_rate(&clk) / 2;
+	priv->uartclk = clk_get_rate(&clk);
 	clk_free(&clk);
 
 	/* initialize serial */
-- 
2.1.4

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

* [U-Boot] [PATCH v4] dm: serial: bcm6345: fix baud rate clock calculation
  2017-05-22 18:01           ` [U-Boot] [PATCH v4] " Álvaro Fernández Rojas
@ 2017-05-31 12:58             ` Daniel Schwierzeck
  0 siblings, 0 replies; 9+ messages in thread
From: Daniel Schwierzeck @ 2017-05-31 12:58 UTC (permalink / raw)
  To: u-boot



Am 22.05.2017 um 20:01 schrieb Álvaro Fernández Rojas:
> It's currently bugged and doesn't work for even cases.
> Right shift bits instead of dividing and fix even cases.
> 
> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
> ---
>  v4: really fix baud rate calculation
>  v3: fix baud rate calculation
> 
>  drivers/serial/serial_bcm6345.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 

applied to u-boot-mips/next and replaced the previously applied v3
patch, thanks.

-- 
- Daniel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170531/fc4ff360/attachment.sig>

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

end of thread, other threads:[~2017-05-31 12:58 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-18 17:59 [U-Boot] [PATCH] dm: serial: fix uart stop bits Álvaro Fernández Rojas
2017-05-18 18:01 ` [U-Boot] [PATCH] dm: serial: bcm6345: " Álvaro Fernández Rojas
2017-05-18 21:09   ` [U-Boot] [PATCH v3 1/2] " Álvaro Fernández Rojas
2017-05-18 21:09     ` [U-Boot] [PATCH v3 2/2] dm: serial: bcm6345: fix baud rate clock calculation Álvaro Fernández Rojas
2017-05-20 16:04       ` Daniel Schwierzeck
2017-05-22 14:24         ` Álvaro Fernández Rojas
2017-05-22 18:01           ` [U-Boot] [PATCH v4] " Álvaro Fernández Rojas
2017-05-31 12:58             ` Daniel Schwierzeck
2017-05-20 16:04     ` [U-Boot] [PATCH v3 1/2] dm: serial: bcm6345: fix uart stop bits Daniel Schwierzeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.