diff options
-rw-r--r-- | Silicon/Socionext/SynQuacer/AcpiTables/AcpiSsdtRootPci.asl | 15 | ||||
-rw-r--r-- | Silicon/Socionext/SynQuacer/AcpiTables/AcpiTables.inf | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/Silicon/Socionext/SynQuacer/AcpiTables/AcpiSsdtRootPci.asl b/Silicon/Socionext/SynQuacer/AcpiTables/AcpiSsdtRootPci.asl index 24a3aa3a..51e9d0b2 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 b1b6bbaa..bca8354d 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
|