IntelFrameworkModulePkg/IsaSerialDxe: Use PcdSerialClockRate instead of hard code value

So that the driver can work on a certain hardware when a platform module
dynamically changes the PCD value.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17607 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Ruiyu Ni 2015-06-10 04:18:50 +00:00 committed by niruiyu
parent b2a41b1e40
commit 684fec3c96
3 changed files with 11 additions and 15 deletions

View File

@ -4,7 +4,7 @@
# Produces the Serial I/O protocol for standard UARTS using ISA I/O. This driver # Produces the Serial I/O protocol for standard UARTS using ISA I/O. This driver
# supports the 8250, 16450, 16550 and 16550A UART types. # supports the 8250, 16450, 16550 and 16550A UART types.
# #
# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
# #
# This program and the accompanying materials # This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License # are licensed and made available under the terms and conditions of the BSD License
@ -42,6 +42,7 @@
[Packages] [Packages]
MdePkg/MdePkg.dec MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
IntelFrameworkPkg/IntelFrameworkPkg.dec IntelFrameworkPkg/IntelFrameworkPkg.dec
IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
@ -73,6 +74,7 @@
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|8 ## CONSUMES gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|8 ## CONSUMES
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|1 ## CONSUMES gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|1 ## CONSUMES
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|1 ## CONSUMES gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|1 ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1843200 ## CONSUMES
[UserExtensions.TianoCore."ExtraFiles"] [UserExtensions.TianoCore."ExtraFiles"]
IsaSerialDxeExtra.uni IsaSerialDxeExtra.uni

View File

@ -1,7 +1,7 @@
/** @file /** @file
Serial driver for standard UARTS on an ISA bus. Serial driver for standard UARTS on an ISA bus.
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License 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 which accompanies this distribution. The full text of the license may be found at
@ -1393,7 +1393,7 @@ IsaSerialSetAttributes (
// Compute divisor use to program the baud rate using a round determination // Compute divisor use to program the baud rate using a round determination
// //
Divisor = (UINT32) DivU64x32Remainder ( Divisor = (UINT32) DivU64x32Remainder (
SERIAL_PORT_INPUT_CLOCK, PcdGet32 (PcdSerialClockRate),
((UINT32) BaudRate * 16), ((UINT32) BaudRate * 16),
&Remained &Remained
); );
@ -1410,7 +1410,7 @@ IsaSerialSetAttributes (
// //
// Compute the actual baud rate that the serial port will be programmed for. // Compute the actual baud rate that the serial port will be programmed for.
// //
BaudRate = SERIAL_PORT_INPUT_CLOCK / Divisor / 16; BaudRate = PcdGet32 (PcdSerialClockRate) / Divisor / 16;
// //
// Put serial port on Divisor Latch Mode // Put serial port on Divisor Latch Mode

View File

@ -1,7 +1,7 @@
/** @file /** @file
Include for Serial Driver Include for Serial Driver
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License 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 which accompanies this distribution. The full text of the license may be found at
@ -128,12 +128,6 @@ typedef struct {
EFI_SERIAL_OUTPUT_BUFFER_EMPTY | \ EFI_SERIAL_OUTPUT_BUFFER_EMPTY | \
EFI_SERIAL_INPUT_BUFFER_EMPTY) EFI_SERIAL_INPUT_BUFFER_EMPTY)
//
// (24000000/13)MHz input clock
//
#define SERIAL_PORT_INPUT_CLOCK 1843200
// //
// 115200 baud with rounding errors // 115200 baud with rounding errors
// //