diff options
author | raywu <raywu@aaeon.com.tw> | 2019-01-17 15:55:18 +0800 |
---|---|---|
committer | raywu <raywu@aaeon.com.tw> | 2019-01-17 15:55:18 +0800 |
commit | ca29e71325c273748a89295c1ec9aa7f2af34a33 (patch) | |
tree | 544e334c9b54802b0b97f55693d019d91c4cbba2 /Board | |
parent | d3f431f704733e5a75407aa066fbd2f499291ab5 (diff) | |
download | zprj-ca29e71325c273748a89295c1ec9aa7f2af34a33.tar.xz |
DW01 - Fixed COM Port will not be disable normally (still appeared under Windows Device Management)
Diffstat (limited to 'Board')
-rw-r--r-- | Board/IO/F81216/F81216DXE.C | 6 | ||||
-rw-r--r-- | Board/IO/F81866/F81866.ASL | 10 | ||||
-rw-r--r-- | Board/IO/F81866/F81866DXE.C | 6 |
3 files changed, 14 insertions, 8 deletions
diff --git a/Board/IO/F81216/F81216DXE.C b/Board/IO/F81216/F81216DXE.C index 4963c1b..a33944a 100644 --- a/Board/IO/F81216/F81216DXE.C +++ b/Board/IO/F81216/F81216DXE.C @@ -421,10 +421,10 @@ static EFI_STATUS COM_Init( { case isGetSetupData: // // Disable IODecode? - // if((!dev->DeviceInfo->Implemented) || (!dev->NvData.DevEnable)) { + if((!dev->DeviceInfo->Implemented) || (!dev->NvData.DevEnable)) { // LoopCspIoDecodeListInit(NULL,AmiSio); - // ClearDevResource(dev); - // } + ClearDevResource(dev); + } break; case isPrsSelect: diff --git a/Board/IO/F81866/F81866.ASL b/Board/IO/F81866/F81866.ASL index 8899ae8..3459f4d 100644 --- a/Board/IO/F81866/F81866.ASL +++ b/Board/IO/F81866/F81866.ASL @@ -348,6 +348,7 @@ Device(SIO1) { ENFG(CGLD(Arg0)) //Enter Config Mode, Select LDN Store(ACTR, Local0) + Or(ShiftLeft(IOAH, 8),IOAL,Local1) EXFG() //Exit Config Mode If(LEqual(Local0, 0xFF)) {Return(0x0)} //LDN's not decoded, Device not present. @@ -371,10 +372,11 @@ Device(SIO1) { Else{ Return(0x00)} // Device not present } Else{//by Base1 & Base2 check - Or(ShiftLeft(IOAH, 8),IOAL,Local0) - If(Local0) { Return(0x0D)} // Device Detected & Not Active +// Or(ShiftLeft(IOAH, 8),IOAL,Local0) +// If(Local0) { Return(0x0D)} // Device Detected & Not Active // Or(ShiftLeft(IOH2, 8),IOL2,Local0) // If(Local0) { Return(0x0D)} // Device Detected & Not Active + If(Local1) { Return(0x0D)} // Device Detected & Not Active Return(0x00) // Device not present } } //Exit Config Mode @@ -884,6 +886,10 @@ Method(SIOW, 1){ And(0xF0, ^SIO1.CR2D,^SIO1.CR2D) //disable kbc/mouse wakeup And(0x7F, ^SIO1.RGE0, ^SIO1.RGE0) //disable ERP function,bit7 + ^SIO1.ENFG(0x07) + And(^SIO1.OPT5, 0xDF, ^SIO1.OPT5) + Store(^SIO1.OPT5, ^SIO1.OPT5) + ^SIO1.EXFG() } diff --git a/Board/IO/F81866/F81866DXE.C b/Board/IO/F81866/F81866DXE.C index d1ce887..ed434f5 100644 --- a/Board/IO/F81866/F81866DXE.C +++ b/Board/IO/F81866/F81866DXE.C @@ -627,10 +627,10 @@ static EFI_STATUS COM_Init( switch (InitStep) { case isGetSetupData: -// if((!dev->DeviceInfo->Implemented) || (!dev->NvData.DevEnable)) { + if((!dev->DeviceInfo->Implemented) || (!dev->NvData.DevEnable)) { // LoopCspIoDecodeListInit(NULL,AmiSio); -// ClearDevResource(dev); -// } + ClearDevResource(dev); + } break; case isPrsSelect: |