\r
#include <Library/IoLib.h>\r
#include <Library/PcdLib.h>\r
+#include <Library/PL011UartClockLib.h>\r
+#include <Library/PL011UartLib.h>\r
#include <Library/SerialPortLib.h>\r
\r
-#include <Drivers/PL011Uart.h>\r
+/** Initialise the serial device hardware with default settings.\r
\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)PcdGet64 (PcdUartDefaultBaudRate);\r
+ BaudRate = FixedPcdGet64 (PcdUartDefaultBaudRate);\r
ReceiveFifoDepth = 0; // Use default FIFO depth\r
- Parity = (EFI_PARITY_TYPE)PcdGet8 (PcdUartDefaultParity);\r
- DataBits = PcdGet8 (PcdUartDefaultDataBits);\r
- StopBits = (EFI_STOP_BITS_TYPE) PcdGet8 (PcdUartDefaultStopBits);\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)PcdGet64 (PcdSerialRegisterBase),\r
- &BaudRate,\r
- &ReceiveFifoDepth,\r
- &Parity,\r
- &DataBits,\r
- &StopBits\r
- );\r
+ (UINTN)PcdGet64 (PcdSerialRegisterBase),\r
+ PL011UartClockGetFreq(),\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)PcdGet64 (PcdSerialRegisterBase),\r
- BaudRate,\r
- ReceiveFifoDepth,\r
- Parity,\r
- DataBits,\r
- StopBits\r
- );\r
+ (UINTN)PcdGet64 (PcdSerialRegisterBase),\r
+ PL011UartClockGetFreq(),\r
+ BaudRate,\r
+ ReceiveFifoDepth,\r
+ Parity,\r
+ DataBits,\r
+ StopBits\r
+ );\r
}\r
\r
/**\r