StopBits = (EFI_STOP_BITS_TYPE) PcdGet8 (PcdUartDefaultStopBits);\r
\r
return PL011UartInitializePort (\r
- mSerialBaseAddress, &BaudRate, &ReceiveFifoDepth,\r
- &Parity, &DataBits, &StopBits);\r
+ mSerialBaseAddress,\r
+ FixedPcdGet32 (PL011UartClkInHz),\r
+ &BaudRate,\r
+ &ReceiveFifoDepth,\r
+ &Parity,\r
+ &DataBits,\r
+ &StopBits\r
+ );\r
}\r
\r
/**\r
IN OUT EFI_STOP_BITS_TYPE *StopBits\r
)\r
{\r
- return RETURN_UNSUPPORTED;\r
+ RETURN_STATUS Status;\r
+\r
+ if (mSerialBaseAddress == 0) {\r
+ Status = RETURN_UNSUPPORTED;\r
+ } else {\r
+ Status = PL011UartInitializePort (\r
+ mSerialBaseAddress,\r
+ FixedPcdGet32 (PL011UartClkInHz),\r
+ BaudRate,\r
+ ReceiveFifoDepth,\r
+ Parity,\r
+ DataBits,\r
+ StopBits\r
+ );\r
+ }\r
+\r
+ return Status;\r
}\r
\r
/**\r
IN UINT32 Control\r
)\r
{\r
- return RETURN_UNSUPPORTED;\r
+ RETURN_STATUS Status;\r
+\r
+ if (mSerialBaseAddress == 0) {\r
+ Status = RETURN_UNSUPPORTED;\r
+ } else {\r
+ Status = PL011UartSetControl (mSerialBaseAddress, Control);\r
+ }\r
+\r
+ return Status;\r
}\r
\r
/**\r
OUT UINT32 *Control\r
)\r
{\r
- return RETURN_UNSUPPORTED;\r
+ RETURN_STATUS Status;\r
+\r
+ if (mSerialBaseAddress == 0) {\r
+ Status = RETURN_UNSUPPORTED;\r
+ } else {\r
+ Status = PL011UartGetControl (mSerialBaseAddress, Control);\r
+ }\r
+\r
+ return Status;\r
}\r
\r