[edk2-devel] [edk2-platforms][PATCH 3/8] Platform/ARM/SgiPkg: move common platform description to SSDT

Aditya Angadi aditya.angadi at arm.com
Thu Mar 12 14:35:15 UTC 2020


Move common platform description entries in platfrom specific DSDT to
a SSDT that can be reused on all SGI/RD platforms.

Signed-off-by: Aditya Angadi <aditya.angadi at arm.com>
---
 .../ARM/SgiPkg/AcpiTables/RdE1Edge/Dsdt.asl   | 70 +--------------
 .../SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf  |  3 +-
 .../ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl   | 69 +-------------
 .../SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf  |  3 +-
 .../AcpiTables/RdN1EdgeX2AcpiTables.inf       |  1 +
 Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl    | 90 +++++++++++++++++++
 6 files changed, 97 insertions(+), 139 deletions(-)
 create mode 100644 Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl

diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdE1Edge/Dsdt.asl b/Platform/ARM/SgiPkg/AcpiTables/RdE1Edge/Dsdt.asl
index 5583e61097..d66c7cbf41 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdE1Edge/Dsdt.asl
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1Edge/Dsdt.asl
@@ -1,7 +1,7 @@
 /** @file
 *  Differentiated System Description Table Fields (DSDT)
 *
-*  Copyright (c) 2018, ARM Ltd. All rights reserved.
+*  Copyright (c) 2018-2020, ARM Ltd. All rights reserved.
 *
 *  SPDX-License-Identifier: BSD-2-Clause-Patent
 *
@@ -208,73 +208,5 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 1, "ARMLTD", "ARMSGI",
       Name (_STA, 0xF)
     }
 
-    // UART PL011
-    Device (COM0) {
-      Name (_HID, "ARMH0011")
-      Name (_CID, "ARMH0011")
-      Name (_UID, Zero)
-      Name (_STA, 0xF)
-      Name (_CRS, ResourceTemplate() {
-        Memory32Fixed (
-          ReadWrite,
-          FixedPcdGet64 (PcdSerialDbgRegisterBase),
-          0x1000
-        )
-        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 147 }
-      })
-    }
-
-    // SMSC 91C111
-    Device (ETH0) {
-      Name (_HID, "LNRO0003")
-      Name (_UID, Zero)
-      Name (_STA, 0xF)
-      Name (_CRS, ResourceTemplate() {
-        Memory32Fixed (ReadWrite, 0x18000000, 0x1000)
-        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 111 }
-      })
-      Name (_DSD, Package() {
-        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
-        Package () {
-          Package (2) {"reg-io-width", 4 },
-        }
-      })
-    }
-
-    // VIRTIO DISK
-    Device (VR00) {
-      Name (_HID, "LNRO0005")
-      Name (_UID, 0)
-      Name (_CCA, 1)    // mark the device coherent
-
-      Name (_CRS, ResourceTemplate() {
-        Memory32Fixed (
-          ReadWrite,
-          FixedPcdGet32 (PcdVirtioBlkBaseAddress),
-          FixedPcdGet32 (PcdVirtioBlkSize)
-        )
-        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {
-          FixedPcdGet32 (PcdVirtioBlkInterrupt)
-        }
-      })
-    }
-
-    // VIRTIO NET
-    Device (VR01) {
-      Name (_HID, "LNRO0005")
-      Name (_UID, 1)
-      Name (_CCA, 1)    // mark the device coherent
-
-      Name (_CRS, ResourceTemplate() {
-        Memory32Fixed (
-          ReadWrite,
-          FixedPcdGet32 (PcdVirtioNetBaseAddress),
-          FixedPcdGet32 (PcdVirtioNetSize)
-        )
-        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {
-          FixedPcdGet32 (PcdVirtioNetInterrupt)
-        }
-      })
-    }
   } // Scope(_SB)
 }
diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf
index 3a4d4e7b95..b08d7c2df5 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf
@@ -1,7 +1,7 @@
 ## @file
 #  ACPI table data and ASL sources required to boot the platform.
 #
-#  Copyright (c) 2018, ARM Ltd. All rights reserved.
+#  Copyright (c) 2018-2020, ARM Ltd. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -16,6 +16,7 @@
 
 [Sources]
   Dbg2.aslc
+  SsdtRos.asl
   Fadt.aslc
   Gtdt.aslc
   Iort.aslc
diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl b/Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl
index 45316d5005..cb05eed358 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl
@@ -1,7 +1,7 @@
 /** @file
 *  Differentiated System Description Table Fields (DSDT)
 *
-*  Copyright (c) 2018, ARM Ltd. All rights reserved.
+*  Copyright (c) 2018-2020, ARM Ltd. All rights reserved.
 *
 *  SPDX-License-Identifier: BSD-2-Clause-Patent
 *
@@ -62,72 +62,5 @@ DefinitionBlock ("DsdtTable.aml", "DSDT", 1, "ARMLTD", "ARMSGI",
       Name (_STA, 0xF)
     }
 
-    // UART PL011
-    Device (COM0) {
-      Name (_HID, "ARMH0011")
-      Name (_CID, "ARMH0011")
-      Name (_UID, Zero)
-      Name (_STA, 0xF)
-      Name (_CRS, ResourceTemplate () {
-        Memory32Fixed (
-          ReadWrite,
-          FixedPcdGet64 (PcdSerialDbgRegisterBase),
-          0x1000
-          )
-        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 147 }
-      })
-    }
-
-    // SMSC 91C111
-    Device (ETH0) {
-      Name (_HID, "LNRO0003")
-      Name (_UID, Zero)
-      Name (_STA, 0xF)
-      Name (_CRS, ResourceTemplate () {
-        Memory32Fixed (ReadWrite, 0x18000000, 0x1000)
-        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 111 }
-      })
-      Name (_DSD, Package() {
-        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
-                Package() {
-                  Package(2) {"reg-io-width", 4 },
-                }
-      })
-    }
-
-    // VIRTIO DISK
-    Device (VR00) {
-      Name (_HID, "LNRO0005")
-      Name (_UID, 0)
-      Name (_CCA, 1)    // mark the device coherent
-
-      Name (_CRS, ResourceTemplate() {
-        Memory32Fixed (
-          ReadWrite,
-          FixedPcdGet32 (PcdVirtioBlkBaseAddress),
-          FixedPcdGet32 (PcdVirtioBlkSize)
-        )
-        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {
-          FixedPcdGet32 (PcdVirtioBlkInterrupt)
-        }
-      })
-    }
-
-    // VIRTIO NET
-    Device (VR01) {
-      Name (_HID, "LNRO0005")
-      Name (_UID, 1)
-      Name (_CCA, 1)    // mark the device coherent
-
-      Name (_CRS, ResourceTemplate() {
-        Memory32Fixed (ReadWrite,
-          FixedPcdGet32 (PcdVirtioNetBaseAddress),
-          FixedPcdGet32 (PcdVirtioNetSize)
-        )
-        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {
-          FixedPcdGet32 (PcdVirtioNetInterrupt)
-        }
-      })
-    }
   } // Scope(_SB)
 }
diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf
index 58c33ecb8e..61b07bffcc 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf
@@ -1,7 +1,7 @@
 ## @file
 #  ACPI table data and ASL sources required to boot the platform.
 #
-#  Copyright (c) 2018, ARM Ltd. All rights reserved.
+#  Copyright (c) 2018-2020, ARM Ltd. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -16,6 +16,7 @@
 
 [Sources]
   Dbg2.aslc
+  SsdtRos.asl
   Fadt.aslc
   Gtdt.aslc
   Iort.aslc
diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf
index 1b584b1524..a4d5904f67 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf
@@ -16,6 +16,7 @@
 
 [Sources]
   Dbg2.aslc
+  SsdtRos.asl
   Fadt.aslc
   Gtdt.aslc
   Iort.aslc
diff --git a/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl
new file mode 100644
index 0000000000..95ae23c1f5
--- /dev/null
+++ b/Platform/ARM/SgiPkg/AcpiTables/SsdtRos.asl
@@ -0,0 +1,90 @@
+/** @file
+*  Secondary System Description Table Fields (SSDT)
+*
+*  Copyright (c) 2020, ARM Ltd. All rights reserved.
+*
+*  This program and the accompanying materials are licensed and made available
+*  under the terms and conditions of the BSD License which accompanies this
+*  distribution.  The full text of the license may be found at
+*  http://opensource.org/licenses/bsd-license.php
+*
+*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+*
+**/
+
+#include "SgiPlatform.h"
+#include "SgiAcpiHeader.h"
+
+DefinitionBlock ("SsdtRosTable.aml", "SSDT", 1, "ARMLTD", "ARMSGI",
+                 EFI_ACPI_ARM_OEM_REVISION) {
+  Scope (_SB) {
+    // UART PL011
+    Device (COM0) {
+      Name (_HID, "ARMH0011")
+      Name (_CID, "ARMH0011")
+      Name (_UID, Zero)
+      Name (_STA, 0xF)
+      Name (_CRS, ResourceTemplate () {
+        Memory32Fixed (
+          ReadWrite,
+          FixedPcdGet64 (PcdSerialDbgRegisterBase),
+          0x1000
+        )
+        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 147 }
+      })
+    }
+
+    // SMSC 91C111
+    Device (ETH0) {
+      Name (_HID, "LNRO0003")
+      Name (_UID, Zero)
+      Name (_STA, 0xF)
+      Name (_CRS, ResourceTemplate () {
+        Memory32Fixed (ReadWrite, 0x18000000, 0x1000)
+        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 111 }
+      })
+      Name (_DSD, Package() {
+        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+                Package() {
+                  Package(2) {"reg-io-width", 4 },
+                }
+      })
+    }
+
+    // VIRTIO DISK
+    Device (VR00) {
+      Name (_HID, "LNRO0005")
+      Name (_UID, 0)
+      Name (_CCA, 1)    // mark the device coherent
+
+      Name (_CRS, ResourceTemplate() {
+        Memory32Fixed (
+          ReadWrite,
+          FixedPcdGet32 (PcdVirtioBlkBaseAddress),
+          FixedPcdGet32 (PcdVirtioBlkSize)
+        )
+        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {
+          FixedPcdGet32 (PcdVirtioBlkInterrupt)
+        }
+      })
+    }
+
+    // VIRTIO NET
+    Device (VR01) {
+      Name (_HID, "LNRO0005")
+      Name (_UID, 1)
+      Name (_CCA, 1)    // mark the device coherent
+
+      Name (_CRS, ResourceTemplate() {
+        Memory32Fixed (ReadWrite,
+          FixedPcdGet32 (PcdVirtioNetBaseAddress),
+          FixedPcdGet32 (PcdVirtioNetSize)
+        )
+        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {
+          FixedPcdGet32 (PcdVirtioNetInterrupt)
+        }
+      })
+    }
+  }
+}
-- 
2.17.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#55818): https://edk2.groups.io/g/devel/message/55818
Mute This Topic: https://groups.io/mt/71903345/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list