+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
- \r\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
- \r\r
-\r
-\r
-Module Name:\r
-\r
- CmosTable.h\r
-\r
-Abstract:\r
-\r
---*/\r
-\r
-#include <Base.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/PlatformCmosLib.h>\r
-#include "CmosMap.h"\r
-#include <PchAccess.h>\r
-#include "PlatformBaseAddresses.h"\r
-\r
-#define DEFAULT_VALUE 0\r
-#define DEFAULT_ATTRIBUTES 0\r
-#define EXCLUDE_FROM_CHECKSUM CMOS_ATTRIBUTE_EXCLUDE_FROM_CHECKSUM\r
-\r
-#define CMOS_DEBUG_PRINT_LEVEL_DEFAULT_VALUE 0x46 // EFI_D_WARN|EFI_D_INFO|EFI_D_LOAD\r
-#define CMOS_DEBUG_PRINT_LEVEL_3_DEFAULT_VALUE 0x80 // EFI_D_ERROR\r
-\r
-//\r
-// Add the CMOS entry below\r
-//\r
-CMOS_ENTRY mCmosTable[] = {\r
-{ CPU_HT_POLICY, CPU_HT_POLICY_ENABLED, EXCLUDE_FROM_CHECKSUM },\r
-{ TPM_POLICY, TPM_POLICY_ENABLED, DEFAULT_ATTRIBUTES },\r
-{ CMOS_LCDPANELTYPE_REG, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_LCDPANELSCALING_REG, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_IGDBOOTTYPE_REG, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_BACKLIGHT_REG, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_LFP_PANEL_COLOR_DEPTH_REG, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_EDP_ACTIVE_LFP_CONFIG_REG, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_PRIMARY_DISPLAY_REG, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_IGD_DISPLAY_PIPE_B_REG, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_SDVOPANELTYPE_REG, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_PLATFORM_RESET_OS, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_CPU_BSP_SELECT, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_CPU_RATIO_OFFSET, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_ICH_PORT80_OFFSET, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ CMOS_MAXRATIO_CONFIG_REG, DEFAULT_VALUE, DEFAULT_ATTRIBUTES },\r
-{ RTC_ADDRESS_CENTURY, RTC_ADDRESS_CENTURY_DEFAULT, CMOS_ATTRIBUTE_EXCLUDE_FROM_CHECKSUM },\r
-{ CMOS_POST_CODE_BREAK_REG, DEFAULT_VALUE, EXCLUDE_FROM_CHECKSUM },\r
-{ CMOS_POST_CODE_BREAK_1_REG, DEFAULT_VALUE, EXCLUDE_FROM_CHECKSUM },\r
-{ CMOS_POST_CODE_BREAK_2_REG, DEFAULT_VALUE, EXCLUDE_FROM_CHECKSUM },\r
-{ CMOS_POST_CODE_BREAK_3_REG, DEFAULT_VALUE, EXCLUDE_FROM_CHECKSUM },\r
-{ CMOS_DEBUG_PRINT_LEVEL_REG, CMOS_DEBUG_PRINT_LEVEL_DEFAULT_VALUE, EXCLUDE_FROM_CHECKSUM },\r
-{ CMOS_DEBUG_PRINT_LEVEL_1_REG, DEFAULT_VALUE, EXCLUDE_FROM_CHECKSUM },\r
-{ CMOS_DEBUG_PRINT_LEVEL_2_REG, DEFAULT_VALUE, EXCLUDE_FROM_CHECKSUM },\r
-{ CMOS_DEBUG_PRINT_LEVEL_3_REG, CMOS_DEBUG_PRINT_LEVEL_3_DEFAULT_VALUE, EXCLUDE_FROM_CHECKSUM },\r
-};\r
-\r
-/**\r
- Funtion to return platform CMOS entry.\r
-\r
- @param [out] CmosEntry Platform CMOS entry.\r
-\r
- @param [out] CmosEntryCount Number of platform CMOS entry.\r
-\r
- @return Status.\r
-**/\r
-RETURN_STATUS\r
-EFIAPI\r
-GetPlatformCmosEntry (\r
- OUT CMOS_ENTRY **CmosEntry,\r
- OUT UINTN *CmosEntryCount\r
- )\r
-{\r
- *CmosEntry = mCmosTable;\r
- *CmosEntryCount = sizeof(mCmosTable)/sizeof(mCmosTable[0]);\r
- return RETURN_SUCCESS;\r
-}\r
-\r
-/**\r
- Function to check if Battery lost or CMOS cleared.\r
-\r
- @reval TRUE Battery is always present.\r
- @reval FALSE CMOS is cleared.\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-CheckCmosBatteryStatus (\r
- VOID\r
- )\r
-{\r
- //\r
- // Check if the CMOS battery is present\r
- // Checks RTC_PWR_STS bit in the GEN_PMCON_1 register\r
- //\r
-\r
- if ((MmioRead8 (PMC_BASE_ADDRESS + R_PCH_PMC_GEN_PMCON_1) & B_PCH_PMC_GEN_PMCON_RTC_PWR_STS) == 0) {\r
- return TRUE;\r
- } else {\r
- return FALSE;\r
- }\r
-}\r