summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-09 22:21:54 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-09 22:21:54 +0000
commite78c474b0d9064f9513daea73b03bad77cf3fecd (patch)
tree318f303a4354b7bdc189bb3b47ae32d959c26b90 /c/src
parentProperly handle extended baud rate set commands. (diff)
downloadrtems-e78c474b0d9064f9513daea73b03bad77cf3fecd.tar.bz2
Added proper handling of extended baud rate table selection at boot time.
Still need to address default terminal settings.
Diffstat (limited to 'c/src')
-rw-r--r--c/src/lib/libchip/serial/mc68681.c7
-rw-r--r--c/src/libchip/serial/mc68681.c7
2 files changed, 12 insertions, 2 deletions
diff --git a/c/src/lib/libchip/serial/mc68681.c b/c/src/lib/libchip/serial/mc68681.c
index 818d7c137a..ade398bb06 100644
--- a/c/src/lib/libchip/serial/mc68681.c
+++ b/c/src/lib/libchip/serial/mc68681.c
@@ -451,6 +451,8 @@ MC68681_STATIC int mc68681_open(
setReg = Console_Port_Tbl[minor].setRegister;
vector = Console_Port_Tbl[minor].ulIntVector;
+ /* XXX default baud rate should be from configuration table */
+
(void) mc68681_baud_rate( minor, B9600, &baud, &acr, &command );
/*
@@ -458,9 +460,12 @@ MC68681_STATIC int mc68681_open(
*/
rtems_interrupt_disable(Irql);
- (*setReg)( pMC68681, MC68681_COMMAND, command );
(*setReg)( pMC68681, MC68681_AUX_CTRL_REG, acr );
(*setReg)( pMC68681_port, MC68681_CLOCK_SELECT, baud );
+ if ( command ) {
+ (*setReg)( pMC68681_port, MC68681_COMMAND, command ); /* RX */
+ (*setReg)( pMC68681_port, MC68681_COMMAND, command | 0x20 ); /* TX */
+ }
(*setReg)( pMC68681_port, MC68681_COMMAND, MC68681_MODE_REG_RESET_MR_PTR );
(*setReg)( pMC68681_port, MC68681_MODE, 0x13 );
(*setReg)( pMC68681_port, MC68681_MODE, 0x07 );
diff --git a/c/src/libchip/serial/mc68681.c b/c/src/libchip/serial/mc68681.c
index 818d7c137a..ade398bb06 100644
--- a/c/src/libchip/serial/mc68681.c
+++ b/c/src/libchip/serial/mc68681.c
@@ -451,6 +451,8 @@ MC68681_STATIC int mc68681_open(
setReg = Console_Port_Tbl[minor].setRegister;
vector = Console_Port_Tbl[minor].ulIntVector;
+ /* XXX default baud rate should be from configuration table */
+
(void) mc68681_baud_rate( minor, B9600, &baud, &acr, &command );
/*
@@ -458,9 +460,12 @@ MC68681_STATIC int mc68681_open(
*/
rtems_interrupt_disable(Irql);
- (*setReg)( pMC68681, MC68681_COMMAND, command );
(*setReg)( pMC68681, MC68681_AUX_CTRL_REG, acr );
(*setReg)( pMC68681_port, MC68681_CLOCK_SELECT, baud );
+ if ( command ) {
+ (*setReg)( pMC68681_port, MC68681_COMMAND, command ); /* RX */
+ (*setReg)( pMC68681_port, MC68681_COMMAND, command | 0x20 ); /* TX */
+ }
(*setReg)( pMC68681_port, MC68681_COMMAND, MC68681_MODE_REG_RESET_MR_PTR );
(*setReg)( pMC68681_port, MC68681_MODE, 0x13 );
(*setReg)( pMC68681_port, MC68681_MODE, 0x07 );