diff options
Diffstat (limited to 'Core/EM/OFBD/BATTERYCHECK')
-rw-r--r-- | Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.c | 176 | ||||
-rw-r--r-- | Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.cif | 11 | ||||
-rw-r--r-- | Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.h | 64 | ||||
-rw-r--r-- | Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.mak | 68 | ||||
-rw-r--r-- | Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.sdl | 55 |
5 files changed, 374 insertions, 0 deletions
diff --git a/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.c b/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.c new file mode 100644 index 0000000..ff9a63a --- /dev/null +++ b/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.c @@ -0,0 +1,176 @@ +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2012, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** + +//********************************************************************** +// $Header: /Alaska/SOURCE/Modules/OFBD/BATTERYCHECK/BATTERYCHECK.c 1 10/11/12 2:27a Terrylin $ +// +// $Revision: 1 $ +// +// $Date: 10/11/12 2:27a $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/OFBD/BATTERYCHECK/BATTERYCHECK.c $ +// +// 1 10/11/12 2:27a Terrylin +// Initial check-in for OEM can control AC/Battery status check rule +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: BATTERYCHECK.c +// +// Description: +// +// This function is used for OEM can decided AFU flash behavior, when +// AC/Battery is under warning status and can output the OEM String message +// to the flash utility. +// +// +//<AMI_FHDR_END> +//********************************************************************** +#include "Efi.h" +#include <AmiLib.h> +#include <AmiDxeLib.h> +#include "BATTERYCHECK.h" +#include "..\OFBD.h" + +//#define CONVERT_TO_STRING(a) #a +#define STR(a) CONVERT_TO_STRING(a) + + +//<AMI_PHDR_START> +//---------------------------------------------------------------------------- +// Procedure: OFBDBATTERYCHECK +// +// Description: OFBD AC/Battery check +// +// Input: +// IN OUT OFBD_HDR *pOFBDHdr +// Output: +// EFI_STATUS +// +//---------------------------------------------------------------------------- +//<AMI_PHDR_END> +EFI_STATUS +OFBDBatteryCheck( + IN OUT OFBD_HDR *pOFBDHdr) +{ + EFI_STATUS Status = EFI_SUCCESS; + +#if BATTERYCHECK_SAMPLE_TEST + + UINT8 *pOFBDTblEnd; + OFBD_TC_5B_AC_BATTERY_STRUCT *AC_BatteryPtr; + + char *ErrorMsg_1 = "AC adapter is not connected.For an update, the AC adapter has to be connected."; + char *ErrorMsg_2 = "There is no installed battery or the remaining charge level of the battery is lower than 60%%.Check your battery."; + char *ErrorMsg_3 = "There is no installed battery or the remaining charge level of the battery is lower than 30%%.Check your battery."; + char *ErrorMsg_4 = "No support this version of flash Common Interface."; + + pOFBDTblEnd = (UINT8 *)((UINT8 *)pOFBDHdr + (pOFBDHdr->OFBD_Size)); + AC_BatteryPtr = (OFBD_TC_5B_AC_BATTERY_STRUCT *)((UINT8 *)pOFBDHdr + pOFBDHdr->OFBD_HDR_SIZE + sizeof(OFBD_EXT_HDR)); + + switch(AC_BatteryPtr->dbGetSts) + { + // + // Please add your code here +>>> + // + case OFBD_TC_AC_BAT_INFO_REQ: + /* + //+>>>if AC/Battery has an issue please add your message here + Strcpy (pOFBDTblEnd , ErrorMsg_1); + pOFBDHdr->OFBD_RS |= OFBD_RS_DIS_OEMSTR; + AC_BatteryPtr->dbRetSts |= OFBD_RS_AC_BAT_ERR ; + //<<< + */ + AC_BatteryPtr->dbRetSts |= OFBD_RS_AC_BAT_OK; + break; + + default: + AC_BatteryPtr->dbRetSts |= OFBD_RS_AC_BAT_OK; + break; + // + // Please add your code here <<<+ + // + + } + + +#endif // #ifdef BATTERYCHECK_SAMPLE_TEST + + return(Status); +} + +//<AMI_PHDR_START> +//---------------------------------------------------------------------------- +// Procedure: BatteryCheckEntry +// +// Description: OFBD Battery Check Header Handle Entry Point +// +// Input: +// IN VOID *Buffer +// IN OUT UINT8 *pOFBDDataHandled +// Output: +// VOID +// +//---------------------------------------------------------------------------- +//<AMI_PHDR_END> +VOID BatteryCheckEntry ( + IN VOID *Buffer, + IN OUT UINT8 *pOFBDDataHandled ) +{ + OFBD_HDR *pOFBDHdr; + OFBD_EXT_HDR *pOFBDExtHdr; + VOID *pOFBDTblEnd; + + if(*pOFBDDataHandled == 0) + { + pOFBDHdr = (OFBD_HDR *)Buffer; + pOFBDExtHdr = (OFBD_EXT_HDR *)((UINT8 *)Buffer + (pOFBDHdr->OFBD_HDR_SIZE)); + pOFBDTblEnd = (VOID *)((UINT8 *)Buffer + (pOFBDHdr->OFBD_Size)); + + if(pOFBDHdr->OFBD_FS & OFBD_FS_AC_BAT) + { + //Check Type Code ID + if(pOFBDExtHdr->TypeCodeID == OFBD_EXT_TC_AC_BAT) + { + if(OFBDBatteryCheck(pOFBDHdr) == EFI_SUCCESS) + { + *pOFBDDataHandled = 0xFF; + return; + } + } + //Error occured + *pOFBDDataHandled = 0xFE; + return; + } + } + + return; +} + +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2012, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** diff --git a/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.cif b/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.cif new file mode 100644 index 0000000..291c5db --- /dev/null +++ b/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.cif @@ -0,0 +1,11 @@ +<component> + name = "AC/Battery checking" + category = ModulePart + LocalRoot = "Core\EM\OFBD\BATTERYCHECK\" + RefName = "OFBD_BATTERYCHECK" +[files] +"BATTERYCHECK.sdl" +"BATTERYCHECK.mak" +"BATTERYCHECK.h" +"BATTERYCHECK.c" +<endComponent> diff --git a/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.h b/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.h new file mode 100644 index 0000000..2903f92 --- /dev/null +++ b/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.h @@ -0,0 +1,64 @@ +//**********************************************************************// +//**********************************************************************// +//** **// +//** (C)Copyright 1985-2012, American Megatrends, Inc. **// +//** **// +//** All Rights Reserved. **// +//** **// +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **// +//** **// +//** Phone: (770)-246-8600 **// +//** **// +//**********************************************************************// +//**********************************************************************// + +//********************************************************************** +// $Header: /Alaska/SOURCE/Modules/OFBD/BATTERYCHECK/BATTERYCHECK.h 1 10/11/12 2:27a Terrylin $ +// +// $Revision: 1 $ +// +// $Date: 10/11/12 2:27a $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/OFBD/BATTERYCHECK/BATTERYCHECK.h $ +// +// 1 10/11/12 2:27a Terrylin +// Initial check-in for OEM can control AC/Battery status check rule +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: BATTERYCHECK.h +// +// Description: Header file for the BATTERYCHECK +// +//<AMI_FHDR_END> +//********************************************************************** +#ifndef _EFI_EC_BATTERY_CHECK_STATUS_H_ +#define _EFI_EC_BATTERY_CHECK_STATUS_H_ +#ifdef __cplusplus +extern "C" { +#endif + +#define RETURN_ERR 1 + +/****** DO NOT WRITE BELOW THIS LINE *******/ +#ifdef __cplusplus +} +#endif +#endif + +//**********************************************************************// +//**********************************************************************// +//** **// +//** (C)Copyright 1985-2012, American Megatrends, Inc. **// +//** **// +//** All Rights Reserved. **// +//** **// +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **// +//** **// +//** Phone: (770)-246-8600 **// +//** **// +//**********************************************************************// +//**********************************************************************// diff --git a/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.mak b/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.mak new file mode 100644 index 0000000..eb28d80 --- /dev/null +++ b/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.mak @@ -0,0 +1,68 @@ +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2012, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#************************************************************************* +#************************************************************************* + +#************************************************************************* +# $Header: /Alaska/SOURCE/Modules/OFBD/BATTERYCHECK/BATTERYCHECK.mak 1 10/11/12 2:27a Terrylin $ +# +# $Revision: 1 $ +# +# $Date: 10/11/12 2:27a $ +#************************************************************************* +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/OFBD/BATTERYCHECK/BATTERYCHECK.mak $ +# +# 1 10/11/12 2:27a Terrylin +# Initial check-in for OEM can control AC/Battery status check rule +# +#************************************************************************* +#<AMI_FHDR_START> +# +# Name: BATTERYCHECK.mak +# +# Description: Make file for the BatteryCheck.obj +# +#<AMI_FHDR_END> +#************************************************************************* +all : BATTERYCHECK + +BATTERYCHECK : $(BUILD_DIR)\BATTERYCHECK.mak BATTERYCHECKBin + +$(BUILD_DIR)\BATTERYCHECK.mak : $(OFBD_BATTERYCHECK_DIR)\$(@B).cif $(OFBD_BATTERYCHECK_DIR)\$(@B).mak $(BUILD_RULES) + $(CIF2MAK) $(OFBD_BATTERYCHECK_DIR)\$(@B).cif $(CIF2MAK_DEFAULTS) + +BATTERYCHECKBin : + @set INCLUDE=%%INCLUDE%% + $(MAKE) /$(MAKEFLAGS) $(BUILD_DEFAULTS)\ + /f $(BUILD_DIR)\BATTERYCHECK.mak all\ + NAME=BATTERYCHECK \ + TYPE=LIBRARY LIBRARY_NAME=$(BATTERYCHECKLIB) + +$(BATTERYCHECKLIB) : BATTERYCHECK + +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2012, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#************************************************************************* +#************************************************************************* + + diff --git a/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.sdl b/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.sdl new file mode 100644 index 0000000..2aa5df0 --- /dev/null +++ b/Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.sdl @@ -0,0 +1,55 @@ +TOKEN + Name = "AC_BATTERY_CHECK_SUPPORT" + Value = "0" + Help = "Main switch to enable AC/Battery Check support in Project" + TokenType = Boolean + TargetEQU = Yes + TargetMAK = Yes + Master = Yes +End + +TOKEN + Name = "BATTERYCHECKLIB" + Value = "$(BUILD_DIR)\BATTERYCHECK.lib" + TokenType = Expression + TargetMAK = Yes +End + +TOKEN + Name = "[AC/Battery Check Sample Code Section]" + Help = "See detail description in each token's help box." + TokenType = Expression + Lock = Yes +End + +TOKEN + Name = "BATTERYCHECK_SAMPLE_TEST" + Value = "1" + Help = "Test AC/Battery Check Function" + TokenType = Boolean + TargetMAK = Yes + TargetH = Yes + Token = "AC_BATTERY_CHECK_SUPPORT" "=" "1" +End + +PATH + Name = "OFBD_BATTERYCHECK_DIR" +End + +MODULE + Help = "Includes BATTERYCHECK.mak to Project" + File = "BATTERYCHECK.mak" +End + +ELINK + Name = "$(BUILD_DIR)\BATTERYCHECK.lib" + Parent = "OFBDLISTLIB" + InvokeOrder = AfterParent +End + +ELINK + Name = "BatteryCheckEntry," + Parent = "OFBDPartsList" + Token = "AC_BATTERY_CHECK_SUPPORT" "=" "1" + InvokeOrder = AfterParent +End |