Time.Month = RtcRead (RTC_ADDRESS_MONTH);\r
Time.Year = RtcRead (RTC_ADDRESS_YEAR);\r
\r
- if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
- Century = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
- } else {\r
- Century = RtcRead (RTC_ADDRESS_CENTURY);\r
- }\r
+ Century = BcdToDecimal8 (RtcRead (RTC_ADDRESS_CENTURY));\r
\r
//\r
// Set RTC configuration after get original time\r
Time->Month = RtcRead (RTC_ADDRESS_MONTH);\r
Time->Year = RtcRead (RTC_ADDRESS_YEAR);\r
\r
- if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
- Century = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
- } else {\r
- Century = RtcRead (RTC_ADDRESS_CENTURY);\r
- }\r
+ Century = BcdToDecimal8 (RtcRead (RTC_ADDRESS_CENTURY));\r
\r
//\r
// Release RTC Lock.\r
RtcWrite (RTC_ADDRESS_DAY_OF_THE_MONTH, RtcTime.Day);\r
RtcWrite (RTC_ADDRESS_MONTH, RtcTime.Month);\r
RtcWrite (RTC_ADDRESS_YEAR, (UINT8) RtcTime.Year);\r
- if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
- Century = (UINT8) ((Century & 0x7f) | (RtcRead (RTC_ADDRESS_CENTURY) & 0x80));\r
- }\r
-\r
RtcWrite (RTC_ADDRESS_CENTURY, Century);\r
\r
//\r
Time->Year = RtcRead (RTC_ADDRESS_YEAR);\r
}\r
\r
- if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
- Century = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
- } else {\r
- Century = RtcRead (RTC_ADDRESS_CENTURY);\r
- }\r
+ Century = BcdToDecimal8 (RtcRead (RTC_ADDRESS_CENTURY));\r
\r
//\r
// Release RTC Lock.\r
return EFI_SUCCESS;\r
}\r
\r
-/**\r
- See if century register of RTC is valid.\r
-\r
- @retval EFI_SUCCESS Century register is valid.\r
- @retval EFI_DEVICE_ERROR Century register is NOT valid.\r
-**/\r
-EFI_STATUS\r
-RtcTestCenturyRegister (\r
- VOID\r
- )\r
-{\r
- UINT8 Century;\r
- UINT8 Temp;\r
-\r
- Century = RtcRead (RTC_ADDRESS_CENTURY);\r
- Temp = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
- RtcWrite (RTC_ADDRESS_CENTURY, Century);\r
- if (Temp == 0x19 || Temp == 0x20) {\r
- return EFI_SUCCESS;\r
- }\r
-\r
- return EFI_DEVICE_ERROR;\r
-}\r
\r
/**\r
Checks an 8-bit BCD value, and converts to an 8-bit value if valid.\r