All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH RESEND 1/2] serial: opencores_yanu: Fix build error
@ 2014-02-05  4:45 Axel Lin
  2014-02-05  4:46 ` [U-Boot] [PATCH RESEND 2/2] serial: opencores_yanu: Avoid duplicate oc_serial_setbrg() implementation Axel Lin
  2014-02-11  7:56 ` [U-Boot] [PATCH RESEND 1/2] serial: opencores_yanu: Fix build error Thomas Chou
  0 siblings, 2 replies; 4+ messages in thread
From: Axel Lin @ 2014-02-05  4:45 UTC (permalink / raw)
  To: u-boot

Fix build error due to missing include of serial.h and a trivial typo.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
Hi Tom,
This patch was sent on
http://lists.denx.de/pipermail/u-boot/2014-January/171093.html
I don't get any feedback from NIOS2 maintainers so far.
Maybe you can pick up this serial
(or at least pick up this one which fixes build error).

Thanks,
Axel
 drivers/serial/opencores_yanu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/serial/opencores_yanu.c b/drivers/serial/opencores_yanu.c
index 8de2eca..80e9ae5 100644
--- a/drivers/serial/opencores_yanu.c
+++ b/drivers/serial/opencores_yanu.c
@@ -8,6 +8,7 @@
 #include <watchdog.h>
 #include <asm/io.h>
 #include <nios2-yanu.h>
+#include <serial.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -154,7 +155,7 @@ static int oc_serial_tstc(void)
 		 ((1 << YANU_RFIFO_CHARS_N) - 1)) > 0);
 }
 
-statoc int oc_serial_getc(void)
+static int oc_serial_getc(void)
 {
 	while (serial_tstc() == 0)
 		WATCHDOG_RESET ();
-- 
1.8.1.2

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

* [U-Boot] [PATCH RESEND 2/2] serial: opencores_yanu: Avoid duplicate oc_serial_setbrg() implementation
  2014-02-05  4:45 [U-Boot] [PATCH RESEND 1/2] serial: opencores_yanu: Fix build error Axel Lin
@ 2014-02-05  4:46 ` Axel Lin
  2014-02-11  7:57   ` Thomas Chou
  2014-02-11  7:56 ` [U-Boot] [PATCH RESEND 1/2] serial: opencores_yanu: Fix build error Thomas Chou
  1 sibling, 1 reply; 4+ messages in thread
From: Axel Lin @ 2014-02-05  4:46 UTC (permalink / raw)
  To: u-boot

The implementation of oc_serial_setbrg() for CONFIG_SYS_NIOS_FIXEDBAUD and
!CONFIG_SYS_NIOS_FIXEDBAUD are very similar.
Add a baudrate variable and set it to either CONFIG_BAUDRATE or gd->baudrate.
Then we can unify the code for both cases.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
 drivers/serial/opencores_yanu.c | 49 ++++++++---------------------------------
 1 file changed, 9 insertions(+), 40 deletions(-)

diff --git a/drivers/serial/opencores_yanu.c b/drivers/serial/opencores_yanu.c
index 80e9ae5..d4ed60c 100644
--- a/drivers/serial/opencores_yanu.c
+++ b/drivers/serial/opencores_yanu.c
@@ -18,62 +18,34 @@ DECLARE_GLOBAL_DATA_PTR;
 
 static yanu_uart_t *uart = (yanu_uart_t *)CONFIG_SYS_NIOS_CONSOLE;
 
-#if defined(CONFIG_SYS_NIOS_FIXEDBAUD)
-
-/* Everything's already setup for fixed-baud PTF assignment*/
-
 static void oc_serial_setbrg(void)
 {
 	int n, k;
 	const unsigned max_uns = 0xFFFFFFFF;
 	unsigned best_n, best_m, baud;
+	unsigned baudrate;
 
-	/* compute best N and M couple */
-	best_n = YANU_MAX_PRESCALER_N;
-	for (n = YANU_MAX_PRESCALER_N; n >= 0; n--) {
-		if ((unsigned)CONFIG_SYS_CLK_FREQ / (1 << (n + 4)) >=
-		    (unsigned)CONFIG_BAUDRATE) {
-			best_n = n;
-			break;
-		}
-	}
-	for (k = 0;; k++) {
-		if ((unsigned)CONFIG_BAUDRATE <= (max_uns >> (15+n-k)))
-			break;
-	}
-	best_m =
-	    ((unsigned)CONFIG_BAUDRATE * (1 << (15 + n - k))) /
-	    ((unsigned)CONFIG_SYS_CLK_FREQ >> k);
-
-	baud = best_m + best_n * YANU_BAUDE;
-	writel(baud, &uart->baud);
-
-	return;
-}
-
+#if defined(CONFIG_SYS_NIOS_FIXEDBAUD)
+	/* Everything's already setup for fixed-baud PTF assignment */
+	baudrate = CONFIG_BAUDRATE;
 #else
-
-static void oc_serial_setbrg(void)
-{
-	int n, k;
-	const unsigned max_uns = 0xFFFFFFFF;
-	unsigned best_n, best_m, baud;
-
+	baudrate = gd->baudrate;
+#endif
 	/* compute best N and M couple */
 	best_n = YANU_MAX_PRESCALER_N;
 	for (n = YANU_MAX_PRESCALER_N; n >= 0; n--) {
 		if ((unsigned)CONFIG_SYS_CLK_FREQ / (1 << (n + 4)) >=
-		    gd->baudrate) {
+		    baudrate) {
 			best_n = n;
 			break;
 		}
 	}
 	for (k = 0;; k++) {
-		if (gd->baudrate <= (max_uns >> (15+n-k)))
+		if (baudrate <= (max_uns >> (15+n-k)))
 			break;
 	}
 	best_m =
-	    (gd->baudrate * (1 << (15 + n - k))) /
+	    (baudrate * (1 << (15 + n - k))) /
 	    ((unsigned)CONFIG_SYS_CLK_FREQ >> k);
 
 	baud = best_m + best_n * YANU_BAUDE;
@@ -82,9 +54,6 @@ static void oc_serial_setbrg(void)
 	return;
 }
 
-
-#endif /* CONFIG_SYS_NIOS_FIXEDBAUD */
-
 static int oc_serial_init(void)
 {
 	unsigned action,control;
-- 
1.8.1.2

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

* [U-Boot] [PATCH RESEND 1/2] serial: opencores_yanu: Fix build error
  2014-02-05  4:45 [U-Boot] [PATCH RESEND 1/2] serial: opencores_yanu: Fix build error Axel Lin
  2014-02-05  4:46 ` [U-Boot] [PATCH RESEND 2/2] serial: opencores_yanu: Avoid duplicate oc_serial_setbrg() implementation Axel Lin
@ 2014-02-11  7:56 ` Thomas Chou
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Chou @ 2014-02-11  7:56 UTC (permalink / raw)
  To: u-boot

Hi Alex,

On 02/05/2014 12:45 PM, Axel Lin wrote:
> Fix build error due to missing include of serial.h and a trivial typo.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> ---
> Hi Tom,
> This patch was sent on
> http://lists.denx.de/pipermail/u-boot/2014-January/171093.html
> I don't get any feedback from NIOS2 maintainers so far.
> Maybe you can pick up this serial
> (or at least pick up this one which fixes build error).

Applied to nios branch. Thanks and sorry for late response.

Thomas Chou

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

* [U-Boot] [PATCH RESEND 2/2] serial: opencores_yanu: Avoid duplicate oc_serial_setbrg() implementation
  2014-02-05  4:46 ` [U-Boot] [PATCH RESEND 2/2] serial: opencores_yanu: Avoid duplicate oc_serial_setbrg() implementation Axel Lin
@ 2014-02-11  7:57   ` Thomas Chou
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Chou @ 2014-02-11  7:57 UTC (permalink / raw)
  To: u-boot

Hi Alex,

On 02/05/2014 12:46 PM, Axel Lin wrote:
> The implementation of oc_serial_setbrg() for CONFIG_SYS_NIOS_FIXEDBAUD and
> !CONFIG_SYS_NIOS_FIXEDBAUD are very similar.
> Add a baudrate variable and set it to either CONFIG_BAUDRATE or gd->baudrate.
> Then we can unify the code for both cases.

Applied to nios branch. Thanks and sorry for late response.

Thomas Chou

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

end of thread, other threads:[~2014-02-11  7:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-05  4:45 [U-Boot] [PATCH RESEND 1/2] serial: opencores_yanu: Fix build error Axel Lin
2014-02-05  4:46 ` [U-Boot] [PATCH RESEND 2/2] serial: opencores_yanu: Avoid duplicate oc_serial_setbrg() implementation Axel Lin
2014-02-11  7:57   ` Thomas Chou
2014-02-11  7:56 ` [U-Boot] [PATCH RESEND 1/2] serial: opencores_yanu: Fix build error Thomas Chou

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.