summaryrefslogtreecommitdiff
path: root/ArmVirtPkg
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2016-04-08 11:45:05 +0200
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2016-04-13 17:26:05 +0200
commit0a51462c94d0b47565cf46d6deb1f0db3bd029d8 (patch)
treec2ca2a98aa88207ebe91b8a9d70b89a5a7f5ecce /ArmVirtPkg
parent7fba5299eb5f81096d11a7932013b0ae0e9bc0c9 (diff)
downloadedk2-0a51462c94d0b47565cf46d6deb1f0db3bd029d8.zip
edk2-0a51462c94d0b47565cf46d6deb1f0db3bd029d8.tar.gz
edk2-0a51462c94d0b47565cf46d6deb1f0db3bd029d8.tar.bz2
ArmVirtPkg/VirtFdtDxe: drop RTC handling
The RTC driver no longer relies on VirtFdtDxe to set the pl031 RTC base address in a dynamic PCD, so drop the handling altogether. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Diffstat (limited to 'ArmVirtPkg')
-rw-r--r--ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c29
-rw-r--r--ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf3
2 files changed, 1 insertions, 31 deletions
diff --git a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c
index 31e0ca7..4fca50a 100644
--- a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c
+++ b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c
@@ -42,7 +42,6 @@ typedef struct {
typedef enum {
PropertyTypeUnknown,
- PropertyTypeRtc,
PropertyTypeVirtio,
PropertyTypeUart,
PropertyTypeXen,
@@ -54,7 +53,6 @@ typedef struct {
} PROPERTY;
STATIC CONST PROPERTY CompatibleProperties[] = {
- { PropertyTypeRtc, "arm,pl031" },
{ PropertyTypeVirtio, "virtio,mmio" },
{ PropertyTypeUart, "arm,pl011" },
{ PropertyTypeXen, "xen,xen" },
@@ -96,7 +94,6 @@ InitializeVirtFdtDxe (
VOID *Hob;
VOID *DeviceTreeBase;
INT32 Node, Prev;
- INT32 RtcNode;
EFI_STATUS Status;
CONST CHAR8 *Type;
INT32 Len;
@@ -119,7 +116,6 @@ InitializeVirtFdtDxe (
DEBUG ((EFI_D_INFO, "%a: DTB @ 0x%p\n", __FUNCTION__, DeviceTreeBase));
- RtcNode = -1;
//
// Now enumerate the nodes and install peripherals that we are interested in,
// i.e., GIC, RTC and virtio MMIO nodes
@@ -196,18 +192,6 @@ InitializeVirtFdtDxe (
}
break;
- case PropertyTypeRtc:
- ASSERT (Len == 16);
-
- RegBase = fdt64_to_cpu (((UINT64 *)RegProp)[0]);
- ASSERT (RegBase < MAX_UINT32);
-
- PcdSet32 (PcdPL031RtcBase, (UINT32)RegBase);
-
- DEBUG ((EFI_D_INFO, "Found PL031 RTC @ 0x%Lx\n", RegBase));
- RtcNode = Node;
- break;
-
case PropertyTypeXen:
ASSERT (Len == 16);
@@ -240,18 +224,7 @@ InitializeVirtFdtDxe (
//
Status = gBS->InstallConfigurationTable (&gFdtTableGuid, DeviceTreeBase);
ASSERT_EFI_ERROR (Status);
-
- //
- // UEFI takes ownership of the RTC hardware, and exposes its functionality
- // through the UEFI Runtime Services GetTime, SetTime, etc. This means we
- // need to disable it in the device tree to prevent the OS from attaching its
- // device driver as well.
- //
- if ((RtcNode != -1) &&
- fdt_setprop_string (DeviceTreeBase, RtcNode, "status",
- "disabled") != 0) {
- DEBUG ((EFI_D_WARN, "Failed to set PL031 status to 'disabled'\n"));
- }
}
+
return EFI_SUCCESS;
}
diff --git a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf
index 8ebce33..8c098e5 100644
--- a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf
+++ b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf
@@ -49,9 +49,6 @@
gVirtioMmioTransportGuid
gFdtHobGuid
-[Pcd]
- gArmPlatformTokenSpaceGuid.PcdPL031RtcBase
-
[FeaturePcd]
gArmVirtTokenSpaceGuid.PcdPureAcpiBoot