Re: [U-Boot] [PATCH RESEND 2/2] serial: opencores_yanu: Avoid duplicate oc_serial_setbrg() implementation

2014-02-11 Thread Thomas Chou

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
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH RESEND 2/2] serial: opencores_yanu: Avoid duplicate oc_serial_setbrg() implementation

2014-02-04 Thread Axel Lin
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@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 = 0x;
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 = 0x;
-   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



___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot