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

Aditya Angadi posted 8 patches 5 years, 11 months ago
There is a newer version of this series
[edk2-devel] [edk2-platforms][PATCH 3/8] Platform/ARM/SgiPkg: move common platform description to SSDT
Posted by Aditya Angadi 5 years, 11 months ago
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@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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [edk2-platforms][PATCH 3/8] Platform/ARM/SgiPkg: move common platform description to SSDT
Posted by Thomas Abraham 5 years, 10 months ago
On Thu, Mar 12, 2020 at 8:05 PM Aditya Angadi <aditya.angadi@arm.com> wrote:
>
> 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@arm.com>

Reviewed-by: Thomas Abraham <thomas.abraham@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 (#55896): https://edk2.groups.io/g/devel/message/55896
Mute This Topic: https://groups.io/mt/71903345/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-