ArmPlatformPkg: Add support to configure PL011 UART clock
authorEvan Lloyd <evan.lloyd@arm.com>
Wed, 15 Jun 2016 12:52:41 +0000 (13:52 +0100)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 15 Jun 2016 14:15:50 +0000 (16:15 +0200)
commitf63005282cc59f76b050c0be0813345cf7d54171
tree1586901911d4f742016afa76ee405fe01bbf7c69
parentca0aad698212bed2b65b4569cfeabcf7f0a7e88a
ArmPlatformPkg: Add support to configure PL011 UART clock

On some platforms the UART clock is not the same for all the serial
ports. The PL011 driver must be capable of handling serial ports with
different clock rates, so must not rely on a PCD for the clock rate.

This patch allows the UART clock rate to be passed as a parameter
to PL011UartInitializePort(), which is called from the serial port
library. This patch also contains the corresponding changes in the
serial port library.

The PCD in Drivers/PL011Uart is replaced by an extra parameter for
PL011UartInitializePort.  The PCD is moved to Library/PL011SerialPortLib
to supply the value to pass.

A corresponding patch to ArmVirtPkg is included in the same bundle to
align that with these changes.

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>
ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.c
ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf
ArmPlatformPkg/Include/Drivers/PL011Uart.h
ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.c
ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf