From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web12.10514.1584023757204474413 for ; Thu, 12 Mar 2020 07:35:57 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: aditya.angadi@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D4B0B30E; Thu, 12 Mar 2020 07:35:56 -0700 (PDT) Received: from usa.arm.com (a073440-lin.blr.arm.com [10.162.16.34]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2C0063F534; Thu, 12 Mar 2020 07:35:54 -0700 (PDT) From: "Aditya Angadi" To: devel@edk2.groups.io Cc: leif@nuviainc.com, michael.d.kinney@intel.com, vijayenthiran.subramaniam@arm.com, thomas.abraham@arm.com Subject: [edk2-platforms][PATCH 3/8] Platform/ARM/SgiPkg: move common platform description to SSDT Date: Thu, 12 Mar 2020 20:05:15 +0530 Message-Id: <20200312143520.16918-4-aditya.angadi@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200312143520.16918-1-aditya.angadi@arm.com> References: <20200312143520.16918-1-aditya.angadi@arm.com> 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 --- .../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