source: rtems/c/src/libchip/serial/mc68681.h @ 93531e9b

5
Last change on this file since 93531e9b was 93531e9b, checked in by Sebastian Huber <sebastian.huber@…>, on 06/06/17 at 06:03:45

Move RTEMS-specific Termios API content

Remove obsolete support for OFILL, OFDEL, NLDLY, CRDLY, BSDLY, VTDLY,
and FFDLY which is not present on FreeBSD and not implemented in Linux.

Update #2833.

  • Property mode set to 100644
File size: 2.8 KB
Line 
1/*
2 *
3 *  COPYRIGHT (c) 1989-1999.
4 *  On-Line Applications Research Corporation (OAR).
5 *
6 *  The license and distribution terms for this file may be
7 *  found in the file LICENSE in this distribution or at
8 *  http://www.rtems.org/license/LICENSE.
9 */
10
11#ifndef _MC68681_H_
12#define _MC68681_H_
13
14#include <rtems/termiostypes.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20/*
21 *  These are just used in the interface between this driver and
22 *  the read/write register routines when accessing the first
23 *  control port.
24 */
25
26#define MC68681_STATUS          1
27#define MC68681_RX_BUFFER       3
28
29#define MC68681_MODE            0
30#define MC68681_CLOCK_SELECT    1
31#define MC68681_COMMAND         2
32#define MC68681_TX_BUFFER       3
33
34/*
35 *  Data Port bit map configuration
36 *
37 *   D0      : Baud Rate Set Selection
38 *   D1 - D2 : Extended Baud Rate Setting
39 */
40
41#define MC68681_DATA_BAUD_RATE_SET_1      0  /* ACR[7] = 0 */
42#define MC68681_DATA_BAUD_RATE_SET_2      1  /* ACR[7] = 1 */
43
44#define MC68681_XBRG_IGNORED              (0 << 1)
45#define MC68681_XBRG_ENABLED              (1 << 1)
46#define MC68681_XBRG_DISABLED             (2 << 1)
47#define MC68681_XBRG_MASK                 (3 << 1)
48
49/*
50 *  Custom baud rate table information
51 */
52
53typedef unsigned char mc68681_baud_t;
54typedef mc68681_baud_t mc68681_baud_table_t[RTEMS_TERMIOS_NUMBER_BAUD_RATES];
55
56#define MC68681_BAUD_NOT_VALID 0xFF
57
58extern mc68681_baud_t
59    mc68681_baud_rate_table[4][RTEMS_TERMIOS_NUMBER_BAUD_RATES];
60
61
62/*
63 * Driver function table
64 */
65
66extern const console_fns mc68681_fns;
67extern const console_fns mc68681_fns_polled;
68
69/*
70 * Default register access routines
71 */
72
73uint8_t   mc68681_get_register(     /* registers are at 1 byte boundaries */
74  uintptr_t   ulCtrlPort,           /*   and accessed as bytes            */
75  uint8_t     ucRegNum
76);
77
78void  mc68681_set_register(
79  uintptr_t   ulCtrlPort,
80  uint8_t     ucRegNum,
81  uint8_t     ucData
82);
83
84uint8_t   mc68681_get_register_2(   /* registers are at 2 byte boundaries */
85  uintptr_t   ulCtrlPort,           /*   and accessed as bytes            */
86  uint8_t     ucRegNum
87);
88
89void  mc68681_set_register_2(
90  uintptr_t   ulCtrlPort,
91  uint8_t     ucRegNum,
92  uint8_t     ucData
93);
94
95uint8_t   mc68681_get_register_4(   /* registers are at 4 byte boundaries */
96  uintptr_t   ulCtrlPort,           /*   and accessed as bytes            */
97  uint8_t     ucRegNum
98);
99
100void  mc68681_set_register_4(
101  uintptr_t   ulCtrlPort,
102  uint8_t     ucRegNum,
103  uint8_t     ucData
104);
105
106uint8_t   mc68681_get_register_8(   /* registers are at 8 byte boundaries */
107  uintptr_t   ulCtrlPort,           /*   and accessed as bytes            */
108  uint8_t     ucRegNum
109);
110
111void  mc68681_set_register_8(
112  uintptr_t   ulCtrlPort,
113  uint8_t     ucRegNum,
114  uint8_t     ucData
115);
116
117
118#ifdef __cplusplus
119}
120#endif
121
122#endif /* _MC68681_H_ */
Note: See TracBrowser for help on using the repository browser.