RTEMS 6.1-rc1
uart.h
Go to the documentation of this file.
1
7/*
8 * This software is Copyright (C) 1998 by T.sqware - all rights limited
9 * It is provided in to the public domain "as is", can be freely modified
10 * as far as this copyight notice is kept unchanged, but does not imply
11 * an endorsement by T.sqware of the product in which it is included.
12 */
13
21#ifndef _BSPUART_H
22#define _BSPUART_H
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28void BSP_uart_init(int uart, unsigned long baud, unsigned long databits, unsigned long parity, unsigned long stopbits, int hwFlow);
29void BSP_uart_set_attributes(int uart, unsigned long baud, unsigned long databits, unsigned long parity, unsigned long stopbits);
30void BSP_uart_set_baud(int uart, unsigned long baud);
31void BSP_uart_intr_ctrl(int uart, int cmd);
32void BSP_uart_throttle(int uart);
33void BSP_uart_unthrottle(int uart);
34int BSP_uart_polled_status(int uart);
35void BSP_uart_polled_write(int uart, int val);
36int BSP_uart_polled_read(int uart);
37void BSP_uart_termios_set(int uart, void *ttyp);
38int BSP_uart_termios_read_com1(int uart);
39int BSP_uart_termios_read_com2(int uart);
40ssize_t BSP_uart_termios_write_com1(int minor, const char *buf, size_t len);
41ssize_t BSP_uart_termios_write_com2(int minor, const char *buf, size_t len);
42void BSP_uart_termios_isr_com1(void *);
43void BSP_uart_termios_isr_com2(void *);
44void BSP_uart_dbgisr_com1(void);
45void BSP_uart_dbgisr_com2(void);
46extern int BSP_poll_char_via_serial(void);
47extern void BSP_output_char_via_serial(char val);
48extern int BSPConsolePort;
49extern int BSPBaseBaud;
50
56#define BSP_UART_INTR_CTRL_DISABLE (0)
57#define BSP_UART_INTR_CTRL_GDB (0xaa)
58#define BSP_UART_INTR_CTRL_ENABLE (0xbb)
59#define BSP_UART_INTR_CTRL_TERMIOS (0xcc)
60
62#define BSP_UART_STATUS_ERROR (-1)
63#define BSP_UART_STATUS_NOCHAR (0)
64#define BSP_UART_STATUS_CHAR (1)
65#define BSP_UART_STATUS_BREAK (2)
66
68#define BSP_UART_COM1 (0)
69#define BSP_UART_COM2 (1)
70
75#define COM1_BASE_IO 0x3F8
76#define COM2_BASE_IO 0x2F8
77
83#define RBR (0)
84#define THR (0)
85#define IER (1)
86
88#define IIR (2)
89#define FCR (2)
90#define LCR (3)
91#define MCR (4)
92#define LSR (5)
93#define MSR (6)
94#define SCR (7)
95
97#define DLL (0)
98#define DLM (1)
99#define AFR (2)
100
104#define MODEM_STATUS 0
105#define NO_MORE_INTR 1
106#define TRANSMITTER_HODING_REGISTER_EMPTY 2
107#define RECEIVER_DATA_AVAIL 4
108#define RECEIVER_ERROR 6
109#define CHARACTER_TIMEOUT_INDICATION 12
110
114#define RECEIVE_ENABLE 0x1
115#define TRANSMIT_ENABLE 0x2
116#define RECEIVER_LINE_ST_ENABLE 0x4
117#define MODEM_ENABLE 0x8
118#define INTERRUPT_DISABLE 0x0
119
123#define DR 0x01
124#define OE 0x02
125#define PE 0x04
126#define FE 0x08
127#define BI 0x10
128#define THRE 0x20
129#define TEMT 0x40
130#define ERFIFO 0x80
131
135#define DTR 0x01
136#define RTS 0x02
137#define OUT_1 0x04
138#define OUT_2 0x08
139#define LB 0x10
140
144#define CHR_5_BITS 0
145#define CHR_6_BITS 1
146#define CHR_7_BITS 2
147#define CHR_8_BITS 3
148
149#define WL 0x03
150#define STB 0x04
151#define PEN 0x08
152#define EPS 0x10
153#define SP 0x20
154#define BCB 0x40
155#define DLAB 0x80
156
160#define DCTS 0x01
161#define DDSR 0x02
162#define TERI 0x04
163#define DDCD 0x08
164#define CTS 0x10
165#define DSR 0x20
166#define RI 0x40
167#define DCD 0x80
168
173#define FIFO_CTRL 0x01
174#define FIFO_EN 0x01
175#define XMIT_RESET 0x02
176#define RCV_RESET 0x04
177#define FCR3 0x08
178
179#define RECEIVE_FIFO_TRIGGER1 0x0
180#define RECEIVE_FIFO_TRIGGER4 0x40
181#define RECEIVE_FIFO_TRIGGER8 0x80
182#define RECEIVE_FIFO_TRIGGER12 0xc0
183#define TRIG_LEVEL 0xc0
184
187#ifdef __cplusplus
188}
189#endif
190
191#endif /* _BSPUART_H */