diff options
author | Leahy, Leroy P <leroy.p.leahy@intel.com> | 2016-05-09 10:57:08 -0700 |
---|---|---|
committer | Prince Agyeman <prince.agyeman@intel.com> | 2016-05-10 10:12:15 -0700 |
commit | bb0831670f11b710f36e1932d8ba83f1754f74dd (patch) | |
tree | 32870ab12f42f320f603d0b56927b3d47771c2f6 | |
parent | b08993bd13578b081f7c416efe932be6b73194b2 (diff) | |
download | edk2-bb0831670f11b710f36e1932d8ba83f1754f74dd.zip edk2-bb0831670f11b710f36e1932d8ba83f1754f74dd.tar.gz edk2-bb0831670f11b710f36e1932d8ba83f1754f74dd.tar.bz2 |
CorebootModulePkg/BaseSerialPortLib: Set DTR and RTS
Ensure communication between the host and the UEFI system running
CorebootPayloadPkg. In cases where the host has flow control enabled
and the serial connection is providing the flow control signals, the
host will not be able to send data to the UEFI system because DTR and
RTS are not present. The host may also discard all output data from
the UEFI system because DTR is not present. By setting DTR and RTS
in the UART initialization code this case works properly.
Change-Id: I393f57104d111472cafcae01d4e43d4ea837be3b
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com>
Reviewed-by: Prince Agyeman <prince.agyeman@intel.com>
-rw-r--r-- | CorebootModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/CorebootModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c b/CorebootModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c index 4505636..ca6db23 100644 --- a/CorebootModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c +++ b/CorebootModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c @@ -554,9 +554,10 @@ SerialPortInitialize ( SerialPortWriteRegister (SerialRegisterBase, R_UART_FCR, (UINT8)(PcdGet8 (PcdSerialFifoControl) & (B_UART_FCR_FIFOE | B_UART_FCR_FIFO64))); // - // Put Modem Control Register(MCR) into its reset state of 0x00. + // Set RTS and DTR in Modem Control Register(MCR) // - SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, 0x00); + SerialPortWriteRegister (SerialRegisterBase, R_UART_MCR, + EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY); return RETURN_SUCCESS; } |