summaryrefslogtreecommitdiffstats
path: root/c/src/libchip/serial/mc68681_baud.c
blob: 621bf978c0f89d424fd0b047f8641752f316f678 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*
 *  MC68681 Default Baud Rate Table
 *
 *  $Id$
 */

#include <rtems.h>
#include <libchip/serial.h>
#include <libchip/mc68681.h>

/* major index of 0 : ACR[7] = 0, X = 0 -- 68c681 only has these */
/* major index of 1 : ACR[7] = 1, X = 0 -- 68c681 only has these */
/* major index of 2 : ACR[7] = 0, X = 1 */
/* major index of 3 : ACR[7] = 1, X = 1 */

/* mc68681_baud_table_t mc68681_baud_rate_table[4] = { */
mc68681_baud_t mc68681_baud_rate_table[4][RTEMS_TERMIOS_NUMBER_BAUD_RATES] = {
  { /* ACR[7] = 0, X = 0 */
    MC68681_BAUD_NOT_VALID,    /* B0 */
    0x00,                      /* B50 */
    MC68681_BAUD_NOT_VALID,    /* B75 */
    0x01,                      /* B110 */
    0x02,                      /* B134 */
    MC68681_BAUD_NOT_VALID,    /* B150 */
    0x03,                      /* B200 */
    0x04,                      /* B300 */
    0x05,                      /* B600 */
    0x06,                      /* B1200 */
    MC68681_BAUD_NOT_VALID,    /* B1800 */
    0x08,                      /* B2400 */
    0x09,                      /* B4800 */
    0x0B,                      /* B9600 */
    MC68681_BAUD_NOT_VALID,    /* B19200 */
    0x0C,                      /* B38400 */
    MC68681_BAUD_NOT_VALID,    /* B57600 */
    MC68681_BAUD_NOT_VALID,    /* B115200 */
    MC68681_BAUD_NOT_VALID,    /* B230400 */
    MC68681_BAUD_NOT_VALID     /* B460800 */
  },
  { /* ACR[7] = 1, X = 0 */
    MC68681_BAUD_NOT_VALID,    /* B0 */
    MC68681_BAUD_NOT_VALID,    /* B50 */
    0x00,                      /* B75 */
    0x01,                      /* B110 */
    0x02,                      /* B134 */
    0x03,                      /* B150 */
    MC68681_BAUD_NOT_VALID,    /* B200 */
    0x04,                      /* B300 */
    0x05,                      /* B600 */
    0x06,                      /* B1200 */
    0x0A,                      /* B1800 */
    0x08,                      /* B2400 */
    0x09,                      /* B4800 */
    0x0B,                      /* B9600 */
    0x0C,                      /* B19200 */
    MC68681_BAUD_NOT_VALID,    /* B38400 */
    MC68681_BAUD_NOT_VALID,    /* B57600 */
    MC68681_BAUD_NOT_VALID,    /* B115200 */
    MC68681_BAUD_NOT_VALID,    /* B230400 */
    MC68681_BAUD_NOT_VALID     /* B460800 */
  },
  { /* ACR[7] = 0, X = 1 */
    MC68681_BAUD_NOT_VALID,    /* B0 */
    MC68681_BAUD_NOT_VALID,    /* B50 */
    0x00,                      /* B75 */
    0x01,                      /* B110 */
    0x02,                      /* B134 */
    0x03,                      /* B150 */
    MC68681_BAUD_NOT_VALID,    /* B200 */
    MC68681_BAUD_NOT_VALID,    /* B300 */
    MC68681_BAUD_NOT_VALID,    /* B600 */
    MC68681_BAUD_NOT_VALID,    /* B1200 */
    0x0A,                      /* B1800 */
    MC68681_BAUD_NOT_VALID,    /* B2400 */
    0x08,                      /* B4800 */
    0x0B,                      /* B9600 */
    0x0C,                      /* B19200 */
    MC68681_BAUD_NOT_VALID,    /* B38400 */
    0x07,                      /* B57600 */
    0x08,                      /* B115200 */
    MC68681_BAUD_NOT_VALID,    /* B230400 */
    MC68681_BAUD_NOT_VALID     /* B460800 */
  },
  { /* ACR[7] = 1, X = 1 */
    MC68681_BAUD_NOT_VALID,    /* B0 */
    0x00,                      /* B50 */
    MC68681_BAUD_NOT_VALID,    /* B75 */
    0x01,                      /* B110 */
    0x02,                      /* B134 */
    MC68681_BAUD_NOT_VALID,    /* B150 */
    0x03,                      /* B200 */
    MC68681_BAUD_NOT_VALID,    /* B300 */
    MC68681_BAUD_NOT_VALID,    /* B600 */
    MC68681_BAUD_NOT_VALID,    /* B1200 */
    MC68681_BAUD_NOT_VALID,    /* B1800 */
    MC68681_BAUD_NOT_VALID,    /* B2400 */
    0x09,                      /* B4800 */
    0x0B,                      /* B9600 */
    MC68681_BAUD_NOT_VALID,    /* B19200 */
    0x0C,                      /* B38400 */
    0x07,                      /* B57600 */
    0x08,                      /* B115200 */
    MC68681_BAUD_NOT_VALID,    /* B230400 */
    MC68681_BAUD_NOT_VALID     /* B460800 */
  },
};