From 7f0f07968bcc1e66c394ad14ce44c53594ae9869 Mon Sep 17 00:00:00 2001 From: Sami Mujawar Date: Mon, 22 May 2017 15:39:52 +0100 Subject: Platforms/ARM: SBSA Watchdog PCD and build option Added PcdWatchdogCount to specify the number of Watchdog timers that are available on Juno and FVP platform. Also added DISABLE_SBSA_WATCHDOG option to disable the watchdog timers if required for testing. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar Signed-off-by: Evan Lloyd Reviewed-by: Leif Lindholm --- Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf | 4 +++- Platform/ARM/JunoPkg/AcpiTables/Gtdt.aslc | 9 ++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'Platform/ARM/JunoPkg/AcpiTables') diff --git a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf index e099c02f39..741ea191be 100644 --- a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf +++ b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf @@ -2,7 +2,7 @@ # # ACPI table data and ASL sources required to boot the platform. # -# Copyright (c) 2014-2016, ARM Ltd. All rights reserved. +# Copyright (c) 2014-2017, 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 @@ -61,3 +61,5 @@ gArmPlatformTokenSpaceGuid.PL011UartInterrupt gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase + + gArmPlatformTokenSpaceGuid.PcdWatchdogCount diff --git a/Platform/ARM/JunoPkg/AcpiTables/Gtdt.aslc b/Platform/ARM/JunoPkg/AcpiTables/Gtdt.aslc index 5e83802d57..9d1296fdf2 100644 --- a/Platform/ARM/JunoPkg/AcpiTables/Gtdt.aslc +++ b/Platform/ARM/JunoPkg/AcpiTables/Gtdt.aslc @@ -1,7 +1,7 @@ /** @file * Generic Timer Description Table (GTDT) * -* Copyright (c) 2012 - 2016, ARM Limited. All rights reserved. +* Copyright (c) 2012 - 2017, ARM Limited. All rights reserved. * * This program and the accompanying materials * are licensed and made available under the terms and conditions of the BSD License @@ -38,6 +38,9 @@ #define GTDT_GTIMER_FLAGS (GTDT_TIMER_ACTIVE_LOW | GTDT_TIMER_LEVEL_TRIGGERED) +#define JUNO_WATCHDOG_COUNT FixedPcdGet32 (PcdWatchdogCount) + + #ifdef ARM_JUNO_ACPI_5_0 EFI_ACPI_5_0_GENERIC_TIMER_DESCRIPTION_TABLE Gtdt = { ARM_ACPI_HEADER( @@ -87,7 +90,11 @@ GTDT_GTIMER_FLAGS, // UINT32 NonSecurePL2TimerFlags 0xFFFFFFFFFFFFFFFF, // UINT64 CntReadBasePhysicalAddress JUNO_WATCHDOG_COUNT, // UINT32 PlatformTimerCount +#if (JUNO_WATCHDOG_COUNT != 0) sizeof (EFI_ACPI_5_1_GENERIC_TIMER_DESCRIPTION_TABLE) // UINT32 PlatfromTimerOffset +#else + 0 +#endif }, #if (JUNO_WATCHDOG_COUNT != 0) { -- cgit v1.2.3