summaryrefslogtreecommitdiff
path: root/Core/EM/OFBD/BATTERYCHECK
diff options
context:
space:
mode:
Diffstat (limited to 'Core/EM/OFBD/BATTERYCHECK')
-rw-r--r--Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.c176
-rw-r--r--Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.cif11
-rw-r--r--Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.h64
-rw-r--r--Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.mak68
-rw-r--r--Core/EM/OFBD/BATTERYCHECK/BATTERYCHECK.sdl55
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