ArmPlatformPkg: Update PL011 Serial PCDs to Fixed PCDs

The PCDs used in the PL011 UART Driver and Serial Port Library are
inherently "fixed at build".  This change updates the source to use
Fixed PCDs for these values.  This improves clarity and efficiency.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Ryan Harkin <ryan.harkin@linaro.org>
This commit is contained in:
Evan Lloyd
2016-06-15 13:52:39 +01:00
committed by Ard Biesheuvel
parent 9f08a052a3
commit aadc64e6a1
4 changed files with 20 additions and 20 deletions

View File

@@ -168,17 +168,17 @@ PL011UartInitializePort (
//
// If PL011 Integer value has been defined then always ignore the BAUD rate
if (PcdGet32 (PL011UartInteger) != 0) {
MmioWrite32 (UartBase + UARTIBRD, PcdGet32 (PL011UartInteger));
MmioWrite32 (UartBase + UARTFBRD, PcdGet32 (PL011UartFractional));
if (FixedPcdGet32 (PL011UartInteger) != 0) {
MmioWrite32 (UartBase + UARTIBRD, FixedPcdGet32 (PL011UartInteger));
MmioWrite32 (UartBase + UARTFBRD, FixedPcdGet32 (PL011UartFractional));
} else {
// If BAUD rate is zero then replace it with the system default value
if (*BaudRate == 0) {
*BaudRate = PcdGet32 (PcdSerialBaudRate);
*BaudRate = FixedPcdGet32 (PcdSerialBaudRate);
ASSERT (*BaudRate != 0);
}
Divisor = (PcdGet32 (PL011UartClkInHz) * 4) / *BaudRate;
Divisor = (FixedPcdGet32 (PL011UartClkInHz) * 4) / *BaudRate;
MmioWrite32 (UartBase + UARTIBRD, Divisor >> FRACTION_PART_SIZE_IN_BITS);
MmioWrite32 (UartBase + UARTFBRD, Divisor & FRACTION_PART_MASK);
}

View File

@@ -2,7 +2,7 @@
#
# Component description file for PL011Uart module
#
# Copyright (c) 2011-2013, ARM Ltd. All rights reserved.<BR>
# Copyright (c) 2011-2016, ARM Ltd. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -34,7 +34,7 @@
MdeModulePkg/MdeModulePkg.dec
ArmPlatformPkg/ArmPlatformPkg.dec
[Pcd]
[FixedPcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate
gArmPlatformTokenSpaceGuid.PL011UartClkInHz