summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraywu <raywu@aaeon.com.tw>2019-01-17 15:55:18 +0800
committerraywu <raywu@aaeon.com.tw>2019-01-17 15:55:18 +0800
commitca29e71325c273748a89295c1ec9aa7f2af34a33 (patch)
tree544e334c9b54802b0b97f55693d019d91c4cbba2
parentd3f431f704733e5a75407aa066fbd2f499291ab5 (diff)
downloadzprj-ca29e71325c273748a89295c1ec9aa7f2af34a33.tar.xz
DW01 - Fixed COM Port will not be disable normally (still appeared under Windows Device Management)
-rw-r--r--Board/IO/F81216/F81216DXE.C6
-rw-r--r--Board/IO/F81866/F81866.ASL10
-rw-r--r--Board/IO/F81866/F81866DXE.C6
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: