Ruiyu Ni a59e2edebe MdeModulePkg: Add PciSioSerialDxe driver
PciSioSerialDxe driver can manages UARTs on a SIO chip or a PCI/PCIE
card.
It manages the SIO instance whose last device path node is a ACPI
device path and the HID in the ACPI device path node equals to
EISA_PNP_ID (0x501).
It also manages the PCI IO instance whose class code is 7/0/2 (16550
UART). But when proper value is set to PcdPciSerialParameters, the
driver can also manage non-standard PCI serial cards by matching
the Vendor ID and Device ID specified in PcdPciSerialParameters.
The PCI BAR index, IO/MMIO offset, register stride, clock rate can
also be specified through the same PCD.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19179 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-10 02:47:16 +00:00

82 lines
2.7 KiB
INI

## @file
# Serial driver for standard UARTS on a SIO chip or PCI/PCIE card.
#
# Produces the Serial I/O protocol for standard UARTS using Super I/O or PCI I/O.
#
# Copyright (c) 2007 - 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
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = PciSioSerialDxe
MODULE_UNI_FILE = PciSioSerialDxe.uni
FILE_GUID = E2775B47-D453-4EE3-ADA7-391A1B05AC17
MODULE_TYPE = UEFI_DRIVER
VERSION_STRING = 1.0
ENTRY_POINT = InitializePciSioSerial
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
#
# DRIVER_BINDING = gSerialControllerDriver
# COMPONENT_NAME = gPciSioSerialComponentName
# COMPONENT_NAME2 = gPciSioSerialComponentName2
#
[Sources]
ComponentName.c
SerialIo.c
Serial.h
Serial.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
PcdLib
ReportStatusCodeLib
UefiBootServicesTableLib
MemoryAllocationLib
BaseMemoryLib
DevicePathLib
UefiLib
UefiDriverEntryPoint
DebugLib
IoLib
[Guids]
gEfiUartDevicePathGuid ## SOMETIMES_CONSUMES ## GUID
[Protocols]
gEfiSioProtocolGuid ## TO_START
gEfiDevicePathProtocolGuid ## TO_START
gEfiPciIoProtocolGuid ## TO_START
gEfiSerialIoProtocolGuid ## BY_START
gEfiDevicePathProtocolGuid ## BY_START
[FeaturePcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHalfHandshake|FALSE ## CONSUMES
[Pcd]
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200 ## CONSUMES
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|8 ## CONSUMES
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|1 ## CONSUMES
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|1 ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|1843200 ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdPciSerialParameters ## CONSUMES
[UserExtensions.TianoCore."ExtraFiles"]
PciSioSerialDxeExtra.uni