summaryrefslogtreecommitdiff
path: root/Include/Protocol/TerminalAmiSerial.h
diff options
context:
space:
mode:
Diffstat (limited to 'Include/Protocol/TerminalAmiSerial.h')
-rw-r--r--Include/Protocol/TerminalAmiSerial.h122
1 files changed, 122 insertions, 0 deletions
diff --git a/Include/Protocol/TerminalAmiSerial.h b/Include/Protocol/TerminalAmiSerial.h
new file mode 100644
index 0000000..c67be86
--- /dev/null
+++ b/Include/Protocol/TerminalAmiSerial.h
@@ -0,0 +1,122 @@
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
+// $Header: /Alaska/BIN/Modules/Terminal/TerminalAmiSerial.h 1 12/12/11 8:37a Rajeshms $
+//
+// $Revision: 1 $
+//
+// $Date: 12/12/11 8:37a $
+//**********************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/BIN/Modules/Terminal/TerminalAmiSerial.h $
+//
+// 1 12/12/11 8:37a Rajeshms
+// [TAG] EIP71636
+// [Category] New Feature
+// [Description] Implement the AMI_SERIAL_PROTOCOL for non-generic PCI
+// Serial Device.
+// [Files] AmiSerial.c, AmiSerial.sdl, AmiSerial.mak, AmiSerial.chm,
+// AmiSerial.dxs, AmiSerial.cif, Terminal.c, SerialIo.c, TerminalSetup.c,
+// InitTerminalStrings.c, TerminalSetupVar.h, Terminal.cif,
+// TerminalAmiSerial.h, LegacySredir_Setup.c
+//
+//
+//
+//**********************************************************************
+
+//<AMI_FHDR_START>
+//--------------------------------------------------------------------------
+//
+// Name: TerminalAmiSerial.h
+//
+// Description: AMI Serial Protocol Definiton.
+//
+//--------------------------------------------------------------------------
+//<AMI_FHDR_END>
+
+#ifndef _AMI_SERIAL_H_
+#define _AMI_SERIAL_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <EFI.h>
+#include <Protocol\DevicePath.h>
+
+#define AMI_SERIAL_VENDOR_DEVICE_PATH_GUID \
+ {0x32d1497b,0x288c,0x440a,0x9f,0xc3,0x65,0x1a,0x14,0xef,0xc7,0xb4}
+
+#define AMI_SERIAL_PROTOCOL_GUID \
+ {0x50dc5c90,0x1d33,0x4fd6,0x87,0xe5,0x06,0x3b,0x1d,0xfa,0x21,0x70}
+
+GUID_VARIABLE_DECLARATION(gAmiSerialProtocolGuid,AMI_SERIAL_PROTOCOL_GUID);
+
+typedef struct _AMI_SERIAL_PROTOCOL AMI_SERIAL_PROTOCOL;
+
+typedef VOID (EFIAPI *EFI_SERIAL_GET_BASE_ADDRESS) (
+ IN AMI_SERIAL_PROTOCOL *This,
+ OUT UINT64 *BaseAddress
+);
+
+typedef VOID (EFIAPI *EFI_CHECK_PCI_MMIO) (
+ IN AMI_SERIAL_PROTOCOL *This,
+ OUT BOOLEAN *Pci,
+ OUT BOOLEAN *Mmio
+);
+
+typedef VOID (EFIAPI *EFI_GET_PCI_LOCATION) (
+ IN AMI_SERIAL_PROTOCOL *This,
+ OUT UINTN *Bus,
+ OUT UINTN *Dev,
+ OUT UINTN *Func,
+ OUT UINT8 *Port
+);
+
+typedef VOID (EFIAPI *EFI_GET_SERIAL_IRQ) (
+ IN AMI_SERIAL_PROTOCOL *This,
+ OUT UINT8 *SerialIRQ
+);
+
+struct _AMI_SERIAL_PROTOCOL {
+ EFI_SERIAL_GET_BASE_ADDRESS GetBaseAddress;
+ EFI_CHECK_PCI_MMIO CheckPciMmio;
+ EFI_GET_PCI_LOCATION GetPciLocation;
+ EFI_GET_SERIAL_IRQ GetSerialIRQ;
+};
+
+typedef struct {
+ VENDOR_DEVICE_PATH VendorDevicePath;
+ UINT8 Bus;
+ UINT8 Device;
+ UINT8 Function;
+ UINT8 Port;
+}AMI_SERIAL_VENDOR_DEVICE_PATH;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//********************************************************************** \ No newline at end of file