TianoCore EDK2 master
|
#include <Base.h>
#include <Library/PcdLib.h>
#include <Library/PL011UartLib.h>
#include <Library/SerialPortLib.h>
#include <Library/FdtSerialPortAddressLib.h>
Go to the source code of this file.
Functions | |
RETURN_STATUS EFIAPI | SerialPortInitialize (VOID) |
STATIC UINT64 | SerialPortGetBaseAddress (VOID) |
UINTN EFIAPI | SerialPortWrite (IN UINT8 *Buffer, IN UINTN NumberOfBytes) |
UINTN EFIAPI | SerialPortRead (OUT UINT8 *Buffer, IN UINTN NumberOfBytes) |
BOOLEAN EFIAPI | SerialPortPoll (VOID) |
RETURN_STATUS EFIAPI | SerialPortSetControl (IN UINT32 Control) |
RETURN_STATUS EFIAPI | SerialPortGetControl (OUT UINT32 *Control) |
RETURN_STATUS EFIAPI | SerialPortSetAttributes (IN OUT UINT64 *BaudRate, IN OUT UINT32 *ReceiveFifoDepth, IN OUT UINT32 *Timeout, IN OUT EFI_PARITY_TYPE *Parity, IN OUT UINT8 *DataBits, IN OUT EFI_STOP_BITS_TYPE *StopBits) |
Serial I/O Port library functions with base address discovered from FDT
Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
Copyright (c) 2012 - 2013, ARM Ltd. All rights reserved.
Copyright (c) 2014, Linaro Ltd. All rights reserved.
Copyright (c) 2015, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file EarlyFdtPL011SerialPortLib.c.
STATIC UINT64 SerialPortGetBaseAddress | ( | VOID | ) |
Definition at line 49 of file EarlyFdtPL011SerialPortLib.c.
RETURN_STATUS EFIAPI SerialPortGetControl | ( | OUT UINT32 * | Control | ) |
Retrieve the status of the control bits on a serial device.
[out] | Control | A pointer to return the current control signals from the serial device. |
RETURN_SUCCESS | The control bits were read from the serial device. |
RETURN_UNSUPPORTED | The serial device does not support this operation. |
RETURN_DEVICE_ERROR | The serial device is not functioning correctly. |
Definition at line 200 of file EarlyFdtPL011SerialPortLib.c.
RETURN_STATUS EFIAPI SerialPortInitialize | ( | VOID | ) |
Initialize the serial device hardware.
If no initialization is required, then return RETURN_SUCCESS. If the serial device was successfully initialized, then return RETURN_SUCCESS. If the serial device could not be initialized, then return RETURN_DEVICE_ERROR.
RETURN_SUCCESS | The serial device was initialized. |
RETURN_DEVICE_ERROR | The serial device could not be initialized. |
Initialise the serial device hardware with default settings.
RETURN_SUCCESS | The serial device was initialised. |
RETURN_INVALID_PARAMETER | One or more of the default settings has an unsupported value. |
Definition at line 22 of file EarlyFdtPL011SerialPortLib.c.
BOOLEAN EFIAPI SerialPortPoll | ( | VOID | ) |
Check to see if any data is available to be read from the debug device.
TRUE | At least one byte of data is available to be read |
FALSE | No data is available to be read |
Definition at line 162 of file EarlyFdtPL011SerialPortLib.c.
Read data from serial device and save the data in buffer.
Buffer | Point of data buffer which need to be written. |
NumberOfBytes | Size of Buffer[]. |
0 | Read data failed. |
!0 | Actual number of bytes read from serial device. |
Definition at line 145 of file EarlyFdtPL011SerialPortLib.c.
RETURN_STATUS EFIAPI SerialPortSetAttributes | ( | IN OUT UINT64 * | BaudRate, |
IN OUT UINT32 * | ReceiveFifoDepth, | ||
IN OUT UINT32 * | Timeout, | ||
IN OUT EFI_PARITY_TYPE * | Parity, | ||
IN OUT UINT8 * | DataBits, | ||
IN OUT EFI_STOP_BITS_TYPE * | StopBits | ||
) |
Sets the baud rate, receive FIFO depth, transmit/receive time out, parity, data bits, and stop bits on a serial device.
BaudRate | The requested baud rate. A BaudRate value of 0 will use the device's default interface speed. On output, the value actually set. |
ReceiveFifoDepth | The requested depth of the FIFO on the receive side of the serial interface. A ReceiveFifoDepth value of 0 will use the device's default FIFO depth. On output, the value actually set. |
Timeout | The requested time out for a single character in microseconds. This timeout applies to both the transmit and receive side of the interface. A Timeout value of 0 will use the device's default time out value. On output, the value actually set. |
Parity | The type of parity to use on this serial device. A Parity value of DefaultParity will use the device's default parity value. On output, the value actually set. |
DataBits | The number of data bits to use on the serial device. A DataBits value of 0 will use the device's default data bit setting. On output, the value actually set. |
StopBits | The number of stop bits to use on this serial device. A StopBits value of DefaultStopBits will use the device's default number of stop bits. On output, the value actually set. |
RETURN_SUCCESS | The new attributes were set on the serial device. |
RETURN_UNSUPPORTED | The serial device does not support this operation. |
RETURN_INVALID_PARAMETER | One or more of the attributes has an unsupported value. |
RETURN_DEVICE_ERROR | The serial device is not functioning correctly. |
Definition at line 242 of file EarlyFdtPL011SerialPortLib.c.
RETURN_STATUS EFIAPI SerialPortSetControl | ( | IN UINT32 | Control | ) |
Sets the control bits on a serial device.
[in] | Control | Sets the bits of Control that are settable. |
RETURN_SUCCESS | The new control bits were set on the serial device. |
RETURN_UNSUPPORTED | The serial device does not support this operation. |
RETURN_DEVICE_ERROR | The serial device is not functioning correctly. |
Definition at line 181 of file EarlyFdtPL011SerialPortLib.c.
Write data to serial device.
Buffer | Point of data buffer which need to be written. |
NumberOfBytes | Number of output bytes which are cached in Buffer. |
0 | Write data failed. |
!0 | Actual number of bytes written to serial device. |
Definition at line 118 of file EarlyFdtPL011SerialPortLib.c.