File indexing completed on 2025-05-11 08:23:40
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef _BSPUART_H
0022 #define _BSPUART_H
0023
0024 #ifdef __cplusplus
0025 extern "C" {
0026 #endif
0027
0028 void BSP_uart_init(int uart, unsigned long baud, unsigned long databits, unsigned long parity, unsigned long stopbits, int hwFlow);
0029 void BSP_uart_set_attributes(int uart, unsigned long baud, unsigned long databits, unsigned long parity, unsigned long stopbits);
0030 void BSP_uart_set_baud(int uart, unsigned long baud);
0031 void BSP_uart_intr_ctrl(int uart, int cmd);
0032 void BSP_uart_throttle(int uart);
0033 void BSP_uart_unthrottle(int uart);
0034 int BSP_uart_polled_status(int uart);
0035 void BSP_uart_polled_write(int uart, int val);
0036 int BSP_uart_polled_read(int uart);
0037 void BSP_uart_termios_set(int uart, void *ttyp);
0038 int BSP_uart_termios_read_com1(int uart);
0039 int BSP_uart_termios_read_com2(int uart);
0040 ssize_t BSP_uart_termios_write_com1(int minor, const char *buf, size_t len);
0041 ssize_t BSP_uart_termios_write_com2(int minor, const char *buf, size_t len);
0042 void BSP_uart_termios_isr_com1(void *);
0043 void BSP_uart_termios_isr_com2(void *);
0044 void BSP_uart_dbgisr_com1(void);
0045 void BSP_uart_dbgisr_com2(void);
0046 extern int BSP_poll_char_via_serial(void);
0047 extern void BSP_output_char_via_serial(char val);
0048 extern int BSPConsolePort;
0049 extern int BSPBaseBaud;
0050
0051
0052
0053
0054
0055
0056 #define BSP_UART_INTR_CTRL_DISABLE (0)
0057 #define BSP_UART_INTR_CTRL_GDB (0xaa)
0058 #define BSP_UART_INTR_CTRL_ENABLE (0xbb)
0059 #define BSP_UART_INTR_CTRL_TERMIOS (0xcc)
0060
0061
0062 #define BSP_UART_STATUS_ERROR (-1)
0063 #define BSP_UART_STATUS_NOCHAR (0)
0064 #define BSP_UART_STATUS_CHAR (1)
0065 #define BSP_UART_STATUS_BREAK (2)
0066
0067
0068 #define BSP_UART_COM1 (0)
0069 #define BSP_UART_COM2 (1)
0070
0071
0072
0073
0074
0075 #define COM1_BASE_IO 0x3F8
0076 #define COM2_BASE_IO 0x2F8
0077
0078
0079
0080
0081
0082
0083 #define RBR (0)
0084 #define THR (0)
0085 #define IER (1)
0086
0087
0088 #define IIR (2)
0089 #define FCR (2)
0090 #define LCR (3)
0091 #define MCR (4)
0092 #define LSR (5)
0093 #define MSR (6)
0094 #define SCR (7)
0095
0096
0097 #define DLL (0)
0098 #define DLM (1)
0099 #define AFR (2)
0100
0101
0102
0103
0104 #define MODEM_STATUS 0
0105 #define NO_MORE_INTR 1
0106 #define TRANSMITTER_HODING_REGISTER_EMPTY 2
0107 #define RECEIVER_DATA_AVAIL 4
0108 #define RECEIVER_ERROR 6
0109 #define CHARACTER_TIMEOUT_INDICATION 12
0110
0111
0112
0113
0114 #define RECEIVE_ENABLE 0x1
0115 #define TRANSMIT_ENABLE 0x2
0116 #define RECEIVER_LINE_ST_ENABLE 0x4
0117 #define MODEM_ENABLE 0x8
0118 #define INTERRUPT_DISABLE 0x0
0119
0120
0121
0122
0123 #define DR 0x01
0124 #define OE 0x02
0125 #define PE 0x04
0126 #define FE 0x08
0127 #define BI 0x10
0128 #define THRE 0x20
0129 #define TEMT 0x40
0130 #define ERFIFO 0x80
0131
0132
0133
0134
0135 #define DTR 0x01
0136 #define RTS 0x02
0137 #define OUT_1 0x04
0138 #define OUT_2 0x08
0139 #define LB 0x10
0140
0141
0142
0143
0144 #define CHR_5_BITS 0
0145 #define CHR_6_BITS 1
0146 #define CHR_7_BITS 2
0147 #define CHR_8_BITS 3
0148
0149 #define WL 0x03
0150 #define STB 0x04
0151 #define PEN 0x08
0152 #define EPS 0x10
0153 #define SP 0x20
0154 #define BCB 0x40
0155 #define DLAB 0x80
0156
0157
0158
0159
0160 #define DCTS 0x01
0161 #define DDSR 0x02
0162 #define TERI 0x04
0163 #define DDCD 0x08
0164 #define CTS 0x10
0165 #define DSR 0x20
0166 #define RI 0x40
0167 #define DCD 0x80
0168
0169
0170
0171
0172
0173 #define FIFO_CTRL 0x01
0174 #define FIFO_EN 0x01
0175 #define XMIT_RESET 0x02
0176 #define RCV_RESET 0x04
0177 #define FCR3 0x08
0178
0179 #define RECEIVE_FIFO_TRIGGER1 0x0
0180 #define RECEIVE_FIFO_TRIGGER4 0x40
0181 #define RECEIVE_FIFO_TRIGGER8 0x80
0182 #define RECEIVE_FIFO_TRIGGER12 0xc0
0183 #define TRIG_LEVEL 0xc0
0184
0185
0186
0187 #ifdef __cplusplus
0188 }
0189 #endif
0190
0191 #endif