summaryrefslogtreecommitdiff
path: root/Platform/BroxtonPlatformPkg/Common/Acpi
diff options
context:
space:
mode:
authorzwei4 <david.wei@intel.com>2017-04-10 10:28:08 +0800
committerzwei4 <david.wei@intel.com>2017-04-10 10:40:03 +0800
commit487cecf67aa52744bf65a32b8824a22d5370cfe6 (patch)
tree0823958e117b94cdfcf011dd4782801857b13291 /Platform/BroxtonPlatformPkg/Common/Acpi
parentbfd8bbcd69883004896d3cbaa7ff7e650625bdd5 (diff)
downloadedk2-platforms-487cecf67aa52744bf65a32b8824a22d5370cfe6.tar.xz
Add code for IPC.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: zwei4 <david.wei@intel.com>
Diffstat (limited to 'Platform/BroxtonPlatformPkg/Common/Acpi')
-rw-r--r--Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/Platform.asl52
1 files changed, 52 insertions, 0 deletions
diff --git a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/Platform.asl b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/Platform.asl
index 04ea3ad74d..3a4cdd144a 100644
--- a/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/Platform.asl
+++ b/Platform/BroxtonPlatformPkg/Common/Acpi/AcpiTablesPCAT/Platform.asl
@@ -663,6 +663,58 @@ Scope(\_SB)
}
} //Device (GPO3)
+ Scope (\_SB) {
+ Device(IPC1)
+ {
+ Name (_ADR, 0)
+ Name (_HID, "INT34D2")
+ Name (_CID, "INT34D2")
+
+ Name (_DDN, "Intel(R) IPCI controller ")
+ Name (_UID, 1)
+
+ Name (RBUF, ResourceTemplate ()
+ {
+ Memory32Fixed (ReadWrite, 0x00000000, 0x00002000, BAR0) // IPC1 Bar, 8KB
+ Memory32Fixed (ReadWrite, 0x00000000, 0x00000004, MDAT) // PUnit mailbox Data
+ Memory32Fixed (ReadWrite, 0x00000000, 0x00000004, MINF) // PUnit mailbox Interface
+ Memory32Fixed (ReadWrite, 0x00000000, 0x00002000, BAR1) // SSRAM
+ IO (Decode16, 0x400, 0x480, 0x4, 0x80) //ACPI IO Base address
+ Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, , , ) {40} // IPC1 IRQ
+ })
+
+
+ Method (_CRS, 0x0, NotSerialized)
+ {
+ CreateDwordField(^RBUF, ^BAR0._BAS, B0BA)
+ CreateDwordField(^RBUF, ^BAR0._LEN, B0LN)
+ Store(DD1A, B0BA) // D13A is the BAR high address for B0/D13/F1
+ Store(DD1L, B0LN) // D13L is the BAR length for B0/D13/F1
+
+ CreateDwordField(^RBUF, ^MDAT._BAS, BM01)
+ CreateDwordField(^RBUF, ^MDAT._LEN, BML1)
+ CreateDwordField(^RBUF, ^MINF._BAS, BM02)
+ CreateDwordField(^RBUF, ^MINF._LEN, BML2)
+ Store(BMDA, BM01) // BMDA is the mail box data
+ Store(4, BML1) // Length for BMDA is 4 bytes
+ Store(BMIA, BM02) // BMDA is the mail box interface
+ Store(4, BML2) // Length for BMIA is 4 bytes
+
+ CreateDwordField(^RBUF, ^BAR1._BAS, B1BA)
+ CreateDwordField(^RBUF, ^BAR1._LEN, B1LN)
+ Store(DD3A, B1BA) // D13A is the BAR high address for B0/D13/F3
+ Store(DD3L, B1LN) // D13L is the BAR length for B0/D13/F3
+
+ Return (RBUF)
+ }
+
+ Method (_STA, 0x0, NotSerialized)
+ {
+
+ Return (0xF)
+ }
+ }
+ }//end scope
} // end Scope(\_SB)