summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Silicon/Socionext/SynQuacer/AcpiTables/AcpiSsdtRootPci.asl15
-rw-r--r--Silicon/Socionext/SynQuacer/AcpiTables/AcpiTables.inf1
2 files changed, 16 insertions, 0 deletions
diff --git a/Silicon/Socionext/SynQuacer/AcpiTables/AcpiSsdtRootPci.asl b/Silicon/Socionext/SynQuacer/AcpiTables/AcpiSsdtRootPci.asl
index 24a3aa3a5b..51e9d0b22c 100644
--- a/Silicon/Socionext/SynQuacer/AcpiTables/AcpiSsdtRootPci.asl
+++ b/Silicon/Socionext/SynQuacer/AcpiTables/AcpiSsdtRootPci.asl
@@ -14,6 +14,7 @@
**/
+#include <Platform/MemoryMap.h>
#include <Platform/Pcie.h>
#include "AcpiTables.h"
@@ -37,7 +38,21 @@ DefinitionBlock ("SsdtPci.aml", "SSDT", 1, "SNI", "SYNQUACR",
VPID, 16,
}
+ OperationRegion (GPIO, SystemMemory, SYNQUACER_GPIO_BASE, 8)
+ Field (GPIO, DWordAcc, NoLock, Preserve) {
+ , 39,
+ PRDT, 1,
+ , 24,
+ }
+
Method (_STA, 0x0, Serialized) {
+ If (!LEqual (FixedPcdGet8 (PcdPcie0PresenceDetectGpioPin), 0xff)) {
+ Store (PRDT, local0)
+ If (!LEqual (local0, 0x0)) {
+ Return (0x0)
+ }
+ }
+
//
// Check whether the VID/PID of device #1 on bus #0 equals 0xffff.
// If this is not the case, we are dealing with a ghost device,
diff --git a/Silicon/Socionext/SynQuacer/AcpiTables/AcpiTables.inf b/Silicon/Socionext/SynQuacer/AcpiTables/AcpiTables.inf
index b1b6bbaa48..bca8354d11 100644
--- a/Silicon/Socionext/SynQuacer/AcpiTables/AcpiTables.inf
+++ b/Silicon/Socionext/SynQuacer/AcpiTables/AcpiTables.inf
@@ -62,3 +62,4 @@
gSynQuacerTokenSpaceGuid.PcdNetsecEepromBase
gSynQuacerTokenSpaceGuid.PcdNetsecPhyAddress
+ gSynQuacerTokenSpaceGuid.PcdPcie0PresenceDetectGpioPin