summaryrefslogtreecommitdiff
path: root/Core/EM/AMITSE/commonoem.c
diff options
context:
space:
mode:
Diffstat (limited to 'Core/EM/AMITSE/commonoem.c')
-rw-r--r--Core/EM/AMITSE/commonoem.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/Core/EM/AMITSE/commonoem.c b/Core/EM/AMITSE/commonoem.c
index cdc4d35..ab5364c 100644
--- a/Core/EM/AMITSE/commonoem.c
+++ b/Core/EM/AMITSE/commonoem.c
@@ -849,6 +849,43 @@ UINT16 gRootPageOrderIndex = 0;
UINTN CurrentScreenresolutionX, CurrentScreenresolutionY;
extern UINTN gPostStatus; //EIP-140123
+VOID F81866ConfigRegisterWrite(UINT8 Index, UINT8 Data)
+{
+ IoWrite8(F81866_CONFIG_INDEX, Index);
+ IoWrite8(F81866_CONFIG_DATA, Data);
+}
+UINT8 F81866ConfigRegisterRead(UINT8 Index)
+{
+ UINT8 Data8;
+ IoWrite8(F81866_CONFIG_INDEX, Index);
+ Data8 = IoRead8(F81866_CONFIG_DATA);
+ return Data8;
+}
+VOID F81866LDNSelect(UINT8 Ldn)
+{
+ IoWrite8(F81866_CONFIG_INDEX, F81866_LDN_SEL_REGISTER);
+ IoWrite8(F81866_CONFIG_DATA, Ldn);
+}
+VOID F81866EnterConfigMode()
+{
+ IoWrite8(F81866_CONFIG_INDEX, F81866_CONFIG_MODE_ENTER_VALUE);
+ IoWrite8(F81866_CONFIG_INDEX, F81866_CONFIG_MODE_ENTER_VALUE);
+}
+VOID F81866ExitConfigMode()
+{
+ // Exit config mode
+ IoWrite8(F81866_CONFIG_INDEX, F81866_CONFIG_MODE_EXIT_VALUE);
+}
+
+VOID F81866WDTDisable()
+{
+ F81866EnterConfigMode() ;
+ F81866LDNSelect(F81866_LDN_WDT) ;
+ // WDT Disabled
+ F81866ConfigRegisterWrite( 0xF5 , F81866ConfigRegisterRead(0xF5) & ~BIT5 ) ;
+ F81866ExitConfigMode() ;
+}
+
//<AMI_PHDR_START>
//----------------------------------------------------------------------------
// Procedure: DrawQuietBootLogo
@@ -1639,6 +1676,7 @@ VOID CheckForKey (EFI_EVENT Event, VOID *Context)
)
{
+ F81866WDTDisable() ;
CheckandDeactivateSoftkbd();// EIP62763 : Check and Deactivate if softkbd present
PrintEnterSetupMessage();
}
@@ -1652,6 +1690,7 @@ VOID CheckForKey (EFI_EVENT Event, VOID *Context)
#endif
)
{
+ F81866WDTDisable() ;
CheckandDeactivateSoftkbd();// EIP62763 : Check and Deactivate if softkbd present
PrintEnterBBSPopupMessage ();
gBootFlow = BOOT_FLOW_CONDITION_BBS_POPUP;
@@ -1792,6 +1831,7 @@ VOID CheckForClick (EFI_EVENT Event, VOID *Context)
//<AMI_PHDR_END>
VOID BeforeLegacyBootLaunch(VOID)
{
+ F81866WDTDisable() ;
}
//<AMI_PHDR_START>
@@ -1830,6 +1870,7 @@ VOID MouseDestroy(VOID);
//<AMI_PHDR_END>
VOID BeforeEfiBootLaunch(VOID)
{
+ F81866WDTDisable() ;
StopClickEvent();//EIP 86253 : Mouse and SoftKbd does not work after displaying "No option to boot to" in POST
MouseDestroy();