diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-07 11:08:50 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-07 11:09:51 +0100 |
commit | 2faea99ac26573623ff09759131cc5607ecb5bae (patch) | |
tree | f41489dc6f6276fd50cdf8d7ea13c1ec106e9aac /bsps/arm/realview-pbx-a9/console/console-polled.c | |
parent | termios: Move default lock functions (diff) | |
download | rtems-2faea99ac26573623ff09759131cc5607ecb5bae.tar.bz2 |
bsp/realview-pbx-a9: Fix printk() support
Avoid dependencies on the Termios support in case only printk() is used
by the application.
Diffstat (limited to 'bsps/arm/realview-pbx-a9/console/console-polled.c')
-rw-r--r-- | bsps/arm/realview-pbx-a9/console/console-polled.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/bsps/arm/realview-pbx-a9/console/console-polled.c b/bsps/arm/realview-pbx-a9/console/console-polled.c new file mode 100644 index 0000000000..53d5288e68 --- /dev/null +++ b/bsps/arm/realview-pbx-a9/console/console-polled.c @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2013, 2018 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * <info@embedded-brains.de> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#include <bsp/console.h> +#include <bsp.h> +#include <bsp/irq.h> + +#include <rtems/bspIo.h> + +arm_pl011_context rvpbx_pl011_context = { + .base = RTEMS_TERMIOS_DEVICE_CONTEXT_INITIALIZER("PL011"), + .regs = (volatile pl011 *) 0x10009000, + .irq = RVPBXA9_IRQ_UART_0, + .initial_baud = 115200 +}; + +static void output_char(char c) +{ + arm_pl011_write_polled(&rvpbx_pl011_context.base, c); +} + +bool rvpbx_pl011_probe(rtems_termios_device_context *base) +{ + BSP_output_char = output_char; + + return arm_pl011_probe(base); +} + +static void output_char_init(char c) +{ + rvpbx_pl011_probe(&rvpbx_pl011_context.base); + output_char(c); +} + +BSP_output_char_function_type BSP_output_char = output_char_init; + +BSP_polling_getchar_function_type BSP_poll_char = NULL; |