* [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
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox