summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-03-07 10:32:42 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-03-07 13:03:32 +0100
commitbefae6ab989116101ef7e286d8044857db1c797c (patch)
tree5f54321126df409ab4584d49735bb694210b2eb3 /c/src/lib/libbsp/m68k
parentbsps/m68k: Fix entry point in linkcmds.base (diff)
downloadrtems-befae6ab989116101ef7e286d8044857db1c797c.tar.bz2
bsp/genmcf548x: Fix printk() support
Diffstat (limited to 'c/src/lib/libbsp/m68k')
-rw-r--r--c/src/lib/libbsp/m68k/genmcf548x/console/console.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/m68k/genmcf548x/console/console.c b/c/src/lib/libbsp/m68k/genmcf548x/console/console.c
index d22cfe6af1..32e5601a17 100644
--- a/c/src/lib/libbsp/m68k/genmcf548x/console/console.c
+++ b/c/src/lib/libbsp/m68k/genmcf548x/console/console.c
@@ -71,11 +71,12 @@
static ssize_t IntUartPollWrite(int minor, const char *buf, size_t len);
static int IntUartPollRead (int minor);
+static int IntUartSetAttributes(int minor, const struct termios *t);
static void
-_BSP_null_char( char c )
+psc_output_char( char c )
{
- int level;
+ rtems_interrupt_level level;
rtems_interrupt_disable(level);
while (!((MCF548X_PSC_SR(CONSOLE_PORT) & MCF548X_PSC_SR_TXRDY)))
@@ -85,7 +86,17 @@ _BSP_null_char( char c )
continue;
rtems_interrupt_enable(level);
}
-BSP_output_char_function_type BSP_output_char = _BSP_null_char;
+
+static void
+psc_output_char_init(char c)
+{
+ IntUartSetAttributes(CONSOLE_PORT, NULL);
+ BSP_output_char = psc_output_char;
+ psc_output_char(c);
+}
+
+BSP_output_char_function_type BSP_output_char = psc_output_char_init;
+
BSP_polling_getchar_function_type BSP_poll_char = NULL;
#define MAX_UART_INFO 4
@@ -485,7 +496,7 @@ IntUartInitialize(void)
bsp_interrupt_vector_enable(MCF548X_IRQ_PSC(chan));
} /* of chan loop */
-
+ BSP_output_char = psc_output_char;
} /* IntUartInitialise */
/***************************************************************************