source: rtems/c/src/lib/libbsp/arm/xilinx-zynq/include/zynq-uart.h @ 11f0d52

5
Last change on this file since 11f0d52 was 11f0d52, checked in by Sebastian Huber <sebastian.huber@…>, on Feb 22, 2017 at 8:01:40 AM

bsp/xilinx-zynq: Add interrupt support to UART

  • Property mode set to 100644
File size: 1.4 KB
Line 
1/**
2 * @file
3 * @ingroup zynq_uart
4 * @brief UART support.
5 */
6
7/*
8 * Copyright (c) 2013, 2017 embedded brains GmbH.  All rights reserved.
9 *
10 *  embedded brains GmbH
11 *  Dornierstr. 4
12 *  82178 Puchheim
13 *  Germany
14 *  <info@embedded-brains.de>
15 *
16 * The license and distribution terms for this file may be
17 * found in the file LICENSE in this distribution or at
18 * http://www.rtems.org/license/LICENSE.
19 */
20
21#ifndef LIBBSP_ARM_XILINX_ZYNQ_UART_H
22#define LIBBSP_ARM_XILINX_ZYNQ_UART_H
23
24#include <rtems/termiostypes.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif /* __cplusplus */
29
30/**
31 * @defgroup zynq_uart UART Support
32 * @ingroup arm_zynq
33 * @brief UART Support
34 */
35
36typedef struct {
37  rtems_termios_device_context base;
38  volatile struct zynq_uart *regs;
39  bool transmitting;
40  rtems_vector_number irq;
41} zynq_uart_context;
42
43const rtems_termios_device_handler zynq_uart_handler;
44
45extern zynq_uart_context zynq_uart_instances[2];
46
47#define ZYNQ_UART_DEFAULT_BAUD 115200
48
49void zynq_uart_initialize(rtems_termios_device_context *base);
50
51int zynq_uart_read_polled(rtems_termios_device_context *base);
52
53void zynq_uart_write_polled(
54  rtems_termios_device_context *base,
55  char c
56);
57
58/**
59  * Flush TX FIFO and wait until it is empty. Used in bsp_reset.
60  */
61void zynq_uart_reset_tx_flush(zynq_uart_context *ctx);
62
63#ifdef __cplusplus
64}
65#endif /* __cplusplus */
66
67#endif /* LIBBSP_ARM_XILINX_ZYNQ_UART_H */
Note: See TracBrowser for help on using the repository browser.