RTEMS  5.1
zynq-uart.h
Go to the documentation of this file.
1 
7 /*
8  * SPDX-License-Identifier: BSD-2-Clause
9  *
10  * Copyright (C) 2013, XXX embedded brains GmbH
11  *
12  * Redistribution and use in source and binary forms, with or without
13  * modification, are permitted provided that the following conditions
14  * are met:
15  * 1. Redistributions of source code must retain the above copyright
16  * notice, this list of conditions and the following disclaimer.
17  * 2. Redistributions in binary form must reproduce the above copyright
18  * notice, this list of conditions and the following disclaimer in the
19  * documentation and/or other materials provided with the distribution.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31  * POSSIBILITY OF SUCH DAMAGE.
32  */
33 
34 #ifndef LIBBSP_ARM_XILINX_ZYNQ_UART_H
35 #define LIBBSP_ARM_XILINX_ZYNQ_UART_H
36 
37 #include <rtems/termiostypes.h>
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif /* __cplusplus */
42 
49 typedef struct {
51  volatile struct zynq_uart *regs;
52  bool transmitting;
55 
56 extern const rtems_termios_device_handler zynq_uart_handler;
57 
58 #define ZYNQ_UART_DEFAULT_BAUD 115200
59 
60 void zynq_uart_initialize(rtems_termios_device_context *base);
61 
62 int zynq_uart_read_polled(rtems_termios_device_context *base);
63 
64 void zynq_uart_write_polled(
66  char c
67 );
68 
73 
74 #ifdef __cplusplus
75 }
76 #endif /* __cplusplus */
77 
78 #endif /* LIBBSP_ARM_XILINX_ZYNQ_UART_H */
void zynq_uart_reset_tx_flush(zynq_uart_context *ctx)
Definition: zynq-uart-polled.c:173
Termios device context.
Definition: termiostypes.h:75
ISR_Vector_number rtems_vector_number
Control block type used to manage the vectors.
Definition: intr.h:47
Definition: zynq-uart-regs.h:48
Definition: zynq-uart.h:49
Termios device handler.
Definition: termiostypes.h:141