[edk2-devel] [edk2-platforms][PATCH V3 06/14] Platform/Sgi: Add DSDT ACPI table for RD-N1-Edge dual-chip platform

Pranav Madhu pranav.madhu at arm.com
Mon May 10 20:06:07 UTC 2021


The RD-N1-Edge dual-chip platform is composed of two RD-N1-Edge
platforms connected over a coherent link. Each chip has two clusters
with four CPUs in each cluster. Add the Differentiated System
Description Table (DSDT) ACPI table for this platform with processor
container devices defined containing the corresponding processor
devices.

Signed-off-by: Pranav Madhu <pranav.madhu at arm.com>
---
 Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf |   2 +-
 Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl      | 136 ++++++++++++++++++++
 2 files changed, 137 insertions(+), 1 deletion(-)

diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf
index 76886d1c6a17..c7c29b9c5946 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2AcpiTables.inf
@@ -21,7 +21,7 @@
   Gtdt.aslc
   Iort.aslc
   Mcfg.aslc
-  RdN1Edge/Dsdt.asl
+  RdN1EdgeX2/Dsdt.asl
   RdN1EdgeX2/Hmat.aslc
   RdN1EdgeX2/Madt.aslc
   RdN1EdgeX2/Srat.aslc
diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl
new file mode 100644
index 000000000000..2379f20a79ef
--- /dev/null
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Dsdt.asl
@@ -0,0 +1,136 @@
+/** @file
+*  Differentiated System Description Table Fields (DSDT)
+*
+*  Copyright (c) 2021, ARM Ltd. All rights reserved.
+*
+*  SPDX-License-Identifier: BSD-2-Clause-Patent
+*
+*  @par Specification Reference:
+*  - ACPI 6.3, Section 5.2.11.1, Differentiated System Description Table
+**/
+
+#include "SgiAcpiHeader.h"
+#include "SgiPlatform.h"
+
+DefinitionBlock ("DsdtTable.aml", "DSDT", 2, "ARMLTD", "ARMSGI",
+                 EFI_ACPI_ARM_OEM_REVISION) {
+  Scope (_SB) {
+    /* Chip 0 CPUs */
+    Device (CLU0) {   // Cluster 0
+      Name (_HID, "ACPI0010")
+      Name (_UID, 0)
+
+      Device (CP00) { // Neoverse-N1: Cluster 0, Cpu 0
+        Name (_HID, "ACPI0007")
+        Name (_UID, 0)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP01) { // Neoverse-N1: Cluster 0, Cpu 1
+        Name (_HID, "ACPI0007")
+        Name (_UID, 1)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP02) { // Neoverse-N1: Cluster 0, Cpu 2
+        Name (_HID, "ACPI0007")
+        Name (_UID, 2)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP03) { // Neoverse-N1: Cluster 0, Cpu 3
+        Name (_HID, "ACPI0007")
+        Name (_UID, 3)
+        Name (_STA, 0xF)
+      }
+    }
+
+    Device (CLU1) {   // Cluster 1
+      Name (_HID, "ACPI0010")
+      Name (_UID, 1)
+
+      Device (CP04) { // Neoverse-N1: Cluster 1, Cpu 0
+        Name (_HID, "ACPI0007")
+        Name (_UID, 4)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP05) { // Neoverse-N1: Cluster 1, Cpu 1
+        Name (_HID, "ACPI0007")
+        Name (_UID, 5)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP06) { // Neoverse-N1: Cluster 1, Cpu 2
+        Name (_HID, "ACPI0007")
+        Name (_UID, 6)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP07) { // Neoverse-N1: Cluster 1, Cpu 3
+        Name (_HID, "ACPI0007")
+        Name (_UID, 7)
+        Name (_STA, 0xF)
+      }
+    }
+
+    /* Chip 1 CPUs */
+    Device (CLU2) {   // Cluster 2
+      Name (_HID, "ACPI0010")
+      Name (_UID, 2)
+
+      Device (CP08) { // Neoverse-N1: Cluster 2, Cpu 0
+        Name (_HID, "ACPI0007")
+        Name (_UID, 8)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP09) { // Neoverse-N1: Cluster 2, Cpu 1
+        Name (_HID, "ACPI0007")
+        Name (_UID, 9)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP10) { // Neoverse-N1: Cluster 2, Cpu 2
+        Name (_HID, "ACPI0007")
+        Name (_UID, 10)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP11) { // Neoverse-N1: Cluster 2, Cpu 3
+        Name (_HID, "ACPI0007")
+        Name (_UID, 11)
+        Name (_STA, 0xF)
+      }
+    }
+
+    Device (CLU3) {   // Cluster 3
+      Name (_HID, "ACPI0010")
+      Name (_UID, 3)
+
+      Device (CP12) { // Neoverse-N1: Cluster 3, Cpu 0
+        Name (_HID, "ACPI0007")
+        Name (_UID, 12)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP13) { // Neoverse-N1: Cluster 3, Cpu 1
+        Name (_HID, "ACPI0007")
+        Name (_UID, 13)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP14) { // Neoverse-N1: Cluster 3, Cpu 2
+        Name (_HID, "ACPI0007")
+        Name (_UID, 14)
+        Name (_STA, 0xF)
+      }
+
+      Device (CP15) { // Neoverse-N1: Cluster 3, Cpu 3
+        Name (_HID, "ACPI0007")
+        Name (_UID, 15)
+        Name (_STA, 0xF)
+      }
+    }
+  } // Scope(_SB)
+}
-- 
2.17.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#74916): https://edk2.groups.io/g/devel/message/74916
Mute This Topic: https://groups.io/mt/82729700/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