From 16d9c6b8f5a95724f70ad3af0dbed5cccd57b6ec Mon Sep 17 00:00:00 2001 From: raywu Date: Fri, 23 Nov 2018 15:15:07 +0800 Subject: DW01 - Support WDT Function --- Core/EM/AMITSE/commonoem.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'Core') 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() ; +} + // //---------------------------------------------------------------------------- // 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) // VOID BeforeLegacyBootLaunch(VOID) { + F81866WDTDisable() ; } // @@ -1830,6 +1870,7 @@ VOID MouseDestroy(VOID); // VOID BeforeEfiBootLaunch(VOID) { + F81866WDTDisable() ; StopClickEvent();//EIP 86253 : Mouse and SoftKbd does not work after displaying "No option to boot to" in POST MouseDestroy(); -- cgit v1.2.3