summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Bus
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Bus')
-rw-r--r--MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h2
-rw-r--r--MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c4
-rw-r--r--MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf67
-rw-r--r--MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf12
-rw-r--r--MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePointerDxe.inf26
-rw-r--r--MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c2
-rw-r--r--MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf26
7 files changed, 109 insertions, 30 deletions
diff --git a/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h b/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h
index 7ccd429aa2..608d45a188 100644
--- a/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h
+++ b/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h
@@ -37,8 +37,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/MemoryAllocationLib.h>
#include <Library/PcdLib.h>
#include <Library/UefiUsbLib.h>
-#include <Library/BaseLib.h>
-#include <Library/UefiUsbLib.h>
#include <IndustryStandard/Usb.h>
diff --git a/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c b/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c
index e5a5599f58..ae56e744ee 100644
--- a/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c
+++ b/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c
@@ -286,8 +286,6 @@ UINT8 ModifierValueToEfiScanCodeConvertionTable[] = {
SCAN_F12, // EFI_FUNCTION_KEY_TWELVE_MODIFIER
};
-EFI_GUID mKeyboardLayoutEventGuid = EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID;
-
/**
Initialize Key Convertion Table by using default keyboard layout.
@@ -719,7 +717,7 @@ InitKeyboardLayout (
TPL_NOTIFY,
SetKeyboardLayoutEvent,
UsbKeyboardDevice,
- &mKeyboardLayoutEventGuid,
+ &gEfiHiiKeyBoardLayoutGuid,
&UsbKeyboardDevice->KeyboardLayoutEvent
);
if (EFI_ERROR (Status)) {
diff --git a/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf b/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
index 4c0126f307..a724e8955a 100644
--- a/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
+++ b/MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
@@ -2,6 +2,17 @@
# USB Keyboard Driver that manages USB keyboard and produces Simple Text Input
# Protocol and Simple Text Input Ex Protocol.
#
+# USB Keyboard Driver consumes USB I/O Protocol and Device Path Protocol, and produces
+# Simple Text Input Protocol and Simple Text Input Ex Protocol on USB keyboard devices.
+# It initializes the keyboard layout according to info retrieved from HII database.
+# If HII cannot provide the info, this module uses its carried default one if PCD allows.
+# It manages the USB keyboard device via Asynchronous Interrupt Transfer of USB I/O Protocol,
+# and parses the data according to USB HID documents.
+# This module refers to following specifications:
+# 1. Universal Serial Bus HID Firmware Specification, ver 1.11
+# 2. Universal Serial Bus HID Usage Tables, ver 1.12
+# 3. UEFI Specification, v2.1
+#
# Copyright (c) 2006 - 2008, Intel Corporation.
#
# All rights reserved. This program and the accompanying materials
@@ -21,7 +32,6 @@
FILE_GUID = 2D2E62CF-9ECF-43b7-8219-94E7FC713DFE
MODULE_TYPE = UEFI_DRIVER
VERSION_STRING = 1.0
-
ENTRY_POINT = USBKeyboardDriverBindingEntryPoint
#
@@ -45,7 +55,6 @@
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
-
[LibraryClasses]
MemoryAllocationLib
UefiLib
@@ -57,19 +66,32 @@
DebugLib
PcdLib
UefiUsbLib
- BaseLib
+
+[Guids]
+ ##
+ # Event registered to EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID group,
+ # which will be triggered by EFI_HII_DATABASE_PROTOCOL.SetKeyboardLayout().
+ #
+ gEfiHiiKeyBoardLayoutGuid ## SOMETIME_CONSUMES ## Event
[Protocols]
- gEfiUsbIoProtocolGuid # PROTOCOL TO_START
- gEfiDevicePathProtocolGuid # PROTOCOL TO_START
- gEfiSimpleTextInProtocolGuid # PROTOCOL BY_START
- gEfiSimpleTextInputExProtocolGuid # PROTOCOL BY_START
- gEfiHiiDatabaseProtocolGuid # PROTOCOL TO_START
- gSimpleTextInExNotifyGuid # PROTOCOL ALWAYS_CONSUMED
- gEfiHotPlugDeviceGuid # PROTOCOL ALWAYS_CONSUMED
+ gEfiUsbIoProtocolGuid ## TO_START
+ gEfiDevicePathProtocolGuid ## TO_START
+ gEfiSimpleTextInProtocolGuid ## BY_START
+ gEfiSimpleTextInputExProtocolGuid ## BY_START
+ gEfiHotPlugDeviceGuid ## BY_START
+ ##
+ # If HII Database Protocol exists, then keyboard layout from HII database is used.
+ # Otherwise, USB keyboard module tries to use its carried default layout.
+ #
+ gEfiHiiDatabaseProtocolGuid ## SOMETIMES_CONSUMES (Default value is used if it's absent.)
+ ##
+ # SimpleTextInExNotify is installed on the handle created by EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.RegisterKeyNotify().
+ #
+ gSimpleTextInExNotifyGuid ## PRODUCES
[FeaturePcd.common]
- gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver ## SOMETIME_CONSUMES (Checked when no layout is provided by HII.)
[FixedPcd]
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardEnable
@@ -79,4 +101,25 @@
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardClearBuffer
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardSelfTest
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInterfaceError
- gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInputError \ No newline at end of file
+ gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInputError
+
+
+# [Event]
+# ##
+# # Periodic timer event for generation of repeat key
+# #
+# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES
+# ##
+# # Periodic timer event for delayed recovery, which deals with device error.
+# #
+# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES
+# ##
+# # Event for EFI_SIMPLE_TEXT_INPUT_PROTOCOL.WaitForKey
+# #
+# EVENT_TYPE_NOTIFY_WAIT ## PRODUCES
+# ##
+# # Event for EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.WaitForKeyEx
+# #
+# EVENT_TYPE_NOTIFY_WAIT ## PRODUCES
+#
+#
diff --git a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
index 0025e86f9d..a4086043f1 100644
--- a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
+++ b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
@@ -8,6 +8,11 @@
# The command set defines the command, data and result.
# The Bulk-Only-Transport and Control/Bulk/Interrupt transport are two transportation protocol.
# USB mass storage class adopts various industrial standard as its command set.
+# This module refers to following specifications:
+# 1. USB Mass Storage Specification for Bootability, Revision 1.0
+# 2. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport, Revision 1.1
+# 3. USB Mass Storage Class Bulk-Only Transport, Revision 1.0.
+# 4. UEFI Specification, v2.1
#
# Copyright (c) 2006 - 2008, Intel Corporation.
#
@@ -28,7 +33,6 @@
FILE_GUID = 9FB4B4A7-42C0-4bcd-8540-9BCC6711F83E
MODULE_TYPE = UEFI_DRIVER
VERSION_STRING = 1.0
-
ENTRY_POINT = USBMassStorageEntryPoint
#
@@ -67,7 +71,7 @@
[Protocols]
- gEfiUsbIoProtocolGuid # PROTOCOL TO_START
- gEfiDevicePathProtocolGuid # PROTOCOL TO_START
- gEfiBlockIoProtocolGuid # PROTOCOL BY_START
+ gEfiUsbIoProtocolGuid ## TO_START
+ gEfiDevicePathProtocolGuid ## TO_START
+ gEfiBlockIoProtocolGuid ## BY_START
diff --git a/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePointerDxe.inf b/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePointerDxe.inf
index f574b03c16..343f9a4482 100644
--- a/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePointerDxe.inf
+++ b/MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePointerDxe.inf
@@ -1,6 +1,14 @@
#/** @file
# USB Mouse Driver that manages USB mouse and produces Absolute Pointer Protocol.
#
+# USB Mouse Driver consumes USB I/O Protocol and Device Path Protocol, and produces
+# Absolute Pointer Protocol on USB mouse devices.
+# It manages the USB mouse device via Asynchronous Interrupt Transfer of USB I/O Protocol,
+# and parses the data according to USB HID Specification.
+# This module refers to following specifications:
+# 1. Universal Serial Bus HID Firmware Specification, ver 1.11
+# 2. UEFI Specification, v2.1
+#
# Copyright (c) 2006 - 2008, Intel Corporation.
#
# All rights reserved. This program and the accompanying materials
@@ -20,7 +28,6 @@
FILE_GUID = 4EA43463-747C-46eb-97FB-B0E5C5F05306
MODULE_TYPE = UEFI_DRIVER
VERSION_STRING = 1.0
-
ENTRY_POINT = USBMouseAbsolutePointerDriverBindingEntryPoint
#
@@ -53,9 +60,9 @@
UefiUsbLib
[Protocols]
- gEfiUsbIoProtocolGuid # PROTOCOL TO_START
- gEfiDevicePathProtocolGuid # PROTOCOL TO_START
- gEfiAbsolutePointerProtocolGuid # PROTOCOL BY_START
+ gEfiUsbIoProtocolGuid ## TO_START
+ gEfiDevicePathProtocolGuid ## TO_START
+ gEfiAbsolutePointerProtocolGuid ## BY_START
[FixedPcd]
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInterfaceError
@@ -64,4 +71,15 @@
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInputError
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseReset
+# [Event]
+# ##
+# # Periodic timer event for delayed recovery, which deals with device error.
+# #
+# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES
+# ##
+# # Event for EFI_ABSOLUTE_POINTER_PROTOCOL.WaitForInput
+# #
+# EVENT_TYPE_NOTIFY_WAIT ## PRODUCES
+#
+#
diff --git a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c
index e8b53f6c9f..f1b54084b7 100644
--- a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c
+++ b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c
@@ -855,7 +855,7 @@ UsbMouseReset (
}
/**
- Event notification function for SIMPLE_POINTER.WaitForInput event.
+ Event notification function for EFI_SIMPLE_POINTER_PROTOCOL.WaitForInput event.
@param Event Event to be signaled when there's input from mouse.
@param Context Points to USB_MOUSE_DEV instance.
diff --git a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
index 5ef67af690..3466435e5c 100644
--- a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
+++ b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
@@ -1,6 +1,14 @@
#/** @file
# USB Mouse Driver that manages USB mouse and produces Simple Pointer Protocol.
#
+# USB Mouse Driver consumes USB I/O Protocol and Device Path Protocol, and produces
+# Simple Pointer Protocol on USB mouse devices.
+# It manages the USB mouse device via Asynchronous Interrupt Transfer of USB I/O Protocol,
+# and parses the data according to USB HID Specification.
+# This module refers to following specifications:
+# 1. Universal Serial Bus HID Firmware Specification, ver 1.11
+# 2. UEFI Specification, v2.1
+#
# Copyright (c) 2006 - 2008, Intel Corporation.
#
# All rights reserved. This program and the accompanying materials
@@ -20,7 +28,6 @@
FILE_GUID = 2D2E62AA-9ECF-43b7-8219-94E7FC713DFE
MODULE_TYPE = UEFI_DRIVER
VERSION_STRING = 1.0
-
ENTRY_POINT = USBMouseDriverBindingEntryPoint
#
@@ -53,9 +60,9 @@
UefiUsbLib
[Protocols]
- gEfiUsbIoProtocolGuid # PROTOCOL TO_START
- gEfiDevicePathProtocolGuid # PROTOCOL TO_START
- gEfiSimplePointerProtocolGuid # PROTOCOL BY_START
+ gEfiUsbIoProtocolGuid ## TO_START
+ gEfiDevicePathProtocolGuid ## TO_START
+ gEfiSimplePointerProtocolGuid ## BY_START
[FixedPcd]
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInterfaceError
@@ -64,4 +71,15 @@
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseInputError
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueMouseReset
+# [Event]
+# ##
+# # Periodic timer event for delayed recovery, which deals with device error.
+# #
+# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES
+# ##
+# # Event for EFI_SIMPLE_POINTER_PROTOCOL.WaitForInput
+# #
+# EVENT_TYPE_NOTIFY_WAIT ## PRODUCES
+#
+#