RTEMS  5.1
uart.h
1 /*
2  * RTEMS driver for Blackfin UARTs
3  *
4  * COPYRIGHT (c) 2008 Kallisti Labs, Los Gatos, CA, USA
5  * written by Allan Hessenflow <allanh@kallisti.com>
6  *
7  * The license and distribution terms for this file may be
8  * found in the file LICENSE in this distribution or at
9  * http://www.rtems.org/license/LICENSE.
10  */
11 
12 
13 #ifndef _UART_H_
14 #define _UART_H_
15 
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
23 typedef struct {
24  const char *name;
25  uint32_t uart_baseAddress;
29  bool uart_useDma;
30  int uart_baud;
32  void *termios;
33  uint8_t volatile flags;
34  uint16_t length;
36 
37 
38 typedef struct {
39  uint32_t freq;
40  int num_channels;
41  bfin_uart_channel_t *channels;
43 
49 typedef struct {
50  uint32_t base_address;
51  int source;
53 
54 
55 
56 char bfin_uart_poll_read(rtems_device_minor_number minor);
57 
58 void bfin_uart_poll_write(int minor, char c);
59 
60 
67 rtems_status_code bfin_uart_initialize(rtems_device_major_number major,
69 
70 
71 
84 rtems_device_driver bfin_uart_open(rtems_device_major_number major,
85  rtems_device_minor_number minor, void *arg);
86 
87 
88 
100 void bfinUart_txDmaIsr(void *_arg);
101 
102 
103 
110 void bfinUart_rxDmaIsr(void *_arg);
111 
112 
121 void bfinUart_txIsr(void *_arg);
122 
123 
127 void bfinUart_rxIsr(void *_arg);
128 
129 
130 #ifdef __cplusplus
131 }
132 #endif
133 
134 #endif /* _UART_H_ */
135 
Definition: deflate.c:115
int uart_baud
Definition: uart.h:30
Definition: uart.h:23
uint32_t uart_rxDmaBaseAddress
Definition: uart.h:26
uint8_t volatile flags
Definition: uart.h:33
bool uart_useDma
Definition: uart.h:29
rtems_status_code
Classic API Status.
Definition: status.h:43
Definition: uart.h:49
uint32_t uart_txDmaBaseAddress
Definition: uart.h:27
void * termios
Definition: uart.h:32
uint32_t uart_baseAddress
Definition: uart.h:25
Definition: uart.h:38
uint16_t length
Definition: uart.h:34
bool uart_useInterrupts
Definition: uart.h:28