\r
#include <Drivers/PL011Uart.h>\r
\r
+/** Initialise the serial device hardware with default settings.\r
\r
-/**\r
-\r
- Programmed hardware of Serial port.\r
-\r
- @return Always return RETURN_UNSUPPORTED.\r
-\r
-**/\r
+ @retval RETURN_SUCCESS The serial device was initialised.\r
+ @retval RETURN_INVALID_PARAMETER One or more of the default settings\r
+ has an unsupported value.\r
+ **/\r
RETURN_STATUS\r
EFIAPI\r
SerialPortInitialize (\r
UINT8 DataBits;\r
EFI_STOP_BITS_TYPE StopBits;\r
\r
- BaudRate = (UINTN)FixedPcdGet64 (PcdUartDefaultBaudRate);\r
+ BaudRate = FixedPcdGet64 (PcdUartDefaultBaudRate);\r
ReceiveFifoDepth = 0; // Use default FIFO depth\r
Parity = (EFI_PARITY_TYPE)FixedPcdGet8 (PcdUartDefaultParity);\r
DataBits = FixedPcdGet8 (PcdUartDefaultDataBits);\r
StopBits = (EFI_STOP_BITS_TYPE) FixedPcdGet8 (PcdUartDefaultStopBits);\r
\r
return PL011UartInitializePort (\r
- (UINTN)FixedPcdGet64 (PcdSerialRegisterBase),\r
- &BaudRate,\r
- &ReceiveFifoDepth,\r
- &Parity,\r
- &DataBits,\r
- &StopBits\r
- );\r
+ (UINTN)FixedPcdGet64 (PcdSerialRegisterBase),\r
+ FixedPcdGet32 (PL011UartClkInHz),\r
+ &BaudRate,\r
+ &ReceiveFifoDepth,\r
+ &Parity,\r
+ &DataBits,\r
+ &StopBits\r
+ );\r
}\r
\r
/**\r
/**\r
Check to see if any data is available to be read from the debug device.\r
\r
- @retval EFI_SUCCESS At least one byte of data is available to be read\r
- @retval EFI_NOT_READY No data is available to be read\r
- @retval EFI_DEVICE_ERROR The serial device is not functioning properly\r
+ @retval TRUE At least one byte of data is available to be read\r
+ @retval FALSE No data is available to be read\r
\r
**/\r
BOOLEAN\r
)\r
{\r
return PL011UartInitializePort (\r
- (UINTN)FixedPcdGet64 (PcdSerialRegisterBase),\r
- BaudRate,\r
- ReceiveFifoDepth,\r
- Parity,\r
- DataBits,\r
- StopBits\r
- );\r
+ (UINTN)FixedPcdGet64 (PcdSerialRegisterBase),\r
+ FixedPcdGet32 (PL011UartClkInHz),\r
+ BaudRate,\r
+ ReceiveFifoDepth,\r
+ Parity,\r
+ DataBits,\r
+ StopBits\r
+ );\r
}\r
\r
/**\r