Revision: 17215
http://sourceforge.net/p/edk2/code/17215
Author: mdkinney
Date: 2015-04-27 19:44:40 +0000 (Mon, 27 Apr 2015)
Log Message:
-----------
MdePkg/BaseSerialPortLib16550: Support UARTs with a register stride greater
than 1 byte.
Add stride PCD to MdeModulePkg to support 16550 UARTs with a register stride
that is not 1 byte.
The default value is 1 byte.
Quark SoC uses a stride of 4 bytes.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
Modified Paths:
--------------
trunk/edk2/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c
trunk/edk2/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
trunk/edk2/MdeModulePkg/MdeModulePkg.dec
trunk/edk2/MdeModulePkg/MdeModulePkg.uni
Modified:
trunk/edk2/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c
===================================================================
---
trunk/edk2/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c
2015-04-27 19:41:19 UTC (rev 17214)
+++
trunk/edk2/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c
2015-04-27 19:44:40 UTC (rev 17215)
@@ -2,7 +2,7 @@
16550 UART Serial Port library functions
(C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
- 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
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
@@ -77,9 +77,9 @@
)
{
if (PcdGetBool (PcdSerialUseMmio)) {
- return MmioRead8 (Base + Offset);
+ return MmioRead8 (Base + Offset * PcdGet32 (PcdSerialRegisterStride));
} else {
- return IoRead8 (Base + Offset);
+ return IoRead8 (Base + Offset * PcdGet32 (PcdSerialRegisterStride));
}
}
@@ -104,9 +104,9 @@
)
{
if (PcdGetBool (PcdSerialUseMmio)) {
- return MmioWrite8 (Base + Offset, Value);
+ return MmioWrite8 (Base + Offset * PcdGet32 (PcdSerialRegisterStride),
Value);
} else {
- return IoWrite8 (Base + Offset, Value);
+ return IoWrite8 (Base + Offset * PcdGet32 (PcdSerialRegisterStride),
Value);
}
}
Modified:
trunk/edk2/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
===================================================================
---
trunk/edk2/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
2015-04-27 19:41:19 UTC (rev 17214)
+++
trunk/edk2/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
2015-04-27 19:44:40 UTC (rev 17215)
@@ -1,7 +1,7 @@
## @file
# SerialPortLib instance for 16550 UART.
#
-# 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
# 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
@@ -18,7 +18,7 @@
MODULE_UNI_FILE = BaseSerialPortLib16550.uni
FILE_GUID = 9E7C00CF-355A-4d4e-BF60-0428CFF95540
MODULE_TYPE = BASE
- VERSION_STRING = 1.0
+ VERSION_STRING = 1.1
LIBRARY_CLASS = SerialPortLib
[Packages]
@@ -42,6 +42,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl ## CONSUMES
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate ##
CONSUMES
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo ##
CONSUMES
- gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize ##
CONSUMES
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate ## CONSUMES
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo ## CONSUMES
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize ## CONSUMES
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride ## CONSUMES
Modified: trunk/edk2/MdeModulePkg/MdeModulePkg.dec
===================================================================
--- trunk/edk2/MdeModulePkg/MdeModulePkg.dec 2015-04-27 19:41:19 UTC (rev
17214)
+++ trunk/edk2/MdeModulePkg/MdeModulePkg.dec 2015-04-27 19:44:40 UTC (rev
17215)
@@ -20,7 +20,7 @@
PACKAGE_NAME = MdeModulePkg
PACKAGE_UNI_FILE = MdeModulePkg.uni
PACKAGE_GUID = BA0D78D6-2CAF-414b-BD4D-B6762A894288
- PACKAGE_VERSION = 0.94
+ PACKAGE_VERSION = 0.96
[Includes]
Include
@@ -916,6 +916,10 @@
# @Prompt Serial Port Extended Transmit FIFO Size in Bytes
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|64|UINT32|0x00010068
+ ## The number of bytes between registers in serial device. The default is 1
byte.
+ # @Prompt Serial Port Register Stride in Bytes
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1|UINT32|0x0001006B
+
[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
## This PCD defines the Console output row. The default value is 25
according to UEFI spec.
# This PCD could be set to 0 then console output would be at max column and
max row.
Modified: trunk/edk2/MdeModulePkg/MdeModulePkg.uni
===================================================================
--- trunk/edk2/MdeModulePkg/MdeModulePkg.uni 2015-04-27 19:41:19 UTC (rev
17214)
+++ trunk/edk2/MdeModulePkg/MdeModulePkg.uni 2015-04-27 19:44:40 UTC (rev
17215)
@@ -566,6 +566,14 @@
++++
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits