summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/lib/libchip/serial/Makefile.in3
-rw-r--r--c/src/lib/libchip/serial/README.mc6868110
-rw-r--r--c/src/lib/libchip/serial/mc68681.c109
-rw-r--r--c/src/lib/libchip/serial/mc68681.h4
-rw-r--r--c/src/lib/libchip/serial/mc68681_baud.c106
-rw-r--r--c/src/libchip/serial/Makefile.in3
-rw-r--r--c/src/libchip/serial/README.mc6868110
-rw-r--r--c/src/libchip/serial/mc68681.c109
-rw-r--r--c/src/libchip/serial/mc68681.h4
-rw-r--r--c/src/libchip/serial/mc68681_baud.c106
10 files changed, 248 insertions, 216 deletions
diff --git a/c/src/lib/libchip/serial/Makefile.in b/c/src/lib/libchip/serial/Makefile.in
index 7b1b87fb6a..d9c78faf97 100644
--- a/c/src/lib/libchip/serial/Makefile.in
+++ b/c/src/lib/libchip/serial/Makefile.in
@@ -11,7 +11,8 @@ PROJECT_ROOT = @PROJECT_ROOT@
LIBNAME=libserialio.a
LIB=${ARCH}/${LIBNAME}
-C_PIECES=mc68681 mc68681_reg mc68681_reg2 mc68681_reg4 mc68681_reg8 \
+C_PIECES=\
+ mc68681 mc68681_baud mc68681_reg mc68681_reg2 mc68681_reg4 mc68681_reg8 \
ns16550 \
z85c30 z85c30_reg \
serprobe termios_baud2index termios_baud2num
diff --git a/c/src/lib/libchip/serial/README.mc68681 b/c/src/lib/libchip/serial/README.mc68681
index 87f86c3875..240faf759b 100644
--- a/c/src/lib/libchip/serial/README.mc68681
+++ b/c/src/lib/libchip/serial/README.mc68681
@@ -74,10 +74,12 @@ setData
ulClock
- This is either NULL or a pointer to a baud rate mapping table. If
- NULL, then the CSR/ACR/X bit mappings shown in the 68681 and 88681
- manuals are used. Otherwise, the board specific baud rate mapping
- is used.
+ This is a pointer to a baud rate mapping table. If set to
+ mc68681_baud_rate_table, then the CSR/ACR/X bit mappings shown
+ in the 68681 and 88681 manuals are used. Otherwise, the board
+ specific baud rate mapping is used.
+
+ NULL is not a valid value.
ulIntVector
diff --git a/c/src/lib/libchip/serial/mc68681.c b/c/src/lib/libchip/serial/mc68681.c
index 19e9509a79..03675ac33d 100644
--- a/c/src/lib/libchip/serial/mc68681.c
+++ b/c/src/lib/libchip/serial/mc68681.c
@@ -71,103 +71,6 @@ extern void set_vector( rtems_isr_entry, rtems_vector_number, int );
* must be configured by the user.
*/
-/* 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 */
- },
-};
-
MC68681_STATIC int mc68681_baud_rate(
int minor,
int baud,
@@ -657,11 +560,11 @@ MC68681_STATIC int mc68681_baud_rate(
unsigned int *command
)
{
- unsigned int baud_mask;
- unsigned int acr_bit;
- int status;
- int is_extended;
- int baud_requested;
+ unsigned int baud_mask;
+ unsigned int acr_bit;
+ int status;
+ int is_extended;
+ int baud_requested;
mc68681_baud_table_t *baud_tbl;
baud_mask = 0;
@@ -694,7 +597,7 @@ MC68681_STATIC int mc68681_baud_rate(
baud_tbl = (mc68681_baud_table_t *) Console_Port_Tbl[minor].ulClock;
if (!baud_tbl)
- baud_tbl = (mc68681_baud_table_t *)mc68681_baud_rate_table;
+ rtems_fatal_error_occured(RTEMS_INVALID_ADDRESS);
if ( is_extended )
baud_mask = (unsigned int)baud_tbl[ acr_bit + 2 ][ baud_requested ];
diff --git a/c/src/lib/libchip/serial/mc68681.h b/c/src/lib/libchip/serial/mc68681.h
index 8549ca2896..57713e3eff 100644
--- a/c/src/lib/libchip/serial/mc68681.h
+++ b/c/src/lib/libchip/serial/mc68681.h
@@ -56,6 +56,10 @@ typedef mc68681_baud_t mc68681_baud_table_t[RTEMS_TERMIOS_NUMBER_BAUD_RATES];
#define MC68681_BAUD_NOT_VALID 0xFF
+extern mc68681_baud_t
+ mc68681_baud_rate_table[4][RTEMS_TERMIOS_NUMBER_BAUD_RATES];
+
+
/*
* Driver function table
*/
diff --git a/c/src/lib/libchip/serial/mc68681_baud.c b/c/src/lib/libchip/serial/mc68681_baud.c
new file mode 100644
index 0000000000..255185dc80
--- /dev/null
+++ b/c/src/lib/libchip/serial/mc68681_baud.c
@@ -0,0 +1,106 @@
+/*
+ * MC68681 Default Baud Rate Table
+ *
+ * $Id$
+ */
+
+#include <rtems.h>
+#include <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 */
+ },
+};
+
diff --git a/c/src/libchip/serial/Makefile.in b/c/src/libchip/serial/Makefile.in
index 7b1b87fb6a..d9c78faf97 100644
--- a/c/src/libchip/serial/Makefile.in
+++ b/c/src/libchip/serial/Makefile.in
@@ -11,7 +11,8 @@ PROJECT_ROOT = @PROJECT_ROOT@
LIBNAME=libserialio.a
LIB=${ARCH}/${LIBNAME}
-C_PIECES=mc68681 mc68681_reg mc68681_reg2 mc68681_reg4 mc68681_reg8 \
+C_PIECES=\
+ mc68681 mc68681_baud mc68681_reg mc68681_reg2 mc68681_reg4 mc68681_reg8 \
ns16550 \
z85c30 z85c30_reg \
serprobe termios_baud2index termios_baud2num
diff --git a/c/src/libchip/serial/README.mc68681 b/c/src/libchip/serial/README.mc68681
index 87f86c3875..240faf759b 100644
--- a/c/src/libchip/serial/README.mc68681
+++ b/c/src/libchip/serial/README.mc68681
@@ -74,10 +74,12 @@ setData
ulClock
- This is either NULL or a pointer to a baud rate mapping table. If
- NULL, then the CSR/ACR/X bit mappings shown in the 68681 and 88681
- manuals are used. Otherwise, the board specific baud rate mapping
- is used.
+ This is a pointer to a baud rate mapping table. If set to
+ mc68681_baud_rate_table, then the CSR/ACR/X bit mappings shown
+ in the 68681 and 88681 manuals are used. Otherwise, the board
+ specific baud rate mapping is used.
+
+ NULL is not a valid value.
ulIntVector
diff --git a/c/src/libchip/serial/mc68681.c b/c/src/libchip/serial/mc68681.c
index 19e9509a79..03675ac33d 100644
--- a/c/src/libchip/serial/mc68681.c
+++ b/c/src/libchip/serial/mc68681.c
@@ -71,103 +71,6 @@ extern void set_vector( rtems_isr_entry, rtems_vector_number, int );
* must be configured by the user.
*/
-/* 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 */
- },
-};
-
MC68681_STATIC int mc68681_baud_rate(
int minor,
int baud,
@@ -657,11 +560,11 @@ MC68681_STATIC int mc68681_baud_rate(
unsigned int *command
)
{
- unsigned int baud_mask;
- unsigned int acr_bit;
- int status;
- int is_extended;
- int baud_requested;
+ unsigned int baud_mask;
+ unsigned int acr_bit;
+ int status;
+ int is_extended;
+ int baud_requested;
mc68681_baud_table_t *baud_tbl;
baud_mask = 0;
@@ -694,7 +597,7 @@ MC68681_STATIC int mc68681_baud_rate(
baud_tbl = (mc68681_baud_table_t *) Console_Port_Tbl[minor].ulClock;
if (!baud_tbl)
- baud_tbl = (mc68681_baud_table_t *)mc68681_baud_rate_table;
+ rtems_fatal_error_occured(RTEMS_INVALID_ADDRESS);
if ( is_extended )
baud_mask = (unsigned int)baud_tbl[ acr_bit + 2 ][ baud_requested ];
diff --git a/c/src/libchip/serial/mc68681.h b/c/src/libchip/serial/mc68681.h
index 8549ca2896..57713e3eff 100644
--- a/c/src/libchip/serial/mc68681.h
+++ b/c/src/libchip/serial/mc68681.h
@@ -56,6 +56,10 @@ typedef mc68681_baud_t mc68681_baud_table_t[RTEMS_TERMIOS_NUMBER_BAUD_RATES];
#define MC68681_BAUD_NOT_VALID 0xFF
+extern mc68681_baud_t
+ mc68681_baud_rate_table[4][RTEMS_TERMIOS_NUMBER_BAUD_RATES];
+
+
/*
* Driver function table
*/
diff --git a/c/src/libchip/serial/mc68681_baud.c b/c/src/libchip/serial/mc68681_baud.c
new file mode 100644
index 0000000000..255185dc80
--- /dev/null
+++ b/c/src/libchip/serial/mc68681_baud.c
@@ -0,0 +1,106 @@
+/*
+ * MC68681 Default Baud Rate Table
+ *
+ * $Id$
+ */
+
+#include <rtems.h>
+#include <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 */
+ },
+};
+